All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [Bug 218822] Delete the file from the upper layer directly, the file will become "Stale"
  2024-05-09  6:14 63% [Bug 218822] New: Delete the file from the upper layer directly, the file will become "Stale" bugzilla-daemon
  2024-05-09  9:05 64% ` [Bug 218822] " bugzilla-daemon
@ 2024-05-09 18:57 64% ` bugzilla-daemon
  1 sibling, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-09 18:57 UTC (permalink / raw)
  To: linux-ext4

https://bugzilla.kernel.org/show_bug.cgi?id=218822

--- Comment #2 from Artem S. Tashkinov (aros@gmx.com) ---
Is this reproducible on mainline 6.8.9?

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* Re: 6.9/BUG: Bad page state in process kswapd0 pfn:d6e840
  2024-05-09 11:59 64%     ` Mikhail Gavrilov
@ 2024-05-09 17:50 64%       ` David Hildenbrand
  0 siblings, 0 replies; 200+ results
From: David Hildenbrand @ 2024-05-09 17:50 UTC (permalink / raw)
  To: Mikhail Gavrilov; +Cc: Linux List Kernel Mailing, Linux Memory Management List

On 09.05.24 13:59, Mikhail Gavrilov wrote:
> On Wed, May 8, 2024 at 10:45 PM David Hildenbrand <david@redhat.com> wrote:
>>
>> "page dumped because: non-NULL mapping"
>>
>> Is the relevant bit. We are freeing a page, but page->mapping is not
>> NULL. IIUC, it might happen under memory pressure when reclaiming memory.
>>
>> It's weird that only you are seeing that, if it would be something
>> "obvious" I would expect multiple reports :/
>>
> 
> Maybe because the problem is really difficult to reproduce (rare
> combination of the kernel build option and workload). I even thought
> that the problem was fixed because it did not reproduce itself for a
> week.
> 
> But yesterday when it happened again with the kworker process, I
> stopped doubting that it was fixed.
> 
> Now I am concerned with the question of how to be as useful as
> possible when reproducing bug again?

Do you have the other stracktrace as well?

Maybe triggering memory reclaim (e.g., using "stress" or "memhog") could 
trigger it, that might be reasonable to trey. Once we have a reproducer 
we could at least bisect.

-- 
Cheers,

David / dhildenb


^ permalink raw reply	[relevance 64%]

* [BUG REPORT] fsmonitor and core.untrackedCache combination causes inaccurate git status
@ 2024-05-09 15:45 60% Joni Lameter
  0 siblings, 0 replies; 200+ results
From: Joni Lameter @ 2024-05-09 15:45 UTC (permalink / raw)
  To: git@vger.kernel.org

Subject: [BUG REPORT] fsmonitor and core.untrackedCache combination causes inaccurate git status

# What did you do before the bug happened? (Steps to reproduce your issue)

  ## Setup
  git clone https://github.com/git/git.git
  cd git
  git config core.fsmonitor true
  git config core.untrackedCache true
  git config alias.fetch-bug '!git -C "$(pwd)" fetch'
  wt1=$(mktemp -d)
  git worktree add "$wt1" -b test
  cd "$wt1"

  ## Worktree steps
  git fsmonitor--daemon stop
  git fetch-bug
  touch foo.txt
  git status
  touch bar.txt
  git status


# What did you expect to happen? (Expected behavior)

  Expected bar.txt file to appear as an untracked file


# What happened instead? (Actual behavior)

  bar.txt did not appear as an untracked file or in the status output
  at all


# What's different between what you expected and what actually happened?

  git status did not accurately reflect the state of the worktree


# Anything else you want to add:

  The worktree seems to remain in a bug prone state even after
  core.untrackedCache has been disabled, adding these steps shows
  this:

      git config core.untrackedCache false
      # repeat "Worktree steps" (changing file names)
      git config --unset core.untrackedCache
      # repeat "Worktree steps" (changing file names)

  When a worktree is added and core.untrackedCache was not set to true
  it does not reproduce the error:

      git config --unset core.untrackedCache
      wt2=$(mktemp -d)
      git worktree add "$wt2" -b test-2
      cd "$wt2"
      # repeat "Worktree steps"


[System Info]
  git version:
  git version 2.42.0.windows.2
  cpu: x86_64
  built from commit: 2f819d1670fff9a1818f63b6722e9959405378e3
  sizeof-long: 4
  sizeof-size_t: 8
  shell-path: /bin/sh
  feature: fsmonitor--daemon
  uname: Windows 10.0 22631 
  compiler info: gnuc: 13.2
  libc info: no libc information available
  $SHELL (typically, interactive shell): C:\Program Files\Git\usr\bin\bash.exe
  
  
  [Enabled Hooks]
  post-checkout
  post-commit
  post-merge
  pre-push

^ permalink raw reply	[relevance 60%]

* Re: bug: git config --global --unset doesn't unset configs in corner case
  2024-05-09  2:13 64% bug: git config --global --unset doesn't unset configs in corner case Mike Hommey
@ 2024-05-09 16:23 64% ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-05-09 16:23 UTC (permalink / raw)
  To: Mike Hommey; +Cc: git

Mike Hommey <mh@glandium.org> writes:

> When both ~/.gitconfig and ~/.config/git/config exist, git will read
> both. But when using `git config --global --unset`, it will only touch
> the first one. So unsetting config items from ~/.config/git/config is
> not possible from the command line when ~/.gitconfig exists.

Interesting observation of an understandable behaviour.

I think the original intent of limiting the writing to just one was
to avoid having both files in the first place.  When both do exist
already, I am not sure what the right behaviour on the write side
should be.  We could special case "--unset-all" and remove from
both, but "--unset" is to remove just one, so when the reading side
reads from both, it becomes "which one to remove"?

Comments from those who are more familiar with the "git config" are
certainly appreciated.

Thanks.


^ permalink raw reply	[relevance 64%]

* Re: [Buildroot] [PATCH] toolchain: remove gcc bug 90620
  @ 2024-05-09 15:48 64%     ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 200+ results
From: Thomas Petazzoni via buildroot @ 2024-05-09 15:48 UTC (permalink / raw)
  To: Giulio Benetti; +Cc: Fabrice Fontaine, Romain Naour, Julien Corjon, buildroot

On Sun, 28 Apr 2024 20:35:30 +0200
Giulio Benetti <giulio.benetti@benettiengineering.com> wrote:

> But this bug is Microblaze specific and the only 2 Microblaze external
> toolchains are the Bootlin's ones, where the oldest GCC version is
> 12.3.0, so as we've already done in the past with this commit:
> https://gitlab.com/buildroot.org/buildroot/-/commit/55fcba2a7c41d29f3f93bb37eec1264af4b45fb0
> 
> considering Buildroot free of bug 90620. If anyone will send a patch
> for new microblaze external-toolchains it's very unlikely they will
> contain gcc < 10.

Arnout's point is not about new toolchains (which will indeed be based
on a recent gcc), but rather on older custom external toolchains that
people might still be using.

I don't have a hard feeling on this one. Yes, supporting old external
toolchains is nice. On the other hand, at some point, we need to get
rid of those workarounds, but I'm not sure when is the good time.

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[relevance 64%]

* Re: [Linux kernel bug] general protection fault in alloc_object
  2024-05-08 14:20 62% ` Thomas Gleixner
@ 2024-05-09 15:45 64%   ` David Sterba
  0 siblings, 0 replies; 200+ results
From: David Sterba @ 2024-05-09 15:45 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: Sam Sun, linux-kernel, akpm, syzkaller-bugs, xrivendell7,
	reiserfs-devel

On Wed, May 08, 2024 at 04:20:53PM +0200, Thomas Gleixner wrote:
> On Tue, May 07 2024 at 14:32, Sam Sun wrote:
> > ```
> > general protection fault, probably for non-canonical address
> > 0xdffffc0040000001: 0000 [#1] PREEMPT SMP KASAN NOPTI
> > KASAN: probably user-memory-access in range
> > [0x0000000200000008-0x000000020000000f]
> 
> This is a reiserfs issue. It crashes at random places:
> 
> [  348.634665][ T5992] REISERFS (device loop0): Using tea hash to sort names
> [  348.780602][ T5993] (udev-worker)[5993]: segfault at 200000001 ip 0000000200000001 sp 00007fffca0e6190 error 14 in udevadm[5613a8f19000+1a000] likely on CPU 3 (core 0, socket 3)
> [  348.796165][ T5993] Code: Unable to access opcode bytes at 0x1ffffffd7.
> [  348.831600][ T5016] systemd-journald[5016]: /var/log/journal/a042c4e41bfd4c9697a628486ba7707d/system.journal: Journal file corrupted, rotating.
> [  348.840565][ T6004] systemd-udevd[6004]: segfault at 100040048 ip 00007fde601b58a3 sp 00007fffca0e6250 error 4 in libc.so.6[7fde60108000+155000] likely on CPU 5 (core 0, socket 5)
> [  348.844214][ T6004] Code: 89 10 49 8b b4 24 a8 10 00 00 eb 34 0f 1f 00 4c 8b 2d 69 f5 0f 00 64 45 8b 75 00 e8 27 42 fc ff e8 52 fe fa ff e9 01 fe ff ff <48> 8b 0a 48 8b 42 08 48 89 41 08 48 89 08 49 8b b4 24 a8 10 00 00
> [  356.765557][ T5992] ==================================================================
> [  356.767188][ T5992] BUG: unable to handle page fault for address: 0000000100040058
> [  356.767204][ T5992] #PF: supervisor read access in kernel mode
> [  356.767219][ T5992] #PF: error_code(0x0000) - not-present page
> [  356.767233][ T5992] PGD 80000004ca01f067 P4D 80000004ca01f067 PUD 0 
> [  356.767266][ T5992] Oops: 0000 [#1] PREEMPT SMP KASAN PTI
> [  356.767294][ T5992] CPU: 4 PID: 5992 Comm: a Not tainted 6.9.0-rc7-00012-gdccb07f2914c-dirty #43
> [  356.767325][ T5992] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> [  356.767342][ T5992] RIP: 0010:stack_depot_save_flags+0x14b/0x8e0
> 
> Can we just get rid of this mess?

It's been on the deprecation and removal path, scheduled for 2025.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=eb103a51640ee32ab01c51e13bf8fca211f25f61
I wouldn't be surpised if somebody sends a patch on 1.1. to do that.

^ permalink raw reply	[relevance 64%]

* Bug#1070795: Processed: your mail
@ 2024-05-09 14:42 64%         ` Darrick J. Wong
  0 siblings, 0 replies; 200+ results
From: Darrick J. Wong @ 2024-05-09 14:42 UTC (permalink / raw)
  To: Philip Hands, Carlos Maiolino, 1070795
  Cc: Debian Bug Tracking System, linux-xfs

[actually cc the bugreport this time]

On Thu, May 09, 2024 at 07:40:20AM -0700, Darrick J. Wong wrote:
> On Thu, May 09, 2024 at 10:51:03AM +0000, Debian Bug Tracking System wrote:
> > Processing commands for control@bugs.debian.org:
> > 
> > > tags 1070795 + d-i
> > Bug #1070795 [xfsprogs-udeb] xfsprogs-udeb: the udeb is empty (size 904 bytes) so does not contain mkfs.xfs
> 
> Yeah, someone needs to apply the patches in
> 
> https://lore.kernel.org/linux-xfs/171338841094.1852814.10756994414036094487.stgit@frogsfrogsfrogs/
> 
> and
> 
> https://lore.kernel.org/linux-xfs/171338841109.1852814.13493721733893449217.stgit@frogsfrogsfrogs/
> 
> which were not picked up for 6.7.  Unless the upstream maintainer
> (Carlos) goes ahead with a 6.7.1?
> 
> --D
> 
> > Added tag(s) d-i.
> > > thanks
> > Stopping processing here.
> > 
> > Please contact me if you need assistance.
> > -- 
> > 1070795: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1070795
> > Debian Bug Tracking System
> > Contact owner@bugs.debian.org with problems
> > 
> 

^ permalink raw reply	[relevance 64%]

* Re: [bug report] vfio/mlx5: Let firmware knows upon leaving PRE_COPY back to RUNNING
  2024-05-09 14:04 64% ` Yishai Hadas
@ 2024-05-09 14:43 64%   ` Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-09 14:43 UTC (permalink / raw)
  To: Yishai Hadas; +Cc: kvm

On Thu, May 09, 2024 at 05:04:43PM +0300, Yishai Hadas wrote:
> On 09/05/2024 16:36, Dan Carpenter wrote:
> > Hello Yishai Hadas,
> > 
> > Commit 6de042240b0f ("vfio/mlx5: Let firmware knows upon leaving
> > PRE_COPY back to RUNNING") from Feb 5, 2024 (linux-next), leads to
> > the following Smatch static checker warning:
> > 
> > 	drivers/vfio/pci/mlx5/main.c:1164 mlx5vf_pci_step_device_state_locked()
> > 	error: uninitialized symbol 'state'.
> > 
> > drivers/vfio/pci/mlx5/main.c
> >      1142         if ((cur == VFIO_DEVICE_STATE_PRE_COPY && new == VFIO_DEVICE_STATE_RUNNING) ||
> >      1143             (cur == VFIO_DEVICE_STATE_PRE_COPY_P2P &&
> >      1144              new == VFIO_DEVICE_STATE_RUNNING_P2P)) {
> >      1145                 struct mlx5_vf_migration_file *migf = mvdev->saving_migf;
> >      1146                 struct mlx5_vhca_data_buffer *buf;
> >      1147                 enum mlx5_vf_migf_state state;
> >                                                   ^^^^^
> >      1148                 size_t size;
> >      1149
> >      1150                 ret = mlx5vf_cmd_query_vhca_migration_state(mvdev, &size, NULL,
> >      1151                                         MLX5VF_QUERY_INC | MLX5VF_QUERY_CLEANUP);
> >      1152                 if (ret)
> >      1153                         return ERR_PTR(ret);
> >      1154                 buf = mlx5vf_get_data_buffer(migf, size, DMA_FROM_DEVICE);
> >      1155                 if (IS_ERR(buf))
> >      1156                         return ERR_CAST(buf);
> >      1157                 /* pre_copy cleanup */
> >      1158                 ret = mlx5vf_cmd_save_vhca_state(mvdev, migf, buf, false, false);
> >      1159                 if (ret) {
> >      1160                         mlx5vf_put_data_buffer(buf);
> >      1161                         return ERR_PTR(ret);
> >      1162                 }
> >      1163                 mlx5vf_disable_fds(mvdev, &state);
> >                                                     ^^^^^^
> > state is only set some of the time.
> 
> The 'state' will *always* be set in the above flow.

Ah yes.  You are right.  Thanks for looking at this.

regards,
dan carpenter


^ permalink raw reply	[relevance 64%]

* Re: [bug report] vfio/mlx5: Let firmware knows upon leaving PRE_COPY back to RUNNING
  2024-05-09 13:36 64% [bug report] vfio/mlx5: Let firmware knows upon leaving PRE_COPY back to RUNNING Dan Carpenter
@ 2024-05-09 14:04 64% ` Yishai Hadas
  2024-05-09 14:43 64%   ` Dan Carpenter
  0 siblings, 1 reply; 200+ results
From: Yishai Hadas @ 2024-05-09 14:04 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: kvm

On 09/05/2024 16:36, Dan Carpenter wrote:
> Hello Yishai Hadas,
> 
> Commit 6de042240b0f ("vfio/mlx5: Let firmware knows upon leaving
> PRE_COPY back to RUNNING") from Feb 5, 2024 (linux-next), leads to
> the following Smatch static checker warning:
> 
> 	drivers/vfio/pci/mlx5/main.c:1164 mlx5vf_pci_step_device_state_locked()
> 	error: uninitialized symbol 'state'.
> 
> drivers/vfio/pci/mlx5/main.c
>      1142         if ((cur == VFIO_DEVICE_STATE_PRE_COPY && new == VFIO_DEVICE_STATE_RUNNING) ||
>      1143             (cur == VFIO_DEVICE_STATE_PRE_COPY_P2P &&
>      1144              new == VFIO_DEVICE_STATE_RUNNING_P2P)) {
>      1145                 struct mlx5_vf_migration_file *migf = mvdev->saving_migf;
>      1146                 struct mlx5_vhca_data_buffer *buf;
>      1147                 enum mlx5_vf_migf_state state;
>                                                   ^^^^^
>      1148                 size_t size;
>      1149
>      1150                 ret = mlx5vf_cmd_query_vhca_migration_state(mvdev, &size, NULL,
>      1151                                         MLX5VF_QUERY_INC | MLX5VF_QUERY_CLEANUP);
>      1152                 if (ret)
>      1153                         return ERR_PTR(ret);
>      1154                 buf = mlx5vf_get_data_buffer(migf, size, DMA_FROM_DEVICE);
>      1155                 if (IS_ERR(buf))
>      1156                         return ERR_CAST(buf);
>      1157                 /* pre_copy cleanup */
>      1158                 ret = mlx5vf_cmd_save_vhca_state(mvdev, migf, buf, false, false);
>      1159                 if (ret) {
>      1160                         mlx5vf_put_data_buffer(buf);
>      1161                         return ERR_PTR(ret);
>      1162                 }
>      1163                 mlx5vf_disable_fds(mvdev, &state);
>                                                     ^^^^^^
> state is only set some of the time. 

The 'state' will *always* be set in the above flow.

As we are in the source side of the migration we have a valid 
saving_migf (see line 1145 above), as we pass in a non NULL pointer for 
the state, it will be always filled inside.

  We not just make mlx5vf_disable_fds()
> return an error code?

mlx5vf_disable_fd() is a cleanup function that can't fail.

It just holds/sets the state of the migf following the completion of the 
asynchronous SAVE command that was issued in line 1158.

So, it's a false alarm.

Thanks,
Yishai

> 
> --> 1164                 return (state != MLX5_MIGF_STATE_ERROR) ? NULL : ERR_PTR(-EIO);
>                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Uninitialized.
> 
>      1165         }
> 
> regards,
> dan carpenter


^ permalink raw reply	[relevance 64%]

* [bug report] vfio/mlx5: Let firmware knows upon leaving PRE_COPY back to RUNNING
@ 2024-05-09 13:36 64% Dan Carpenter
  2024-05-09 14:04 64% ` Yishai Hadas
  0 siblings, 1 reply; 200+ results
From: Dan Carpenter @ 2024-05-09 13:36 UTC (permalink / raw)
  To: yishaih; +Cc: kvm

Hello Yishai Hadas,

Commit 6de042240b0f ("vfio/mlx5: Let firmware knows upon leaving
PRE_COPY back to RUNNING") from Feb 5, 2024 (linux-next), leads to
the following Smatch static checker warning:

	drivers/vfio/pci/mlx5/main.c:1164 mlx5vf_pci_step_device_state_locked()
	error: uninitialized symbol 'state'.

drivers/vfio/pci/mlx5/main.c
    1142         if ((cur == VFIO_DEVICE_STATE_PRE_COPY && new == VFIO_DEVICE_STATE_RUNNING) ||
    1143             (cur == VFIO_DEVICE_STATE_PRE_COPY_P2P &&
    1144              new == VFIO_DEVICE_STATE_RUNNING_P2P)) {
    1145                 struct mlx5_vf_migration_file *migf = mvdev->saving_migf;
    1146                 struct mlx5_vhca_data_buffer *buf;
    1147                 enum mlx5_vf_migf_state state;
                                                 ^^^^^
    1148                 size_t size;
    1149 
    1150                 ret = mlx5vf_cmd_query_vhca_migration_state(mvdev, &size, NULL,
    1151                                         MLX5VF_QUERY_INC | MLX5VF_QUERY_CLEANUP);
    1152                 if (ret)
    1153                         return ERR_PTR(ret);
    1154                 buf = mlx5vf_get_data_buffer(migf, size, DMA_FROM_DEVICE);
    1155                 if (IS_ERR(buf))
    1156                         return ERR_CAST(buf);
    1157                 /* pre_copy cleanup */
    1158                 ret = mlx5vf_cmd_save_vhca_state(mvdev, migf, buf, false, false);
    1159                 if (ret) {
    1160                         mlx5vf_put_data_buffer(buf);
    1161                         return ERR_PTR(ret);
    1162                 }
    1163                 mlx5vf_disable_fds(mvdev, &state);
                                                   ^^^^^^
state is only set some of the time.  We not just make mlx5vf_disable_fds()
return an error code?

--> 1164                 return (state != MLX5_MIGF_STATE_ERROR) ? NULL : ERR_PTR(-EIO);
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Uninitialized.

    1165         }

regards,
dan carpenter

^ permalink raw reply	[relevance 64%]

* Re: [bug report] wifi: wilc1000: convert list management to RCU
  2024-05-09 13:24 64% [bug report] wifi: wilc1000: convert list management to RCU Dan Carpenter
@ 2024-05-09 13:33 64% ` Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-09 13:33 UTC (permalink / raw)
  To: alexis.lothore; +Cc: linux-wireless

A related warning is:

drivers/net/wireless/microchip/wilc1000/wlan.c:237
wilc_wlan_txq_filter_dup_tcp_ack() warn: sleeping in atomic context

drivers/net/wireless/microchip/wilc1000/wlan.c
   726          rcu_read_lock();
                ^^^^^^^^^^^^^^^
Disables preemption.

   727          wilc_for_each_vif(wilc, vif)
   728                  wilc_wlan_txq_filter_dup_tcp_ack(vif->ndev);
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sleeps.

   729          rcu_read_unlock();

regards,
dan carpenter


^ permalink raw reply	[relevance 64%]

* [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
                     ` (13 preceding siblings ...)
  2024-05-09  8:46 64% ` bugzilla-daemon
@ 2024-05-09 13:31 59% ` bugzilla-daemon
  14 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-09 13:31 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218305

--- Comment #68 from Mario Limonciello (AMD) (mario.limonciello@amd.com) ---
> What does EC stand for?

EC is "Embedded Controller".  Here's the ACPI specification for how it is
supposed to be interacted with:

https://uefi.org/specs/ACPI/6.5/12_Embedded_Controller_Interface_Specification.html

It's a black box to anyone but the system manufacturer.

> Might this
> (https://h30434.www3.hp.com/t5/Business-Notebooks/HP-Elitebook-865-G10-w-AMD-Ryzen-9-PRO-7940HS-cannot-sustain/m-p/9061799)
> be related?

> What's weird is that it only happens when I'm using the external monitors
> plugged into the dock, but I don't have any problem if I'm just using the
> dock's ethernet adapter or USB hub.

Yes, it "could" be related. This is getting OT, but if you have enough ports on
your laptop without a dock you could try to plug dongle(s) for monitor(s) and a
regular power adapter and see if you can reproduce the same behavior.

> Easier said that done: they don't care about Linux via the official support
> channels.

:/

> But why does it affect only Linux?

As it pertains to how the sleep wake up works, Linux and Windows work slightly
differently.  Windows has a concept of "dark screen wakeup" after any wakeup
event and will move in and out of hardware sleep while in this state.  Linux
once you get a wakeup event if it's not enough to wake the system (such as the
ACPI SCI but no other interrupt) then it goes back to sleep immediately.

This difference of behavior has uncovered bugs where the X86 cores race for
some of the same resources with the power management firmware on earlier
hardware.

So my working theory has been some timing margins for throttling are not being
met when suspend/resume has occurred under Linux.  That's why I was suggesting
patches to try to keep the kernel alive longer when a power adapter event wakes
the APU.  But the behavior and timing of when to throttle are totally
controlled by the EC.  So if there is a timing problem and forcing the X86
cores to be awake longer doesn't help I'm not sure what else we can do without
HP coming to the table to debug from their EC perspective.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 59%]

* [bug report] wifi: wilc1000: convert list management to RCU
@ 2024-05-09 13:24 64% Dan Carpenter
  2024-05-09 13:33 64% ` Dan Carpenter
  0 siblings, 1 reply; 200+ results
From: Dan Carpenter @ 2024-05-09 13:24 UTC (permalink / raw)
  To: alexis.lothore; +Cc: linux-wireless

Hello Alexis Lothoré,

Commit f236464f1db7 ("wifi: wilc1000: convert list management to
RCU") from Apr 10, 2024 (linux-next), leads to the following Smatch
static checker warning:

	drivers/net/wireless/microchip/wilc1000/mon.c:236 wilc_wfi_init_mon_interface()
	warn: sleeping in atomic context

The problem is in the caller:

drivers/net/wireless/microchip/wilc1000/cfg80211.c
  1527  static struct wireless_dev *add_virtual_intf(struct wiphy *wiphy,
  1528                                               const char *name,
  1529                                               unsigned char name_assign_type,
  1530                                               enum nl80211_iftype type,
  1531                                               struct vif_params *params)
  1532  {
  1533          struct wilc *wl = wiphy_priv(wiphy);
  1534          struct wilc_vif *vif;
  1535          struct wireless_dev *wdev;
  1536          int iftype;
  1537  
  1538          if (type == NL80211_IFTYPE_MONITOR) {
  1539                  struct net_device *ndev;
  1540  
  1541                  rcu_read_lock();
                        ^^^^^^^^^^^^^^^
The patch changes this to disable preemption.

  1542                  vif = wilc_get_vif_from_type(wl, WILC_AP_MODE);
  1543                  if (!vif) {
  1544                          vif = wilc_get_vif_from_type(wl, WILC_GO_MODE);
  1545                          if (!vif) {
  1546                                  rcu_read_unlock();
  1547                                  goto validate_interface;
  1548                          }
  1549                  }
  1550  
  1551                  if (vif->monitor_flag) {
  1552                          rcu_read_unlock();
  1553                          goto validate_interface;
  1554                  }
  1555  
  1556                  ndev = wilc_wfi_init_mon_interface(wl, name, vif->ndev);
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Does a few sleeping allocations.

  1557                  if (ndev) {
  1558                          vif->monitor_flag = 1;
  1559                  } else {
  1560                          rcu_read_unlock();
  1561                          return ERR_PTR(-EINVAL);
  1562                  }
  1563  
  1564                  wdev = &vif->priv.wdev;
  1565                  rcu_read_unlock();
  1566                  return wdev;
  1567          }

regards,
dan carpenter

^ permalink raw reply	[relevance 64%]

* Re: bug#70214: 'install' fails to copy regular file to autofs/cifs, due to ACL or xattr handling
       [not found]       ` <57792d8c-59d1-efbe-067a-886239cc3a4e@draigBrady.com>
@ 2024-05-09 12:16 64%     ` Pádraig Brady
  0 siblings, 0 replies; 200+ results
From: Pádraig Brady @ 2024-05-09 12:16 UTC (permalink / raw)
  To: Bruno Haible, 70214; +Cc: Andreas Gruenbacher, linux-cifs@vger.kernel.org

On 13/04/2024 18:42, Pádraig Brady wrote:
> On 13/04/2024 17:39, Pádraig Brady wrote:
>> install(1) defaults to mode 600 for new files, and uses set_acl() with that
>> (since 2007 https://github.com/coreutils/coreutils/commit/f634e8844 )
>> The psuedo code that install(1) uses is:
>>
>> copy_reg()
>>      if (x->set_mode) /* install */
>>        set_acl(dest, x->mode /* 600 */)
>>          ctx->acl = acl_from_mode ( /* 600 */)
>>          acl_set_fd (ctx->acl) /* fails EACCES */
>>          if (! acls_set)
>>             must_chmod = true;
>>          if (must_chmod)
>>            saved_errno = EACCES;
>>            chmod (ctx->mode /* 600 */)
>>            if (save_errno)
>>              return -1;
>>
>> This issue only only seems to be on CIFS.
>> I'm seeing lot of weird behavior with ACLs there:
>>
>>      acl_set_fd (acl_from_mode (600)) -> EACCES
>>      acl_set_fd (acl_from_mode (755)) -> EINVAL
>>      getxattr ("system.posix_acl_access") -> EOPNOTSUPP
>>
>> Note we ignore EINVAL and EOPNOTSUPP errors in set_acl(),
>> and it's just the EACCES that's problematic.
>> Note this is quite similar to https://debbugs.gnu.org/65599
>> where Paul also noticed EACCES with fsetxattr() (and others) on CIFS.
>>
>> The attached is a potential solution which I tested as working
>> on the same matoro system that Bruno used.
>>
>> I think I'll apply that after thinking a bit more about it.
> 
> Actually that probably isn't appropriate,
> as fsetxattr() can validly return EACESS
> even though not documented in the man page at least.
> The following demonstrates that:
> .
> #include <sys/types.h>
> #include <sys/stat.h>
> #include <sys/xattr.h>
> #include <fcntl.h>
> #include <attr/libattr.h>
> #include <stdio.h>
> #include <unistd.h>
> 
> int main(void)
> {
>       int wfd;
>       /* Note S_IWUSR is not set.  */
>       if ((wfd=open("writable", O_CREAT|O_WRONLY|O_EXCL, S_IRUSR)) == -1)
>           fprintf(stderr, "open('writable') error [%m]\n");
>       if (write(wfd, "data", 1) == -1)
>           fprintf(stderr, "write() error [%m]\n");
>       if (fsetxattr(wfd, "user.test", "test", 4, 0) == -1)
>           fprintf(stderr, "fsetxattr() error [%m]\n");
> }
> 
> Another solution might be to file_has_acl() in copy.c
> and skip if "not supported" or nothing is returned.
> The following would do that, but I'm not sure about this
> (as I'm not sure about ACLs in general TBH).
> Note listxattr() returns 0 on CIFS here,
> while getxattr ("system.posix_acl_access") returns EOPNOTSUPP,
> and file_has_acl() uses listxattr() first.
> 
> diff --git a/src/copy.c b/src/copy.c
> index d584a27eb..2145d89d5 100644
> --- a/src/copy.c
> +++ b/src/copy.c
> @@ -1673,8 +1673,13 @@ set_dest_mode:
>        }
>      else if (x->set_mode)
>        {
> -      if (set_acl (dst_name, dest_desc, x->mode) != 0)
> -        return_val = false;
> +      errno = 0;
> +      int n = file_has_acl (dst_name, &sb);
> +      if (0 < n || (errno && ! (is_ENOTSUP (errno) || errno == ENOSYS)))
> +        {
> +          if (set_acl (dst_name, dest_desc, x->mode) != 0)
> +            return_val = false;
> +        }
>        }
> 
> 
> BTW I'm surprised this wasn't reported previously for CIFS,
> so I due to this bug and https://debbugs.gnu.org/65599
> I suspect a recentish change in CIFS wrt EACCES.

Thinking more about this, the solution presented above wouldn't work,
and I think this needs to be addressed in CIFS.
I.e. we may still need to reset the mode even if the file has no ACLs,
as generally only dirs get default ACLs copied, as demonstrated below:

$ mkdir acl$ setfacl -d -m o::rw acl
$ getfacl acl
# file: acl
# owner: padraig
# group: padraig
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:other::rw-

$ touch acl/file
$ ls -l acl/file
-rw-r--rw-. 1 padraig padraig 0 May  9 13:11 acl/file
$ getfacl acl/file
# file: acl/file
# owner: padraig
# group: padraig
user::rw-
group::r--
other::rw-

cheers,
Pádraig.

^ permalink raw reply	[relevance 64%]

* Re: 6.9/BUG: Bad page state in process kswapd0 pfn:d6e840
  2024-05-08 17:45 64%   ` David Hildenbrand
@ 2024-05-09 11:59 64%     ` Mikhail Gavrilov
  2024-05-09 17:50 64%       ` David Hildenbrand
  0 siblings, 1 reply; 200+ results
From: Mikhail Gavrilov @ 2024-05-09 11:59 UTC (permalink / raw)
  To: David Hildenbrand; +Cc: Linux List Kernel Mailing, Linux Memory Management List

On Wed, May 8, 2024 at 10:45 PM David Hildenbrand <david@redhat.com> wrote:
>
> "page dumped because: non-NULL mapping"
>
> Is the relevant bit. We are freeing a page, but page->mapping is not
> NULL. IIUC, it might happen under memory pressure when reclaiming memory.
>
> It's weird that only you are seeing that, if it would be something
> "obvious" I would expect multiple reports :/
>

Maybe because the problem is really difficult to reproduce (rare
combination of the kernel build option and workload). I even thought
that the problem was fixed because it did not reproduce itself for a
week.

But yesterday when it happened again with the kworker process, I
stopped doubting that it was fixed.

Now I am concerned with the question of how to be as useful as
possible when reproducing bug again?

-- 
Best Regards,
Mike Gavrilov.

^ permalink raw reply	[relevance 64%]

* [bug report] drm/amd/display: Introduce DML2
@ 2024-05-08 12:29 64% Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-08 12:29 UTC (permalink / raw)
  To: Qingqing.Zhuo; +Cc: amd-gfx

Hello Qingqing Zhuo,

This is a semi-automatic email about new static checker warnings.

Commit 7966f319c66d ("drm/amd/display: Introduce DML2") from Jul 28,
2023, leads to the following Smatch complaint:

    drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml2_wrapper.c:576 dml2_validate_and_build_resource()
    warn: variable dereferenced before check 'context' (see line 569)

    drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml2_wrapper.c:665 dml2_validate_only()
    warn: variable dereferenced before check 'context' (see line 662)

drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml2_wrapper.c
   568	{
   569		struct dml2_context *dml2 = context->bw_ctx.dml2;
                                            ^^^^^^^^^
Dereferenced

   570		struct dml2_wrapper_scratch *s = &dml2->v20.scratch;
   571		struct dml2_dcn_clocks out_clks;
   572		unsigned int result = 0;
   573		bool need_recalculation = false;
   574		uint32_t cstate_enter_plus_exit_z8_ns;
   575	
   576		if (!context || context->stream_count == 0)
                    ^^^^^^^^
Checked too late

   577			return true;
   578	

regards,
dan carpenter

^ permalink raw reply	[relevance 64%]

* [Bug 218822] Delete the file from the upper layer directly, the file will become "Stale"
  2024-05-09  6:14 63% [Bug 218822] New: Delete the file from the upper layer directly, the file will become "Stale" bugzilla-daemon
@ 2024-05-09  9:05 64% ` bugzilla-daemon
  2024-05-09 18:57 64% ` bugzilla-daemon
  1 sibling, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-09  9:05 UTC (permalink / raw)
  To: linux-ext4

https://bugzilla.kernel.org/show_bug.cgi?id=218822

--- Comment #1 from Squall.Zhou@vecima.com ---
1. The issue has also been reproduced on:
29~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr  4 14:39:20 UTC 2 x86_64 x86_64
x86_64 GNU/Linux 

~:mount -t overlay -o  lowerdir=etc,upperdir=upper,workdir=work overlay etc 
~:~/overlaytest$ touch etc/a 
rm upper/a 
rm etc/a 
rm: cannot remove 'etc/a': Stale file handle 

2. But not reproduced on WSL(Ubuntu 20.04.6)
Squall.Zhou[~/over1]:mkdir etc
mkdir upper
mkdir work
sudo mount -t overlay -o  lowerdir=etc,upperdir=upper,workdir=work overlay etc
sudo touch etc/a
sudo rm upper/a
sudo rm etc/a
rm: cannot remove 'etc/a': No such file or directory
Squall.Zhou[~/over]:uname -a
Linux PC3203 4.4.0-22621-Microsoft #2506-Microsoft Fri Jan 01 08:00:00 PST 2016
x86_64 x86_64 x86_64 GNU/Linux

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
                     ` (12 preceding siblings ...)
  2024-05-09  7:49 64% ` bugzilla-daemon
@ 2024-05-09  8:46 64% ` bugzilla-daemon
  2024-05-09 13:31 59% ` bugzilla-daemon
  14 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-09  8:46 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218305

--- Comment #67 from Artem S. Tashkinov (aros@gmx.com) ---
(In reply to Mario Limonciello (AMD) from comment #65)
> Especially paired with the fact that different adapters don't trigger it I
> stand by this being an EC issue as the EC controls the throttling behavior.
> 
> I suggest you guys raise with HP and point them at this issue.

But why does it affect only Linux?

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* [syzbot] [audit?] BUG: unable to handle kernel NULL pointer dereference in kauditd_hold_skb
@ 2024-05-09  8:14 43% syzbot
  0 siblings, 0 replies; 200+ results
From: syzbot @ 2024-05-09  8:14 UTC (permalink / raw)
  To: audit, eparis, linux-kernel, paul, syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    6d7ddd805123 Merge tag 'soc-fixes-6.9-3' of git://git.kern..
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=10c901b8980000
kernel config:  https://syzkaller.appspot.com/x/.config?x=758bb5b8f724c7ba
dashboard link: https://syzkaller.appspot.com/bug?extid=8ffdaad8822cadf6ff4e
compiler:       arm-linux-gnueabi-gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
userspace arch: arm
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=17ed19b8980000

Downloadable assets:
disk image (non-bootable): https://storage.googleapis.com/syzbot-assets/8ead8862021c/non_bootable_disk-6d7ddd80.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/4c2b52b97a0d/vmlinux-6d7ddd80.xz
kernel image: https://storage.googleapis.com/syzbot-assets/73131a832637/zImage-6d7ddd80.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+8ffdaad8822cadf6ff4e@syzkaller.appspotmail.com

audit: type=1400 audit(66.700:100): avc:  denied  { ioctl } for  pid=3015 comm="syz-executor.1" path="/dev/loop1" dev="devtmpfs" ino=636 ioctlcmd=0x4c01 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:device_t tclass=blk_file permissive=1
8<--- cut here ---
Unable to handle kernel NULL pointer dereference at virtual address 00000000 when read
[00000000] *pgd=80000080004003, *pmd=00000000
Internal error: Oops: 207 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 30 Comm: kauditd Not tainted 6.9.0-rc7-syzkaller #0
Hardware name: ARM-Versatile Express
PC is at printk_get_level include/linux/printk.h:21 [inline]
PC is at printk_parse_prefix+0xc/0x90 kernel/printk/printk.c:2137
LR is at printk_sprint+0x10c/0x164 kernel/printk/printk.c:2177
pc : [<802bc524>]    lr : [<802bc6b4>]    psr: 60000093
sp : df8d9d70  ip : df8d9d80  fp : df8d9d7c
r10: 8262a180  r9 : 00000000  r8 : 00000000
r7 : df8d9dc8  r6 : 00000000  r5 : 00000000  r4 : 00000000
r3 : df8d9ebc  r2 : 00000000  r1 : 00000000  r0 : 00000000
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 30c5387d  Table: 84b70e80  DAC: fffffffd
Register r0 information: NULL pointer
Register r1 information: NULL pointer
Register r2 information: NULL pointer
Register r3 information: 2-page vmalloc region starting at 0xdf8d8000 allocated at kernel_clone+0xac/0x3cc kernel/fork.c:2797
Register r4 information: NULL pointer
Register r5 information: NULL pointer
Register r6 information: NULL pointer
Register r7 information: 2-page vmalloc region starting at 0xdf8d8000 allocated at kernel_clone+0xac/0x3cc kernel/fork.c:2797
Register r8 information: NULL pointer
Register r9 information: NULL pointer
Register r10 information: non-slab/vmalloc memory
Register r11 information: 2-page vmalloc region starting at 0xdf8d8000 allocated at kernel_clone+0xac/0x3cc kernel/fork.c:2797
Register r12 information: 2-page vmalloc region starting at 0xdf8d8000 allocated at kernel_clone+0xac/0x3cc kernel/fork.c:2797
Process kauditd (pid: 30, stack limit = 0xdf8d8000)
Stack: (0xdf8d9d70 to 0xdf8da000)
9d60:                                     df8d9d9c df8d9d80 802bc6b4 802bc524
9d80: 00000000 00000000 dddc5595 00000000 df8d9e24 df8d9da0 802bc918 802bc5b4
9da0: 81fce794 df8d9ebc 8029d704 0000000f ac9b579a df8d9dc0 0000001e 81fce794
9dc0: 60000013 00000005 00000000 df8d9ebc 8263bdf8 00000000 00000000 8262a22c
9de0: 60000093 3fffe339 00000000 75613501 00746964 3d7ed298 df8d9e44 00000000
9e00: ffffffff 82622ec4 00000000 00000000 00000000 81fce794 df8d9e64 df8d9e28
9e20: 802bda40 802bc718 df8d9ebc 3d7ed298 df8d9e7c 82ee8000 df8d9e6c 82ee8000
9e40: 85080000 00000000 8033fd34 8462d6c0 00000000 00000000 df8d9e7c df8d9e68
9e60: 802bdbdc 802bd948 df8d9ebc df8d9e78 df8d9e9c df8d9e80 802bec18 802bdbc0
9e80: 81893374 818cdd00 8462d6c0 ffffff91 df8d9eb4 df8d9ea0 818a62e0 802bebb0
9ea0: df8d9ebc 3d7ed298 df8d9ee4 df8d9ec8 803404e4 818a62bc 81fce794 00000579
9ec0: 85080010 00000000 826fb6ec 8462d6c0 00000000 8033fd34 df8d9f24 df8d9ee8
9ee0: 8033ff54 80340414 df8d9f04 00000001 00000000 8289fa50 df8d9f24 826fb6ec
9f00: 8289f9f8 00000000 00000000 82e98300 00000000 00000000 df8d9f84 df8d9f28
9f20: 8034080c 8033fe64 8033fd34 80340408 8027cd5c 80340408 8033fcdc 8033fd34
9f40: 00000000 82ee8000 802a5074 df8d9f4c df8d9f4c 3d7ed298 df8d9f84 82f26480
9f60: 82ee8000 8034058c 00000000 82e98300 df819e50 00000000 df8d9fac df8d9f88
9f80: 802702a0 80340598 82f26480 8027019c 00000000 00000000 00000000 00000000
9fa0: 00000000 df8d9fb0 80200104 802701a8 00000000 00000000 00000000 00000000
9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
Call trace: 
[<802bc518>] (printk_parse_prefix) from [<802bc6b4>] (printk_sprint+0x10c/0x164 kernel/printk/printk.c:2177)
[<802bc5a8>] (printk_sprint) from [<802bc918>] (vprintk_store+0x20c/0x450 kernel/printk/printk.c:2279)
 r7:00000000 r6:dddc5595 r5:00000000 r4:00000000
[<802bc70c>] (vprintk_store) from [<802bda40>] (vprintk_emit+0x104/0x278 kernel/printk/printk.c:2329)
 r10:81fce794 r9:00000000 r8:00000000 r7:00000000 r6:82622ec4 r5:ffffffff
 r4:00000000
[<802bd93c>] (vprintk_emit) from [<802bdbdc>] (vprintk_default+0x28/0x30 kernel/printk/printk.c:2363)
 r10:00000000 r9:00000000 r8:8462d6c0 r7:8033fd34 r6:00000000 r5:85080000
 r4:82ee8000
[<802bdbb4>] (vprintk_default) from [<802bec18>] (vprintk+0x74/0x94 kernel/printk/printk_safe.c:45)
[<802beba4>] (vprintk) from [<818a62e0>] (_printk+0x34/0x58 kernel/printk/printk.c:2373)
 r6:ffffff91 r4:8462d6c0
[<818a62ac>] (_printk) from [<803404e4>] (kauditd_printk_skb kernel/audit.c:546 [inline])
[<818a62ac>] (_printk) from [<803404e4>] (kauditd_hold_skb+0xdc/0xf8 kernel/audit.c:581)
 r3:00000000 r2:85080010 r1:00000579 r0:81fce794
[<80340408>] (kauditd_hold_skb) from [<8033ff54>] (kauditd_send_queue+0xfc/0x16c kernel/audit.c:766)
 r7:8033fd34 r6:00000000 r5:8462d6c0 r4:826fb6ec
[<8033fe58>] (kauditd_send_queue) from [<8034080c>] (kauditd_thread+0x280/0x2d8 kernel/audit.c:890)
 r10:00000000 r9:00000000 r8:82e98300 r7:00000000 r6:00000000 r5:8289f9f8
 r4:826fb6ec
[<8034058c>] (kauditd_thread) from [<802702a0>] (kthread+0x104/0x134 kernel/kthread.c:388)
 r10:00000000 r9:df819e50 r8:82e98300 r7:00000000 r6:8034058c r5:82ee8000
 r4:82f26480
[<8027019c>] (kthread) from [<80200104>] (ret_from_fork+0x14/0x30 arch/arm/kernel/entry-common.S:134)
Exception stack(0xdf8d9fb0 to 0xdf8d9ff8)
9fa0:                                     00000000 00000000 00000000 00000000
9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
9fe0: 00000000 00000000 00000000 00000000 00000013 00000000
 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:8027019c r4:82f26480
Code: e89da800 e1a0c00d e92dd800 e24cb004 (e5d03000) 
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
   0:	e89da800 	ldm	sp, {fp, sp, pc}
   4:	e1a0c00d 	mov	ip, sp
   8:	e92dd800 	push	{fp, ip, lr, pc}
   c:	e24cb004 	sub	fp, ip, #4
* 10:	e5d03000 	ldrb	r3, [r0] <-- trapping instruction


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

^ permalink raw reply	[relevance 43%]

* [syzbot] [bcachefs?] kernel BUG in __journal_res_get
@ 2024-05-09  8:04 49% syzbot
  0 siblings, 0 replies; 200+ results
From: syzbot @ 2024-05-09  8:04 UTC (permalink / raw)
  To: bfoster, kent.overstreet, linux-bcachefs, linux-kernel,
	syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    1c9135d29e9e Merge branch 'for-next/core' into for-kernelci
git tree:       git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci
console output: https://syzkaller.appspot.com/x/log.txt?x=112d6eb8980000
kernel config:  https://syzkaller.appspot.com/x/.config?x=7d2d53e64c7e6a4f
dashboard link: https://syzkaller.appspot.com/bug?extid=c60cd352aedb109528bf
compiler:       Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
userspace arch: arm64
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=120c63bc980000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=1360afff180000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/52dd1b4921ab/disk-1c9135d2.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/1a4f1788dc25/vmlinux-1c9135d2.xz
kernel image: https://storage.googleapis.com/syzbot-assets/b8d8ebd42a80/Image-1c9135d2.gz.xz
mounted in repro #1: https://storage.googleapis.com/syzbot-assets/4034fbab270b/mount_0.gz
mounted in repro #2: https://storage.googleapis.com/syzbot-assets/fb9b707711cf/mount_1.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+c60cd352aedb109528bf@syzkaller.appspotmail.com

  bp_start          7, fixing
bcachefs (loop0): alloc_read... done
bcachefs (loop0): stripes_read... done
bcachefs (loop0): snapshots_read... done
------------[ cut here ]------------
kernel BUG at fs/bcachefs/journal.c:370!
Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 6237 Comm: syz-executor338 Not tainted 6.9.0-rc7-syzkaller-g1c9135d29e9e #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : journal_entry_open fs/bcachefs/journal.c:370 [inline]
pc : __journal_res_get+0x1d64/0x1f6c fs/bcachefs/journal.c:555
lr : journal_entry_open fs/bcachefs/journal.c:370 [inline]
lr : __journal_res_get+0x1d64/0x1f6c fs/bcachefs/journal.c:555
sp : ffff80009c676980
x29: ffff80009c676be0 x28: ffff80009c676b20 x27: 00000000003ffffe
x26: ffff0000dcdca7c0 x25: ffff0000dcd80870 x24: ffff0000dcdca7b8
x23: dfff800000000000 x22: 1fffe0001b9b94d5 x21: 0111110080100107
x20: 1fffe0001b9b9430 x19: ffff0000dcdca180 x18: ffff80009c676880
x17: 000000000000caa6 x16: ffff800080331e9c x15: 0000000000000001
x14: 1fffe0001b9b94f7 x13: 0000000000000000 x12: 0000000000000000
x11: ffff60001b9b94f8 x10: 0000000000ff0100 x9 : 0000000000000000
x8 : ffff0000d0f6bc80 x7 : ffff8000828e150c x6 : 0000000000000000
x5 : 0000000000000000 x4 : 0000000000000001 x3 : ffff8000828e163c
x2 : 0000000000000000 x1 : 0000000000000002 x0 : 0000000000000000
Call trace:
 journal_entry_open fs/bcachefs/journal.c:370 [inline]
 __journal_res_get+0x1d64/0x1f6c fs/bcachefs/journal.c:555
 bch2_journal_res_get_slowpath+0x9c/0x2a4 fs/bcachefs/journal.c:617
 bch2_journal_res_get+0x124/0x1b4 fs/bcachefs/journal.h:382
 bch2_journal_meta+0x9c/0x268 fs/bcachefs/journal.c:832
 bch2_fs_recovery+0x2f4c/0x4854 fs/bcachefs/recovery.c:798
 bch2_fs_start+0x30c/0x53c fs/bcachefs/super.c:1043
 bch2_fs_open+0x8b4/0xb64 fs/bcachefs/super.c:2102
 bch2_mount+0x558/0xe10 fs/bcachefs/fs.c:1903
 legacy_get_tree+0xd4/0x16c fs/fs_context.c:662
 vfs_get_tree+0x90/0x288 fs/super.c:1779
 do_new_mount+0x278/0x900 fs/namespace.c:3352
 path_mount+0x590/0xe04 fs/namespace.c:3679
 do_mount fs/namespace.c:3692 [inline]
 __do_sys_mount fs/namespace.c:3898 [inline]
 __se_sys_mount fs/namespace.c:3875 [inline]
 __arm64_sys_mount+0x45c/0x594 fs/namespace.c:3875
 __invoke_syscall arch/arm64/kernel/syscall.c:34 [inline]
 invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:48
 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:133
 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:152
 el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:712
 el0t_64_sync_handler+0x84/0xfc arch/arm64/kernel/entry-common.c:730
 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:598
Code: 17ffff9c 9771bacd d4210000 9771bacb (d4210000) 
---[ end trace 0000000000000000 ]---


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

^ permalink raw reply	[relevance 49%]

* [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
                     ` (11 preceding siblings ...)
  2024-05-08 22:38 64% ` bugzilla-daemon
@ 2024-05-09  7:49 64% ` bugzilla-daemon
  2024-05-09  8:46 64% ` bugzilla-daemon
  2024-05-09 13:31 59% ` bugzilla-daemon
  14 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-09  7:49 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218305

--- Comment #66 from darkbasic (darkbasic@linuxsystems.it) ---
> Especially paired with the fact that different adapters don't trigger it I
> stand by this being an EC issue as the EC controls the throttling behavior.

What does EC stand for?

Might this
(https://h30434.www3.hp.com/t5/Business-Notebooks/HP-Elitebook-865-G10-w-AMD-Ryzen-9-PRO-7940HS-cannot-sustain/m-p/9061799)
be related?

What's weird is that it only happens when I'm using the external monitors
plugged into the dock, but I don't have any problem if I'm just using the
dock's ethernet adapter or USB hub.

> I suggest you guys raise with HP and point them at this issue.

Easier said that done: they don't care about Linux via the official support
channels.
I'm sure there is someone who cares because they distribute updates via LVFS
and they even sold Linux laptops like the HP Dev One but I have no idea how to
reach whoever could be interested to fix this.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* Re: [linux-next:master] [rcu/nocb] 4c66bc7cac: BUG:using_smp_processor_id()in_preemptible
  2024-05-08 16:14 64%   ` Frederic Weisbecker
@ 2024-05-09  7:23 64%     ` Z qiang
  0 siblings, 0 replies; 200+ results
From: Z qiang @ 2024-05-09  7:23 UTC (permalink / raw)
  To: Frederic Weisbecker
  Cc: kernel test robot, oe-lkp, lkp, Linux Memory Management List,
	Paul E. McKenney, rcu

>
> Le Wed, May 08, 2024 at 12:55:25PM +0800, Z qiang a écrit :
> > >
> > >
> > >
> > > Hello,
> > >
> > > kernel test robot noticed "BUG:using_smp_processor_id()in_preemptible" on:
> > >
> > > commit: 4c66bc7cacc08e8abcf5049d2b90bfd800904336 ("rcu/nocb: Use kthread parking instead of ad-hoc implementation")
> > > https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
> > >
> > > [test failed on linux-next/master 9221b2819b8a4196eecf5476d66201be60fbcf29]
> > >
> > > in testcase: boot
> > >
> > > compiler: gcc-13
> > > test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G
> > >
> > > (please refer to attached dmesg/kmsg for entire log/backtrace)
> > >
> > >
> > > +--------------------------------------------------------------+------------+------------+
> > > |                                                              | 6deb20902f | 4c66bc7cac |
> > > +--------------------------------------------------------------+------------+------------+
> > > | BUG:using_smp_processor_id()in_preemptible                   | 0          | 12         |
> > > +--------------------------------------------------------------+------------+------------+
> > >
> > >
> > > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > > the same patch/commit), kindly add following tags
> > > | Reported-by: kernel test robot <oliver.sang@intel.com>
> > > | Closes: https://lore.kernel.org/oe-lkp/202405072252.959dadc4-lkp@intel.com
> > >
> > >
> > > [    4.099901][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > > [ 4.101313][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [    4.102493][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > > [    4.104098][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > > [    4.104398][   T18] Call Trace:
> > > [    4.104398][   T18]  <TASK>
> > > [ 4.104398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > > [ 4.104398][ T18] dump_stack (lib/dump_stack.c:124)
> > > [ 4.104398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > > [ 4.104398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [ 4.104398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > > [ 4.104398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> >
> >
> > Please try the following modifications:
> >
> > diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
> > index 340bbefe5f65..b93e40206621 100644
> > --- a/kernel/rcu/tree_plugin.h
> > +++ b/kernel/rcu/tree_plugin.h
> > @@ -28,8 +28,8 @@ static bool rcu_rdp_is_offloaded(struct rcu_data *rdp)
> >                 !(lockdep_is_held(&rcu_state.barrier_mutex) ||
> >                   (IS_ENABLED(CONFIG_HOTPLUG_CPU) && lockdep_is_cpus_held()) ||
> >                   rcu_lockdep_is_held_nocb(rdp) ||
> > -                 (rdp == this_cpu_ptr(&rcu_data) &&
> > -                  !(IS_ENABLED(CONFIG_PREEMPT_COUNT) && preemptible())) ||
> > +                  (!(IS_ENABLED(CONFIG_PREEMPT_COUNT) && preemptible()) &&
> > +                   rdp == this_cpu_ptr(&rcu_data)) ||
>
> Looks good, would you like to send a proper patch with changelog?

I will send a patch :)

Thanks
Zqiang

>
> Thanks.
>
> >                   rcu_current_is_nocb_kthread(rdp)),
> >                 "Unsafe read of RCU_NOCB offloaded state"
>
>
>
> >         );
> >
> > Thanks
> > Zqiang
> >
> >
> > > [ 4.104398][ T18] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
> > > [ 4.104398][ T18] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4421 (discriminator 16))
> > > [ 4.104398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > > [ 4.104398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > > [ 4.104398][ T18] kthread (kernel/kthread.c:388)
> > > [ 4.104398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > > [ 4.104398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.104398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > > [ 4.104398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.104398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > > [    4.104398][   T18]  </TASK>
> > > [    4.106221][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > > [ 4.107796][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [    4.108547][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > > [    4.109667][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > > [    4.111064][   T18] Call Trace:
> > > [    4.111064][   T18]  <TASK>
> > > [ 4.111064][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > > [ 4.111064][ T18] dump_stack (lib/dump_stack.c:124)
> > > [ 4.111064][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > > [ 4.111064][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [ 4.111064][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > > [ 4.111064][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > > [ 4.111064][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > > [ 4.111064][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > > [ 4.111064][ T18] kthread (kernel/kthread.c:388)
> > > [ 4.111064][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > > [ 4.111064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.111064][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > > [ 4.111064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.111064][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > > [    4.111064][   T18]  </TASK>
> > > [    4.132677][    T1] NMI watchdog: Perf NMI watchdog permanently disabled
> > > [    4.135331][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > > [ 4.137454][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [    4.137849][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > > [    4.139414][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > > [    4.141064][   T18] Call Trace:
> > > [    4.141064][   T18]  <TASK>
> > > [ 4.141064][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > > [ 4.141064][ T18] dump_stack (lib/dump_stack.c:124)
> > > [ 4.141064][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > > [ 4.141064][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [ 4.141064][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > > [ 4.141064][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > > [ 4.141064][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > > [ 4.141064][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > > [ 4.141064][ T18] kthread (kernel/kthread.c:388)
> > > [ 4.141064][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > > [ 4.141064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.141064][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > > [ 4.141064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.141064][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > > [    4.141064][   T18]  </TASK>
> > > [    4.141391][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > > [ 4.143427][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [    4.144497][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > > [    4.146055][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > > [    4.147731][   T18] Call Trace:
> > > [    4.147731][   T18]  <TASK>
> > > [ 4.147731][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > > [ 4.147731][ T18] dump_stack (lib/dump_stack.c:124)
> > > [ 4.147731][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > > [ 4.147731][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [ 4.147731][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > > [ 4.147731][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > > [ 4.147731][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > > [ 4.147731][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > > [ 4.147731][ T18] kthread (kernel/kthread.c:388)
> > > [ 4.147731][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > > [ 4.147731][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.147731][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > > [ 4.147731][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.147731][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > > [    4.147731][   T18]  </TASK>
> > > [    4.148538][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > > [ 4.150537][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [    4.151144][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > > [    4.152635][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > > [    4.154398][   T18] Call Trace:
> > > [    4.154398][   T18]  <TASK>
> > > [ 4.154398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > > [ 4.154398][ T18] dump_stack (lib/dump_stack.c:124)
> > > [ 4.154398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > > [ 4.154398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [ 4.154398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > > [ 4.154398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > > [ 4.154398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > > [ 4.154398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > > [ 4.154398][ T18] kthread (kernel/kthread.c:388)
> > > [ 4.154398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > > [ 4.154398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.154398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > > [ 4.154398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.154398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > > [    4.154398][   T18]  </TASK>
> > > [    4.156100][    T1] smp: Bringing up secondary CPUs ...
> > > [    4.159421][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > > [ 4.161134][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [    4.162569][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > > [    4.164398][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > > [    4.164398][   T18] Call Trace:
> > > [    4.164398][   T18]  <TASK>
> > > [ 4.164398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > > [ 4.164398][ T18] dump_stack (lib/dump_stack.c:124)
> > > [ 4.164398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > > [ 4.164398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [ 4.164398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > > [ 4.164398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > > [ 4.164398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > > [ 4.164398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > > [ 4.164398][ T18] kthread (kernel/kthread.c:388)
> > > [ 4.164398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > > [ 4.164398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.164398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > > [ 4.164398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.164398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > > [    4.164398][   T18]  </TASK>
> > > [    4.168016][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > > [ 4.170139][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [    4.171170][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > > [    4.173242][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > > [    4.174398][   T18] Call Trace:
> > > [    4.174398][   T18]  <TASK>
> > > [ 4.174398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > > [ 4.174398][ T18] dump_stack (lib/dump_stack.c:124)
> > > [ 4.174398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > > [ 4.174398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [ 4.174398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > > [ 4.174398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > > [ 4.174398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > > [ 4.174398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > > [ 4.174398][ T18] kthread (kernel/kthread.c:388)
> > > [ 4.174398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > > [ 4.174398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.174398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > > [ 4.174398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.174398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > > [    4.174398][   T18]  </TASK>
> > > [    4.189949][    T1] smpboot: x86: Booting SMP configuration:
> > > [    4.191158][    T1] .... node  #0, CPUs:      #1
> > > [    1.668906][    T0] masked ExtINT on CPU#1
> > > [    4.202955][   T29] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/1/29
> > > [ 4.204471][ T29] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [    4.205845][   T29] CPU: 0 PID: 29 Comm: rcuop/1 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > > [    4.207731][   T29] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > > [    4.207731][   T29] Call Trace:
> > > [    4.207731][   T29]  <TASK>
> > > [ 4.207731][ T29] dump_stack_lvl (lib/dump_stack.c:116)
> > > [ 4.207731][ T29] dump_stack (lib/dump_stack.c:124)
> > > [ 4.207731][ T29] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > > [ 4.207731][ T29] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [ 4.207731][ T29] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > > [ 4.207731][ T29] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > > [ 4.207731][ T29] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
> > > [ 4.207731][ T29] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4421 (discriminator 16))
> > > [ 4.207731][ T29] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > > [ 4.207731][ T29] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > > [ 4.207731][ T29] kthread (kernel/kthread.c:388)
> > > [ 4.207731][ T29] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > > [ 4.207731][ T29] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.207731][ T29] ret_from_fork (arch/x86/kernel/process.c:153)
> > > [ 4.207731][ T29] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.207731][ T29] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > > [    4.207731][   T29]  </TASK>
> > > [    4.207989][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > > [ 4.209997][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [    4.211188][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > > [    4.212898][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > > [    4.214398][   T18] Call Trace:
> > > [    4.214398][   T18]  <TASK>
> > > [ 4.214398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > > [ 4.214398][ T18] dump_stack (lib/dump_stack.c:124)
> > > [ 4.214398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > > [ 4.214398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [ 4.214398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > > [ 4.214398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > > [ 4.214398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > > [ 4.214398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > > [ 4.214398][ T18] kthread (kernel/kthread.c:388)
> > > [ 4.214398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > > [ 4.214398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.214398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > > [ 4.214398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.214398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > > [    4.214398][   T18]  </TASK>
> > > [    4.215399][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > > [ 4.217064][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [    4.217772][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > > [    4.219363][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > > [    4.221064][   T18] Call Trace:
> > > [    4.221064][   T18]  <TASK>
> > > [ 4.221064][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > > [ 4.221064][ T18] dump_stack (lib/dump_stack.c:124)
> > > [ 4.221064][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > > [ 4.221064][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > > [ 4.221064][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > > [ 4.221064][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > > [ 4.221064][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > > [ 4.221064][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > > [ 4.221064][ T18] kthread (kernel/kthread.c:388)
> > > [ 4.221064][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > > [ 4.221064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.221064][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > > [ 4.221064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > > [ 4.221064][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > > [    4.221064][   T18]  </TASK>
> > >
> > >
> > >
> > > The kernel config and materials to reproduce are available at:
> > > https://download.01.org/0day-ci/archive/20240507/202405072252.959dadc4-lkp@intel.com
> > >
> > >
> > >
> > > --
> > > 0-DAY CI Kernel Test Service
> > > https://github.com/intel/lkp-tests/wiki
> > >
> > >


^ permalink raw reply	[relevance 64%]

* kernel BUG in bch2_fs_journal_stop
@ 2024-05-09  6:56  1% Ubisectech Sirius
  0 siblings, 0 replies; 200+ results
From: Ubisectech Sirius @ 2024-05-09  6:56 UTC (permalink / raw)
  To: linux-trace-kernel, linux-kernel; +Cc: kent.overstreet

[-- Attachment #1: Type: text/plain, Size: 4292 bytes --]

Hello.
We are Ubisectech Sirius Team, the vulnerability lab of China ValiantSec. Recently, our team has discovered a issue in Linux kernel 6.7. Attached to the email were a PoC file of the issue.

Stack dump:

bcachefs (loop3): flushing journal and stopping allocators, journal seq 10
bcachefs (loop3): flushing journal and stopping allocators complete, journal seq 10
------------[ cut here ]------------
kernel BUG at fs/bcachefs/journal.c:1054!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI
CPU: 1 PID: 48336 Comm: syz-executor.3 Not tainted 6.7.0 #2
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
RIP: 0010:bch2_fs_journal_stop+0x2c0/0x300 fs/bcachefs/journal.c:1054
Code: c1 ea 03 80 3c 02 00 75 42 48 8b ab a0 04 00 00 4c 89 e7 48 89 ee e8 6f cd b0 fd 49 39 ec 0f 84 73 fe ff ff e8 51 d2 b0 fd 90 <0f> 0b 48 89 df e8 16 8b 07 fe e9 3e fe ff ff e8 5c fd ac 06 48 89
RSP: 0018:ffffc900025f7a70 EFLAGS: 00010293
RAX: 0000000000000000 RBX: ffff8880147c9e00 RCX: ffffffff83d923f1
RDX: ffff888045690000 RSI: ffffffff83d923ff RDI: 0000000000000006
RBP: 000000000000000a R08: 0000000000000006 R09: 000000000000000b
R10: 000000000000000a R11: 0000000000000000 R12: 000000000000000b
R13: 1ffff920004bef4e R14: 0000000000000001 R15: ffff8880147c9e00
FS:  0000555555734480(0000) GS:ffff88807ec00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffeb0ee2ff8 CR3: 0000000026d5c000 CR4: 0000000000750ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
 <TASK>
 __bch2_fs_read_only+0x2b0/0x4b0 fs/bcachefs/super.c:251
 bch2_fs_read_only+0x45f/0xb00 fs/bcachefs/super.c:306
 __bch2_fs_stop+0xf6/0x5d0 fs/bcachefs/super.c:571
 generic_shutdown_super+0x161/0x3d0 fs/super.c:696
 bch2_kill_sb+0x3c/0x50 fs/bcachefs/fs.c:1972
 deactivate_locked_super+0xbc/0x1a0 fs/super.c:484
 deactivate_super+0xb1/0xd0 fs/super.c:517
 cleanup_mnt+0x2df/0x430 fs/namespace.c:1256
 task_work_run+0x16a/0x260 kernel/task_work.c:180
 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:171 [inline]
 exit_to_user_mode_prepare+0x217/0x240 kernel/entry/common.c:204
 __syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline]
 syscall_exit_to_user_mode+0x1e/0x60 kernel/entry/common.c:296
 do_syscall_64+0x53/0x120 arch/x86/entry/common.c:89
 entry_SYSCALL_64_after_hwframe+0x6f/0x77
RIP: 0033:0x7f29fa69178b
Code: b0 ff ff ff f7 d8 64 89 01 48 83 c8 ff c3 90 f3 0f 1e fa 31 f6 e9 05 00 00 00 0f 1f 44 00 00 f3 0f 1e fa b8 a6 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 05 c3 0f 1f 40 00 48 c7 c2 b0 ff ff ff f7 d8
RSP: 002b:00007ffeb0ee32b8 EFLAGS: 00000246 ORIG_RAX: 00000000000000a6
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 00007f29fa69178b
RDX: 00007f29fa629350 RSI: 0000000000000009 RDI: 00007ffeb0ee3370
RBP: 00007ffeb0ee3370 R08: 0000000000000000 R09: 00007ffeb0ee3140
R10: 0000555555735a43 R11: 0000000000000246 R12: 00007f29fa6f02c0
R13: 00007ffeb0ee4450 R14: 0000555555735970 R15: 00007ffeb0ee4440
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:bch2_fs_journal_stop+0x2c0/0x300 fs/bcachefs/journal.c:1054
Code: c1 ea 03 80 3c 02 00 75 42 48 8b ab a0 04 00 00 4c 89 e7 48 89 ee e8 6f cd b0 fd 49 39 ec 0f 84 73 fe ff ff e8 51 d2 b0 fd 90 <0f> 0b 48 89 df e8 16 8b 07 fe e9 3e fe ff ff e8 5c fd ac 06 48 89
RSP: 0018:ffffc900025f7a70 EFLAGS: 00010293
RAX: 0000000000000000 RBX: ffff8880147c9e00 RCX: ffffffff83d923f1
RDX: ffff888045690000 RSI: ffffffff83d923ff RDI: 0000000000000006
RBP: 000000000000000a R08: 0000000000000006 R09: 000000000000000b
R10: 000000000000000a R11: 0000000000000000 R12: 000000000000000b
R13: 1ffff920004bef4e R14: 0000000000000001 R15: ffff8880147c9e00
FS:  0000555555734480(0000) GS:ffff88807ec00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055c9c72af7b0 CR3: 0000000026d5c000 CR4: 0000000000750ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554

Thank you for taking the time to read this email and we look forward to working with you further.









[-- Attachment #2: poc.c --]
[-- Type: application/octet-stream, Size: 343058 bytes --]

// autogenerated by syzkaller (https://github.com/google/syzkaller)

#define _GNU_SOURCE

#include <endian.h>
#include <errno.h>
#include <fcntl.h>
#include <sched.h>
#include <setjmp.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/prctl.h>
#include <sys/resource.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>

#include <linux/capability.h>
#include <linux/loop.h>

#ifndef __NR_memfd_create
#define __NR_memfd_create 319
#endif

static unsigned long long procid;

static bool write_file(const char* file, const char* what, ...)
{
  char buf[1024];
  va_list args;
  va_start(args, what);
  vsnprintf(buf, sizeof(buf), what, args);
  va_end(args);
  buf[sizeof(buf) - 1] = 0;
  int len = strlen(buf);
  int fd = open(file, O_WRONLY | O_CLOEXEC);
  if (fd == -1)
    return false;
  if (write(fd, buf, len) != len) {
    int err = errno;
    close(fd);
    errno = err;
    return false;
  }
  close(fd);
  return true;
}

//% This code is derived from puff.{c,h}, found in the zlib development. The
//% original files come with the following copyright notice:

//% Copyright (C) 2002-2013 Mark Adler, all rights reserved
//% version 2.3, 21 Jan 2013
//% This software is provided 'as-is', without any express or implied
//% warranty.  In no event will the author be held liable for any damages
//% arising from the use of this software.
//% Permission is granted to anyone to use this software for any purpose,
//% including commercial applications, and to alter it and redistribute it
//% freely, subject to the following restrictions:
//% 1. The origin of this software must not be misrepresented; you must not
//%    claim that you wrote the original software. If you use this software
//%    in a product, an acknowledgment in the product documentation would be
//%    appreciated but is not required.
//% 2. Altered source versions must be plainly marked as such, and must not be
//%    misrepresented as being the original software.
//% 3. This notice may not be removed or altered from any source distribution.
//% Mark Adler    madler@alumni.caltech.edu

//% BEGIN CODE DERIVED FROM puff.{c,h}

#define MAXBITS 15
#define MAXLCODES 286
#define MAXDCODES 30
#define MAXCODES (MAXLCODES + MAXDCODES)
#define FIXLCODES 288

struct puff_state {
  unsigned char* out;
  unsigned long outlen;
  unsigned long outcnt;
  const unsigned char* in;
  unsigned long inlen;
  unsigned long incnt;
  int bitbuf;
  int bitcnt;
  jmp_buf env;
};
static int puff_bits(struct puff_state* s, int need)
{
  long val = s->bitbuf;
  while (s->bitcnt < need) {
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    val |= (long)(s->in[s->incnt++]) << s->bitcnt;
    s->bitcnt += 8;
  }
  s->bitbuf = (int)(val >> need);
  s->bitcnt -= need;
  return (int)(val & ((1L << need) - 1));
}
static int puff_stored(struct puff_state* s)
{
  s->bitbuf = 0;
  s->bitcnt = 0;
  if (s->incnt + 4 > s->inlen)
    return 2;
  unsigned len = s->in[s->incnt++];
  len |= s->in[s->incnt++] << 8;
  if (s->in[s->incnt++] != (~len & 0xff) ||
      s->in[s->incnt++] != ((~len >> 8) & 0xff))
    return -2;
  if (s->incnt + len > s->inlen)
    return 2;
  if (s->outcnt + len > s->outlen)
    return 1;
  for (; len--; s->outcnt++, s->incnt++) {
    if (s->in[s->incnt])
      s->out[s->outcnt] = s->in[s->incnt];
  }
  return 0;
}
struct puff_huffman {
  short* count;
  short* symbol;
};
static int puff_decode(struct puff_state* s, const struct puff_huffman* h)
{
  int first = 0;
  int index = 0;
  int bitbuf = s->bitbuf;
  int left = s->bitcnt;
  int code = first = index = 0;
  int len = 1;
  short* next = h->count + 1;
  while (1) {
    while (left--) {
      code |= bitbuf & 1;
      bitbuf >>= 1;
      int count = *next++;
      if (code - count < first) {
        s->bitbuf = bitbuf;
        s->bitcnt = (s->bitcnt - len) & 7;
        return h->symbol[index + (code - first)];
      }
      index += count;
      first += count;
      first <<= 1;
      code <<= 1;
      len++;
    }
    left = (MAXBITS + 1) - len;
    if (left == 0)
      break;
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    bitbuf = s->in[s->incnt++];
    if (left > 8)
      left = 8;
  }
  return -10;
}
static int puff_construct(struct puff_huffman* h, const short* length, int n)
{
  int len;
  for (len = 0; len <= MAXBITS; len++)
    h->count[len] = 0;
  int symbol;
  for (symbol = 0; symbol < n; symbol++)
    (h->count[length[symbol]])++;
  if (h->count[0] == n)
    return 0;
  int left = 1;
  for (len = 1; len <= MAXBITS; len++) {
    left <<= 1;
    left -= h->count[len];
    if (left < 0)
      return left;
  }
  short offs[MAXBITS + 1];
  offs[1] = 0;
  for (len = 1; len < MAXBITS; len++)
    offs[len + 1] = offs[len] + h->count[len];
  for (symbol = 0; symbol < n; symbol++)
    if (length[symbol] != 0)
      h->symbol[offs[length[symbol]]++] = symbol;
  return left;
}
static int puff_codes(struct puff_state* s, const struct puff_huffman* lencode,
                      const struct puff_huffman* distcode)
{
  static const short lens[29] = {3,  4,  5,  6,   7,   8,   9,   10,  11, 13,
                                 15, 17, 19, 23,  27,  31,  35,  43,  51, 59,
                                 67, 83, 99, 115, 131, 163, 195, 227, 258};
  static const short lext[29] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2,
                                 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0};
  static const short dists[30] = {
      1,    2,    3,    4,    5,    7,    9,    13,    17,    25,
      33,   49,   65,   97,   129,  193,  257,  385,   513,   769,
      1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577};
  static const short dext[30] = {0, 0, 0,  0,  1,  1,  2,  2,  3,  3,
                                 4, 4, 5,  5,  6,  6,  7,  7,  8,  8,
                                 9, 9, 10, 10, 11, 11, 12, 12, 13, 13};
  int symbol;
  do {
    symbol = puff_decode(s, lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 256) {
      if (s->outcnt == s->outlen)
        return 1;
      if (symbol)
        s->out[s->outcnt] = symbol;
      s->outcnt++;
    } else if (symbol > 256) {
      symbol -= 257;
      if (symbol >= 29)
        return -10;
      int len = lens[symbol] + puff_bits(s, lext[symbol]);
      symbol = puff_decode(s, distcode);
      if (symbol < 0)
        return symbol;
      unsigned dist = dists[symbol] + puff_bits(s, dext[symbol]);
      if (dist > s->outcnt)
        return -11;
      if (s->outcnt + len > s->outlen)
        return 1;
      while (len--) {
        if (dist <= s->outcnt && s->out[s->outcnt - dist])
          s->out[s->outcnt] = s->out[s->outcnt - dist];
        s->outcnt++;
      }
    }
  } while (symbol != 256);
  return 0;
}
static int puff_fixed(struct puff_state* s)
{
  static int virgin = 1;
  static short lencnt[MAXBITS + 1], lensym[FIXLCODES];
  static short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  static struct puff_huffman lencode, distcode;
  if (virgin) {
    lencode.count = lencnt;
    lencode.symbol = lensym;
    distcode.count = distcnt;
    distcode.symbol = distsym;
    short lengths[FIXLCODES];
    int symbol;
    for (symbol = 0; symbol < 144; symbol++)
      lengths[symbol] = 8;
    for (; symbol < 256; symbol++)
      lengths[symbol] = 9;
    for (; symbol < 280; symbol++)
      lengths[symbol] = 7;
    for (; symbol < FIXLCODES; symbol++)
      lengths[symbol] = 8;
    puff_construct(&lencode, lengths, FIXLCODES);
    for (symbol = 0; symbol < MAXDCODES; symbol++)
      lengths[symbol] = 5;
    puff_construct(&distcode, lengths, MAXDCODES);
    virgin = 0;
  }
  return puff_codes(s, &lencode, &distcode);
}
static int puff_dynamic(struct puff_state* s)
{
  static const short order[19] = {16, 17, 18, 0, 8,  7, 9,  6, 10, 5,
                                  11, 4,  12, 3, 13, 2, 14, 1, 15};
  int nlen = puff_bits(s, 5) + 257;
  int ndist = puff_bits(s, 5) + 1;
  int ncode = puff_bits(s, 4) + 4;
  if (nlen > MAXLCODES || ndist > MAXDCODES)
    return -3;
  short lengths[MAXCODES];
  int index;
  for (index = 0; index < ncode; index++)
    lengths[order[index]] = puff_bits(s, 3);
  for (; index < 19; index++)
    lengths[order[index]] = 0;
  short lencnt[MAXBITS + 1], lensym[MAXLCODES];
  struct puff_huffman lencode = {lencnt, lensym};
  int err = puff_construct(&lencode, lengths, 19);
  if (err != 0)
    return -4;
  index = 0;
  while (index < nlen + ndist) {
    int symbol;
    int len;
    symbol = puff_decode(s, &lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 16)
      lengths[index++] = symbol;
    else {
      len = 0;
      if (symbol == 16) {
        if (index == 0)
          return -5;
        len = lengths[index - 1];
        symbol = 3 + puff_bits(s, 2);
      } else if (symbol == 17)
        symbol = 3 + puff_bits(s, 3);
      else
        symbol = 11 + puff_bits(s, 7);
      if (index + symbol > nlen + ndist)
        return -6;
      while (symbol--)
        lengths[index++] = len;
    }
  }
  if (lengths[256] == 0)
    return -9;
  err = puff_construct(&lencode, lengths, nlen);
  if (err && (err < 0 || nlen != lencode.count[0] + lencode.count[1]))
    return -7;
  short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  struct puff_huffman distcode = {distcnt, distsym};
  err = puff_construct(&distcode, lengths + nlen, ndist);
  if (err && (err < 0 || ndist != distcode.count[0] + distcode.count[1]))
    return -8;
  return puff_codes(s, &lencode, &distcode);
}
static int puff(unsigned char* dest, unsigned long* destlen,
                const unsigned char* source, unsigned long sourcelen)
{
  struct puff_state s = {
      .out = dest,
      .outlen = *destlen,
      .outcnt = 0,
      .in = source,
      .inlen = sourcelen,
      .incnt = 0,
      .bitbuf = 0,
      .bitcnt = 0,
  };
  int err;
  if (setjmp(s.env) != 0)
    err = 2;
  else {
    int last;
    do {
      last = puff_bits(&s, 1);
      int type = puff_bits(&s, 2);
      err = type == 0 ? puff_stored(&s)
                      : (type == 1 ? puff_fixed(&s)
                                   : (type == 2 ? puff_dynamic(&s) : -1));
      if (err != 0)
        break;
    } while (!last);
  }
  *destlen = s.outcnt;
  return err;
}

//% END CODE DERIVED FROM puff.{c,h}

#define ZLIB_HEADER_WIDTH 2

static int puff_zlib_to_file(const unsigned char* source,
                             unsigned long sourcelen, int dest_fd)
{
  if (sourcelen < ZLIB_HEADER_WIDTH)
    return 0;
  source += ZLIB_HEADER_WIDTH;
  sourcelen -= ZLIB_HEADER_WIDTH;
  const unsigned long max_destlen = 132 << 20;
  void* ret = mmap(0, max_destlen, PROT_WRITE | PROT_READ,
                   MAP_PRIVATE | MAP_ANON, -1, 0);
  if (ret == MAP_FAILED)
    return -1;
  unsigned char* dest = (unsigned char*)ret;
  unsigned long destlen = max_destlen;
  int err = puff(dest, &destlen, source, sourcelen);
  if (err) {
    munmap(dest, max_destlen);
    errno = -err;
    return -1;
  }
  if (write(dest_fd, dest, destlen) != (ssize_t)destlen) {
    munmap(dest, max_destlen);
    return -1;
  }
  return munmap(dest, max_destlen);
}

static int setup_loop_device(unsigned char* data, unsigned long size,
                             const char* loopname, int* loopfd_p)
{
  int err = 0, loopfd = -1;
  int memfd = syscall(__NR_memfd_create, "syzkaller", 0);
  if (memfd == -1) {
    err = errno;
    goto error;
  }
  if (puff_zlib_to_file(data, size, memfd)) {
    err = errno;
    goto error_close_memfd;
  }
  loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    err = errno;
    goto error_close_memfd;
  }
  if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
    if (errno != EBUSY) {
      err = errno;
      goto error_close_loop;
    }
    ioctl(loopfd, LOOP_CLR_FD, 0);
    usleep(1000);
    if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
      err = errno;
      goto error_close_loop;
    }
  }
  close(memfd);
  *loopfd_p = loopfd;
  return 0;

error_close_loop:
  close(loopfd);
error_close_memfd:
  close(memfd);
error:
  errno = err;
  return -1;
}

static void reset_loop_device(const char* loopname)
{
  int loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    return;
  }
  if (ioctl(loopfd, LOOP_CLR_FD, 0)) {
  }
  close(loopfd);
}

static long syz_mount_image(volatile long fsarg, volatile long dir,
                            volatile long flags, volatile long optsarg,
                            volatile long change_dir,
                            volatile unsigned long size, volatile long image)
{
  unsigned char* data = (unsigned char*)image;
  int res = -1, err = 0, need_loop_device = !!size;
  char* mount_opts = (char*)optsarg;
  char* target = (char*)dir;
  char* fs = (char*)fsarg;
  char* source = NULL;
  char loopname[64];
  if (need_loop_device) {
    int loopfd;
    memset(loopname, 0, sizeof(loopname));
    snprintf(loopname, sizeof(loopname), "/dev/loop%llu", procid);
    if (setup_loop_device(data, size, loopname, &loopfd) == -1)
      return -1;
    close(loopfd);
    source = loopname;
  }
  mkdir(target, 0777);
  char opts[256];
  memset(opts, 0, sizeof(opts));
  if (strlen(mount_opts) > (sizeof(opts) - 32)) {
  }
  strncpy(opts, mount_opts, sizeof(opts) - 32);
  if (strcmp(fs, "iso9660") == 0) {
    flags |= MS_RDONLY;
  } else if (strncmp(fs, "ext", 3) == 0) {
    bool has_remount_ro = false;
    char* remount_ro_start = strstr(opts, "errors=remount-ro");
    if (remount_ro_start != NULL) {
      char after = *(remount_ro_start + strlen("errors=remount-ro"));
      char before = remount_ro_start == opts ? '\0' : *(remount_ro_start - 1);
      has_remount_ro = ((before == '\0' || before == ',') &&
                        (after == '\0' || after == ','));
    }
    if (strstr(opts, "errors=panic") || !has_remount_ro)
      strcat(opts, ",errors=continue");
  } else if (strcmp(fs, "xfs") == 0) {
    strcat(opts, ",nouuid");
  }
  res = mount(source, target, fs, flags, opts);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  res = open(target, O_RDONLY | O_DIRECTORY);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  if (change_dir) {
    res = chdir(target);
    if (res == -1) {
      err = errno;
    }
  }

error_clear_loop:
  if (need_loop_device)
    reset_loop_device(loopname);
  errno = err;
  return res;
}

static void setup_common()
{
  if (mount(0, "/sys/fs/fuse/connections", "fusectl", 0, 0)) {
  }
}

static void setup_binderfs()
{
  if (mkdir("/dev/binderfs", 0777)) {
  }
  if (mount("binder", "/dev/binderfs", "binder", 0, NULL)) {
  }
  if (symlink("/dev/binderfs", "./binderfs")) {
  }
}

static void loop();

static void sandbox_common()
{
  prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0);
  setsid();
  struct rlimit rlim;
  rlim.rlim_cur = rlim.rlim_max = (200 << 20);
  setrlimit(RLIMIT_AS, &rlim);
  rlim.rlim_cur = rlim.rlim_max = 32 << 20;
  setrlimit(RLIMIT_MEMLOCK, &rlim);
  rlim.rlim_cur = rlim.rlim_max = 136 << 20;
  setrlimit(RLIMIT_FSIZE, &rlim);
  rlim.rlim_cur = rlim.rlim_max = 1 << 20;
  setrlimit(RLIMIT_STACK, &rlim);
  rlim.rlim_cur = rlim.rlim_max = 128 << 20;
  setrlimit(RLIMIT_CORE, &rlim);
  rlim.rlim_cur = rlim.rlim_max = 256;
  setrlimit(RLIMIT_NOFILE, &rlim);
  if (unshare(CLONE_NEWNS)) {
  }
  if (mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, NULL)) {
  }
  if (unshare(CLONE_NEWIPC)) {
  }
  if (unshare(0x02000000)) {
  }
  if (unshare(CLONE_NEWUTS)) {
  }
  if (unshare(CLONE_SYSVSEM)) {
  }
  typedef struct {
    const char* name;
    const char* value;
  } sysctl_t;
  static const sysctl_t sysctls[] = {
      {"/proc/sys/kernel/shmmax", "16777216"},
      {"/proc/sys/kernel/shmall", "536870912"},
      {"/proc/sys/kernel/shmmni", "1024"},
      {"/proc/sys/kernel/msgmax", "8192"},
      {"/proc/sys/kernel/msgmni", "1024"},
      {"/proc/sys/kernel/msgmnb", "1024"},
      {"/proc/sys/kernel/sem", "1024 1048576 500 1024"},
  };
  unsigned i;
  for (i = 0; i < sizeof(sysctls) / sizeof(sysctls[0]); i++)
    write_file(sysctls[i].name, sysctls[i].value);
}

static int wait_for_loop(int pid)
{
  if (pid < 0)
    exit(1);
  int status = 0;
  while (waitpid(-1, &status, __WALL) != pid) {
  }
  return WEXITSTATUS(status);
}

static void drop_caps(void)
{
  struct __user_cap_header_struct cap_hdr = {};
  struct __user_cap_data_struct cap_data[2] = {};
  cap_hdr.version = _LINUX_CAPABILITY_VERSION_3;
  cap_hdr.pid = getpid();
  if (syscall(SYS_capget, &cap_hdr, &cap_data))
    exit(1);
  const int drop = (1 << CAP_SYS_PTRACE) | (1 << CAP_SYS_NICE);
  cap_data[0].effective &= ~drop;
  cap_data[0].permitted &= ~drop;
  cap_data[0].inheritable &= ~drop;
  if (syscall(SYS_capset, &cap_hdr, &cap_data))
    exit(1);
}

static int do_sandbox_none(void)
{
  if (unshare(CLONE_NEWPID)) {
  }
  int pid = fork();
  if (pid != 0)
    return wait_for_loop(pid);
  setup_common();
  sandbox_common();
  drop_caps();
  if (unshare(CLONE_NEWNET)) {
  }
  write_file("/proc/sys/net/ipv4/ping_group_range", "0 65535");
  setup_binderfs();
  loop();
  exit(1);
}

void loop(void)
{
  memcpy((void*)0x20011a00, "bcachefs\000", 9);
  memcpy((void*)0x20000040, "./file0\000", 8);
  memcpy(
      (void*)0x20011ac0,
      "\x78\x9c\xec\xd9\x0b\x54\x4e\xdd\xa3\xf7\xfd\x4e\x2a\x52\x2a\xa2\x14\x39"
      "\xa4\x88\x42\xa8\x50\xce\x45\xa1\xc8\xb1\x22\x29\x3a\x91\x22\xa5\x44\xe5"
      "\x94\x88\x74\x10\xa2\x14\x2a\x49\x24\xa7\x94\x44\x48\xa5\x88\x50\x28\x54"
      "\xe8\xac\x22\x8a\x0e\xbc\x63\xff\x9f\xdb\xde\xff\xe7\x7e\xf6\xfd\x3e\xcf"
      "\xbe\xdf\xf7\xdd\x7b\x8c\x77\x7f\x3f\x63\x5c\x63\x5e\x73\xce\xb5\x7e\x6b"
      "\xae\x79\xcd\x56\x6b\x8d\x25\x00\x00\x00\x00\x00\xf8\x6f\xe1\xc1\x1e\xb7"
      "\x56\x93\xfe\x06\x0f\x77\xae\xfd\xe6\x3b\x27\xdd\x79\x87\x80\x84\xf0\x3f"
      "\xda\xc5\x7f\x6f\x20\xfd\x47\xe9\xf9\x5f\x35\x42\xfc\x67\x12\x13\x91\xff"
      "\x47\xf9\xe7\x75\x71\xda\x79\xb6\x41\xe1\x0e\x03\xe3\x90\x9f\xa7\xac\xe2"
      "\xae\x6c\x88\x16\x73\x92\xd7\x5a\xb3\xc1\x54\x2f\x45\xff\x4a\xa5\x9d\x9c"
      "\x49\xd7\xff\x2e\xf7\xf7\x7a\x1a\xf1\x6f\x75\xc1\x6f\x82\x02\x02\x0e\xa1"
      "\xef\xdf\xec\xcd\xce\xef\xf7\x2f\x6d\x82\x02\x02\x02\xc2\x82\xd2\x7e\x02"
      "\x02\x32\x82\x42\xd9\x32\x82\x7f\x1e\x5a\xbb\x80\x80\xc0\x9a\x7f\x1d\xe7"
      "\xff\xdc\x79\xe3\xdb\x38\xbb\x7f\x29\xfd\x02\xc5\xfe\xa7\xf6\x5e\x7f\x0a"
      "\x61\xbd\xff\xf7\x26\xfe\xc7\x3a\x3b\xa1\xd2\xf4\xc9\xc9\xd5\x28\x3f\x78"
      "\xd9\x28\xc3\x11\xfd\x3d\x57\xfa\xfd\xdb\x26\x82\xe2\xff\xb4\x9e\x04\x04"
      "\xa4\xac\xff\xbc\xbf\xd0\xbf\x93\x6b\x63\xeb\xa0\xae\xbe\x6e\xad\x97\xbc"
      "\xa5\xcf\xc6\x8d\x7d\xeb\x12\x45\x4a\xf6\x5a\xa8\x17\xc5\x55\xbc\x5f\x5b"
      "\xa9\xbc\x7f\x7f\xa1\x50\x63\xfd\xc4\xb9\x4f\x5e\xf8\x6c\xea\x26\x20\x20"
      "\xf0\x2f\x9f\xee\x7f\xec\xf7\x7b\xb5\xca\xff\x3e\xf8\x1f\xe5\x02\x01\x01"
      "\x81\x1e\xff\x94\xaf\xfb\xbf\x39\xaf\x21\xff\x87\xe7\xaf\xf1\x17\x75\xa5"
      "\x3f\x4a\xd1\x3f\x4a\x89\xff\x4d\xce\xef\xfe\xc1\xff\x87\xdb\xff\x99\xc8"
      "\x9f\xca\x1e\xff\xc1\xfd\xff\xa3\xfe\xbd\xdf\xec\xff\x4b\x3d\xff\x93\x8f"
      "\xf7\xdb\xef\xf3\x94\xfa\xa3\x4c\xff\xa3\x1c\xf1\x1f\xcc\x11\xfe\xfd\x11"
      "\x14\x10\x12\x14\x10\xf9\xd7\x6b\xf1\x7a\xc1\x7f\x5b\x23\x02\xff\xf4\xbb"
      "\x09\x0a\x08\xfe\x63\x5d\x8b\xff\x6b\x5d\xe8\x1f\x75\xa1\x7f\xad\xff\x8f"
      "\x75\x2f\xf0\x6f\x75\xc1\x3f\xd5\x85\xfe\x54\x17\xee\xf6\xa7\xf3\xfa\xc7"
      "\x71\xff\x58\x68\xc2\x82\x82\xff\x73\xfb\xef\xed\xfe\xd4\x3e\xe8\x8f\x76"
      "\x91\x3f\xda\x07\xff\xf3\xb5\xfe\xdf\xb1\xe8\x2f\xda\x15\xfe\x28\xc5\xff"
      "\xf8\x43\xfd\xfe\xbb\x2e\xf0\xe7\x2f\xff\x83\xc4\xff\xf2\xe5\x5f\xcf\xeb"
      "\x1f\x7e\x8f\xab\xfc\xff\x66\x2c\xff\x19\x84\xfe\xe9\x1a\xf4\xef\xb5\xff"
      "\x1e\xaf\xee\x1f\x3f\x86\xc4\x1f\x6d\x12\x82\xb2\xff\xcb\x3e\xbf\xfe\x1d"
      "\xbf\xfb\x32\xd7\x07\xd8\xe7\xbb\xcc\xd8\x25\xfd\x17\xe3\x10\xbc\x24\xf8"
      "\x47\xbe\xe0\xdf\xca\x9f\xec\xaa\x78\x4d\x22\x40\xe3\xb4\xfc\x5f\xe5\x5b"
      "\x0b\xfd\x91\x2f\xf4\xb7\xf2\x0b\x3f\x4f\x52\xfc\x20\x5e\x7c\xed\x2f\xf3"
      "\x83\x7f\xe7\x0b\xff\xad\x7c\xf1\x7c\xd7\x20\xef\x86\xbb\x6a\x7f\x39\x3f"
      "\xcd\xbf\xe7\x47\xe4\x6f\xe5\xdf\x0b\xf6\x0c\xeb\x33\xa3\xc6\x74\xd0\x5f"
      "\xe5\xc7\xfc\xce\x17\xff\x5b\xf9\x9f\x45\x2c\x0b\x7e\xf9\xa5\x84\xfe\xe5"
      "\xf8\xc7\xfc\x9e\x9f\xee\x7f\x2b\xff\x92\x79\x9a\xc9\xf7\x71\x17\xf7\xff"
      "\x65\xbe\xc0\xef\xfc\x1e\x7f\x2b\x7f\x50\xc0\x83\xb4\xf8\xbd\xfd\x4e\xfd"
      "\x65\xfe\x9d\xdf\xf3\x23\xf1\xb7\xf2\x87\x6a\x5c\x0a\xc8\x0d\x70\x9b\xf3"
      "\x97\xf3\xff\xe4\x77\xbe\xe4\xdf\xca\x2f\xff\xa5\xd5\xd2\xaf\xe0\x41\xf2"
      "\x5f\xae\xcf\x69\xbf\xe7\x47\xfa\x6f\xe5\xcb\xda\xab\x29\x49\x6f\xd9\x36"
      "\xf2\xaf\xae\x9d\x82\x7e\xff\xd9\xff\x61\x01\xe0\xff\x5f\x7a\xff\x71\x8f"
      "\x15\xf0\x47\xfd\xef\x3e\xa7\xfe\x3f\xf5\x4f\xcf\x0b\xc7\xa4\x05\xff\xc7"
      "\x3d\x5f\xcf\x3f\x3e\x92\xff\x6f\x1e\xe8\x4f\x04\xff\xe9\xd9\x05\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0"
      "\xdf\xd7\x6a\x97\xd3\x62\xb3\xa2\x0d\x14\xf5\x16\x4a\x78\x4c\x69\x7d\x38"
      "\x2f\x58\x7f\x58\x95\xd4\xd5\x7e\x1b\x44\xfe\xe8\x17\x13\x11\x10\xf8\x97"
      "\xef\x82\xc2\x02\x02\xef\x8f\xd6\x16\x3c\x89\x99\xb6\xd7\xfc\xc6\xb9\x5c"
      "\xef\x00\xef\x21\x13\xc4\x52\x8b\xa7\x48\x5b\x9d\x7a\x56\x5d\xbf\x28\x24"
      "\x61\xdb\x6d\xaf\x98\xa2\xfe\x53\xad\xbb\xef\x5a\x64\x5a\x26\x32\x21\x28"
      "\x33\xab\xe2\x6c\xb3\x89\x55\xcc\x25\x05\x97\xb1\xcb\x5f\x8c\xbe\x7d\x63"
      "\x98\xbf\xbd\xd5\x09\x1f\xcb\x9c\xc9\x63\xc6\xd6\x5d\x13\x48\x98\x62\xe4"
      "\x16\xbf\xe1\xfc\xc3\xd6\x74\xed\x5b\x7d\x66\x9d\x3a\xb0\xba\x5b\xfe\x86"
      "\xbe\xfd\xa5\x1e\x06\x3d\xdb\x9a\xf4\x48\xab\xc7\xd5\x42\xe9\x88\x73\xcf"
      "\xdf\x37\x74\xfb\xfa\x7d\x76\x4b\xdd\xb8\xde\xa3\x7a\x76\xac\x09\xcf\xfd"
      "\x3c\xee\x5b\x85\x4c\xd9\x8d\xeb\xd1\x3b\xf4\x56\x6a\x15\x2d\xb8\xdb\x52"
      "\xaf\x29\x1f\x25\xd9\xa7\xf5\x75\x68\xde\xec\xc6\xf7\x9b\x1e\x1e\x3e\x74"
      "\xab\xdf\x61\x6d\x91\x11\x76\x37\x17\x95\x6b\x1b\x4d\x31\x94\xd3\xda\xf5"
      "\x45\xad\x8f\xbc\x55\x96\xe0\x97\x95\xb9\x3f\x8d\xe7\xeb\x6a\x3f\x38\x2f"
      "\xf5\x25\x27\xda\x71\x9a\x84\x8c\xa8\x6b\x61\xe8\xb2\xe0\x9d\x5f\xb7\xf4"
      "\x52\xbd\xb0\xa0\xb2\xb0\xf4\xec\xf4\xcc\x09\x1a\x9e\x01\xf2\x1f\xd5\x27"
      "\xa4\x2a\x8a\xfc\x7c\x72\x6e\x75\x8e\x89\xe5\xf8\x65\x45\x6b\xde\x1e\x90"
      "\x11\x89\x5b\x38\xd2\xdb\x4b\x7d\xaa\xcd\x48\xfb\xe1\xbd\xa4\xc2\xfa\xbc"
      "\xd1\xf3\x3f\xb2\x69\x5e\x78\x87\xf5\xfc\x7b\x8e\x43\xcb\xe3\xcc\x1e\x25"
      "\x9c\xe9\x55\xbc\x6b\x52\xb3\x68\x98\xef\xd3\xc1\x62\x5f\xd3\xd7\xef\x6b"
      "\x7a\xf2\xb8\xd0\x62\xfc\x35\x0b\x8d\x30\xf7\x67\xe7\xda\xd2\x7b\xbb\x19"
      "\x16\x7c\xff\xb4\xcc\x2f\xd2\xd5\xb2\x7d\xcb\xb9\xde\x5e\x3e\xf3\x84\x12"
      "\xaf\x4c\x50\x58\x5f\x23\x1f\x73\x4d\xaa\x5f\x71\xec\xed\x5b\x41\x2f\x7a"
      "\x8d\x73\xcb\x6e\xdf\x2e\xd3\xa0\x9c\x15\xe3\x7b\x62\xad\xb5\xdd\xf4\x80"
      "\xd6\x73\xfa\x39\x9e\x72\x79\x25\x4f\x85\x37\x06\x0d\x9f\xd4\xb2\x27\x3e"
      "\x33\x66\xe4\x38\x4f\xaf\xd2\xb9\xbe\x07\xbc\xf4\xb3\x0b\x65\x2c\x67\x29"
      "\x88\xe6\xff\xd8\xfa\x64\xe3\x85\x65\x1b\x2b\xc3\x46\xb6\xb9\x88\x19\xe6"
      "\xee\x7a\xbf\x48\xb7\x24\xd8\x52\x62\xc2\x7a\xcf\x2d\x8f\xed\x7f\x7e\x8c"
      "\x71\xcb\xd4\xb2\x71\x2c\x54\x90\xfb\xf9\xae\xa9\x65\xda\x0a\xab\x0c\x89"
      "\x16\x6f\x99\x9b\x13\x25\x3b\x53\xbb\x1e\x6e\x32\xba\x3c\x78\x61\xe3\x05"
      "\x65\x8b\xcf\x7d\xc4\x04\x33\xbd\xfc\xb4\xd5\x3f\x4d\x69\x7e\x31\x7d\xeb"
      "\x74\xbf\xb2\xde\x7d\xe6\x8d\xea\x34\x7a\xbb\xc8\xc1\x67\x84\x80\xb5\x72"
      "\xb1\xe8\xed\x1f\xd2\xdb\x36\xec\xfd\x31\x5e\x58\x5c\x7e\x90\xec\xa9\x82"
      "\x29\x26\x09\x57\x12\xd5\x12\xac\x34\xbb\xaf\xdd\xb0\xc6\xad\xd2\xe7\xb1"
      "\x46\xdd\x0d\xb5\xa6\x17\x4d\x6a\x9f\x86\xbd\x49\x0f\x3f\x7b\x48\x2d\x63"
      "\x85\xd2\x2a\xff\x7b\xeb\x17\xdc\xbc\xf7\x23\xc4\x42\xad\x6e\xa9\xa1\xc4"
      "\x9a\x6d\xbf\x0e\x7d\xdf\x11\xf2\xc9\xc3\xe4\xc5\xfb\x4b\xbf\x0e\x48\xdd"
      "\xf2\xaf\x5b\xa5\x68\x59\xfb\x20\xfb\xb9\xfa\xe6\x9e\xda\x8e\xeb\xf7\x76"
      "\x9b\x31\xc2\x59\x74\x5a\xc8\x88\xe7\xf6\xdf\x77\x07\xd8\xec\x5b\x67\xfc"
      "\x72\xbd\xc1\xc6\x80\x3e\xce\xd7\x26\x9d\x4e\x7f\x30\x28\xef\x5e\x79\xbf"
      "\x9f\x03\x76\x9c\xa8\xda\xac\xb9\xf2\x54\x77\x8d\xc8\xcb\x13\xfa\x2e\x10"
      "\x3d\xbf\xe6\x92\x7e\x96\xd4\x55\xb3\x7e\xe5\xb5\xa1\xcf\xa5\xbf\xc4\x18"
      "\xbe\xb2\x5f\x3e\xa1\xa4\x4a\xcb\xb8\x34\x3e\xc8\x69\x6e\x8e\x8c\x61\xcd"
      "\xe8\xe9\x3f\x2e\x7f\x9c\xed\x51\x54\x23\xbc\x5b\x33\xcd\xe6\x71\xfc\x10"
      "\xb3\xb2\xdc\xb1\x17\x63\xbd\xbe\xa5\xf9\x7e\xec\x9f\xb4\xb3\x63\xe9\xc8"
      "\x8d\x47\x9c\xf5\x7b\x8c\x6e\x10\x97\x15\x0e\xb3\x4d\x1e\x7d\xc5\xe0\x93"
      "\xda\xc2\x7b\x53\x92\x1e\x0d\xbc\xd8\x2d\xc4\xd2\x27\xe2\xd5\xfe\x63\x5d"
      "\x8a\x03\xcb\x1e\xae\xe9\xfd\x4a\xa1\x4e\xfb\x5c\xc2\x45\x91\xdc\xed\x92"
      "\x27\xed\x4c\xac\xeb\xae\x9e\x59\x96\x33\xb9\x5f\xc9\xac\xb2\x8f\x83\xcf"
      "\x6e\x98\x7a\xee\xd4\x86\x8c\xf0\x62\x13\xeb\x35\x1d\xa7\x27\xbc\x13\xd1"
      "\x59\xd4\xaf\xa5\x51\x37\xf2\xa6\x9f\xcb\x30\xd3\xd6\xb1\x73\x6a\xe3\x43"
      "\x34\x1b\xae\x5e\x2e\x51\xa9\x09\x71\x8a\xec\xbe\x2b\xd6\xc1\x47\x2a\x63"
      "\x48\xa7\xd8\xe0\x88\x93\xe1\x5e\x07\xdf\x1a\x3d\x96\xeb\xb1\xf5\xc5\x82"
      "\x84\xe1\x9a\x3a\x0f\xed\x0c\xa3\x32\x7e\xa8\x2e\x29\xb3\xd8\xf6\x43\x6a"
      "\x9f\xed\x6d\x55\xaf\x73\xef\xcd\xa6\x36\x5d\x2b\xeb\xef\x9a\xa1\x63\xe4"
      "\xea\xfe\x26\xb0\xac\xd1\xe1\xcc\x40\x87\x81\xa7\xfc\xa3\xbd\xe6\x98\x57"
      "\x6d\x7e\xf0\xb6\xc4\x3a\x72\xc4\x4f\x2f\xf3\xf3\x61\x06\x55\x2b\x22\x82"
      "\xc6\x79\xdd\xb0\xb8\x75\xff\xc0\x02\x4b\x75\x5d\x8b\xb2\xd1\x92\x43\x85"
      "\xc2\x97\xe6\x7f\x4f\xb4\x2d\x54\xac\x9b\x79\xab\x7d\x76\xc0\x9d\xdc\x51"
      "\x29\x46\xb6\x5d\xea\x4e\xb6\x03\x85\xde\x7b\x0c\x09\x1a\xf2\x6d\x64\x4d"
      "\x68\x5d\x65\x8a\x87\xbc\x50\x3f\x3b\xf9\x9d\x87\x6a\x7c\x92\x65\xdf\x0c"
      "\x33\x9c\x33\x70\xc0\x68\xe5\x1d\x61\xa2\x9d\x39\x85\xb5\x56\x81\x47\x13"
      "\x12\x0c\xe7\x2e\xfe\x6e\xad\xde\x12\x18\xe5\x71\xae\x75\xa6\x60\x5b\xf7"
      "\x14\xcd\xc7\x0e\xfb\x34\xc3\x8b\x25\x46\x84\x9e\x48\xdd\x97\xa4\x50\xa4"
      "\xd6\xa6\x27\x5c\xb3\x4f\xe6\xb8\xe7\x25\xb9\xa9\xb2\x51\xcb\x4a\xd4\x83"
      "\xde\xa6\x2d\x90\xce\x99\x36\xb2\xb6\xee\x5b\xff\x47\xbd\x23\x9e\xfd\xd4"
      "\xd5\x49\x28\x0a\xfd\x68\x34\x63\xaf\xad\xdc\x80\xcb\x2e\x0b\xce\x2d\x28"
      "\x33\x5b\xf1\x6e\x8d\xfd\x3a\xa5\xa8\x95\xd3\xe5\x6f\xfa\x3a\xd6\xbc\x7a"
      "\x6b\x7d\x5c\x6b\xd8\xca\x57\x8e\x71\x3a\x2a\x86\x66\xf5\x31\x0e\x6b\xee"
      "\x1c\x1a\x52\x1a\xfb\xad\xdf\xed\x70\x2d\xa5\xfb\x0f\x64\xae\x0f\xba\x5e"
      "\xec\xa2\xb4\x22\xcf\x76\x5c\x8f\xb0\xc8\x7b\x76\x0b\xad\x7d\x36\x26\x05"
      "\x49\x57\xc4\xae\x9f\xdc\x64\x28\xb7\xc4\xdd\x42\x68\xf6\xf4\x4b\xd5\xe1"
      "\xb2\x55\xa6\xb5\x0f\x1a\x33\xe5\xb2\xac\x8d\x83\x66\xbd\x59\xa8\xf2\xa9"
      "\x97\x52\xe5\x71\x8b\x56\xeb\x6e\xfb\xca\x47\x9a\x3d\x19\xde\xa4\x27\xd7"
      "\xd3\xc5\xe9\xe2\x0c\x29\xbf\xf3\xa2\x3f\xf7\xe7\x9c\xaf\x4a\xb9\xa6\x2f"
      "\xb7\x63\xb3\xf1\xcb\xde\x16\xe9\x97\xf4\x1f\x4c\x5d\x33\x3e\xb9\xda\xa9"
      "\xbf\xe5\xe2\x0b\xfb\x03\x8e\xd4\x0e\x7e\x79\xe8\xbe\x5d\x92\x68\x6f\x87"
      "\x47\x4f\xa5\x2d\xb7\x4f\x3d\xb7\x75\x57\x2f\x83\x97\x0a\x16\x4a\xda\xd7"
      "\x4d\x46\xa5\xdd\x13\xbd\x68\xb2\xc1\xaa\xeb\xab\xac\x7c\xea\x96\x3c\xcf"
      "\x95\xd5\xfd\xbb\x9d\x1d\xe6\x1b\x24\x2b\x71\x68\xf1\xd3\x10\xff\xae\xf5"
      "\xa9\x01\x15\x36\x27\x7f\x0e\x54\x36\x6d\x6f\x7e\xd0\xab\xd4\x74\xc1\xd4"
      "\x8a\x91\x37\x84\x2c\x86\x0a\x5d\x1f\xbe\xcb\xde\xc2\x79\xed\x62\x9d\xe6"
      "\x63\x83\x7d\x2f\xa4\xcc\x51\xdc\xfe\xca\x7b\xdb\x73\xb1\x8a\xed\x55\xc9"
      "\x67\xd4\xf4\xd6\x15\xb9\xbb\x28\x5a\x1d\x9d\x6f\x56\xab\x5b\x9e\x52\x33"
      "\x7a\x75\x0f\xf5\x1d\xe3\x64\x16\x09\x56\x1f\xdc\x28\x79\x29\xdd\xe3\x6c"
      "\xac\x48\xea\xc2\xf9\x5f\x72\xed\x47\x45\x2e\x0b\x6e\x9f\xb0\xf3\xf9\xd3"
      "\x0d\x16\x63\x5d\x0f\x85\x1a\xdd\xf3\xeb\xf5\xb2\xfc\x7a\x71\xb6\xd4\x7b"
      "\x25\xc9\x62\xb9\x9f\x02\xfe\xce\x12\x13\x95\x0b\x07\x99\xaf\xfa\xa2\x61"
      "\x50\x9d\x55\x3e\x2d\x74\x5e\x91\xd6\x8b\xa1\x4f\x26\x99\xbe\xb3\xdb\x67"
      "\xfe\x32\x31\xea\x6d\x67\xe8\xfb\xf3\x83\x36\x7a\xd4\x69\x05\x77\x08\x96"
      "\xa7\xc7\x04\x39\xcf\x97\xaa\x93\xb7\x93\x37\x14\x53\xc9\xd9\x99\x32\xf1"
      "\x93\xfe\x9e\x8b\xd3\xf3\x85\x4f\xf4\x30\x32\x34\x31\x2b\xbb\xf1\xb2\x54"
      "\x7d\xd8\x11\xb3\xd5\xb7\xba\x55\x5b\xa8\x8e\x95\x0a\x5e\xa9\x59\x9b\xd7"
      "\x70\x74\x53\xba\x73\xd4\xf3\xc3\xca\x61\xee\x3b\xe6\x95\xbf\xef\xad\xd1"
      "\x50\x3d\x26\x5b\xcc\xb1\xc3\x6d\xd9\xa3\x6d\xb9\xdb\x36\x16\x0d\x55\xed"
      "\xe1\xa9\xd0\x5b\x5a\xeb\xf0\xc2\x45\xe6\x59\xf5\xb3\xfc\x7e\xec\x8a\x90"
      "\xd8\x9d\x2e\x7b\x57\x66\x50\xc6\xab\xee\x06\x9f\xc4\xaf\x39\x04\x0a\x26"
      "\x5c\x0f\xbb\x36\x7c\x70\xae\xfb\xf3\xbd\x93\xcf\x8a\xfe\x6a\x9a\x30\xb2"
      "\x6e\xfc\xea\x45\x3b\x8e\x0c\xdb\x69\x59\x21\x3f\xe3\xea\x93\x88\xdc\x94"
      "\xb7\x19\x43\xe7\x6f\x95\x52\x6c\x93\xd8\x7e\xe3\xb5\xff\xb8\xaf\xd5\xb1"
      "\xdd\xbf\xdf\x9a\xf9\x41\x75\xb5\xc6\x9b\x6e\x59\xaf\xfa\x27\xed\x8d\xef"
      "\x35\x79\xbb\xe1\xc1\x53\x12\x3b\x8d\x7b\xf6\xb9\x37\x67\xc5\x3b\x33\x33"
      "\xed\x53\x49\x6f\x8e\xcf\x28\x2b\x2f\xed\x5e\xaa\xb5\x36\x65\xa0\x62\xa4"
      "\xa1\xc0\x8d\x6e\xa2\x37\x3a\xeb\x76\x6e\xf1\x6e\x4f\x2c\x75\x11\xce\x9f"
      "\x79\xca\xa0\xee\xe8\xf6\x81\x3a\xf9\x8e\x1a\x77\xca\x6b\x7b\x48\x3f\x0a"
      "\xb8\xbd\xc4\x76\xdb\xd3\x7d\x67\x32\xb2\xed\x15\x07\x34\x5b\x3d\x7c\xe7"
      "\x97\x75\xdb\x52\xd7\x75\xa9\x52\xe7\xd0\xe6\xc1\xe9\x9d\x7e\xce\x2b\x5b"
      "\x26\x08\xa6\x1b\x8c\xde\x3c\x68\xe7\x42\x3d\x8d\x4f\x2f\xdd\x85\x8f\xcd"
      "\x5c\xaa\x7a\x78\xd5\x1e\x37\x81\x8e\x31\x9b\x5f\x2a\x1e\x34\xb4\x3d\xb1"
      "\xb1\xe3\xeb\xce\x2f\x36\xcf\x9f\xcd\x97\x90\x3a\xee\xae\xa1\x2a\x1b\xfd"
      "\x54\x48\x5c\x58\x23\xe3\xc3\xb9\x63\xc2\xe9\x17\x0e\x78\x25\x2f\x2f\xc8"
      "\x5b\x1d\xa4\x96\xed\xbe\xef\xb8\xf8\x8e\xdd\xe7\xe6\x44\xac\x0b\x49\xd4"
      "\x36\x12\x57\xd7\xd0\x4b\x3b\x94\xbd\xf2\xfd\xbe\x51\x5b\x2b\xf5\xe7\xc7"
      "\x56\x7b\xbe\x75\x7e\x5e\xf5\xd2\xed\xb8\xe0\x18\xc3\x8d\xcb\xa7\x9d\x3b"
      "\xa5\x25\x2b\xa8\xd8\x6a\x56\xb2\x64\x74\xac\xeb\xc5\x89\x6b\x8b\x8d\xed"
      "\xcf\x58\x58\xe6\xc9\xb6\xfc\xbc\x12\xf2\xf3\x74\xd0\xc9\xae\x18\xff\x6f"
      "\xfa\xf7\x77\xec\x1f\xfc\x33\xaa\x63\x5f\xc3\x3a\xf5\xbd\xfa\x61\x16\xc9"
      "\xbd\x5e\x6d\xbb\xea\x34\x7f\x88\x5e\xd3\x8a\x04\xdd\xd0\x0e\xe1\x97\xde"
      "\x73\x02\x5d\xba\x44\x86\xcb\xbc\xdc\xa1\xff\xfc\x49\xa8\xee\xf1\x01\x17"
      "\x0e\x15\xab\x2e\x18\x32\x47\xd0\x26\x4e\x74\xf1\x82\x8b\x73\x0e\x8c\x78"
      "\x32\x69\x93\x4f\xa6\xa5\xd3\x5e\xfb\xa3\x51\xa5\xea\x3b\xb6\x9d\xbc\xa1"
      "\x3d\x52\x33\xc7\xdd\x66\xa3\xe0\xfe\xf0\x17\x89\x41\xd2\x23\x66\x55\x0a"
      "\x9a\x2f\xed\xd4\xb8\xf7\xee\x73\xc3\x89\x80\x8c\x23\x63\xe6\x6a\xa4\x4f"
      "\x5e\x7a\xcf\xeb\xc5\x8a\x09\xdb\x3e\x06\xe7\x95\x46\x24\x35\x99\x25\x5d"
      "\x3c\xba\x65\xd1\xdd\xe8\xd9\xb5\xdd\x06\xf5\x9d\x25\x51\xb4\xdf\x63\x45"
      "\x6d\x4f\x81\x94\x10\x53\xdb\xba\xa0\xa8\x5b\x83\x2b\x87\x1a\x1f\x6a\xbc"
      "\xb0\xb3\x67\xff\xbd\x93\xdd\xcb\xa2\x0a\x24\x17\xf5\xf5\x57\x78\x54\x6d"
      "\x17\x5f\x7c\x68\xd9\x56\xd1\x94\xd3\xe2\x61\x5f\x8f\x17\x5a\x56\xe6\xdd"
      "\x7b\x97\x38\x6d\x55\xfa\xe6\xc5\xaf\x1a\x65\xdf\x56\x9f\xbc\x65\x13\x36"
      "\x44\x3b\x7b\xf8\xa9\xce\xd9\x27\xfc\x4c\x86\xc5\xd4\x89\xf5\x90\x9b\xf7"
      "\x6a\xc7\xf1\x95\xd6\x19\xef\x74\xc4\x2b\x03\xa3\x0d\x47\x44\x9d\x48\x1f"
      "\x90\x59\x74\xee\x4a\xf8\x8c\x21\xfd\xec\x84\x0c\xea\x3f\xb6\x97\xd6\x5c"
      "\xcb\x0c\x89\x70\x1b\x71\xb5\xc7\xe3\x55\xe5\xd6\xdf\x15\xd6\x46\xaa\x38"
      "\x4c\xf6\xba\x95\xd1\x78\xc0\xdc\x43\xca\xcb\xca\xbe\x43\x68\x49\xaa\xb8"
      "\x60\x74\xe0\x2b\xe5\x86\xc7\x37\x8c\xf7\xe7\x1d\x72\xcf\x95\x08\x19\x32"
      "\xcf\x27\xe5\x46\xd3\xa9\xca\x09\xce\x3b\xf6\x18\xf6\xbe\x35\x59\x34\x45"
      "\xcf\x5c\xb5\xe4\x75\xc6\x74\x65\x13\xe9\x11\x02\x8f\xda\x77\x3e\x3b\x9e"
      "\x35\xd3\xeb\xe6\xa8\xb5\x0f\x0e\xb7\xa6\xd5\xad\x3c\xf1\xa4\x5b\xed\xcd"
      "\x06\xd3\xa1\x13\x95\xaf\xaa\x57\x77\xad\x3e\x23\x64\x32\xac\xcf\xed\x57"
      "\x0d\x89\x63\x82\xa7\x77\x9b\x7a\x4b\x3b\x32\xe9\xb2\x74\x5a\xed\x6b\x93"
      "\xfb\x37\xe6\xcd\xdc\xf5\x6e\x9c\xaf\xb4\x87\xc8\xc0\xfd\x53\x9e\x9e\x52"
      "\x36\xbe\xee\xba\x56\x7b\xdb\xb8\x6f\x86\xcf\x2d\xcd\xdc\x32\xfc\xa7\x17"
      "\x0e\x7e\x77\xcc\x31\x7f\xeb\xfd\x3d\x8a\xb3\x2e\xc8\xf7\xdd\xb3\xd0\x7b"
      "\x7f\x56\xa6\xc3\x8c\xa3\x29\x91\x17\x14\x6a\x7c\x8f\x57\x87\xd7\x07\xbe"
      "\xf2\xff\x9e\xd8\xfa\xac\x48\x6d\xd5\x17\xcd\x99\xbd\xf7\x4d\x73\xf6\x74"
      "\xcf\xcc\x3d\x72\xe5\x5b\xf2\xd1\x41\x77\x0e\xde\x0d\xd9\x30\x5e\xe5\x60"
      "\xc9\xeb\x6a\x7b\xbf\xba\x4c\xbd\x27\xa3\xe6\x0e\xf3\xbe\x7a\xf2\x81\x8e"
      "\xb8\xf8\xc7\x74\x27\xb1\xfe\x3d\x0e\x98\x6f\x72\x97\xfd\x79\xdc\xb0\x75"
      "\xe8\x9a\x49\xcf\x5f\x14\xea\x7f\x0b\xf4\x36\xec\x2e\xd3\x6d\xd7\xdb\xec"
      "\xa9\x6a\xcd\x3a\x52\x57\xa6\xca\xbe\x36\x89\xb9\x91\xbf\x53\x60\x8a\x41"
      "\x64\x43\x45\x5a\x44\x8a\xe3\x9d\x59\x3e\x6b\xea\xcf\x87\xbc\x9e\xaf\x1f"
      "\xb4\x3e\x52\xef\x70\xab\xe2\x8b\x30\xaf\x8e\x75\xd3\x66\xaf\x5f\xd7\xfd"
      "\xfa\x57\x13\x47\x0f\x7f\xb3\xc5\x63\xaa\x33\x5e\x77\x8a\x5c\x19\x63\xa4"
      "\xae\x38\xb1\xdf\xe2\x07\x23\x92\x0a\x72\x6d\xf4\xa3\xfb\xde\x8a\xdb\xee"
      "\x27\xe9\x12\x7e\xad\x6c\x5f\x40\x48\xfa\xae\x80\xc1\xc3\xe6\xb4\x76\xce"
      "\xd5\x99\xf0\xdd\xb6\xb0\xd9\xde\x2b\x49\xb5\xa9\x6b\xd8\xed\x96\x88\xd9"
      "\x97\x53\x14\x0a\x97\xb7\xaf\x9a\xbf\x3d\xb9\xe5\x48\x5b\x7b\xd0\x07\xe3"
      "\xe8\x5b\xe9\xd7\xc7\xf9\x7d\x10\x14\x19\x7c\xf4\xed\x0b\x7f\x9d\x82\x0d"
      "\xf1\x2a\x49\x63\x76\x1f\xec\x79\x46\x4f\xf6\x89\xbe\x8f\x7b\x6a\xdd\xaf"
      "\x1a\xff\xe4\xfc\xfd\x5f\x66\xfc\x68\xd3\xce\x95\xd5\x7f\xd0\x66\x79\xe1"
      "\x60\x3f\xdf\x91\x4a\xa2\x5d\x51\xbe\xfe\x01\x43\xc5\x1f\x9c\xfb\xe1\xdf"
      "\xbe\xff\xfd\x45\x83\xce\x1d\x43\x1f\xe7\x9b\x55\xb5\x2a\xfb\xca\xb5\x4f"
      "\xff\x31\x57\xed\xa9\x6d\x5e\xdb\x1c\xb7\x63\xd7\xc7\x98\x7f\xb9\xe0\x1a"
      "\x2d\x6b\xf3\xae\x31\x60\x8f\xc2\xd7\xfc\x87\x9d\x99\x0d\x8f\x75\x57\x59"
      "\x4f\x95\x19\xa5\x15\x74\xcf\x23\xcf\x75\xd7\x47\xff\x98\xee\xd1\x3f\xf4"
      "\x2d\x2d\xf7\x14\xf4\x68\xd6\xd0\x89\xed\x31\x67\xab\xfc\x4e\x89\x7d\x2b"
      "\x57\x0a\x94\x99\x48\x6d\xce\xbe\x9b\x72\x4a\xf4\xbb\xeb\xb9\xc4\x7d\xdb"
      "\xca\x46\x4d\x89\x17\xbd\xd6\xbc\xf6\x94\xac\x70\xe3\x9b\x0f\x53\x3f\xed"
      "\x2e\x49\xf8\xa4\x65\xff\xe4\x46\xfb\xab\xc7\x0a\xf2\x01\x7e\x7b\x83\x05"
      "\x5e\x88\xc6\x1e\xdb\x7d\xff\xa6\xfe\xe7\xf6\xf5\xb1\x93\xa2\x94\x54\x27"
      "\x58\x2a\x6c\x51\x7a\x3e\x33\xb0\xf7\xed\x88\x53\xd7\x4c\x85\x2e\xf5\x16"
      "\x69\x18\x93\xea\x92\x7c\xcb\xec\x56\xa9\x6d\xe8\xbc\x81\x83\xcd\x85\x12"
      "\xae\x4c\xbe\xb0\xf9\xf1\xd7\x9e\x7e\x4b\x7e\xf9\xa9\xde\x79\x7a\x20\x74"
      "\xcb\x78\xb1\xb3\xaa\xae\x93\xdf\x4f\x0a\xea\x27\x7e\xaf\xeb\x6b\xfb\x8c"
      "\x0b\x45\xdf\xbf\xf5\x0b\xce\x28\xc8\x18\x6e\xd8\xd2\xd4\x6a\xb5\xfc\x7b"
      "\x7e\xa0\xfb\x97\x6b\x09\x87\xcf\x34\x59\x57\x1a\x39\x38\x2e\x94\xbc\xd9"
      "\xe0\x35\xf3\xe1\x87\x9e\x45\xaf\xde\x2d\xb8\x72\xfe\x45\x8f\xae\x25\x07"
      "\x9e\x18\xaa\x7d\x54\x7e\x9d\x71\x71\xde\x71\x95\xea\x63\xaf\x97\xfc\xda"
      "\xf4\xf1\xde\xb5\xa4\xc1\x13\x53\xfb\x4e\xd5\x8b\x7c\xeb\xd9\x55\xa1\xbd"
      "\xc4\xe0\xa7\xd3\xa2\x83\xfa\xaa\x52\x5f\x2c\x7b\x98\xed\xb9\x6a\xbd\x53"
      "\x79\x75\x40\xad\xb4\xd7\x59\x8b\x8e\x89\xd6\xcb\xb5\xd5\x86\x2a\x9e\x5a"
      "\xb3\xd1\xa6\xf1\xf6\xc7\xdd\x7a\xc3\xbe\xa7\x4d\x0b\x8f\xd9\x61\x3a\xae"
      "\x31\xad\x9b\xcf\x1a\xc5\x35\x42\x92\x92\xc9\x22\xb7\x0e\x8c\x54\x74\x6a"
      "\xbc\x7f\xe8\x69\xff\xe3\x0f\xb3\x67\x0d\x48\xb3\x10\x7f\xa0\x35\xe7\xc9"
      "\xc9\x71\xd1\xf3\xb5\xf5\x34\x7d\x9c\x7a\x64\x6c\x9d\x31\xf7\x48\xa0\xd2"
      "\x63\xa7\x23\xb9\x15\xce\x5d\x9d\xeb\x63\xa6\x25\x87\x87\xdd\xda\x9c\xa1"
      "\x91\xf3\x62\x44\xeb\xd8\xb6\x37\x31\x0f\xe5\x1d\x7a\x6f\x9d\x6e\xad\x1a"
      "\xf7\xeb\xa9\xc1\xeb\xad\x4b\x2d\x6e\x28\xe9\x8c\xb4\xea\xd1\x74\x75\x85"
      "\x5a\x43\xfc\xe5\x17\x73\xfc\xb6\x98\x37\x1e\x4d\x3a\xef\xe1\xec\x52\x2c"
      "\x28\xab\xf2\xcc\xdf\x2a\xe1\x9b\x5f\xd2\xc3\x51\x92\xd2\xee\x43\xdf\x87"
      "\xc5\xd6\x2f\xc9\xf1\xa8\xbf\x13\x7f\x51\xbf\x7e\x9a\x84\x4b\xb5\xce\xb0"
      "\xd6\x9e\x11\x55\x3d\xf6\x36\x74\x08\x78\xb5\x96\xe6\x09\xed\xcb\xbd\x94"
      "\xbe\xd0\xcb\xea\x66\xeb\xfa\x35\x15\xb9\x6d\x13\xf7\x26\xe9\xee\xcb\xbf"
      "\x7f\x58\xe7\xfb\xc8\x1e\x77\x42\xb5\x03\x2e\x3a\xd4\xee\x7a\x52\x6c\xb3"
      "\x62\xc5\xf4\x94\x13\xf9\x65\x0d\x55\xab\x36\xac\x5c\x2e\xdc\xeb\xd9\xa7"
      "\x94\x53\x6e\x2a\x06\x27\xe4\xb6\xca\x68\x67\xb7\x0b\x5c\xd1\xaa\x5f\x21"
      "\xf4\xec\xd8\x42\x1d\x15\xe5\x02\x67\xcf\x95\xbd\x87\xbf\x38\x3f\x57\x75"
      "\xb3\xd7\xa5\xe7\xcb\x8d\x45\x3f\xaf\xf6\x1f\x7e\x66\x7c\x95\xee\x53\x99"
      "\xc9\xcf\xde\x74\x24\xbe\x9e\xf9\x63\xdf\xd6\xdb\x87\x26\x5f\x0f\xce\x09"
      "\xd7\xcf\x7b\x95\xb7\xe9\xc5\xbb\x35\xa7\xab\xe7\xb6\x5e\x8e\x3a\xbd\xff"
      "\xb6\xbc\xb0\x60\xc4\x48\x83\xa1\x32\xa9\x07\x6f\x6d\x34\xf7\x19\x63\xb8"
      "\x6c\x9a\x6f\x94\x6b\x4a\x96\x6d\x75\xa6\xf7\x11\x3f\xe5\x89\x82\x52\x67"
      "\x2d\x4e\x39\x4b\x84\x87\xcd\x57\x39\x25\x39\xec\x60\xef\x8b\x03\xe3\xa4"
      "\x33\x35\x7b\xd6\x2c\xf7\x78\xda\xfa\xb8\x70\x75\xe1\xb8\xca\xba\xa3\x25"
      "\xbf\x02\x6c\x3b\xfa\x84\x66\x8a\x67\x0d\x7b\xd6\xb5\x61\x4e\xd2\x93\x1e"
      "\x33\x93\xe5\x27\xee\xbd\x1f\x79\xb0\xb5\x87\xca\xe6\x82\x9a\x35\x67\x2f"
      "\xd9\x5e\x93\xfe\x18\x9a\xb3\xab\x3c\xbb\xe7\xee\x0d\x01\x71\x3b\x4a\x9e"
      "\x0e\x75\xdb\xbd\xfa\xf8\xde\xc1\x33\x25\xec\x36\x86\x87\x68\x1e\x57\x9a"
      "\x74\xb5\x79\xe6\xca\xe4\x8a\x9c\x9b\xf3\x02\xd5\xe3\x2b\x8e\x9d\x78\xd4"
      "\x60\x50\x54\x1d\xd8\x22\xe6\xb2\x24\xe3\xda\x93\xa6\xd1\xdb\xe2\x4e\x74"
      "\x64\x46\x5d\x5c\x91\x52\x32\xea\xf2\xd3\xc2\xce\xbe\x9b\x1b\x47\xda\xaf"
      "\x7c\x6d\x99\xec\xbf\x7e\xc9\x84\x91\x9f\x86\x9b\x9e\xcb\x0e\x3f\xb9\x43"
      "\x4a\x7d\xd3\x89\x8e\xf2\x6f\xb3\x9f\x7c\x0f\x29\x2e\xb8\x5c\xdc\x23\x6e"
      "\xb4\xac\x6a\xbd\x7e\xcd\xa5\xae\x45\x5f\x96\x4b\x07\xdd\xae\xdc\x95\x9d"
      "\x95\xb2\xfe\x7a\xdf\xc9\x03\x9c\xed\x94\xb3\xbf\x6d\x10\xbb\x30\x3d\x51"
      "\xaa\xa6\xf4\x61\x89\xf7\x9d\xba\xb0\x5b\xf3\x9b\xe2\x33\xcb\xca\xb4\x47"
      "\x3e\x50\xe8\xed\xef\xe3\xfd\x74\x6d\xe6\xb2\x2d\xd7\x7f\x09\x7c\x08\xd6"
      "\xbb\x54\x10\x98\x72\x3c\xb9\x2b\x4a\xcf\xf3\xd3\x12\xcd\xac\xf3\xfb\xbb"
      "\x36\xda\xc9\x09\x9b\xe7\xdb\x1f\xbb\x7f\xc3\x78\xf1\xf6\xfe\x36\x1a\x3f"
      "\x7a\x0f\xd2\x9c\x9a\xa1\xd4\xb7\xe3\xa3\xd0\x14\x61\xa5\xa2\xe3\x92\xc2"
      "\xf5\xba\xf5\xd6\x3f\xc4\x15\x8c\x5d\x45\xab\x0d\x9a\x97\xdd\x92\x1e\x10"
      "\x61\x26\x3d\xd0\xa9\xe5\xd9\xd0\xaa\x93\x27\x87\x2c\xda\x1b\x5f\xe7\x5f"
      "\x6e\xf1\x25\x53\xdc\x5a\x70\xf9\xe4\x84\x00\x01\x71\x9f\x1f\x95\x4d\x76"
      "\x79\x83\x56\xf6\x10\x0b\x2d\x58\x31\x7d\xc2\xc9\x61\x1b\x66\x7c\xf2\x58"
      "\xb0\xd4\x66\xd6\x90\x0d\xd1\x33\xd5\xbe\x4e\x5f\x11\x66\x23\xd6\x2e\x2a"
      "\xda\x39\x7f\xe4\xe5\xad\x16\x83\x47\x4d\xda\x1a\xa0\xf5\x2e\x24\x53\xe7"
      "\xc6\xb4\x5a\xa9\xc4\x9f\x7b\x55\xef\x87\xfa\x3c\x12\x9a\x37\xe5\xb5\x48"
      "\xaf\x31\x7b\x3c\xa3\x8c\x92\xc5\xb6\x54\x3e\x1a\x6f\x1d\x92\x7a\xa6\x71"
      "\xd9\x95\x15\x83\x3f\xb9\xf6\x77\x9e\x99\xfb\xed\xb8\xed\xa2\xfa\x88\x86"
      "\xcf\xbd\x33\x16\xa6\xbe\x5c\x90\xba\xed\xac\x74\xfc\xe4\x34\xc5\xa9\x35"
      "\xdf\xe6\x64\xdd\xbf\x57\x3d\x4e\x78\xbf\x46\x51\xdb\xed\xb4\x63\xfe\x39"
      "\x7a\x39\x01\xa2\x9f\xe3\x0f\x44\x3e\xd0\x98\x15\x38\x4a\xe9\x60\x57\x97"
      "\xc8\xbe\x50\x23\x59\x79\xb9\xfb\x35\x71\xed\x5a\x76\xcb\x7d\x04\x77\x28"
      "\x49\xfb\xbb\xef\xb6\x7d\x13\x6e\x6a\x14\xb0\xf1\xe8\xab\x54\xed\x98\xdd"
      "\x03\x8d\x5e\x45\xfc\x54\xab\x58\xb8\x36\x6a\xe8\x89\x29\x87\xec\xb3\x26"
      "\x34\x9d\xb7\xef\xec\xa5\xb0\x5f\xf2\xbe\x85\x85\xda\xcc\x13\x73\x8e\x55"
      "\xa8\xf5\x92\x3d\xac\x60\xbd\xeb\xf4\xcc\x70\xc1\xdb\x73\x27\x44\x9f\x14"
      "\xea\x48\xcb\x1f\xa3\xf0\xd5\x42\x2a\x63\x85\xe7\x0b\x53\xd9\xe1\x1a\xb3"
      "\xcf\xd8\x7c\x9a\x6e\xd3\x5b\x60\x8d\xff\x36\xcd\x4d\xd9\xb9\xf3\x9c\x64"
      "\x95\x6c\xce\x56\x4c\x49\x6b\x98\x98\x50\x23\xd3\x95\x59\xdd\xbe\x30\xe5"
      "\xd3\x9a\x03\xcb\xba\x76\x7f\xb4\x7a\x38\xf2\xce\xb2\x8c\x01\x4e\xbd\xac"
      "\xce\xbd\xa9\xae\x55\xdc\x66\xb2\x4a\x74\xc5\xc1\xea\x5e\x6f\x2d\xb3\x5f"
      "\x5c\x1f\x70\xf4\x4a\xd8\xad\x98\xf0\x66\xe5\x1e\xbd\x5d\x97\x24\x3b\xda"
      "\xdf\x5c\xe6\xb9\xb3\xbb\xbd\xc8\xcd\x83\x15\x8e\x4b\x1d\x42\x8e\x38\x34"
      "\xc9\x0d\x69\x6c\x1a\xe9\xa3\x1d\x36\x42\xb2\x6e\xca\x76\x8d\xa4\xfc\x13"
      "\xbd\x07\x1a\xbd\xd6\x1d\x3a\x71\xd8\x68\x25\xdd\x21\xbd\xd6\x45\x1d\x0c"
      "\xd7\x9e\xd4\x10\x3f\x55\x2c\xf1\xb6\x51\xe0\xe3\x73\x5b\x3c\x6e\xff\xcc"
      "\x57\xcb\xbc\x68\x1c\xdb\x2e\x9d\xdb\x60\xd1\xb6\xd9\xa0\xd3\xe7\x80\xc1"
      "\x21\xc3\xb6\xbe\xeb\x26\xc9\x89\xe4\x0f\x7f\xf0\xdc\xf9\xd8\xa2\xb5\x8a"
      "\x7d\x4d\xfa\x77\x1e\xb6\x13\x70\x3f\x57\x7c\xfc\xdb\x1e\x53\x35\xcd\x74"
      "\xe5\x67\x45\xfe\x32\x6f\xcf\x4e\xd5\xd8\x75\x4a\xae\xbf\xc7\x53\xc9\xb2"
      "\x83\xea\x9f\x76\xac\xba\x9c\xf8\xe1\x4b\x94\x80\xa7\xee\xa1\xc0\x6d\x93"
      "\x57\xa5\x6e\x3e\xe0\x19\xfe\x32\x37\x22\x44\xa0\x5a\xb6\xb3\x71\x49\x51"
      "\xd4\x24\x11\x81\x17\x66\xe1\x52\x3a\x6a\xcf\x66\x76\xb9\xaa\xcc\x93\x5b"
      "\xa5\xfc\xf2\xed\x44\x63\xcb\x85\xb3\xc6\x8f\x1d\xdd\xa8\x34\x6a\x42\xca"
      "\xc9\x2a\x5d\xad\x66\x4f\xf3\xb7\x01\x33\x06\x58\x7e\xbb\xa8\xd8\xb8\x55"
      "\xa1\x44\xe6\xab\xdc\xf3\x2c\x1b\xd7\x47\xea\x6e\x05\xaf\xfa\x24\xeb\x6b"
      "\x5d\x5c\xea\xf1\xec\xea\x96\x4b\x9d\x4a\x61\x3b\x1c\x83\xb7\x24\x6f\x5e"
      "\xb7\x77\xea\x91\xbd\x03\xee\xd6\xee\x9c\x20\xa0\xdd\xe3\x58\x8b\xaf\xf8"
      "\xc9\x96\x91\x19\xb2\xea\x2f\x9c\x17\xb8\x6e\xb8\x30\x38\xe9\xd9\xe2\xec"
      "\xad\xf1\xa2\x5f\xfc\x23\x8f\x58\xf4\x33\x48\xef\x32\xfe\x72\x76\x7c\xaf"
      "\x53\x3b\xe6\xce\x2d\x9b\x6c\xfc\x73\xc6\xeb\x2f\xf1\xf9\x1f\x16\xf9\xaf"
      "\xd3\x8a\x4f\x3a\x30\x7c\x59\x85\xce\x92\xcf\x0b\xe6\x58\x5f\x1b\xf5\xfe"
      "\xa0\xe1\x85\x9c\xd1\x7d\xc7\x9b\x95\x84\x9c\x0c\x3b\x2d\x2b\x71\x2e\x6a"
      "\x56\x9c\xc3\x89\x53\x43\x27\x17\x55\x7d\xe8\x3a\xd2\xbe\x35\xa2\xee\xa0"
      "\x7c\xd9\x9a\x92\xe5\xc3\x32\x2b\x73\x64\x76\x69\xd9\xad\xab\x90\x90\x59"
      "\x5a\x39\x6c\x7b\x43\xed\x18\xb5\xc5\x35\xd1\x06\x85\x4e\x9f\x33\x3e\xee"
      "\x50\xc8\xf5\x92\x1e\x90\xe7\x9a\xeb\x29\x97\x9c\x17\x66\xa5\x7b\x6c\xa5"
      "\x98\xf6\x03\x6f\x6d\x89\xe7\xaa\xb1\xc6\x1a\x2f\xc5\xe5\x26\x0d\x15\xfb"
      "\x66\xba\xcf\xc0\xfa\x9c\x40\xa1\x65\xdb\xa6\xcb\x9e\x45\x4b\x2a\xa5\x2b"
      "\x2a\xe4\x12\x5d\x3a\xc7\x59\x49\xbf\xd3\x78\xb4\x38\x7d\x51\xd6\xa8\xe9"
      "\x17\xdd\x43\x3b\xe7\xe6\x9d\x9e\x3b\xf0\xf8\x8d\x6d\x6a\x76\xc7\xe7\x2e"
      "\x7e\x19\x73\xfb\x98\x4b\xd0\xc6\x18\x95\xb7\xc3\x1d\x26\xae\xb5\x9f\x7b"
      "\x70\x6e\xce\x98\xd7\x05\x81\x21\x03\xf2\x13\xa6\xac\x4f\x0a\xde\x75\x7e"
      "\x6b\xe8\xc9\x35\xed\xd7\x35\xbc\x87\xe4\xc7\x15\x4d\x7f\xb8\x66\xcf\xa9"
      "\xac\xde\x1f\x87\x6e\x19\xd6\x6b\x73\xfc\xd2\x0b\x0e\x95\x9f\x8c\xbf\xca"
      "\x0e\xf9\xd5\xef\x6b\x79\xca\x33\xbf\x96\x3b\x93\xfa\x78\x3f\x9b\xf2\x34"
      "\x70\xed\xce\x52\xc9\x52\xfd\xa9\x99\x4a\xaa\x43\x0c\x47\x8f\x1e\x95\x30"
      "\xa5\xfc\x81\xca\xbc\xc7\x2a\x73\x74\x4b\x24\x67\x3f\xda\xb0\x67\xdc\xbb"
      "\xc9\xaf\xac\xa5\x7c\x0d\x36\xc7\x74\xdb\x1c\xbe\xca\x65\xba\xfc\x5b\x79"
      "\x3d\x95\x87\x15\x0e\x93\x0d\x4f\xb6\x5b\x6b\x1c\x49\x4d\xba\x76\xe6\xc8"
      "\x87\xaa\x65\x46\x69\x96\xa3\x65\x3e\xf9\x64\x1e\xb1\xff\x39\x3f\xf6\xc4"
      "\xfa\x93\xc2\x5f\x34\xbf\x2c\xcb\x79\x57\xe3\xbe\xc1\xaa\x35\x54\xc3\xa1"
      "\xad\x7e\xe5\xc1\x1d\x4e\x53\x76\xcd\xff\xb8\xb6\xf6\x84\xf2\xf9\xfe\xce"
      "\x2d\x9a\x6e\x06\xd6\xc9\xdb\x12\x72\x1c\x05\x4c\xab\x5d\xa6\x5c\xec\x8a"
      "\xac\xbf\xe5\x78\x72\xc3\xfb\xc7\xce\xef\xbc\x1c\x07\xfe\xb4\xf5\xbc\xfd"
      "\x61\xa7\x4b\xc3\xee\x01\xa1\x57\x46\x95\xaf\x0d\xbd\xb1\x25\xd7\x2a\xb0"
      "\x8f\xe3\xf9\xcb\x1b\x5e\xbf\x71\xb6\x74\x8c\x73\xfd\x6c\x34\xcc\xbb\xea"
      "\x47\xf4\x86\x80\x01\x75\xad\xbd\xa7\xaa\x84\x76\xb4\x79\xeb\x87\x3b\x25"
      "\xdc\x56\xbe\xb9\xd9\x7a\xfc\xec\x38\xef\x66\x03\xef\xa1\x67\xae\x2b\xe5"
      "\xce\x5b\xd3\xfa\xc8\x7f\x92\xc4\xd9\xa7\x87\x8e\xdd\x76\xd1\x92\xf9\x35"
      "\xad\x6d\x96\xd7\x76\xe1\x93\xb3\x66\x98\x7c\x7d\x70\xe5\xa6\xee\x5e\xe9"
      "\xe8\xc3\xd2\x3f\x1c\x9e\x6c\x8f\x1d\xe5\xb7\xaa\xe5\xdb\xe2\x3d\x83\xcb"
      "\x6f\xce\x12\x7f\xad\x9f\x5f\x7c\xe4\xd3\xee\xc1\x21\xe6\x06\xd2\x9d\xe3"
      "\xfc\x65\xa5\x14\xbb\x55\xec\x16\x73\x7a\xb3\x4f\x5b\xce\xdf\xd2\x44\x5b"
      "\xf6\x40\xf0\xfc\x15\xe7\x3b\x3d\xbe\x57\x6b\x45\x84\x4f\xfe\xdc\x57\x75"
      "\xc9\xaf\xcb\xee\x82\xca\x33\xde\x15\x3d\xf7\xb7\x1f\x58\xfe\x56\x27\x7c"
      "\x92\xa3\x67\x98\xd9\xb0\x7a\xdb\x19\x46\xc5\xd9\x8e\x6e\xad\x43\xce\x9c"
      "\x0e\x38\x66\x3f\xc0\xbf\x7b\xeb\xf7\x10\xaf\x90\x31\xa7\x0c\xaf\xcf\x7e"
      "\x7b\x46\x58\xfc\xf4\x1b\x75\xc3\xa1\x53\xbe\x69\xb7\x1f\xec\xa6\x73\x6a"
      "\xae\xe6\x33\xe3\xa6\x0f\x2b\xd6\x8e\xd9\x75\x5d\x37\xd4\xc0\x4f\x7a\xf5"
      "\xbc\x83\xbd\x37\x64\xdd\x16\x0a\x09\x33\xb5\x9f\xb1\xef\x53\x9e\x4a\xbf"
      "\xe8\xc5\x23\x6c\xee\xfd\x5a\xea\xf0\xae\x4d\x52\x72\x7a\x42\xf6\x68\xc5"
      "\xfe\xee\xc9\x7b\x82\xef\x08\xf8\x9a\x77\x3f\xac\x7c\xc5\xd4\xe5\x54\xa1"
      "\x5b\xbb\x71\x4e\xd3\xf0\xa2\x89\xf1\x85\x1b\xad\x5e\xa8\xf4\x2d\xf9\xfc"
      "\x73\xc6\xd0\xcb\x4e\xe5\xd3\xc3\xef\xed\x5f\x57\xf5\xbe\xc6\xd7\x2b\xea"
      "\xbd\xe9\x8c\x8e\x69\x3f\x55\xe2\x06\x18\x04\x36\xf6\x28\x7a\xf7\xa1\x87"
      "\xeb\xbb\x07\x92\x39\xb1\xcf\x27\x49\x6e\xd6\x90\x1f\xf1\x63\x98\xc2\x9b"
      "\x1b\xdb\x7c\xa3\x17\xda\x49\x1f\xb9\x6c\x93\xb0\x3c\x65\x8c\x9c\x5a\xd0"
      "\xf5\x5d\xa7\xb7\xdf\x3e\x61\xe4\xf3\xf0\x8b\xc5\x7b\xb3\x78\xfd\xea\xc6"
      "\x54\x9f\x29\xfe\x33\xef\x2b\x78\x3b\xee\x73\x2f\x11\x31\x71\x4f\xd7\x6d"
      "\xbc\xf4\x29\xff\xc4\x17\xa3\x2b\x29\x43\xe2\x66\x6f\x7a\x90\x6a\xe0\x23"
      "\x3a\x55\x6f\x59\xfd\x8b\xd3\x53\x0d\x7a\x98\xdb\xb9\x0d\x51\x78\x70\x7d"
      "\x86\xf8\xb7\xdc\x0f\x57\xcf\xbc\x9a\xe1\xe3\xbd\xad\x3d\xb9\xcf\x84\x45"
      "\x3f\xf6\x5c\x5e\x6e\xf4\x38\x62\x5b\x58\x7d\xf0\x93\x6f\x47\x04\xef\xfb"
      "\xc6\x88\x44\x8d\xdc\x56\xe2\x58\x33\x7f\xb4\x65\x41\x42\xbb\x8d\xf2\xba"
      "\xcf\x79\xa5\x97\x66\x3a\x6f\xf9\x6a\xb6\x27\x74\xcd\xe1\x40\xbd\x43\x9b"
      "\x76\xb6\x9d\x39\xde\x2a\x93\xf8\xae\x28\xbd\xf9\x7d\xd3\x2d\x01\x6d\x53"
      "\xc3\xe6\x6f\x3e\x16\x2a\x9e\x7b\x77\xaf\x6a\xb5\x16\x97\x59\x55\x5d\x20"
      "\x6b\x36\x74\x85\xe5\x85\x81\x96\x92\x5b\x55\xef\x48\x2f\xa9\x14\xaa\xb5"
      "\xf5\xeb\xae\xbe\xdc\x7b\x50\x54\x49\xb6\x40\xc9\xe6\x73\x3d\x37\x35\xab"
      "\xac\x53\xaa\xfc\x5c\xd2\xe8\x1e\x65\x72\xe7\x5c\x8c\xc3\xc9\xef\x53\xfc"
      "\xa6\xef\x34\x38\xa6\xb4\xd7\x6a\xde\xd9\x1f\x3f\xa3\xb3\xf3\xe7\xce\x48"
      "\x70\x1f\x34\xaf\x43\x43\xb7\xbb\xa1\x4c\xed\x60\xfb\xe0\xf7\xef\x7d\x0d"
      "\xfd\xce\xa6\xe8\x4c\xbe\xe5\x75\xff\x51\x76\xee\x94\x25\xcf\x3a\xb2\x05"
      "\x43\x27\x4b\x44\x5c\xcb\x6e\xd4\x78\xde\xfa\xd8\x6f\x78\xc2\xa2\xea\x3e"
      "\x53\x53\x7f\xd5\x0f\x68\x76\x4f\xbe\x70\x37\x63\x45\x54\x9d\xc2\x76\xbf"
      "\xf4\x79\x4b\x85\xd3\x52\xf3\x63\x65\x33\x07\x1e\x6b\xcb\x54\xdb\xd1\x19"
      "\xa7\x79\xa9\x69\xd2\xd2\x3b\x09\xb1\xee\x5b\xaf\x14\x8c\x4a\x4a\x3c\x9f"
      "\xf8\x78\xff\xd6\x3d\x79\xc6\xb5\xb1\x9e\xb6\xfb\xb4\xf2\xdd\xb6\xbf\x2d"
      "\xf9\x90\xb6\x78\x94\x8a\xef\x3a\xa7\xdc\xe4\x9a\xd0\x08\xc9\xb4\xca\xa4"
      "\xd2\x5f\x1d\x35\x35\x65\x0e\x9f\x32\xca\x0e\xbd\x4c\xde\x7b\x72\xf2\xfe"
      "\x87\xd1\x67\xbb\x6f\x50\x0e\x4e\xad\xcb\x5c\x9c\xeb\xd0\x3a\x22\xde\xe5"
      "\xb8\x52\xcf\x4d\xfa\xcb\x86\x7b\xff\x54\x2f\xd1\xa9\xeb\x65\x2b\xeb\xf8"
      "\x23\xf8\xc2\x57\xcf\xa3\xc7\x93\xbe\xcb\x7a\x5c\x3f\x2f\xfd\xa2\xed\x58"
      "\xd3\xc7\x88\xb5\x56\x9b\xe6\xa8\x6f\x6b\xe8\x57\xa5\xb8\x3e\x2e\x4a\x50"
      "\x7a\x6a\xd9\x38\xa9\x11\xa6\xdb\x2c\xef\x2c\x72\xda\xb4\x2c\x7d\xf7\x18"
      "\xf1\x45\x89\x2d\x16\x03\x56\x3e\x9d\xd0\x3c\x28\x2c\x55\xc8\x63\xf4\xbd"
      "\x1e\x0e\x6d\xe1\x53\x23\x7c\x87\x2b\x7f\x59\xf1\x4a\x38\x47\x7d\xdf\x15"
      "\xb1\xd7\x33\x37\xb4\x5c\xb5\xbb\xec\x33\xfb\xf3\xb0\x37\x63\xbe\x5e\x51"
      "\xde\x37\xef\xac\x97\xa3\xa5\x86\xcf\x8b\xbc\x83\x3d\xc3\x57\x0b\xfa\x85"
      "\xdf\x4b\xfe\x5e\x3d\xc2\xe1\x99\xae\xda\xc5\xc9\xcb\xa5\x47\xfc\x4a\x7c"
      "\xf0\xbe\x48\xd6\xca\xb8\xf4\xd1\xbe\xc4\xfe\x39\x26\xf3\x0e\x2d\xd9\xde"
      "\x3a\x2c\xae\x31\xef\xad\x67\x5c\x47\xb0\xdf\x13\xa7\x9f\x72\x3d\x9d\x9d"
      "\x23\x8d\xe4\x13\x84\xc7\xde\x75\xbd\x3f\xec\x83\x6d\x59\xe9\x92\x8a\x65"
      "\x4a\x5d\x0f\x83\x47\x2a\x9d\x7a\xdd\x34\xba\xa3\xab\x45\x37\xce\xc5\x54"
      "\xe9\xe2\x32\x93\xca\x65\x8d\xde\xd1\xbd\x8a\xee\x44\xcd\x7e\xbb\xd8\x75"
      "\xa0\x8e\xeb\xe5\xcb\x89\x4e\x51\xad\xd1\xdd\xf2\xa4\x9a\x6a\x67\x75\xcc"
      "\x8d\x70\x14\x8e\x58\xb8\x72\xf6\xf1\xfc\x17\x57\xcb\xb2\xbe\x67\x3b\x14"
      "\x2e\x50\xf2\x9f\x3d\xfd\x71\x7c\xae\xe1\xc7\x33\x31\xfb\xd7\xac\x33\x6b"
      "\xeb\x61\x13\x54\xfa\xde\x25\x39\x77\xa7\xa3\x7f\x72\xcf\x59\xb7\xed\x42"
      "\xd7\xcc\x1c\x77\xb3\x4a\xc9\xdd\x5c\xf1\xa9\xd4\x5a\xb7\xae\x2c\xaf\x31"
      "\x5e\xed\x5a\x2f\xd4\x9e\x86\x9d\xf2\x39\x76\xb0\x5d\x22\x4c\xba\xc2\xcd"
      "\xf1\xc8\xc2\x6d\x82\xca\x33\x03\x22\xd6\xa8\x4d\x13\x19\x64\xb1\xc3\x2e"
      "\x5e\x7c\x5f\xc2\xe9\xc0\x37\xdb\x9f\x84\x5d\xbd\x94\x14\x5b\xa3\x1a\x54"
      "\xbd\x64\xc3\xf8\xcd\x81\x73\x8c\x97\x3c\xfe\xf1\xac\xab\x8f\x40\x66\xc7"
      "\x58\xcb\x9d\xad\x33\x0e\x57\xca\x96\x85\x74\x2b\xb6\x13\x7a\x6e\xef\x10"
      "\x67\x97\xdc\xbe\xe5\x9c\xf8\xe7\x33\x9d\x8b\x4e\x76\xdf\x91\xe9\xb8\x2e"
      "\xe9\xae\xde\xa7\xce\xfa\x3d\xdb\x82\xd4\x7d\x83\x97\x0c\x96\x37\x6c\x4b"
      "\x6c\x8a\xcc\x5b\x27\xeb\x32\xef\xe4\x58\x39\x23\x4f\xbf\xf5\x2f\xdd\xf7"
      "\xcd\xae\x96\xdf\x93\xaf\xb6\x31\x7a\xce\x4a\xd1\x4f\x7d\xc6\x7e\x4c\x53"
      "\xb6\xb7\xb0\x59\xae\xb1\x64\xd2\xea\x2d\x6a\xd3\x0f\x89\xd4\x17\x5b\xca"
      "\xbc\x51\xb8\x9f\xab\x18\xb7\x6c\xcf\xaf\x27\x2f\xe6\x5e\x74\xee\xab\x36"
      "\xa3\xa1\xc5\x2f\x61\xe2\xd1\xb9\x43\xe2\x1d\xc7\xbc\x9f\x52\x3d\xbe\x45"
      "\xb7\x68\x8d\x7b\xd0\x69\xc5\x96\xff\xe2\xd7\x17\x00\x00\xe0\x6f\x30\x15"
      "\xd9\xd3\xf3\xf1\x2b\xf9\x21\x6a\x2d\x83\x73\xcf\x0f\x72\x13\xfa\xfd\xfe"
      "\xbf\xdb\x1f\xfd\xbf\xdf\xff\x3b\x08\x0a\x08\x3c\x99\x65\xd2\x28\x5c\xd4"
      "\xb0\xf1\x96\x4c\x40\x7c\xb9\x66\xcd\x18\xcf\x7a\x71\x75\xe1\x33\x92\xe6"
      "\xd6\x03\x55\xa6\x28\x7f\xbd\x3f\xfb\x72\xbf\x29\x51\xa2\x42\xfb\x27\x2b"
      "\xfe\x3a\x54\xb7\xf4\xed\xd5\x89\x7a\xfb\x57\xe4\xe4\xd7\xe6\x85\x34\x19"
      "\x39\x4d\xab\xd8\xde\x23\x37\x51\xae\x2b\x6b\xe7\x70\xa7\x93\x12\x93\x27"
      "\xfa\x4e\x37\x98\x19\x97\x1b\xa4\x52\xba\x62\x5c\xab\x49\x53\xfb\xa4\xdd"
      "\x39\xfd\x24\x27\x85\xcc\x6c\xdd\xb7\xce\x57\xee\xcb\x4b\xd9\x27\x63\x2c"
      "\x46\x1d\x2c\x58\x32\x23\xb8\xde\xf8\x8a\xec\xe1\xdb\x12\xc7\x4a\x14\x25"
      "\x87\xf4\x0f\x19\x1f\xb9\xe7\x58\x46\x92\xcd\x31\xff\x21\x16\xd2\x27\x86"
      "\x77\xb5\x94\x7e\xcc\x1b\xab\x6a\x7c\x73\xfb\xbd\xb6\xb8\x61\xeb\x5d\x07"
      "\x0f\x9b\xd0\xb7\xdd\xa6\xe8\xb1\xf1\xbc\x5b\x8f\x37\x4e\x77\x6a\xe8\xd5"
      "\xdf\x2a\xe6\xbb\xd7\xf9\x89\xf3\x2c\xdc\x67\xb9\x57\x3b\x8a\x06\x5d\x1d"
      "\x7c\x2c\xad\x74\x41\xfb\x87\x0e\xaf\xa0\xfa\x8e\x77\xe2\x6f\xaa\x8a\xfa"
      "\x46\x96\xd4\x2f\x3f\x27\xfe\x4e\x5a\xf2\x45\xf2\xaf\x5d\xbf\x96\xd6\x28"
      "\x9f\x76\xb8\xf1\x65\x8f\x8c\xd5\xb3\xbd\xf3\x73\x7d\x4e\xb7\xe4\x4e\xce"
      "\xad\x51\x5f\x2d\x1f\x3b\xd9\x5e\x2c\x76\xaf\xe7\x94\xca\x92\x37\x07\xa6"
      "\x2d\x38\xa1\x2a\x11\x2e\x5a\xb7\x68\xa9\x94\xe4\xfa\x10\xb1\xc5\x99\x73"
      "\x23\x33\xad\x03\x5f\xba\x04\xb7\x5f\x7c\x6a\x52\x95\x23\xdf\xac\xa4\x70"
      "\x55\x6e\xf1\x98\x8c\x9e\xca\xa1\xed\x73\x74\xb4\x37\x4c\x39\x5c\x1a\x9a"
      "\x28\x9f\xfa\xfc\xf9\xe5\xa2\x02\xb3\x39\x32\xda\xbf\x2a\x42\xf2\x14\xdf"
      "\x1d\xd7\x7b\xe9\xeb\xf2\x23\xb5\x31\x58\xe1\x52\x52\x58\x96\xd8\xfa\x2e"
      "\x23\x8f\x19\x87\x1b\xcf\x55\xaf\x7b\xb2\xf0\xd2\xa8\xd1\x57\xab\x96\x3b"
      "\xe7\x9a\x5e\xdd\x1c\xb8\x3e\xed\x63\xb5\x75\xc3\xfe\xb7\x8f\x6a\xaf\x67"
      "\xdd\x58\xb1\xa1\xbd\x73\x9d\x9a\x64\xa9\x65\x47\xfc\xfe\x0c\x13\xd7\x69"
      "\x1e\xa2\x3d\xeb\x1e\xf5\xf3\x7c\x11\x36\x70\x43\x9f\xaf\xfa\x56\xba\x02"
      "\x5d\xf7\x52\x8b\x37\xaf\xeb\x77\x6b\x90\x97\x7a\x43\x5c\xec\x82\xb4\x9f"
      "\x3f\xc3\x73\x16\x17\x27\xe4\x5a\x46\x5d\xbb\x57\x5b\xdc\xa9\xe9\x2e\x72"
      "\x36\x59\x70\xfc\x2f\x97\xcf\x29\xbb\x6c\x75\xd4\x3c\xec\xda\xca\x2d\x93"
      "\x9f\x9e\xbf\x5a\x5b\xbc\xa2\x29\xb6\x7a\x91\x59\xe4\x2e\x91\xeb\xe5\xad"
      "\x23\xab\xfb\xcb\xe5\x9a\x4e\xcb\x91\x3d\xda\x5c\x92\xa1\x70\x28\x7c\x7b"
      "\xc3\x77\x3d\xef\x19\x2a\xa7\x2a\x5e\x9a\x2e\x57\x3c\xb4\xf6\xd5\x2b\x8b"
      "\xb4\xf4\xad\xbf\x02\x62\x33\x1f\x1e\x4c\xcd\xda\x59\x7e\xf9\xc8\x88\x6e"
      "\x87\x95\xac\xc6\x8f\x1a\xa0\x9a\xa9\xa3\xd5\x2d\x4b\xdc\xad\x47\x51\xcc"
      "\x8f\x88\xba\x5e\x62\x27\x6f\x7e\x7e\x1d\x31\x56\x39\xee\xba\xd7\x85\x47"
      "\xb3\x05\x45\xfc\xe5\x67\x5e\x5b\xe5\x3a\x28\xba\x34\xa6\xfa\xae\x83\xc2"
      "\xd8\xa8\x0d\x2d\x1e\xcf\xf4\x9c\xde\x5e\x37\x76\x48\x5b\x37\x6d\xc2\xf8"
      "\x7d\x4b\x04\xae\x2b\xad\x9b\x5f\xbb\x3a\xa6\x24\x70\xe4\xfc\xfe\x66\x0f"
      "\x7c\xd6\x5b\x16\xba\xc9\xf9\x5d\xd9\x3a\xc6\xad\x73\x81\x65\x94\x68\xf7"
      "\x90\x87\xc3\xcc\x1d\xb7\xea\xec\x5a\xb7\xce\x65\xa6\x85\xc7\x4c\xd1\x02"
      "\xdd\x3e\x55\x0f\x1f\x5f\xda\xdc\x76\xde\xcd\x44\x64\xeb\x43\xbd\xef\x47"
      "\xbb\xf9\x0e\x78\xb3\xa8\x50\xad\x7d\xba\x97\xab\x51\xef\xed\xd6\x6a\x5f"
      "\x46\x8f\x7e\xd6\x63\xe0\x8a\xac\x8e\xdd\x3f\xb4\x4a\x14\x36\x2a\x6b\xde"
      "\x4b\x2c\x9c\xfd\x29\x78\xc7\xdc\xea\x12\xa5\x2b\xd6\x5e\xf7\x7b\x6c\xec"
      "\xed\x95\xf0\x4d\xdb\xeb\x9d\xd5\x42\x0f\xb7\x89\x7a\x39\xa3\x97\x5b\xc9"
      "\x4f\xbc\x7b\xdb\x39\x7b\xe8\xa3\x86\xec\xd5\x67\x35\xe5\x76\x38\x2d\x19"
      "\xf6\x59\x4a\x35\xfd\xcd\xed\xca\xbc\x05\x63\xed\x84\xc7\x5c\xfc\xbe\x7e"
      "\x9f\x6a\x48\x51\xbf\x6f\x1d\x93\x2f\x9d\xa9\xbe\x7e\xfe\xf8\x02\x67\x97"
      "\xc2\x18\xaf\x31\x39\x4b\x4f\xbe\x73\x0f\xea\x19\xe1\x63\x17\x39\x3c\x2c"
      "\x30\xd9\xf6\xd3\x58\xa3\x61\x21\x83\x6f\xdf\xba\xda\xbf\xc0\x3b\x72\xa5"
      "\x49\x6d\xef\xfa\x83\x33\x1c\xc7\x36\xed\x1c\x91\x73\x65\x42\xa9\xf9\xa1"
      "\xa8\x1f\x63\x12\x74\x4a\x8d\x8e\x7e\x4c\x4b\xbe\x70\x5e\xa9\xfe\xce\x49"
      "\x95\x80\x57\xa3\x85\xec\x43\x02\xcf\x26\xba\x58\xff\x7a\x3d\x5f\xfb\xec"
      "\x80\x73\x21\xfd\x7d\xed\x9a\x2d\xa6\x79\x55\xac\x16\xd4\x91\x79\x6e\x93"
      "\x31\xbc\xb8\x54\xd1\xf5\xf2\x87\x0f\xbe\x32\x4a\x4d\x77\x5e\xdf\x8d\x5d"
      "\x55\xfd\xe0\xda\x70\xab\x0b\xad\x61\x11\xa3\xba\xe7\x7e\xfe\x18\xdc\xe0"
      "\xf4\x49\xc0\x3b\xa7\xc7\xf6\xe6\xb2\xa0\x96\x0c\x05\xd5\x9a\xae\xdb\x87"
      "\x1a\xba\xee\xa4\x2e\xe8\x3c\x7a\xa6\x63\xde\x3d\x21\xe9\xa1\xc5\xb6\x8f"
      "\xcd\xdf\xe7\x9d\xfa\xd1\xfa\xe0\xd0\xae\x7b\xfa\xbe\x07\xdb\x5f\xf6\x4c"
      "\x7f\x97\x51\xe4\x67\xb5\x71\xfc\x01\x9b\x87\x03\xae\xbd\x7c\x7f\x4d\x70"
      "\xd6\x9b\x55\x11\x7b\x6d\xc3\x47\x94\x0c\xdc\x73\xff\x48\x6e\xf6\xec\x37"
      "\xb5\x63\x6d\xca\x0c\x74\x46\xdf\xed\x94\x0d\xcc\x7b\xf2\xd3\xe7\xf9\x95"
      "\x5e\xeb\xfb\x2f\xf6\xdd\x5b\xf2\xc4\x75\xb6\xc6\xa7\xec\x9b\xaa\xcd\xda"
      "\x59\x63\x9c\x33\xe2\x97\x66\x07\xc5\x5f\xad\x5b\xbd\x42\xcb\x6e\x8f\xb8"
      "\x5f\x6e\xb9\xf2\x66\xf5\xd8\x5f\xb2\x23\xa2\x8d\x6d\x9f\xf5\xb9\x9c\x39"
      "\xab\x68\xe8\xd1\x88\x31\x0e\xbd\x2f\xaa\x4e\x6b\x28\x7d\xe5\xa0\x2e\xbf"
      "\x34\xb0\x4d\x4f\xe8\x9d\x4d\xf6\xc4\x21\x2d\x6b\x76\x24\x1d\x79\x36\x66"
      "\xb5\x8d\xe8\x7a\xdd\x82\x7e\xeb\x23\x74\x4d\x17\x56\x65\xf7\xba\xb3\xb5"
      "\x5b\x6c\xfe\xd8\x9a\x0d\x87\x03\x86\xaf\x7a\x3e\x6c\x66\x7e\x44\xa9\xd6"
      "\x04\x17\xc1\x11\x17\xba\x86\xff\x9c\x75\x34\xe0\xf8\x90\x2f\xb6\x85\x6a"
      "\x63\xdf\x1c\x79\xa2\xd9\x7a\x2d\x2a\x5f\x7b\x82\xf1\xd2\xd2\xb3\xdf\x87"
      "\xb8\xa8\x6f\xb5\xd2\xaf\x5c\x1c\x3f\x79\x93\xb5\x84\xd4\x68\xbd\xb3\x4f"
      "\x9d\x2c\x2c\xcf\x6f\xd9\xd3\x27\xe6\xc1\x22\xcd\x91\x3e\x9e\x33\x42\xd7"
      "\xdd\x69\x9e\xf2\x7a\xe3\x46\xa3\x71\x32\x9d\x3f\xa4\x7e\xcc\x39\xbd\x29"
      "\x72\xf0\xfd\x5f\xad\x76\x33\x76\x8c\x6d\x94\x91\xbf\x77\xb6\x8f\xd9\x9b"
      "\xb3\x5a\xda\xfb\x7e\xbc\xd8\x76\xaa\xae\xdb\x8d\x5c\xa5\xec\xdc\xa3\x6a"
      "\x17\x4a\x93\xae\x04\x9e\xba\x35\x6a\x6b\x68\xe6\x34\xcb\xe4\x45\x2f\x0b"
      "\xc4\x2b\xac\xdb\xf6\xcc\x9a\x56\x39\xa8\x42\xcd\x4e\xfe\xee\xfa\x80\x99"
      "\x37\xef\x0e\x57\xb3\x70\x28\x93\x8a\xb0\xbe\x7f\x2d\xf6\xa9\x96\xf1\xeb"
      "\x9a\x51\x2d\x97\xf7\xee\x13\x3c\x3d\x4f\xec\xfd\xc9\xa9\xb7\xaf\xee\x9a"
      "\xe4\xb1\x3f\x5b\xe2\xea\x99\x0b\xf3\xb5\x23\x63\xd2\xe4\x0e\x3c\x33\x75"
      "\x9e\x9b\x9b\xb8\xc5\x5c\x67\xd1\xcc\xd0\xd5\x12\x59\x7e\x96\xee\x95\xf5"
      "\x45\xc7\x04\xb4\xea\xb2\xdb\x2e\x34\xdb\x5f\x4c\x3d\x7e\x38\xad\x7f\x82"
      "\xe8\x93\x99\x0d\x96\x46\xcf\x0f\x3e\xdc\xd7\x1a\x99\x10\xdb\x56\x92\xe1"
      "\x32\xfa\xa6\xd3\x2c\xb3\xa2\x68\x99\x13\x9e\x47\x6d\xd5\x7f\x2a\x1f\x89"
      "\xcb\x1d\xdd\xda\xe7\x9c\xcc\xc6\x0f\x1a\xf6\x3a\x02\x3b\x56\xe8\xaf\x70"
      "\xff\xb6\xf0\x5e\xdc\xd7\xb8\xef\x06\xcb\xef\x88\x3f\x75\xb7\xda\x25\xf0"
      "\x5c\x3d\x65\x4f\x5f\x4f\x7d\xa7\x87\x5a\x17\xb6\x18\x19\xca\x36\x4c\x5a"
      "\x91\xb3\xb5\x58\xef\x85\xdb\x9d\x65\x96\x35\x82\xbb\x56\x5b\x69\xbe\x4d"
      "\x6c\x54\x54\x97\x30\x32\xae\x89\x56\x59\xfb\x2a\xee\x94\xa9\xb7\x76\x61"
      "\x4e\xc3\xa4\xe9\x8b\x82\x2e\xc5\x5f\xf1\x1f\x3c\x44\xdf\xbe\x77\x99\xdf"
      "\xf6\xc9\x8f\xa2\x93\xa7\xdf\x9e\x29\xf5\x74\x79\xa4\xbb\xdb\x8f\x39\xed"
      "\x07\xaf\xf8\x7a\xaf\xb4\x3e\x2c\xf5\xa5\x77\xb1\xe5\xd3\x15\x59\xad\x8a"
      "\x6f\x2a\x6e\x3f\xd9\x9d\x7a\xb8\x57\xf6\xe9\xc2\xb8\xc6\x7d\x7d\xcf\xee"
      "\x6c\x17\xf3\x19\x12\x6d\x2f\xdf\xbc\xe9\xf8\xde\xf4\xc2\x71\xcf\xbe\x95"
      "\x4c\xbb\xef\x66\x5e\x6a\xde\xb5\x74\x66\xf0\x74\xe9\x0f\x37\x37\x65\xdf"
      "\x0d\x0f\x32\xaf\x88\x6a\x14\x4b\xfc\x3a\x5f\x77\x98\xd0\xfe\x82\x45\x97"
      "\xf5\x3e\xaf\x3f\xe3\x36\x3c\x2a\x7b\x99\x54\xc4\xbc\x5f\x91\x8a\x59\x07"
      "\x54\x63\x1c\x45\x2e\x76\x7b\x59\xb5\xce\xbe\xd7\x94\x17\xf9\xbd\x0e\x1a"
      "\xa8\xae\xbd\xda\x39\xc8\x6d\xac\x46\xb7\xd3\xc5\x2f\x37\x9f\xea\x1b\x31"
      "\x71\xf1\xe1\x9e\xca\x3b\x2e\xc5\xc8\xb8\x9d\x2d\x1d\x75\xa2\xa6\xc0\xd5"
      "\x7d\xd5\x85\xd6\xaa\xe8\x11\x97\x4d\x57\x44\xeb\xbe\xd9\xff\x56\xc9\xe0"
      "\x55\xe4\xe8\xfa\xa2\xef\x2a\xeb\x97\x9c\xb7\x71\xd6\x99\xd8\x16\xfb\x6d"
      "\xfe\xb3\xb9\x87\x25\x74\x56\x0c\x78\x7c\x78\xbf\xe5\x91\xab\x77\xcf\x16"
      "\x6a\x87\x1b\x4e\x38\x61\x2f\x7b\xfa\xed\x66\xf5\x5e\xd9\xcd\x56\xcb\x8f"
      "\x84\xbb\xdf\x6f\x0e\xdd\x5b\xe9\xf8\xd5\xf3\xa6\xfa\xb9\xbc\xf4\x5f\x23"
      "\x5c\xe7\x58\x7f\xd7\x3f\xe2\x7b\xd8\x6f\xb8\x43\xaf\xf4\x0b\x87\xed\xe6"
      "\x39\x8e\xee\x90\xcc\x6b\xf6\x4b\x59\x55\xe9\x75\xfc\xd4\x31\x37\x5b\x97"
      "\x0d\x96\xc2\xc2\x22\x05\x91\xbd\x66\x07\x2e\xfa\xbe\x5a\xab\x4a\x7a\xea"
      "\xc8\x64\xd7\xb1\xfb\x83\xea\xad\x1a\x47\x1e\xda\xb5\xe0\xee\xcc\xd7\xce"
      "\xf3\x83\xa3\xcf\xb7\x25\x7c\x8c\x09\x8a\x4f\x8f\xd8\xff\xd3\x7d\xd0\x4b"
      "\xbd\xca\x3b\xfb\xcc\x3c\x63\x82\x16\x54\x6c\x0d\xd5\x32\xfe\x72\x61\xdb"
      "\x20\xdb\x82\x6b\xbd\x4a\x1f\x3d\x6d\x6b\x8e\x51\xe9\x30\x95\x52\x31\xb3"
      "\x4e\x59\x99\x2e\x2c\x98\x1f\x76\xc9\xae\x7d\x9b\x40\x56\x71\xd2\x9e\x5d"
      "\x2d\x93\xf4\xf2\x1c\x62\x2f\x7f\x93\xa8\x5a\xe4\x3f\xf7\xf5\x6c\xef\x44"
      "\x99\xce\x51\x83\x64\x3b\x87\x56\x06\xc8\x4d\xcb\x50\x7a\x79\x75\x9c\xbb"
      "\xed\xa8\xf2\x99\xb3\xa3\x6f\xbc\x0f\x7c\x72\x28\x4b\xe0\xa4\xda\xd3\x01"
      "\x51\xdd\xae\xae\x5b\x7d\x2e\x6e\x4b\xcf\xb0\xc2\x20\xf3\x6a\xf3\xdd\x3a"
      "\xb1\xd6\xad\xae\xa9\xb7\x8e\x44\xa9\xb4\x1c\x59\xbe\x50\x5c\xa1\xe2\xfa"
      "\xae\xa9\x9a\xca\x53\xef\x05\xd6\xa5\x6a\xdb\x8e\xcd\x59\xbe\xda\x2c\x24"
      "\xd7\x7b\xe1\xd8\x67\xf2\xbe\x42\xb6\x5b\x74\x66\xdf\xac\xf4\x9d\x2b\x10"
      "\xec\xd2\xa3\xa7\x64\xbf\x31\x67\xfd\x2d\x6f\x6b\x0f\xd8\xf1\xea\x43\x41"
      "\xb7\x63\x09\x69\x27\x85\x64\xe3\x8e\x97\xbb\x94\x5d\xbc\xaf\xe9\x55\x3d"
      "\xfe\xc5\xdd\x51\x22\xd7\x9e\x66\xbc\xd3\x9b\x39\x71\xe9\x92\x09\x96\xaf"
      "\xa7\xde\xcd\x8d\x2d\x0d\xd0\x5a\xfd\xa3\x6d\xab\xc8\x4a\xc3\x76\xd5\xdd"
      "\x5b\x94\xd5\x1a\x57\xd7\x9c\xac\xbf\xd4\xcf\xb5\xc0\x78\x99\xec\xd9\x94"
      "\x0f\xdf\x44\xd5\xe5\x6e\x47\xda\x9c\x77\xee\x71\xfc\xa1\x99\xce\xcd\xfc"
      "\xd4\x21\xda\x83\x3e\xed\x2a\x93\x53\x6f\xef\xbe\x63\xab\xce\x5e\x9f\xd7"
      "\xbe\x7e\x29\x6b\xc4\xda\x6a\x1f\xed\xd5\x68\xbb\x5e\x55\x1d\x15\xb7\xa7"
      "\x46\x79\xbd\x5d\xcc\x88\xd6\xfd\x57\x8e\x75\xdc\xdd\x2e\x7e\xec\x53\xdf"
      "\xcd\xf5\xfd\x8f\xe9\xc6\xae\x88\x90\x5c\x9b\x26\x3e\xba\xcf\x2e\xdd\xb9"
      "\x92\x69\xc7\x7c\x77\xf6\xff\x55\xf9\xad\xb6\xf3\x8b\x49\xc7\xaa\xf3\x57"
      "\xee\x48\x97\xad\xf9\x29\x55\xed\xdb\xb4\x71\xa3\x7a\xb9\x74\xbc\x71\x87"
      "\x71\xcb\xf1\xb3\xc7\xf3\xba\x04\x17\x8d\xf5\xe8\xf5\xae\xf8\xbc\x49\x8d"
      "\x56\x53\xe2\xe2\xd0\x85\x9a\x79\xdd\x54\x9d\xfa\x45\x74\x0d\xae\xd3\xeb"
      "\x1a\xf1\x5c\xf8\x72\xb7\x1f\x4b\xab\x54\x65\x9d\x57\xae\x74\x9a\x31\xfe"
      "\x82\x7f\xb3\xd2\xf2\xcb\xad\x01\x99\x0a\x5f\xd7\x5c\x7c\x5e\xf8\xd3\xe3"
      "\x50\xd1\x09\xfb\x59\x97\xb2\x0e\x46\x7e\xa9\xfb\xfc\xa3\x61\x47\xca\x94"
      "\x45\x3b\xbb\x4e\x77\x1b\x3b\xa3\xe3\x91\xf9\x99\xeb\x3d\x1b\x7f\xf9\x4d"
      "\x94\x56\x33\x95\x48\xca\x39\xe0\x1e\x9e\x78\xe8\x7b\x67\xf5\xd2\xed\x63"
      "\x95\x87\x14\x9a\x2f\xf1\x7b\x25\x96\xfd\x22\xd3\xf6\x5b\xee\x11\x77\x75"
      "\xcd\x31\x8b\xe3\x1d\x23\xf5\x16\xe8\x74\x8e\xda\x72\x29\xae\x2c\x70\xe6"
      "\x38\x99\xb0\x56\x97\xc5\xae\x5a\xea\x51\xab\x44\x2a\xbe\x5d\x90\x8a\x5d"
      "\x79\x75\x8e\xb0\xfd\x83\x04\xb3\xe5\xc7\x8c\x3f\x36\x0e\xeb\x56\x7c\xdc"
      "\x7b\xc1\xb6\xb1\x73\x2f\xf6\xd6\x0f\x16\x1e\x2e\x21\x9b\xf8\x2d\xe9\x57"
      "\xcd\x7e\x27\xff\x93\xd9\x9b\x6c\xc2\x36\xac\x7e\xd6\xeb\x71\xab\xfc\x5e"
      "\xd7\xc3\x97\xce\x4d\xd1\xd8\xe9\x21\xe9\x64\x1e\x79\xef\x68\xa1\x95\x6b"
      "\xbc\x95\x7d\xd3\x07\x87\xe2\x9e\xf7\x36\x55\x57\x84\xb9\xcc\x0d\xaf\x1c"
      "\x3d\xdc\xaa\xe2\x83\xfd\xd2\xa2\xd3\x7d\x04\xa6\x85\x1d\x15\x4e\xea\xbd"
      "\xe0\xe6\xb7\xaf\xb6\x99\x49\x89\x07\xda\x47\xcb\xef\x9f\x38\x5e\x46\x76"
      "\xdc\x28\x7d\xa3\xeb\x29\x1f\xf3\x9d\x26\xee\xfd\x1e\x5a\xb3\xb7\x71\xe2"
      "\x84\xd3\xa9\x2e\x27\x5a\x33\x3e\x85\x6f\x38\xab\xa0\x3c\x26\xa3\x32\xfb"
      "\xa6\xf5\xed\xbe\x86\x7e\x8f\xac\xa3\x55\x8d\x6e\x05\x47\x57\xd8\xc8\x49"
      "\x2c\x5a\x29\xe6\x28\xd2\xa4\xfd\x5c\xac\x33\x7f\xde\xc0\x93\xd3\x3f\x35"
      "\x75\x98\x6e\xb8\x79\x3e\xc2\x71\xfa\xea\xf3\x1a\xc2\xf5\x1d\x4f\x3e\x9e"
      "\x53\x19\xae\x74\x33\x7d\x94\x70\xc3\xab\xb4\x50\xd5\xe9\x5e\xc3\xdb\xfb"
      "\x84\xbb\x97\x37\x47\x09\x8d\xdf\x7d\xa1\x58\x36\xda\xbb\xef\x04\xbb\xe6"
      "\xcf\x05\x7d\x82\x02\x87\x7e\xa8\x5f\xf7\xb6\xfb\x85\xe1\x32\xc9\x8f\xd3"
      "\x73\x33\x92\xa2\xed\xc6\x5b\x9a\x89\x0d\xca\x98\x7b\xe6\x93\x77\xfc\xd2"
      "\x41\xed\xcb\x2a\x16\x97\x2f\x54\x0d\xeb\xf6\x4e\x7f\x47\xd0\xc8\xd9\x0e"
      "\x0a\xf7\xac\x5e\xce\x39\xab\xf9\x5a\x72\xf6\xf9\x97\xfe\x9e\xaa\x86\x27"
      "\x5d\x44\x5d\x65\x3a\x2f\x5f\x32\x1c\x59\xaf\x2a\xed\x36\xe5\x72\x5b\xa0"
      "\x8d\xa6\x73\xb6\x77\x99\xe2\xa0\xa4\x3d\xfd\xae\x6c\xca\xb9\x3c\x57\xc9"
      "\x24\x6b\xca\xf6\xa4\xd2\xb2\xf4\xc6\x75\x7d\xdd\x4d\x55\x2a\xba\x04\x8c"
      "\x22\xa6\xb7\xde\x7e\x94\x59\x2e\xa9\xeb\xfa\x6b\xfb\x4a\xa3\x30\x71\xa7"
      "\x07\x2f\xfd\xc5\x8f\xee\x4a\x78\x1b\xbc\x4b\xf5\xeb\xd0\x96\xf8\xcd\x2e"
      "\x7e\x9a\x6d\x8d\xe7\xef\xed\xfb\x1a\x79\xb1\x63\x42\xe3\x6d\x21\xc7\xbb"
      "\x31\x19\xb3\xe2\x56\x2c\x39\xfb\xde\x56\x61\xed\xee\x9e\x1f\xf5\x53\xcf"
      "\xbd\x2f\xfc\xd8\xa4\x31\x64\x43\xea\xf5\x0d\x4e\xaf\x17\x4e\xfd\xd0\x6b"
      "\x4e\xc0\xac\x3c\xd1\x52\xa7\x51\x4b\x0b\x33\x87\x94\x1b\x26\xbf\x6d\x78"
      "\x55\x5b\x5e\xb0\x69\x99\xf1\x83\x23\x8a\x83\xd2\x47\xf8\x3f\xca\x14\x7e"
      "\xf8\x48\x5e\xea\xc0\xe2\xe0\x01\x53\x1c\xff\x8b\x6f\xfb\x01\x40\xa0\xb8"
      "\xe6\x4c\x79\xf2\xa0\xd7\x73\x9a\x8e\xb5\x26\x4e\xeb\x16\xd5\xeb\xf7\xf3"
      "\xbf\xe8\x1f\xfd\xff\xf2\xfc\xaf\x22\x20\x20\xf0\x59\x40\x40\xc0\x30\x2e"
      "\xf1\xc5\xed\xee\x82\x79\x8e\x23\xd6\x7d\x2e\x2d\x1c\xd6\x6e\xa8\x59\x7c"
      "\xec\xe1\x04\x97\xbd\x8e\x82\x22\x73\x04\xca\x73\x16\x1a\x46\x56\x3a\xbd"
      "\x7e\xe3\x3c\xb5\x68\xf4\xa6\x93\x4f\x73\x7f\xbc\xd4\x29\x78\x9c\xd8\xed"
      "\xd8\x6b\xd3\x98\xc8\xb0\xd5\xeb\xaf\x5d\xda\xa2\x91\x92\x7e\xc6\xf4\xc6"
      "\x87\x6a\x9b\x27\x79\xae\x7d\x7b\xcf\xab\xf2\x93\x12\x7f\xf5\xcb\xd9\x66"
      "\x49\xf6\x80\x29\xa2\xce\xef\x2b\xc5\xfa\xe8\xf8\x6e\xd9\x7c\x62\xd6\xdc"
      "\xd1\xa3\x9e\x79\xa6\x59\x4c\x6f\x7d\xa6\x34\x73\x48\x6e\xb1\x40\xf0\x4d"
      "\x85\x05\x92\xb9\xaa\x5d\x59\xdb\x4c\x36\xa7\xda\x8e\xb3\x14\x1b\x64\x15"
      "\x5d\xf9\x23\xfe\xc6\xf8\x39\xe5\xb5\x41\xa9\x83\x3b\x25\x4c\x6a\xf6\xc8"
      "\x3b\xe8\x0a\x49\xcd\x9e\xba\x53\x6b\x9d\xed\x66\xdb\xe2\x39\x2d\xbe\xa9"
      "\xd7\x0e\x3f\x7f\x7b\x49\xe0\xa4\xce\xa7\x63\xd3\x1a\x67\x67\xdb\x0e\x8c"
      "\xf6\xe9\x6f\xb0\xfb\x44\x66\xc7\xc8\xe8\x87\xa6\x3d\x6d\xce\xdf\x3c\xf2"
      "\xf9\xc7\x81\xa1\x46\x62\x3e\x77\x33\xaf\xdd\xda\xdf\x54\x1d\xe9\xec\x39"
      "\xf2\x56\xf7\xd0\x91\xab\x7e\x3d\xf3\x1a\xf5\xb9\xea\xba\xee\x94\x3d\xab"
      "\x67\xa6\x04\x3d\xf7\x58\x2d\x94\x7c\x6c\xcf\xd6\xc1\x6f\xd4\x06\xc6\x57"
      "\x14\x0d\xf8\x92\xb4\xbb\x5c\x21\xa7\xb7\xf9\x93\x99\x92\xd9\x97\x67\x14"
      "\x7a\xf7\xad\xb8\xec\xb5\xc9\xe0\xd1\x84\x10\x87\x1f\x3d\xdc\x0a\xdc\x5e"
      "\x5f\x9a\xff\x66\x90\xdd\xab\x79\xa3\x42\x0a\x0c\xd2\xee\x88\x8e\x5a\x95"
      "\x9e\x18\x54\x38\x70\xe8\xba\xd8\xb9\xd9\x51\xdb\x3c\x9b\xae\x4d\xb0\x6d"
      "\xaa\xbf\x1c\x5a\x38\xc5\x4b\xc7\xfc\xb8\x5d\x6d\x5b\xdf\x54\x59\x15\x73"
      "\x2d\x1b\x35\x7b\xb5\x9d\xbf\x16\x66\x7d\x0e\x7b\xfc\xf4\x47\xf1\xa5\xd3"
      "\x97\xaa\xce\x6f\x1b\xdb\x72\xf2\xf0\x16\x05\xc5\x43\x73\x06\x8f\x3b\x34"
      "\x23\xfd\xc3\x91\xa5\xc9\x4b\x6e\x06\xb6\xdc\x12\x0e\xf3\x6c\xa8\x5a\x11"
      "\xb4\xb6\x59\x76\xe3\xe3\x95\x05\x93\xe5\xbf\x48\x99\xab\xe8\x09\x8b\x26"
      "\xc4\x7b\xe6\x9c\x71\x77\x3a\x2a\x79\x62\xfa\x8a\xaa\x6d\x91\x1f\xbe\xbb"
      "\x7c\x8c\x6a\xd9\xfa\xed\x4d\xd2\xf8\x3b\x5e\x13\x77\x7a\x0f\x93\x37\x90"
      "\x90\x8e\xef\x1b\xa8\x71\x41\x56\xb2\xf6\xc8\xeb\x19\xfd\x76\xeb\x0a\x8a"
      "\x49\x5c\xb9\x59\xe7\x29\x67\xb6\xe5\xc4\x02\xc3\xb6\xc6\x2b\xf7\xb5\xdd"
      "\xf6\xbf\x11\x9a\x6d\xbe\xbe\x6c\x8b\x6d\xb0\xe2\x50\x17\x1d\xf5\x8a\xf2"
      "\x0d\x7d\x6a\xee\x6a\x55\x24\xdf\xf6\x38\x29\x58\x31\x6c\x81\x98\x8d\x8a"
      "\x81\xf2\xe9\x0f\x36\x9e\x1d\x83\xce\x4d\x28\x13\x6e\x7a\x57\xf9\xe1\x9d"
      "\xbc\x8b\xce\x46\x31\x99\x47\xf5\xab\x6a\x0e\xe7\x0a\x2c\xd7\x2b\x9a\xdc"
      "\x15\x75\x2b\x7b\x65\xfd\xb5\xe2\x77\x8a\xe6\xdd\x07\x49\x57\x87\xde\x6a"
      "\xef\x19\x5e\x5a\x68\xfe\x76\xaf\x9e\xcb\xea\xf9\x1d\x03\x74\xb7\x0b\x4b"
      "\x66\xf9\x6f\x1c\xf4\x2c\xa9\x5f\xcd\x63\xbd\x12\xe1\x9e\x2d\x95\x13\x8d"
      "\xf7\xc7\xde\x0e\x54\x6f\xf0\xc8\x1e\x5b\x5b\xb5\x49\xd1\xc8\x2b\x73\xa5"
      "\xca\x38\xed\x35\xd2\xbe\x65\x4b\x2f\xee\xb9\x92\x1f\x96\x55\x6e\xd1\xbc"
      "\xba\x5a\x72\xaa\xf4\x60\x8f\x47\x89\xa2\x1e\xce\xcd\x6e\x75\x9b\x23\x0b"
      "\x6b\x9a\x77\xc6\x75\xee\x28\x12\xf8\x59\xa0\xf3\xa6\xe0\xbb\xa6\xaa\x9b"
      "\xc5\xa0\x68\x29\xf5\x09\x2b\xde\x9e\x7a\x10\x3e\xef\xf0\x34\x79\xed\x41"
      "\x3e\xd1\xf6\x71\xd1\xf1\x2a\x0b\xfb\x79\x19\x8a\x79\x87\x58\xa9\x65\x84"
      "\xd4\x26\xee\x6b\x9f\xbb\xc0\x63\xc2\xce\xb1\x83\x62\x4f\xbf\x3d\xeb\xf8"
      "\xd8\xfa\xd9\x93\xe4\x8f\x07\x45\xe2\x5f\xbd\x59\xf2\x23\xdf\xeb\x8e\xc8"
      "\xea\x5d\xf7\x6a\x97\x27\xd6\xde\xef\xeb\xb7\xe7\x8e\x9d\xbf\x47\x9d\x89"
      "\xfd\xca\x25\x07\xba\x7d\x90\xbd\xa1\x18\x37\xce\xc0\xd2\xed\xc7\x75\xbf"
      "\xc8\x53\x66\x1b\xdd\x36\xcb\xca\xc5\xa5\xf6\x37\x3d\x73\x62\x63\x87\x7d"
      "\x78\x5a\xf1\xac\x71\x2a\xc3\xef\x4a\x7a\x5d\x9b\xbf\xe6\xc0\xda\x1f\x31"
      "\xfe\xfe\xbd\x32\xf2\x8d\x27\xf6\x9b\x76\xd1\xf1\xce\xf4\x06\xfd\xe0\xde"
      "\x3a\x99\x66\xe2\xe5\xdf\x36\x75\xf7\xab\x28\x2f\x88\x49\xdf\xf9\xaa\xec"
      "\x61\xbf\x44\xf1\xf6\x79\xfa\x81\x63\x43\x02\x8a\x8c\xc6\x89\x64\xcf\x9b"
      "\x3e\xe2\xa9\xdc\xa9\x8f\xd5\x21\xe9\x35\xf7\xc5\xa4\x3c\x6a\x47\x5b\x18"
      "\x35\xde\x57\x49\x7a\x21\x65\xda\xa6\x32\xcb\xb2\x7c\xf5\xec\x25\x03\xba"
      "\xa2\xce\x48\x47\x3f\x7b\xfa\xe6\x49\xf9\xe8\x35\xdb\x16\xd4\x9c\x4b\xea"
      "\x2b\x72\x65\x88\xef\xbc\xa6\x1d\xbb\x77\x37\x97\x68\xa6\x4c\xed\xff\xea"
      "\xfa\xfb\x23\x2e\x87\xe6\x7a\xbe\xf3\xaa\x34\x8e\xb3\x7b\x28\x92\x76\x4f"
      "\xd6\xac\xd8\x76\xc8\x2b\xeb\x41\xb1\x77\x47\x9a\x5e\x75\x79\xa1\x79\xa2"
      "\x6b\x62\xe7\x4e\xf9\x98\x3b\x02\x8a\x83\xb6\xf8\xe8\x4f\x9c\xfd\x3c\xa7"
      "\xfc\xfe\xe1\x49\xbb\x2e\xac\x2f\x94\x3b\xad\xbe\xb9\x4f\x50\xbf\xb8\x8c"
      "\xd1\xdb\xbe\x3e\x5a\xb0\xda\xf5\xb2\xff\xf1\xb6\x47\x6e\x6e\x5b\x8f\xaa"
      "\xfa\xcc\x79\xf0\x70\x8c\x70\x8e\x70\x62\xa1\x87\x58\x60\x9a\xe1\x8c\x8c"
      "\xc7\xeb\x8e\xf7\x5e\x33\x50\xf6\x86\x69\xd5\xa6\xf1\xb6\xe9\xc7\xeb\x7a"
      "\x1f\x2c\x08\x9b\xff\x4c\xb6\xc5\xb6\xa3\xdf\x60\x29\xa5\xa2\x65\x1d\x8d"
      "\xdb\x8f\xf4\xd9\xe2\x31\x60\x94\xf6\xa0\xc0\x3b\xdd\xce\x76\xab\x2a\xb0"
      "\x10\x97\x3f\x70\x56\x31\xde\x21\x63\xcb\x0a\x33\xa5\xbd\x3a\xc9\x96\x9f"
      "\xd7\x5c\xdd\xb5\x70\xd9\xeb\x28\xd9\xc1\xd9\x93\x7c\x4f\xc6\x2e\x35\xbb"
      "\x9b\x5c\x1f\xfc\xf0\xfc\xd9\x14\x85\x30\xb9\x21\xb2\x83\x97\x7c\x39\x7c"
      "\x3c\xb7\xee\xf1\xbe\xcf\xf3\xcc\x04\xa4\x83\xd4\x8e\x16\x8b\x6c\x35\x2e"
      "\x99\x2a\xe3\x3b\x55\x31\xcf\x66\xcc\x4f\x2d\xaf\xfc\x97\x89\x91\xeb\xd7"
      "\x64\x6b\xf4\x9a\x61\xef\x6c\x7e\x79\xf2\xeb\xce\x38\xed\xd7\xc3\x04\xbf"
      "\x89\x2f\x19\x67\x68\x72\x6b\x45\xd9\x53\x21\xb7\x0c\xbb\xb5\x8d\xc1\x5e"
      "\xa3\x75\x2b\xbc\x0d\x17\xab\xc4\x39\x7f\x1a\xe5\x31\x79\xdd\x66\x17\xdd"
      "\x03\x2a\xbb\xd5\x3a\x67\x89\x28\xb4\xbf\x0c\x39\x3c\xa1\xf7\x87\x29\xf3"
      "\xcf\xcd\x36\x49\xd3\x70\x9c\xec\xd7\x60\x76\x22\xe1\x5c\x8b\xd4\xf8\x47"
      "\x5a\x67\x7c\x32\xcf\xff\x3c\x7c\x5d\xc2\x44\x73\x99\xe9\xd3\x6e\x1f\x63"
      "\x4d\x6b\xce\x0f\x1f\x6b\x1c\x17\xf1\x60\xda\xaf\x0e\xcd\x89\xfb\x8c\xd3"
      "\x23\xf6\x94\x2c\x9a\xef\x99\x66\x97\xb4\xef\x6e\xbb\x41\xa2\x9a\x8b\x74"
      "\xa5\x67\x9a\xf9\xdd\xee\x12\x6f\x17\xb9\x4b\x0c\xec\x75\xb0\xcf\x88\x21"
      "\xa3\x86\xf7\x1a\xfd\x3d\xd9\xe7\x41\x9e\xea\xb4\x67\x4b\xb2\xae\x1c\x74"
      "\x5c\xf6\x71\xf6\xda\xc3\xef\x7b\xb4\xf7\x93\x57\x3b\xb7\xec\xab\xec\x66"
      "\x4f\x7d\xad\x95\xd3\xa5\x5e\x8f\xb0\xbc\x37\xfd\xac\xa6\x52\xda\xb9\x7e"
      "\x6b\x37\xdd\x09\x9d\xf9\x25\x4d\xea\xa7\x60\xef\x4d\x27\x4a\x57\xdb\x6f"
      "\x55\xca\xbb\x95\xda\x14\x2d\xe3\xfd\xb1\xea\xd2\xae\xfd\x59\x16\x7d\x3e"
      "\x8c\x6e\x09\x2d\xd2\x3b\x1c\x93\x1b\x5b\x7b\xfe\xdc\x8d\xb4\xe8\x94\x8f"
      "\x2b\x2f\x95\x36\x56\x35\xf5\x37\xd7\x5f\x28\xba\x5a\xe5\xa2\x4c\xe5\xa3"
      "\x55\xe1\x19\x6e\xa7\x97\x4e\xb8\xd4\xfd\xd4\xdb\xc0\xf5\x1e\x9a\x59\x6a"
      "\x1a\x91\x46\x71\x03\x27\x3c\x4c\xfb\x2c\x99\x70\xe9\xcb\xaa\x4d\xe9\xa9"
      "\x31\x99\x65\x17\x16\xa6\x8c\x3c\x9a\xf2\x34\x50\xda\x4a\xf2\xf2\xdc\xaa"
      "\x84\x03\x43\x74\x96\xb8\x4a\x7a\xed\x36\x50\x69\x2e\x3e\xb1\x7e\xc7\x18"
      "\x9b\xee\x0d\xe9\x22\x1a\x9b\xcd\xc2\x36\xbe\x18\x7a\xa9\x7e\xf6\x40\x87"
      "\x19\x3d\x2b\xb5\x97\x29\x6b\xde\x34\x30\x9e\x68\xda\xa4\xde\x67\xca\x47"
      "\x45\x53\x97\x13\x93\x16\x06\x3f\xb8\xb1\x6a\x55\x7d\x1f\x31\xc5\xfe\x65"
      "\x2d\x4f\x7d\x12\x27\x7b\xce\xaa\x7b\x7b\xc0\xfb\x8d\xd6\x9e\xbc\xb1\x62"
      "\xd7\x6d\xf4\x36\xea\x8a\x2d\x9c\xdd\xf7\xb2\x80\x67\xbd\xe8\xda\xd4\x34"
      "\x8d\xbe\xc9\x3a\xba\x0a\x61\xd7\x1a\x86\xb4\x46\x48\xee\x48\x2e\x13\x9a"
      "\x78\x66\x50\xd5\xaf\xcd\x71\x26\x79\x3a\xcd\x67\x8f\x78\xad\x13\x9f\x31"
      "\x7a\xf1\x2a\xb7\xa1\x4f\x5d\x0a\x4b\xbc\x8f\x0d\x08\x58\xbb\x35\x43\xfe"
      "\x94\x75\xa6\xf5\xbd\xea\x84\x12\xd5\xbb\xe3\xde\x6e\x3f\x30\x79\xc9\xbc"
      "\xde\xbb\x12\x37\x8e\xad\x58\xb8\xd6\xc4\xe2\xeb\x2d\x93\xcd\xfb\xbd\xa7"
      "\x0d\x69\xfb\xbf\xd8\xf9\xf3\x68\x2c\xdf\x7f\x6f\xfc\xbf\xcc\xa2\x88\x32"
      "\x45\xc8\x54\x49\x66\x25\x91\x29\x14\x21\x45\xca\x94\x0c\x19\x42\xe6\x0c"
      "\x99\xa7\x0c\x25\x65\x1e\x33\x24\x43\xc9\x98\x39\x11\x12\x42\xc6\x14\x42"
      "\x65\x8c\x44\xe6\xe4\xb7\xf6\xbe\xdf\xef\x3d\x7c\xd6\x7d\xaf\x7d\xef\x3f"
      "\x7e\xdf\xcf\xbd\xd7\x7a\x3e\xd6\xba\xd6\x6b\xbd\x8e\xd7\x79\x1d\xe7\x79"
      "\xac\xeb\x58\xe7\x75\x1e\x0e\x54\x3e\x1f\xda\x3b\x61\x5e\x7f\xe6\xad\x0e"
      "\xf1\xfa\x0f\xf1\xe9\x2d\xe3\xcf\x75\x79\xa3\xbf\x1b\x9e\x56\x32\x0d\x47"
      "\x67\xd7\xdf\x8c\x3c\x42\x5f\xe6\xe7\xca\x1c\x9c\x14\x43\x2d\xe2\x68\x40"
      "\x95\x90\x22\xee\x26\x11\x12\x69\xc9\x5a\xc5\x7c\x5d\x67\x94\x68\x53\xbd"
      "\x9e\x9a\xbd\xda\xbb\xd5\x78\x40\x47\x65\x9c\xc4\xea\x53\x4a\x61\x4a\xb2"
      "\xc6\x25\xdb\xe6\xc1\x46\x9e\xd3\x95\x47\x3d\xda\xca\xda\xc8\x7f\x0f\xeb"
      "\xa9\x6e\x95\xca\x49\x3d\x1e\xa6\x09\x0f\x57\x60\xfc\xf0\x8a\x9b\x51\xf8"
      "\xba\xa9\xe3\xae\x47\xf6\x77\x4c\xbd\x07\xbe\x37\xe4\x69\x94\x4b\x4b\x90"
      "\x08\x1a\x49\x9a\x1f\xb7\x3a\xd1\x17\x2f\x1f\xd3\x1c\xde\x53\x1f\xfb\xe0"
      "\xc8\x8e\x89\xad\xa7\x5b\x34\x2d\x5b\xde\xa1\xc9\x11\xbd\x41\x4e\x44\x8f"
      "\x8e\x85\x5a\xb8\x2c\x9b\x66\x31\xec\xad\xb5\x3e\xdf\xf0\xfe\xfa\xb9\x21"
      "\xcf\xcb\x6d\x75\xfd\x35\xaa\x12\x1d\x61\xa6\xaa\xdd\x77\x66\xa6\x88\x07"
      "\xf5\x5e\x16\x6e\x76\x0d\x3d\x0a\xd0\x76\xaf\xdf\xe2\x60\xd0\x0e\x7c\x3b"
      "\x92\x78\xd8\x6d\x66\xff\x5e\x9d\x60\xcd\xc7\xcf\x6f\x75\x59\xca\xc4\x7f"
      "\x26\xcd\x1e\x73\xbf\x66\x70\xb8\xae\xed\x5e\x2a\x6b\xf2\x2b\x86\x17\xc3"
      "\xd4\xea\x46\xa4\x62\x36\x0b\xc1\x92\xe7\x0f\xff\x62\xf9\x27\x3f\x3e\x00"
      "\x00\x00\xc0\xff\x40\x57\xe9\x23\xe7\x67\xdb\x3d\xfc\xb5\x99\x46\x0e\x8c"
      "\xbe\x5f\xf1\xfd\x7b\xfd\x4f\xf1\x57\xfd\xef\xf5\xff\x22\x81\x40\x38\x97"
      "\x73\xff\x04\x67\xfd\xe0\xb1\x13\x9d\x7f\x8c\x42\x77\xaf\x91\xdb\x1b\x1e"
      "\x9f\x1b\xe6\xbd\xca\x5f\x26\xb8\x45\x16\x4c\x6a\xb5\x1e\x59\x5c\x22\x25"
      "\x33\xba\x1d\xbd\x3a\x41\xe6\x7a\xfa\xbb\x42\x4c\xda\xfe\xde\xe4\x23\xeb"
      "\x09\xad\x9b\xc6\xb3\x64\x7c\x2f\xbf\x6f\xd6\x08\x5c\x1b\xde\x77\xa3\xcd"
      "\xce\xfb\xc5\x87\x6d\xcf\xa7\xab\x25\x2e\x1b\x6f\x73\x04\xcb\x45\x89\x59"
      "\xf4\xea\x33\x6b\x9e\x38\x15\xef\x64\x17\xfb\x78\xf2\xf4\xf7\xa2\x7a\x59"
      "\x5b\xe3\xa5\xf7\x47\x6e\x04\x33\x99\x5c\x0a\x1c\x3d\x4f\x9d\xfd\xce\xde"
      "\xca\xe2\xf0\x4d\xff\x93\xfd\x21\xe1\xc6\x1c\x34\xa6\x99\x12\x37\x84\xdb"
      "\x46\xe3\x82\x13\x43\x4a\x73\xe5\xb6\x46\x34\x33\xe4\x65\x59\xad\xe9\xde"
      "\x14\x9a\xfe\xbe\xe3\x49\xf5\xa4\xec\xf7\x11\x1d\xdb\xe5\xcf\x17\x5a\x3b"
      "\x94\x76\xcc\x7d\x9d\x88\x8b\xba\x2b\xcd\x57\xfb\xd0\xe9\x97\xa2\x77\xfd"
      "\x59\x8e\xa3\xdd\x99\xf7\xc7\x05\xef\x34\xcd\x1c\x38\xe2\xd5\xee\x75\x64"
      "\x54\x91\xe0\xb8\x7e\xe7\xf6\x14\xcb\xbc\xc4\xa6\xde\x9f\xeb\xa7\x2e\x51"
      "\x5e\x50\xa8\xd9\xe8\x88\xf1\xba\xa4\x7d\xcc\xd9\x34\xc0\x8b\xdb\xd5\x5f"
      "\x5b\xf8\xa8\xd4\xb7\xd1\xf6\xcd\xf2\x80\x93\x2e\xdd\x31\x3f\xcf\x5a\xec"
      "\xbf\x78\x36\x9e\x41\x3a\xa6\x3c\xc1\x25\x89\xec\x56\xcc\xec\x82\x91\xd0"
      "\x0a\xd5\xc1\x1c\x19\x63\xc3\xec\xaa\xe4\x92\xfd\xbf\x92\x0b\xaf\xef\x2b"
      "\xe4\xf0\x3f\xae\xd0\x5c\xae\x7b\x6a\x8f\xcf\x99\xc6\xb1\x78\xd6\x08\x87"
      "\xfd\x63\x44\xc2\x25\xb5\x44\x3b\x16\x54\xce\xe7\xf5\xb5\x6d\xfb\x30\xd2"
      "\x74\x2f\xc4\x8c\x30\xef\x27\x12\x3d\x59\xb7\x67\x3b\x73\xf1\x60\xc6\x4b"
      "\xa6\xb6\x47\xf3\xfe\x3c\x51\xb5\xaf\xd5\xc9\xa2\x07\x5b\xf4\xce\x13\xf3"
      "\xd6\x33\x8a\x1f\xa0\xd0\x3f\xb5\x11\xb6\xb0\x35\xf8\x7e\x74\x44\xea\x26"
      "\x4f\xed\x10\x6b\x98\x80\xd1\x0a\xfd\xdb\xc7\xb2\x8d\x32\x29\x37\x77\x4f"
      "\x6f\xd9\x6d\x57\xf1\xae\xbf\xd2\x5c\xa0\x76\xf8\xf9\xc6\xce\xdd\x8e\x3e"
      "\xa1\xc9\x80\xdb\x81\xa4\x6a\x36\xf4\x80\xa6\xea\x99\x91\xd5\x33\x14\x9f"
      "\x48\x82\xc3\xdf\xae\x74\x90\xc4\x28\xd8\xb7\x5b\xc8\x30\xa8\x3b\xf6\xe6"
      "\x13\xdc\xb4\xe8\xa7\xe2\x8f\xbb\x6d\x70\x54\x11\x9c\xe3\x62\x0e\x5d\xbc"
      "\x37\x9f\xdc\x38\xd7\xab\xfb\xd6\x2e\xfc\xce\xa3\x94\xac\x6b\xaa\x4b\x3a"
      "\x6d\x3e\x45\x97\x7d\x59\x5d\x63\x3e\x4e\x17\x09\x27\x39\x5e\x2c\xb8\x9d"
      "\x95\xb0\xb2\xfc\x89\x68\xd2\xe0\x91\xf0\xf5\xb9\x9f\xde\xbd\x21\xcf\xcc"
      "\x82\xad\xfe\x48\x27\x38\x86\xf0\x6f\xbd\xf9\xb6\x5c\xf9\xe9\xfd\x87\x8f"
      "\xf9\xf2\xb7\x48\x23\x2c\xdd\x8f\xa8\xb0\x5f\xf9\x76\x38\x9f\xc3\xef\xa0"
      "\x04\xe1\x73\x18\x2b\x95\x66\xc6\x5a\xd6\x3d\xfe\x5f\x2c\x1d\xef\xf5\x6d"
      "\xbe\x71\x0a\xdd\x6b\x9e\x7e\x40\xf6\xe2\xad\x73\xc0\x53\x95\xc1\xce\xb2"
      "\xda\x18\xc9\xd2\xb2\x5d\xc9\xe7\xa3\x6f\xdf\x73\x48\x89\xe6\xd3\x33\xa4"
      "\x19\x33\x88\xae\xcf\xf2\x48\x0f\xa1\xa9\x77\x2b\xa2\xbe\xb0\x11\x9f\xd0"
      "\xa7\x6a\x5e\x1e\x70\x6e\x52\xd4\xd6\x7f\x5b\xb9\xf5\x8d\xef\xaf\x55\x16"
      "\xe7\xc6\xd8\x7b\x1e\xeb\xcd\x37\x48\x1a\x3c\x2e\x1e\xbe\x78\xe7\x94\x56"
      "\xc7\x0d\x35\x3f\xaa\x87\x4d\xe7\x96\xa7\x5e\xbd\x78\xdf\xe7\xcb\x23\xd1"
      "\xc9\x90\x90\x6d\x28\x7a\x7c\xb7\x5f\xb6\x7b\xf4\xbb\x4b\x89\x14\xf1\x7b"
      "\xe8\xea\x55\x0d\xd7\xdb\x89\x0f\xa7\xfb\xec\x8d\x57\xdf\xcb\x55\x92\xeb"
      "\x38\xfe\x2e\xe4\xf6\x31\xa6\x8f\x47\xc9\xee\xd9\x9c\x26\xd4\x1a\x45\xa9"
      "\xd5\xb8\x7c\xfb\x1c\x43\x16\x36\xa1\xf6\xc7\xc2\xd7\x6a\x4e\xaa\x6b\x60"
      "\x9c\xd4\x51\x35\xe5\x7c\x49\x78\x2a\xe9\xee\x07\xcb\x71\xef\x49\xc7\x2c"
      "\x9e\xe8\x5d\x08\xe2\xaf\x5a\x12\xe1\x5a\xb3\xeb\x32\x61\xa8\xe0\x3c\x7c"
      "\x39\x87\xa8\x6e\x4d\x7f\x71\x4a\x5a\x93\xb3\x7d\x98\xfb\x15\xe3\xfc\x2e"
      "\x4a\xda\x63\xb5\xec\xf6\xee\xdf\x48\x6e\x9f\xd9\xab\x56\x1b\x32\xaf\x39"
      "\xfd\x5a\x69\xa6\xff\xec\x3d\x9b\x05\x57\xa9\x13\x2b\x9a\xd5\x1e\x73\x62"
      "\xd1\x15\x95\x1c\xa5\x8c\xdb\x0f\xce\xfd\x66\x9a\xe3\x3c\x79\xa0\xf4\xb2"
      "\x8b\x98\xb8\x88\x1f\x97\x9b\xa2\x4e\xde\xa9\x6a\xaa\x17\x8f\xda\x8f\x27"
      "\xeb\x76\xdb\x66\x13\xd9\x64\xbc\xed\xf4\x32\xbd\x1c\x28\x26\xf4\xf0\xbb"
      "\x61\x79\x03\x47\xaa\x29\xeb\x3b\x8b\xf4\x33\x6f\x3e\x0a\x89\xd3\xf8\x7b"
      "\xe6\x4f\xac\x34\xda\xda\xcb\x17\xc5\xe6\xe9\xfb\xc5\x53\x4e\x7e\xca\x97"
      "\xaa\x6d\xbf\xdc\x25\x1b\xad\xa9\x43\x7f\x79\xff\x57\x41\xdb\x36\xf1\xc3"
      "\x4e\xf3\x7b\x9b\xa5\x7a\x7e\xf0\xec\x7d\xb8\xc3\xb2\xe5\xad\xe7\x9a\x99"
      "\x1b\xa3\xc7\x54\x46\x6b\x62\xe3\xf9\xb3\x82\x67\x32\xbe\xd9\x6a\x8e\x8c"
      "\x55\x9c\xf8\xf1\xe0\xc8\x35\xda\xd6\x34\xd3\x3d\x7b\x1e\x75\x07\x72\x9e"
      "\x78\xf1\x6d\xf4\xa6\xad\xad\x78\x8e\x8a\xfc\xf3\xda\x13\x8c\x21\x7d\x72"
      "\xbd\xe4\xc4\x4a\xd3\x53\x72\x3e\x8e\x55\xb1\x7b\x65\xed\x25\xd9\x57\x65"
      "\xaa\x3c\x1f\xef\xf3\xb1\x7c\xb8\x76\x30\x27\x77\x41\x35\x56\xd4\xeb\xcc"
      "\xfd\x4d\xa1\x62\xcb\x13\x0d\x3b\xbc\x67\x06\x0e\xaf\x38\x89\x18\x5e\x60"
      "\x8a\xe5\xfb\x25\x42\xf4\x85\x8b\xca\xe3\xab\x13\x87\x19\xc5\xd6\xa8\xa7"
      "\x14\x3b\x57\xec\xda\xcf\x73\xfa\x2d\xbd\xc2\x97\x4e\x85\x5c\x3d\xaf\x9c"
      "\x32\x30\x53\x56\x44\x3c\xc5\x68\x42\x4b\x24\x62\x74\xe7\x8d\x3a\xeb\xe9"
      "\x92\xfc\x9d\xfe\x5e\x25\xa4\x1c\xaf\x1b\xdf\x54\x4e\x9f\x53\x52\xdb\xd2"
      "\x10\xaf\xb5\x4a\x21\x38\xad\xbf\xfb\xe4\xfc\xeb\xee\x41\xd9\xf9\xe0\xd4"
      "\x97\xf5\xa9\x17\xd8\xf5\x89\xd5\x07\x5f\xe4\x25\x2b\xb6\x10\x79\x8f\x45"
      "\xa6\xb4\xd8\x8d\x7a\x1f\x96\x5e\xbf\x90\xfa\x24\x57\xf9\x66\xf5\x53\x62"
      "\xae\x0d\xcb\x53\xae\x9b\xde\x3c\x1c\xd6\xef\x98\x4d\xbc\xe4\x08\xdf\x44"
      "\x76\xef\xec\xd3\x11\xf4\x32\xce\x57\x1f\x08\x32\x4e\x30\xb9\x25\x35\xb7"
      "\xeb\x9d\x47\x31\x3b\x1d\xaf\xa6\x30\x8f\xba\x34\x7d\xed\xd3\xd3\x7b\x28"
      "\x82\x85\x3c\xc6\x86\x9f\x1c\x18\x78\xde\x5c\x6d\x63\x7a\xfb\xcd\x99\xb7"
      "\x26\x9b\x59\x41\xc2\x33\x97\xa9\xe4\xfc\x79\x87\x14\x94\xde\x16\x3e\xb9"
      "\x22\x3d\x71\x34\x95\xce\xda\xf5\x82\x89\xe4\x2b\xc1\x0b\x1e\x1f\x1f\x32"
      "\x0f\xf0\x53\x95\x04\x5f\x0b\x62\x1a\xb7\x12\xb9\xce\xbe\x7c\xcd\x89\x2f"
      "\x41\xe3\x32\x7d\x70\x8b\x5a\xba\xf5\xc1\xc6\x30\x45\xb7\xb2\x71\x21\x85"
      "\x7c\xdb\x23\x65\x1c\x8b\x8b\xc7\x47\xa3\x5e\xfe\x3e\x37\xe6\x9c\xab\xa2"
      "\xd8\x47\xcf\x15\xfb\x3e\xce\xc3\xa0\x4e\x4e\xcf\x39\x31\xee\x5c\x63\xd1"
      "\xa0\xf2\xb4\x88\x95\x8b\x56\x45\x6f\x9c\xc6\x15\xb3\x9b\xce\x77\xb6\x92"
      "\xe2\x77\x52\x12\x49\xd6\xcf\xe6\xeb\xf3\x5b\xbc\xfe\x7a\xa0\x9f\x4c\xed"
      "\x1d\x4d\x4b\x8b\x8e\x9e\xde\xd1\xd3\x8c\xa1\xcf\xbe\xf4\x91\x53\x7f\x56"
      "\x6f\xf0\xd4\xd9\xf6\x59\x4a\x6f\x0f\x5d\xe3\xb5\x38\xdb\x38\x57\x3e\x3b"
      "\xb2\xc7\x91\xa7\xc5\x6f\xb2\xd5\xa8\xad\x7d\x6b\x85\xae\x87\xd2\x47\x6d"
      "\x68\xd4\x30\x5c\x7a\xf5\x76\xdd\x22\x7f\xa1\x78\x84\x96\x78\x86\x85\x59"
      "\xce\x93\x5d\xa6\xc6\x36\xfb\x9a\x62\x34\x3e\xeb\xea\x39\x29\xe4\xae\x6f"
      "\xf8\x3e\xae\x7e\x43\xf3\xea\xa0\xcf\x62\xac\xee\xcc\x31\xab\x06\xa3\x1d"
      "\x0e\xfa\xb7\xf9\xb5\x55\x2d\xea\xf2\xe9\xd7\x79\xae\x14\x2b\x48\x72\xf0"
      "\x8a\xb9\x96\x0a\x05\x8c\xf5\x6e\x65\xd6\x7f\x58\xf2\x64\xb2\x61\xbc\xe1"
      "\x2a\xa0\xa9\x23\x53\xd4\xfa\xbc\xc8\xcd\x49\x31\xdf\xeb\x45\xe3\x9e\x96"
      "\xc4\x40\xaa\x17\xb2\x89\x8c\xf3\x1d\xec\xe2\x92\x42\x6e\x5f\x4d\x6d\x88"
      "\x5d\x8f\xa7\xbe\x79\x16\x65\xaf\xfe\xe3\xd9\x33\xd1\xeb\x93\x31\xf7\x2f"
      "\xc4\xd0\x2b\x3f\xea\x5d\xe0\xff\x28\x7c\x2b\x8b\xeb\xc2\x25\x0a\x3f\xe5"
      "\xe6\x38\xbb\x3f\x95\x95\x74\x2c\xad\xb6\xb1\x02\xd5\xe7\x2f\x1d\xdf\x4f"
      "\x66\xba\x7e\x33\x79\x78\xf9\xd1\xbe\x47\x67\xfd\x7e\x90\x97\x1e\xb9\xbc"
      "\x58\x94\x60\xe9\x19\xc2\xdc\x4b\x74\xe8\xfb\x9b\x2d\x51\x45\xcf\x2c\xee"
      "\x3b\x02\x56\x5f\xf4\x12\xeb\xbf\xc4\x16\x39\x1a\x3c\xcd\x0e\x8c\xd1\xcf"
      "\x3b\x1a\xf1\x7e\xea\xa1\x71\x37\xe1\xdb\xa0\x78\x20\x49\xf9\x93\xa5\x69"
      "\xe1\xb6\x4c\xc5\xef\x6c\xf7\x46\xf7\xf1\xcf\xfd\x31\xbb\xf8\x53\x53\xd2"
      "\x3d\xe6\x25\x73\x73\x48\xd8\xad\x07\xfc\x0a\xa6\xaf\xfd\xca\x3f\xba\x1f"
      "\x5a\x1a\x36\x57\xee\x78\xd9\xf1\xb5\x63\xa8\xb4\x98\xf2\x8d\xff\xd8\xc9"
      "\x6a\x7a\x63\x96\x03\x9c\x42\xbc\xf3\xca\x57\x5d\x2f\x18\x88\x6e\x4b\xbf"
      "\xd3\xfa\xb5\xc8\x95\xfa\x33\xf5\xc8\xdb\x77\xde\x6b\xf5\xc7\xf9\x3b\x47"
      "\x0c\x92\xcb\xfd\xa9\xc6\x2d\xdf\x39\x2f\x17\x53\xe8\x3e\x2e\x90\x58\x5f"
      "\xcf\x99\x4e\x2f\x0f\xdc\xa8\xae\x77\x0b\xc9\xeb\x73\xe4\x7c\x52\xbd\xae"
      "\x5d\xc9\x19\x11\xc3\xe1\x7c\xec\x4b\x97\xc6\x80\x54\xd2\xf1\xdd\xe7\x24"
      "\x3b\x0f\x1e\xe7\xad\x93\xd1\xf2\x9a\xde\x12\xd8\x38\x6e\xea\xee\x49\xdc"
      "\xd5\xd2\x57\xf9\xae\x7e\xcc\xf9\xa5\x2b\x81\xf0\x51\xd5\xb9\xcf\xcb\xfc"
      "\x53\x69\xc7\xc7\x9c\xe6\xd5\x22\xdf\xc6\xad\x5c\x06\xee\xfb\x2b\x1e\xaf"
      "\x29\x3c\x3e\x35\xf5\x8a\x4f\x05\x58\xe8\x9c\x22\x29\x64\x3f\x36\x4a\x73"
      "\x61\xf2\x0b\x51\xfe\x0b\x9f\x77\xd6\x9a\x1c\xf4\x54\x91\xb2\x57\x5e\x3b"
      "\x84\x06\x9b\x06\xa8\xf4\x1c\x7b\xf1\xd3\xfb\x99\x81\x11\x87\x89\xe3\xce"
      "\x63\xc3\x55\x2d\x9b\x86\xff\xe4\xc7\x08\x00\x00\x00\xf8\x1f\xc4\xe5\xdc"
      "\x77\x9d\x21\xe7\x66\x51\x3d\xe3\x0c\x4b\xff\xb3\xef\xea\xfe\x5e\xff\x53"
      "\xfe\x55\xff\x7b\xfd\xff\x9a\x40\x20\x0c\xb3\xb5\x2b\x64\x7f\xd5\x7a\x19"
      "\x53\x7b\x4c\x4d\xf8\xeb\x31\x6d\x4f\x93\x37\xf6\x91\x2f\x64\x3f\xa9\x05"
      "\xd3\x1e\xb9\x76\x3c\xce\xd2\x31\xde\xab\xf1\xbe\x2e\xeb\x01\xcd\x5d\xe6"
      "\x19\x6a\x9f\xb4\x56\xaf\x6a\x12\xea\x18\x5e\xcf\xba\xbd\x1f\x3f\x3c\x20"
      "\x14\xf4\xc5\x23\x40\x3c\xc2\x95\xec\x9e\xec\x9c\xc7\x61\xe7\xf9\x02\x16"
      "\x81\xc6\x48\xfb\xdf\x2b\x06\xd7\x63\x46\xde\xae\xd4\xae\x2b\xd9\xd6\xf3"
      "\xbe\xbf\xe2\x29\x7b\xd3\x31\xe5\x98\x75\x98\x58\xe2\x5d\xfb\xdc\xd3\x83"
      "\xaf\x54\xd8\x7c\xde\x28\xa5\xb6\x64\xce\xda\xf1\x18\x2d\xaf\x75\x1f\x24"
      "\x91\xea\xce\xf6\x2e\x38\xf4\xe7\x6e\x83\xec\x74\xe9\x72\xf1\xf7\x05\xc9"
      "\x9f\x7b\x1b\x26\xc9\x13\x99\x99\x5d\x3c\x4b\xb5\x2a\x5e\x8b\x2b\x37\x98"
      "\x3e\x22\xe2\x5b\xfd\x64\xe6\x5d\x67\x60\x5d\x22\xc6\x74\x87\xef\xc8\x59"
      "\xaf\x59\xa6\xb6\x8a\xdb\xe3\x9b\xb5\xe2\x3e\x3f\x62\x03\xe3\xcc\x62\x48"
      "\x4f\x4a\x66\x3a\x5a\x5e\x36\xf4\xb2\x0c\x7c\x76\x44\x4c\xb9\xe7\x6a\x48"
      "\x51\x42\x6a\xf7\x30\x0f\x61\x77\x62\xfb\x35\xed\x7b\xe1\xe4\x1b\x8d\xbb"
      "\x42\x9b\x45\x92\x4e\x3e\xbf\x4a\xf7\xda\xa7\x48\x3d\x68\x7e\xf7\x55\x57"
      "\xe9\xe9\x40\x67\x23\xaf\x0e\x87\xca\x67\xc4\x87\xa4\x3b\x43\x94\x75\x5e"
      "\x7d\x5a\xf0\x36\x7d\x49\x3b\xab\x5e\x31\xe8\xcd\xfd\xe2\x73\x4d\xf2\xd5"
      "\x79\x1b\xaa\x9d\xb7\xb6\x3b\x82\x07\xe8\xde\x37\x65\x9a\x2e\xad\x10\xd4"
      "\x5a\x16\xf6\x69\x05\x13\x8f\x99\xbb\x3d\xea\xc9\x55\x6e\x52\x15\x57\x27"
      "\x9a\x26\xaf\xed\xcf\x0a\x0b\x93\x28\x0c\x5c\x0a\x34\xa6\xf6\xf5\xe0\xfe"
      "\xc9\xf5\xd5\x3f\x48\x41\x87\x6a\xa1\xe7\x27\x89\x8d\xf8\x48\xea\xc2\xed"
      "\x54\x91\xd9\x9e\xd6\xb4\xa4\x9b\xa9\xbd\x77\x4e\xb6\x7c\x21\xed\xa8\x71"
      "\xcf\x0b\x36\xb9\x6a\xf1\xec\xea\xf9\x88\xae\xbd\x1f\x73\xc4\x12\xf5\xe3"
      "\xe2\x4b\xf5\x53\xbf\x9a\x67\xe5\xcd\x36\xbf\x35\xe7\xb4\xec\x1c\xbf\xed"
      "\x37\xc0\x16\x63\x37\xe4\xd8\xeb\x93\x4d\xbd\xa5\xdc\xfa\x4c\x5e\xd4\x74"
      "\x3c\xe7\xc1\x82\xff\x4e\x5b\x95\xf9\xb3\x47\x06\x9e\xeb\xde\xd6\x17\x0c"
      "\x1a\xa4\xbe\x67\xe6\xb5\xcf\x7e\xb6\xce\x48\x20\x32\xd0\xf2\xba\x50\x91"
      "\xf2\xf1\x13\xca\x05\x0f\x52\x6c\x95\x18\xf5\xd6\x8f\x7f\x59\xd6\xe1\xcd"
      "\xdf\x2d\xb7\xb3\x85\xde\x34\xfe\x98\xe1\x7c\x7a\xfc\x35\x8d\xfb\x96\xa2"
      "\xa2\x49\x67\x73\xf4\xe8\x16\x4e\x25\x2c\x8f\x64\x98\xde\x3e\xb4\x47\xf4"
      "\xf5\xa2\x81\x5e\x16\xe5\x9e\x6b\xa4\x93\x85\x8c\x3f\x02\xce\xa6\x5f\xe1"
      "\x8a\xd8\xda\x10\xaf\x9d\x9b\x39\x7f\x89\x3c\xc0\x3b\x27\x86\x23\x23\xcd"
      "\xbb\x8f\x5b\x3e\x8d\xe9\x67\xd6\x13\xe6\x1a\xb7\x5d\x2d\x2c\xaf\x24\x6e"
      "\x16\x33\x0e\xd0\x9f\x7c\xd9\x2f\x56\xda\xc6\x78\xbe\xf8\xf6\x73\xa9\xcf"
      "\x1f\x38\x6d\xea\xae\x8f\x6e\xd7\x3d\xf1\xe6\xcb\x74\xac\x6c\x75\xa7\x36"
      "\xd4\x21\x16\x29\x90\xd1\xdc\x15\xd2\x72\x46\xf9\x92\x87\x52\xcc\xc6\x1b"
      "\x46\xf7\xaf\xdf\x6e\xc6\x8e\x8d\x8b\x53\xf0\x1f\x9c\xd3\x22\xb8\x1c\x7e"
      "\x1b\x95\xaa\xef\x9a\x9a\xac\xbc\x79\x9d\x84\x99\xd6\xe2\xce\x95\xf0\x9a"
      "\xfb\xe1\xf3\x03\xd6\x2c\x1c\x1f\xcc\x58\x95\x5f\xb6\x6e\xfa\x9d\xf3\xae"
      "\xaf\x89\x20\x21\x52\x32\xec\xe2\x9e\x1a\xb9\xb5\x41\xd1\x5d\x27\xbc\x62"
      "\x3e\x95\xcc\xff\x2a\x4b\xc3\x6f\x80\x67\xef\x18\xe1\x43\x48\xaa\xbb\xfe"
      "\x4a\xd0\x0d\xca\x90\x45\x0e\xc9\x44\x6f\xce\x32\xde\xa7\x7f\x12\xf7\x10"
      "\xa4\xd7\x3f\x07\x1e\x1c\x3b\x5c\x6e\x52\x6f\xa0\x67\xae\x53\xa4\xf0\xce"
      "\xf3\xf5\xb0\xb7\x00\xc9\xb6\x48\xab\xed\x4a\xb1\xd5\xa0\x6d\xc8\xfc\x9d"
      "\x0f\x44\xdf\x8f\x9c\x76\x7d\xd6\x5d\x5e\x6d\x61\xaf\x52\x14\xa6\x9f\xb5"
      "\xf6\x33\x4f\x7b\x26\x3e\x34\xc7\x71\xc0\x6b\x4c\xb7\x8d\x39\xb3\xd1\x73"
      "\x34\xeb\x8a\xff\x71\x61\xd5\xe9\xd6\x0f\xed\x5d\x63\xfd\xa1\xd2\xf4\x07"
      "\x93\x99\xb4\x57\xaa\x4f\x78\xfc\x22\x99\x92\xe0\xd6\x8d\xe2\x8c\x3e\xba"
      "\xe4\x7f\x4f\x4a\xe4\xfd\xcd\x3a\xc7\xa6\x42\xf9\x17\xda\x6b\x6d\x85\xf2"
      "\x12\x54\xaf\xd7\xf9\x12\x5b\x45\x7d\xc3\x7a\x1f\xa7\xd4\xe9\xd2\x29\x92"
      "\x3d\x1b\x28\x0c\xde\x68\x23\xbf\xb9\x37\x8a\xed\xe0\xd8\xcf\x51\xfe\x8e"
      "\x20\xf7\x6b\x1b\xeb\xe7\x9f\x52\x86\x0f\x48\x75\xbd\xa0\x4d\xa3\xe3\x61"
      "\x79\x24\x38\x5c\xa6\x53\xac\x70\x88\x76\x4c\x56\xcf\x8c\x89\xa7\xe1\xcf"
      "\xb7\xca\xac\x9e\xa2\x27\xab\x0e\x44\xaa\xd1\xbb\xc5\xf5\x66\x7f\x69\xbd"
      "\x48\xca\xbc\xb3\x3b\xc5\x97\xd4\xf3\xc4\x18\xa5\x7c\xd8\xa4\x48\xa8\xde"
      "\xc2\xdb\x92\x8a\x18\x69\xeb\x1b\x34\x3b\x5e\x3c\x17\xbb\x68\x1c\x54\x19"
      "\xf9\xe8\x0a\xd1\x0a\xe7\x7c\x5a\xdc\xa2\x8b\xf3\xf3\x4e\xa1\x45\x41\xb5"
      "\x7d\xd9\xa3\xf2\xc2\x1c\xcd\xb9\xba\xf5\xef\xfe\xbc\xe5\x6b\x3c\xc0\xf4"
      "\x62\x6c\xbd\x58\xf3\x8f\xad\x45\xa3\xf8\xbe\x32\x09\xd1\x9d\x33\xb5\x0d"
      "\x2f\xe5\xd2\xa8\x39\x57\x74\x5e\xa8\x50\xff\xda\x72\x59\x99\x50\xd1\x3a"
      "\x1e\xcd\x2d\xdf\x97\xbd\xaf\xa7\x70\x23\xdc\x54\xe0\xd1\x97\xb2\x9d\x54"
      "\x3c\x35\xeb\x56\x65\xfd\x1e\x6e\x42\x5f\xd9\x4e\x8b\xb0\x5e\x5e\x65\x27"
      "\xe3\xd9\x65\xe6\xc1\xcb\x92\x4d\xca\x79\xd7\xf2\x4b\x83\x4e\xc7\x7c\x3b"
      "\x53\xf9\xd7\xab\x3f\xa7\x7c\xc2\x2b\x4e\xe9\x0e\xbf\xda\x6c\xab\x1b\xc9"
      "\x35\x10\x88\xd0\xf3\x39\x3d\xed\x2e\xda\x1f\x1a\xe7\x51\x2c\x40\x11\x7d"
      "\xf7\xa3\x8b\x7c\x05\x77\x6b\x6c\xd3\x48\x53\xae\x7b\x64\x5f\x74\xb2\x76"
      "\xa0\xff\xee\x0d\xe3\xdb\xa7\xbb\x17\xbe\x69\x12\x9f\xfa\x7c\xd1\xd7\x47"
      "\xad\xac\xb3\xb5\xa8\xef\x56\x19\x63\x48\xc2\xf2\x61\x16\x39\x33\x27\x0a"
      "\xc7\xe4\x5e\xc3\x97\x76\x47\x07\x03\x6f\xf9\x1a\xea\xd7\xe6\xeb\xed\xd9"
      "\x7a\x22\xd4\xc7\xc4\x37\x6e\xec\xc2\xef\xaf\xe8\x28\x72\x52\xfa\x2e\xb1"
      "\xde\xe7\xa4\xd7\xde\x9e\xdd\x05\x75\x75\xb7\xfc\x35\x4c\x17\xd2\xd9\xea"
      "\x4e\x1c\xaa\x3c\x4d\xf5\x55\x22\xeb\x45\x46\xc3\x06\xbb\xa1\x29\xb3\xf0"
      "\x86\xcc\x78\xa2\x72\xf0\x90\x6d\x8c\xf2\xc4\xeb\x01\x8d\xa8\x94\xc3\x72"
      "\x63\x4f\x85\xeb\x26\xd2\x1b\x58\xf5\x28\x0b\xe7\x5d\xf4\x97\xf4\xd7\xdc"
      "\x6d\xa2\xab\x7a\xee\xde\x52\xfe\xb4\xa5\xde\x9f\xe8\x43\x3a\xa6\xca\x35"
      "\xb9\xe7\xa2\x9e\x80\xe1\xf7\x53\x46\x3a\x7b\xe4\x89\xcc\xd5\x57\x9e\x7c"
      "\x4a\xa2\xe6\x6e\xff\x36\x58\x29\xfc\x30\xbb\xe4\xe7\xb8\x8d\xba\xc5\xf9"
      "\xf5\x9e\x88\xdd\xdc\xfe\x79\x5f\x66\x53\xbe\x72\x1e\x1b\x9e\x89\xb0\x7f"
      "\xd6\x49\x76\x86\x69\x68\x2a\x56\x4b\x93\x9c\x86\xf6\xae\xba\xec\xa9\xe5"
      "\xa5\x72\x81\x82\x16\xab\xf2\xd9\x5f\xe7\x14\x94\xda\x75\xa2\x85\x24\x8d"
      "\x3f\x46\x74\xa8\x58\x1a\xff\x6e\x27\x4a\xac\x0a\x1e\x6c\x23\x2d\xf4\x8f"
      "\x8f\xa9\x2a\xef\x72\x7f\xb3\x2b\x2f\x2f\xa2\xc1\x32\x81\x63\x4b\x4d\x72"
      "\x48\xab\x69\x3d\xce\xf3\xd4\x11\xa9\x8b\x5c\xde\xec\xd7\x39\xb3\xf9\x75"
      "\x39\xc3\x76\xf1\x39\xdc\xa2\xf0\x7a\x22\xf7\xf1\xb0\xba\x44\x71\x93\x71"
      "\x19\x79\x9c\xaf\x9d\xdd\xd6\x7e\xf5\xcd\x00\x1a\xe9\xd8\xd3\xdb\xdd\xe7"
      "\x6f\xa4\x9e\x2c\x60\xfb\xc3\x76\xaf\xd4\x25\x5b\xd6\x3c\x4b\x66\xd7\x50"
      "\xaa\x19\x97\x56\xe5\x08\x85\xff\x80\x5e\x73\x71\x52\x19\xa5\x93\xde\xd4"
      "\x1f\xd1\xd7\x77\xec\x02\x8d\xb5\xa2\x25\x09\xe9\x8d\x16\x77\x12\x12\x74"
      "\x8d\x37\x04\x62\x7b\x7c\xbe\x51\xb8\x0e\xdd\xf2\x75\x7f\xf3\x42\xb3\x65"
      "\x64\xd2\x21\xc8\x7a\xff\xab\x95\x5d\xaf\x12\x5e\xb1\xfc\x16\xa4\xd1\x1e"
      "\x18\xc1\xdf\x83\x03\x00\x00\x00\xfc\x3f\x6e\x70\x31\x52\x46\x91\xc0\x4b"
      "\x73\xf1\x36\x21\x99\x2d\x81\x85\xef\xef\xf5\xff\x8e\xbf\xea\xff\x71\xfd"
      "\x5f\xfc\x3d\x81\x4c\x61\xda\x89\x9d\x74\x4e\xf5\xb2\xb1\x1a\x71\x00\xd1"
      "\x57\xe1\xea\x57\x5d\xce\xf7\xbf\x6a\xf1\x34\x05\x7d\x48\xf0\x71\xe9\x1a"
      "\xed\x8d\xde\x29\xc3\x71\x55\xd0\x7e\x43\x64\xd7\x2f\x76\x33\xdd\x47\x61"
      "\xf6\xfc\x63\xa7\x3c\xce\x04\x33\xf4\x24\x9b\x64\x56\xaa\xdb\x98\xcd\xcb"
      "\xd1\xf5\x70\xed\xf7\x64\x18\x3d\x72\xf6\x83\x99\xc1\xc1\xa8\xa3\xdb\x79"
      "\x6f\x0b\x15\xd2\x48\x6a\x84\xbe\x9c\xcf\xde\x29\x37\x1c\xeb\x7c\xa0\xf5"
      "\x7d\x80\xa3\xe5\xa3\x7b\xcc\x92\xbd\x03\xef\xd7\xce\x92\x94\x6f\x4b\x2e"
      "\x17\xfd\x09\x0a\xe8\x76\x3c\xe2\x5b\x45\xa8\x14\x3d\x68\x7e\xb1\xf2\x86"
      "\xeb\x67\xf6\x5b\x1c\x9b\x35\x3b\x4f\xf4\x1e\x4b\xf9\x65\x57\x2a\x5c\x7d"
      "\x4b\x57\x4f\xd2\x91\x2a\xfd\xc5\x8a\x1d\x63\xb2\xb1\x95\xca\xb4\xe8\x87"
      "\xd6\x34\xeb\xaf\x44\xb7\x2a\xf9\x64\xa2\x7f\x1f\xfd\xc5\xb1\x7d\x65\xd8"
      "\x44\xc7\xed\xe8\x7b\x72\x76\x26\xf1\xfe\xf4\xcd\xfe\xcd\x4d\xc1\x85\xc8"
      "\xa9\xfc\x79\xc2\x07\x23\xd5\xf3\x13\x1a\x9e\x1c\xd4\x13\x81\xcf\x63\x3a"
      "\x9f\x5b\x89\x49\xef\xb9\x5b\xaa\xc9\xe5\x4a\xba\xa7\x5d\xd9\xec\x93\xd3"
      "\xb5\x02\xcf\x7d\x6c\x8c\x72\x76\x87\x4a\x2a\xba\x45\x9f\x5f\x7e\x4c\x9d"
      "\xca\x6f\x4c\x4d\x94\x55\xe6\xb4\xa4\xfd\xe9\xdb\xdb\x6c\x6e\xd7\x3f\x42"
      "\x4f\x3d\x3d\xc2\xb2\x98\x0d\xc4\x26\xc6\x55\xe5\xe6\xba\xcd\x13\xb9\x76"
      "\xb0\x3b\xb9\xb4\x95\x17\xbd\x76\x27\xfe\xb3\xf3\xb8\xa3\x9e\xfa\x15\xe2"
      "\x13\xcf\xf8\xb8\xa9\x32\x1a\x5b\xba\x32\x2b\x7a\x25\xd3\x6c\xb8\xf7\x29"
      "\x3f\xcc\xf3\x51\x3c\xc3\x66\xff\x32\x4b\xe1\xbe\xeb\x98\xef\x0d\xd3\x59"
      "\x12\xf3\xc7\xd6\x44\x27\xb5\x13\x92\x0f\x4c\x55\x51\x4e\xca\xdc\x2d\x75"
      "\xf4\x2c\x2f\x67\xc9\x54\xdf\xa4\x5e\x2e\x67\xd3\xa6\x8e\x1a\xb8\x9e\x17"
      "\x62\x9f\x61\xea\xf0\xd4\x7c\xe4\x93\xa4\x8f\x5a\xd7\xee\xa6\xf5\x7d\x6f"
      "\xa9\x4a\x85\xc5\xd8\x12\x68\x5e\xf5\x37\xad\x5d\xda\xbe\x55\xa2\x5a\x63"
      "\xf9\x62\xa0\xbf\xc4\xfb\x42\x96\x8b\x9b\x65\x19\x6d\x60\xb1\xf8\xbe\xd0"
      "\x0b\x3f\x9e\x74\xfd\xba\xc2\x9f\x28\xfb\xf9\xb3\xc1\x52\x97\xab\x13\x73"
      "\x48\x35\xc3\xb3\x90\xbe\x4c\x51\x12\x31\x31\xf5\x8f\xb5\x46\xa4\xb5\xdc"
      "\x5b\x3f\xf8\x4d\x03\x17\x19\x92\x0f\x79\xab\xab\x37\xaf\x5d\x10\x2a\x72"
      "\x1e\x74\x23\xe1\xba\xe1\x6a\x41\x1b\xba\xd7\xfd\xf0\x0f\xed\xe7\x21\xd6"
      "\xce\xf5\x17\x75\x5e\xd9\x34\x6c\xec\xe1\xf7\xec\x70\xa0\x55\xff\xe9\xe6"
      "\x40\x95\x31\x76\xcf\x58\x8b\xf8\xc4\xe2\xd9\x2b\xdb\x8d\xb9\x73\x79\x8a"
      "\xbb\x34\xd9\x8b\xd8\xb7\xa8\x43\x18\xa4\x4e\xad\x0a\x7b\xee\x7e\xc4\xbb"
      "\xda\xaf\xf4\xe1\xbe\x57\xf6\x7e\xe3\x13\x39\x74\xed\x5a\x79\xf7\x4e\x6e"
      "\xc4\x09\xd1\xca\xc5\x3d\x94\xb6\xdb\x19\xa5\xe7\x5e\xb5\x56\x6b\xeb\x52"
      "\xf6\xe2\x63\xc1\xfa\x2b\xe3\xca\x23\x8d\xf4\x76\x42\x3f\x0b\xbd\xc4\x0d"
      "\x6e\x7f\x79\xf8\x8a\xe1\xcd\xe0\xc2\xfd\x51\xab\x2f\x5f\x9b\x15\x65\x47"
      "\x85\xbd\x2c\x9e\xf7\xc5\xd3\xed\x18\x4a\x3e\xc6\xbd\x78\x31\x2d\x71\xac"
      "\xcc\xc1\xdb\x2a\xc0\xcc\x34\x53\xdf\x27\x63\xf9\x72\xb0\xec\x19\xde\xf9"
      "\x89\xf1\xf8\xd4\x20\x96\xb3\xac\xd9\xc9\x33\x45\x72\x0c\x74\xda\x82\x89"
      "\x62\xe5\xbc\x45\x95\x8f\x6f\x4e\xa6\x50\xf2\xe4\xbc\x37\x57\x5f\xca\xfe"
      "\x26\xf4\xd0\x5a\xe5\xc0\x00\xe3\xfc\x67\xaa\x64\xe3\xcd\x54\x8b\xae\xc4"
      "\xa9\x46\xca\xa7\x2b\x52\xa4\x0d\x32\x15\xd3\x9d\x6f\x0a\xda\x58\xf8\x2e"
      "\xda\x85\x24\xac\xb3\xa9\xd2\x84\x8c\xb7\x85\x96\xf4\x96\xdb\x36\x90\xf4"
      "\x8b\x86\xab\x0a\x76\xa6\x50\x9d\x2a\xf8\xc2\x19\xa0\x52\xba\x54\x78\x6d"
      "\x86\x8a\xb1\xe1\xa5\x9a\xa2\x3e\x73\xe9\x58\xc6\xa3\xad\x10\xce\x16\x66"
      "\x12\x73\xd2\x1b\xd2\x0d\xe6\x43\x99\x6d\x87\x1a\x34\x82\xba\xc3\x99\xa3"
      "\xde\xcf\x26\x18\x5d\xd6\x3d\x16\xaf\x67\xf0\xa4\x67\x47\xf7\x57\x32\x81"
      "\xbc\x2e\x0f\xfe\xeb\x7b\x77\x6c\x89\xce\x90\x08\x86\x4b\xca\x85\xc8\x2d"
      "\xda\x7d\xae\x6a\xf6\xae\xb2\x6e\x37\x75\x1d\x92\xa1\x4d\xa2\x20\xaf\xbf"
      "\xa4\x7c\xcd\x70\xf0\xd5\xbe\x3a\x79\x67\xf7\x84\x24\x6d\x6d\x6e\x22\xaf"
      "\xc7\x03\xcb\x41\x5d\x9b\x3f\xc9\x9e\x2c\x6f\x3f\xd5\x3b\xb3\x57\x8e\x7b"
      "\x61\x38\xf3\x53\x17\xc9\x5d\x13\x29\x1d\xd3\x38\x4d\xbd\xae\x3b\xbf\x67"
      "\xf6\xbc\xbf\xa8\xe0\x33\x7e\xf7\xe9\x5d\xe1\xfc\xc0\xd3\x7d\x97\xad\x5d"
      "\x4a\xd8\xc7\x8f\x5a\xdf\xe8\x2e\x7f\x7b\xa1\xe5\xe6\xd5\x6a\x97\x59\x12"
      "\xab\xce\x11\x19\xb9\x41\x5a\xb6\x90\x67\xd7\x46\xaf\x56\x0e\x6b\xd1\x2a"
      "\x08\x4f\xf7\x4b\x1e\xf3\xe9\x18\x5c\xc9\xec\xb9\xfa\x49\xc3\xed\xd7\x1f"
      "\x67\xa6\x09\xa6\x68\xbd\xd5\xdb\x27\xa7\x0d\x4d\x05\x9e\x85\x28\xce\x68"
      "\x0a\xa5\x4e\x7d\xd2\xb8\x1b\xba\x6d\x51\xf1\xa2\x53\xe9\xcf\x2f\xa5\xc3"
      "\x4b\xa3\xa7\x6d\x03\x2e\x58\xbd\x9d\x6f\x9b\xae\xd8\xfd\x94\xc0\x15\x7c"
      "\x2f\x78\xe0\x73\x53\x55\x3a\x59\xa7\x1c\xd7\xcf\xe3\x2d\x06\xcf\xea\x16"
      "\x57\x3b\xd3\x5d\xbf\x5d\x0b\xe5\xff\x5d\xfc\xcb\xf0\x44\xf1\x21\x77\xa7"
      "\x73\x1f\x43\xb2\xbe\x65\xda\xaf\x15\x34\xf8\xfc\x30\x78\x7a\xeb\xd6\xcb"
      "\x87\x35\x12\xac\x3c\x73\xb3\xe1\x1e\x31\xac\xfb\x06\x88\xe4\xea\x95\xf8"
      "\x24\x83\xcd\xac\x58\xfc\xab\x92\x87\x1c\x8e\x46\x78\xb2\xaf\xb0\x34\xc4"
      "\xf1\x09\x1c\xc8\x6b\xc9\x60\x60\x8a\xf1\xfc\x40\x1c\xcf\x40\x9d\xd5\xf4"
      "\xa6\x25\xdb\x82\x4e\x4f\x76\x6f\x6d\xa9\xdb\x0b\x62\x86\x13\x5f\xcf\xdf"
      "\x59\x9e\x28\x3f\x7f\xdf\x80\x41\xa7\x63\xab\x39\xa0\xf1\xee\xc7\x5f\xba"
      "\x54\x13\x86\xf2\x3a\x47\xd2\xe9\xcf\x7e\xcd\xa1\x34\xfd\xad\xa5\xad\x36"
      "\x90\x37\xd1\x1d\xb9\x6f\x42\x9e\xf6\x5b\x63\x57\x93\xf7\xf6\xf1\xd8\xc0"
      "\xd3\xd5\x9f\x8f\x39\x46\xe9\x1a\x88\x4d\x47\x58\x0b\x4e\x11\xf1\x2d\xb5"
      "\x4e\xb6\xcd\x5f\xa4\x71\x5b\xec\xed\xac\xdf\xa5\xf6\x69\x97\xc5\x9f\xc3"
      "\xe3\x06\xd7\x95\xec\xe9\xde\x94\xf4\x05\x3e\xa0\x2c\xae\xf8\xae\xe4\x9d"
      "\xaa\x9a\x51\xc5\xdb\x50\x7c\x7c\xbb\xe1\x9b\x8c\x80\x02\xa7\xd9\x28\x69"
      "\xb6\x9f\x70\x00\xcd\xb8\x7d\xff\x6c\xff\xe9\xc3\xc2\x0f\xc4\xe7\x47\x98"
      "\xeb\xdd\xb7\xd7\x58\xef\xc4\xbc\x7e\x5f\x62\x72\x41\x5f\x58\xa1\xf4\x77"
      "\x01\xe9\x83\x2c\xda\x87\x8a\x5a\x7c\x89\xdb\xbe\xc4\x0f\x83\x02\x6e\xa5"
      "\xef\x19\xba\x58\xb5\x9a\x2d\xd4\x67\x98\xa2\x56\xa3\xfc\x70\x99\xf6\xc0"
      "\xf9\x4b\xe6\x46\xc9\x3a\x3f\x35\x78\x2f\xda\x37\xe8\x5c\x20\xfe\xbc\x62"
      "\x7c\xa2\xeb\xe4\x57\xc5\x64\x52\xce\xe5\xa9\x73\x75\x4e\x6a\xbc\xfb\x19"
      "\x15\xe7\x97\x78\x2b\x2a\xb8\x53\x6a\x3c\xec\xf6\xbf\x7d\xfa\x6c\x57\x7d"
      "\x58\xc8\xc3\x0c\xb2\x47\x22\x0d\xf2\x8f\xdf\x9c\x68\x8c\x9b\x78\x34\x13"
      "\x37\x73\x7f\xe8\xf8\x0d\xc3\x63\xb1\x3f\x3e\x1b\x04\xfa\x30\xdf\x0d\x50"
      "\xbd\x7c\x40\x90\x23\x4f\xd0\xc0\x70\xe9\xf7\xa1\x5a\xdd\x88\xee\xe5\x57"
      "\xec\xf6\x4e\x7a\x9d\x5e\xf7\xcd\xfa\x45\x53\x57\x32\xc2\x22\xaf\x0d\x9f"
      "\xab\x73\xfc\x71\xb0\xe0\xed\x65\x81\xdd\xbc\xab\x63\x1a\x87\xd2\x26\x0f"
      "\xea\x5c\xcb\xb8\x1e\xa1\x4a\xf1\x38\xfb\x0e\xaf\xaf\xcb\x82\x8e\x16\xa3"
      "\xe9\x8c\x9a\x20\x19\x0d\xa5\x42\x55\x4d\x17\xcd\xed\x93\x44\x9d\x71\xf7"
      "\x02\x6e\x0a\xa7\x9d\x4f\x8f\x7f\xbf\x3b\xc1\x46\x93\x75\x4d\xf3\x82\x21"
      "\xd5\x48\x1e\x45\x71\x19\xe9\x97\x6f\x7b\xc3\x26\x17\x76\x96\xfc\xd2\xae"
      "\x2f\x9e\xea\x10\x12\x27\x77\x25\xd1\xdb\x62\x24\x39\xca\xe7\x21\xfa\x4f"
      "\xfe\x3a\x03\x00\x00\x00\x80\xff\x42\xcb\xaa\xc2\x2e\x86\xdb\xab\x99\x41"
      "\xde\x0f\xae\x57\xf4\x8e\x3c\xf8\x7b\xfd\x4f\xf5\x57\xfd\xef\xff\xff\xd7"
      "\x48\x20\x10\x88\xfc\x5c\x3b\xf3\x29\x0f\x67\x1d\x3b\x92\x9f\xbd\xf3\xd0"
      "\xd1\xfa\x43\x37\xb2\xef\xb9\xee\x58\xda\x3c\x33\x12\x6f\x53\x1f\x68\x62"
      "\x12\xa6\x35\x26\xf7\xe1\x7d\x78\xdf\x75\xa2\x2d\x4a\x8f\x00\xee\x88\xb1"
      "\x31\xad\x18\xd5\xc4\x16\xba\xc4\xe7\x37\x78\x64\x6d\xb8\x13\x5f\xc7\x7a"
      "\xec\x7e\xec\x2f\xb5\x33\xe9\x89\x5b\x2f\xab\x0c\x03\xe3\x9f\x33\x56\x5c"
      "\xc7\x3a\xb8\x3d\xa9\x98\x1e\x9f\x63\x99\xf7\x31\x15\xab\x2b\xbe\x1b\xf8"
      "\x58\xb3\x37\x2b\xf3\xb4\xa1\x68\x1c\x25\x63\x43\xd6\xd9\x84\x37\x09\x6d"
      "\xb9\x8d\x77\xa4\xf4\x9a\x67\xd3\x82\xf5\xd5\x6a\xfd\x54\xa6\xdb\xf4\xde"
      "\xaf\xd3\x84\x7a\x5b\x67\x11\x87\x9a\x1f\x6a\x7e\xca\xd9\xfd\xa5\xf1\xc7"
      "\x39\xf6\xa7\xd1\xe4\x65\x67\x02\xe3\xcd\x9f\x85\x3f\xa8\x9a\x17\xce\x5b"
      "\x4b\xe0\xd9\x1c\xe1\xe7\x1b\xa7\x2a\x26\x13\x4d\x72\x67\x6f\x3a\xfa\x9c"
      "\x34\xcc\xff\xc6\x5c\x45\x87\x6e\x81\x31\x43\x93\x3f\xd7\x55\x8d\xb5\xe0"
      "\xd0\x08\x85\xfb\x16\x2d\x64\x76\xa3\x79\x47\x13\xb8\x9d\x6b\x6a\x3e\xc9"
      "\x17\xdc\x3b\xba\x5f\x35\x57\x5f\xf6\xfb\xdb\x57\xe5\x94\x97\x46\xa7\x0f"
      "\xd3\x51\x86\x5f\x6e\x57\xbb\x4c\x5a\x65\xe1\xaa\x5e\x95\xfc\x35\x40\x53"
      "\x33\x5d\x47\xcb\xa2\xb5\xf6\xd1\xbb\x24\x37\xb5\x8d\xe1\xbd\x05\x35\xbd"
      "\x4f\x46\xd4\x2e\x93\xaa\x7d\x94\x18\x1f\xb4\xf9\x26\xcf\xf6\x67\x89\x34"
      "\x3e\x25\xbe\xc8\xbc\xb4\xef\xc3\x48\xb6\x87\xdf\x70\xe6\x58\xdf\xea\x8c"
      "\x21\x33\xd1\xf7\x9b\x59\xe7\xef\x78\xf3\xa6\xf7\x36\x0c\x3c\x1c\x90\x39"
      "\xbd\x36\x9c\x37\x7a\xf7\x15\x97\x3e\x29\xd7\xbb\x07\x47\x77\x36\x7c\xd7"
      "\x22\xbd\x96\x66\x18\x3e\xdd\xdb\x9c\x4e\x9d\x36\xc1\xb5\x2b\x78\x7a\xb9"
      "\xff\x1b\xf1\xbe\x81\x87\xef\x25\x6a\xef\x1a\x2c\xef\xa8\x2d\xff\xdd\x94"
      "\x4c\x7e\x9f\x83\x97\xea\xb4\x5f\xa0\xd3\xa5\xab\x22\x6e\x1f\xeb\x67\x24"
      "\xdb\xc9\x06\xb6\xfb\x82\x12\x17\xf6\x5e\x7d\x94\x1a\xb1\x7f\xb3\x44\x6e"
      "\xc3\x8e\xb9\xaf\xb7\x4f\xe3\xd0\x7d\x6b\x8e\xfe\xb2\x08\xf1\x92\xf5\x07"
      "\x81\xf6\x66\x0f\x5f\x73\x72\xd0\x7e\xe2\xaf\xb3\x9d\x39\xa8\x7a\x36\xd1"
      "\x3c\xe5\x76\xad\xea\xb4\x14\xf7\x47\xe6\x21\xd3\x98\x93\x4e\x2c\x5d\x3a"
      "\x29\x05\x1d\x2f\x0a\x74\xec\x82\x1f\x08\xb2\x6d\xe9\xda\x9c\x3c\xad\x4d"
      "\x59\xee\xed\xb0\x5e\x98\x77\xc5\xba\x57\xeb\xdb\xb0\xb3\x2d\xeb\xf4\x6a"
      "\x5b\x9b\x5a\xd6\x43\x8b\x5d\xf7\x34\x09\x71\x41\xb4\x89\x8e\xdd\x95\x53"
      "\x4c\x7f\x48\x98\x73\xd6\x6e\x4d\xb9\xbd\x18\xa2\xb6\x5d\xfd\xaa\xb2\x33"
      "\xc6\x6e\xcd\x43\x67\xaa\x26\x82\xc1\x2e\xb9\xa2\xf2\x59\x6a\xd6\xd3\x5c"
      "\x8e\xfe\xa6\x60\x35\xad\xa3\x22\xdf\x2d\xac\xdb\x8c\x44\xa3\x29\xfd\x0b"
      "\x2f\x3d\xa6\xfb\x45\x47\xe0\x89\xb2\xcf\xe1\x6b\x5a\xb9\xb3\x6d\xc8\x76"
      "\xad\xa2\xe8\x9b\x08\x6f\xc7\x5b\x0d\xe9\xc6\xf2\xe7\x53\xc9\x59\x7c\x8c"
      "\xc6\x8a\x3d\x0f\xce\xdf\x90\xbd\x33\xab\xc0\xf5\x9b\x4f\x33\x32\x57\xbf"
      "\x34\x7f\xf0\xe6\x8b\x0b\x7e\x81\xef\x9b\xb7\x83\x2f\x3f\x3c\xbc\xd1\x9a"
      "\xfb\xce\xa1\x50\xe2\x63\xb0\xa0\x4c\x3a\xed\x30\xeb\xed\x77\x64\xec\xcd"
      "\xb3\x5e\x42\x8e\x01\x05\x13\x8c\xec\xdb\x85\x33\xc4\xa1\xb9\xbf\x5d\x5b"
      "\xba\x39\x53\xb3\xdd\xf9\x27\xad\x3e\xce\x53\xbd\x3b\xc6\xd6\xb9\xa9\xb0"
      "\xdf\x21\x6a\xa7\xd5\x5a\x6b\x8e\x5b\x54\xf8\xd3\xe5\x25\xc2\xb1\xa9\x1f"
      "\x12\xbd\x92\xa2\xb1\x9d\x0f\xe6\xba\x17\xed\x83\xe4\x85\xbf\x19\xa6\xdc"
      "\x59\xde\xcf\x72\x50\x54\x4b\x21\x55\x40\x61\xdf\xc9\xf2\xd6\x68\x19\xc7"
      "\xd0\xcb\x9a\xb1\x17\xf6\xec\x97\x75\x6a\xca\xf6\xa1\x12\xbd\x13\xc0\x72"
      "\xf3\x0b\x65\x64\x6f\xd8\x5a\x24\x47\xe5\xf5\xb5\xa6\x56\xfa\x12\x2a\x9d"
      "\xde\x5d\x05\x17\x64\xf7\xb4\xd2\x34\x14\x25\xb6\x76\xf0\x6a\xe5\x7d\x88"
      "\xfa\x79\x91\xac\x9a\x25\x49\xe5\x62\xbd\x66\xd2\x71\xcf\xda\x25\xbe\x13"
      "\x54\x17\x1e\x88\xed\xae\xbd\x22\x49\x6a\xfb\xb9\x4b\xee\x0a\x55\x82\x28"
      "\xa5\x97\x44\x8f\x5e\xd0\xbb\xaa\xc6\x8d\xe2\xa9\xfb\xaa\xd3\xcf\x77\x28"
      "\xd1\xac\x4a\x05\x16\xbb\x65\x9c\xca\x56\x91\x71\x7e\x18\x37\x7f\xd3\xce"
      "\x52\xd5\xc8\xd6\xf7\x4f\xc5\xb9\x4e\x42\x8e\x09\xc5\xbb\x4f\x97\x7e\x78"
      "\xec\x12\x7b\x23\xe6\xee\x5b\xee\x2a\x7f\x27\xed\x71\xc2\x3d\x2d\xc2\xae"
      "\xf4\x7a\xa2\x87\x84\xf3\x0a\x0d\x65\xa4\x07\x4f\xb4\xda\x99\x0e\xb8\x4d"
      "\x25\x46\x58\x18\x6a\xa6\x37\x9d\x14\x89\xfa\x60\x6c\xb2\xeb\x67\xb5\x36"
      "\xf7\xb2\xee\xab\x27\x57\x72\xb7\xe5\xa9\x5e\x99\xf4\xf8\x1d\xde\x9e\x4e"
      "\x98\x54\x59\xa4\x49\x3a\xea\x2a\xb2\x3b\xe5\x74\x50\xe3\xcc\xfd\x93\x0b"
      "\xfc\x4f\x8a\x9b\x0f\xdc\xdc\x1a\x63\xf7\xda\x0c\x59\xa9\x9d\x51\xf1\xb1"
      "\x1e\x13\xd7\xbb\xbf\xf7\xfc\xf8\x78\xf0\xbb\xc8\xc3\xf2\x17\xd6\x53\x42"
      "\x3b\x5b\xb8\xa3\xae\x7e\x7b\x57\xc2\xce\x24\xa6\xfe\x33\xb1\xed\xeb\xa2"
      "\x49\x90\xb0\xf3\xa2\x7d\xc0\x67\x65\x95\xbc\xd5\xbc\xbc\xca\xb5\xd9\x07"
      "\xe2\xf1\xd1\xb3\x42\x9e\x31\x0b\xb1\x3f\xc6\x1f\xbe\xe5\x63\x0c\xba\x91"
      "\x9e\xc0\xe2\xbd\xb0\x83\xf7\x85\xb5\xd0\x63\x26\x91\x22\xaf\xd5\x9d\x27"
      "\x56\x5c\x2e\x48\x07\x79\x9b\x5f\x55\xa5\xd5\x0f\x1f\x7a\xed\x23\xf3\x3d"
      "\x86\x38\xea\xc2\xe4\x59\x21\xfd\x33\x63\x55\xef\xda\xbe\x09\x3f\xe7\x0d"
      "\xa5\x0e\x2e\x93\x34\xbc\xef\x64\x9b\x6b\x26\xec\xa6\x97\xc2\xdf\x3b\x2c"
      "\x7c\x76\x94\xe0\xc9\x99\xab\x91\x97\x9c\xcb\x7d\xe6\xa5\x93\x8d\x79\x0b"
      "\xcf\xa7\xb6\xfe\x6b\xaf\x2f\xfd\xe6\xec\xd2\x1e\xa0\x9c\x48\x1d\x9c\x65"
      "\xdb\x0e\x08\xd4\xaf\x5f\x68\x26\x3f\x70\xfa\xbc\xba\x72\xee\x41\x85\x3d"
      "\xca\x79\xfb\x8b\x0f\xdd\xbe\x57\x43\xc1\x67\xf1\x3b\xe0\x74\x63\x24\x1f"
      "\xc7\x15\xfe\x27\xb3\xb2\x7a\xfd\x35\x47\x7c\x44\xfb\xe4\x63\x62\xcb\xf5"
      "\x52\x92\x82\x8f\xde\x94\x5d\x9e\x3f\x18\xb1\x44\x51\x1f\x2f\xa7\xa9\xa5"
      "\x69\xf7\xf9\x4a\x00\x6b\x74\xfd\xf9\xfc\x09\x6a\x8e\x70\xb5\xa0\x1b\xf7"
      "\xd7\x54\xcf\xde\xa0\x4a\x60\x5f\xad\x76\x9e\x78\xa2\x5f\x46\x4a\x73\x5e"
      "\xe5\xbe\x56\x67\xd5\x8e\xbe\xd3\x2f\x4b\x4f\x1b\x77\x1f\xd9\xb8\xab\xd5"
      "\x53\x9f\x2f\xbc\x9a\xae\x19\xf2\xb9\x71\xbf\xf2\xc1\xd1\x0d\x0e\x91\x96"
      "\xc2\xf6\xea\x5b\x83\x6b\xbb\xf3\xd6\xd5\x23\x17\x26\xed\x7e\xdb\x2c\x70"
      "\x9e\x78\xbe\xb4\x2a\xc5\x3c\xc0\xc0\xcf\xad\xdf\x9a\x78\xbd\xf9\x8a\x81"
      "\x5f\xc2\x51\xcb\x5a\xf7\x88\x81\xaa\x87\x9f\xa5\x39\xaf\x17\xf9\x3f\x18"
      "\x64\x14\x4f\x52\x32\x5a\x78\xf9\xf1\x3b\xc5\x5d\x43\xe7\xb0\x76\x11\x97"
      "\xf3\xd2\xfc\xbe\x8d\x35\xf9\xc7\xa5\x73\xef\x29\xd7\x7f\xf2\x0f\xbd\x74"
      "\x43\x6b\x23\xc9\x85\x24\x79\xcc\xe7\x70\xe0\x40\xf6\x64\xa7\xa5\x26\x5d"
      "\xcf\x2e\x6a\x47\x76\x96\xf6\xe1\x74\x5d\xe5\xd7\xc9\x4c\xe7\xf7\xd0\x49"
      "\x0b\x89\x7d\xb2\xaf\xba\xdd\x92\xa6\x21\x52\xf6\xa9\xf2\xdc\x8a\xe5\xf7"
      "\xcc\x4a\x86\x27\xfe\x77\x68\xce\x84\xd0\x6c\x5f\xd6\x23\xd5\xae\xf6\x5e"
      "\x98\x93\xa9\x69\x98\x5d\xb4\x13\x29\x8e\x36\xec\xa3\xb4\x3d\xfb\x25\x27"
      "\x66\x34\x67\xc4\x5e\xd5\x89\xab\xa1\x60\x38\xff\x60\x6f\x81\x84\xde\xc5"
      "\x9b\x12\xc4\xa7\xed\x6d\x98\x35\xaa\x9e\xb9\xfb\x2a\x7f\x57\xcf\xfc\x3c"
      "\x63\xa3\xef\xcd\x9a\x79\x6c\xdf\xe3\x1d\x19\xa3\x8c\xb6\x3f\x6c\x53\xdb"
      "\x6b\x27\xfc\x29\xe7\xe8\xee\x5d\xe9\x15\x22\xd6\x2b\x19\x2b\x99\x50\x8c"
      "\xb9\x4c\xb3\xb3\xa8\x87\x7c\x3e\xb7\x35\xc9\x36\x5e\x9d\xe1\x50\x77\xf5"
      "\x56\x59\xdb\x8e\x48\xf5\xc1\x81\x7f\xf2\xd7\x1a\x00\x00\x00\x00\xfc\x1f"
      "\x28\x26\xff\xea\xdd\x7f\xeb\x38\x59\x77\x5c\xbd\xb4\x73\xe1\xaf\x57\x67"
      "\x44\xe9\xeb\xc7\x14\x7f\x09\x08\x8f\xfb\xbb\xc9\xed\xf4\xf8\x72\xf2\x8b"
      "\x79\xec\x77\x0e\xcf\x8d\x84\xd4\xe2\x9e\xb1\xbb\x92\x69\x25\x4d\xeb\x36"
      "\x3f\xcc\x93\x96\xd9\x9e\x16\xbe\x9c\xe4\x0a\xb6\x29\x6c\x0e\xaf\xa7\xa9"
      "\x70\xcf\xce\xb6\x52\xff\x43\x97\xbe\x7c\x43\xe9\x80\xeb\x83\x87\xa3\x6f"
      "\xbe\x58\xa4\xee\x31\xc9\xd3\xe7\x0a\xb9\x3e\x79\x8a\x24\x6c\xf4\x56\x4c"
      "\xf8\xa3\x2b\xbd\x3d\x6e\x2e\x47\x1c\xc8\x77\x93\xe8\x86\xc6\xe9\x37\xe8"
      "\x89\x1c\xa9\x3e\x47\xde\xad\x9b\x12\xeb\x71\xe6\x26\x0f\xe9\x6e\x8e\xef"
      "\x4d\xfc\x95\x7c\x4b\xa2\x8c\x3d\x59\xc4\xa5\xf2\x15\x3b\x28\x0a\x35\x4b"
      "\x42\x89\x74\x9d\x36\x95\x2b\x0b\x1a\x53\x7e\x9e\x96\x1a\xa5\x29\xba\x31"
      "\x78\x92\x46\xe7\xfd\x9b\x68\xfe\xfb\xf8\x3d\x53\x00\x00\x00\x00\x00\x00"
      "\x80\xff\x86\x5b\xf7\xf8\x3c\x87\xae\x86\x6b\xfa\x77\x99\x90\xd9\x6e\x69"
      "\x56\xfc\xbd\xff\x4f\xfc\x57\x9d\x99\xf0\xbf\xf6\xff\xb5\x88\x09\x84\x14"
      "\x91\x11\xa9\xc0\x37\x8b\x67\xc7\x5b\x9c\xe9\x6f\xbd\x9c\xbf\x7b\x5b\xab"
      "\xbd\x41\x68\xbd\x2d\x36\xee\x6d\xf3\xca\x13\x7b\x2a\xa5\xf1\xcb\xa3\xd2"
      "\x65\xcb\x12\x26\x97\x2f\x9f\x9d\xbe\x51\xc8\xf1\x23\xbe\x23\xbc\x82\xbf"
      "\x9a\x5f\xf7\xbd\x6f\x21\x6f\x3e\x99\xd9\xd2\x4c\xe8\xbc\x1f\xcd\x0d\x81"
      "\xde\x1a\x01\xea\x07\xe7\xd4\x67\xd3\xfd\x6e\xf4\xa8\x59\x9e\x39\xc7\x1f"
      "\x67\x5f\x52\x2d\x76\x4d\x22\xea\x83\xb0\xa8\x6a\x65\xb1\x50\xbc\x68\xd5"
      "\xb9\xe6\x80\xa5\x2f\xf7\x3a\x74\x45\x6e\xb9\x4a\x77\x09\x65\x0e\xd1\x2b"
      "\x9f\x3b\x6e\x3e\xde\xa0\x42\xed\xdb\xfb\x40\x67\xef\xfd\x02\x96\x86\x3f"
      "\xc4\x0a\x93\x1d\x5f\x45\x9a\x3f\x71\x86\x58\x5d\x35\xee\xbf\x9c\xad\xd0"
      "\x91\x9d\xb0\xf2\x79\xa2\x36\x89\xb1\xde\x34\x7d\x54\x2d\x7f\xad\x90\x3c"
      "\xb2\xb5\x2f\x8a\xd6\xa5\x43\xa7\x23\x95\xf6\x67\xda\x7b\xbb\x45\xfb\x00"
      "\xca\xc7\xdd\x19\x93\x26\x57\xc6\x1e\xd1\xcd\xdd\xf2\xfc\x3d\xf1\xa5\x24"
      "\x6e\xee\x21\xe5\x55\xa1\xc9\xd5\x9c\x96\x18\x8e\xb5\x36\x57\xcd\x13\xde"
      "\x34\x17\xe3\xe8\x64\xa2\xf7\x9d\xb8\x94\x9d\x48\xdc\x58\xbf\xfb\xdd\xed"
      "\x12\x8b\x81\x0f\xa5\x85\xac\xdd\x26\xf4\x72\x84\x17\xb4\x5a\x2f\xaa\x44"
      "\xf7\xd1\x17\x9a\xec\x79\x3b\xfd\xe4\x5d\x59\xc6\xfc\x73\xf1\x1f\x3c\x5a"
      "\x33\xb1\x49\x69\x23\xdd\xf5\x57\xae\x85\xb2\xbf\xd5\x23\x61\x57\x61\xe3"
      "\xbb\x12\x93\xbb\x20\xf2\x2b\xe3\xdc\xfc\xce\x8b\xc5\xb1\x4e\x7e\x5b\x31"
      "\x6a\xa7\x2b\x6d\xc2\x0c\xb4\x9a\xdc\xbe\x25\x1f\x74\xaa\xeb\x38\xc3\xd2"
      "\xb2\xa6\xc4\x78\xfb\x67\xc9\x9b\x8a\x0d\xa6\x5c\xd2\xb3\x4e\x5f\x6b\xc4"
      "\x19\x45\x53\xf7\x3d\x9f\x11\xa4\x3a\xe0\xac\x23\xac\xa8\xf0\xed\x4f\xf2"
      "\xa4\xef\x53\x75\x1e\x95\x34\x6f\xed\x25\xca\x40\xda\x3d\xac\x87\x54\x5e"
      "\xed\x7e\xd6\xa9\x1d\x95\xf3\x8c\xc9\x6e\xef\xab\xd5\x69\xf6\xc6\xad\x89"
      "\xd1\x9b\xa6\x1c\x13\x9a\x07\x5b\x99\x8a\xe4\xba\x8c\xdf\x17\xfd\xb8\xbf"
      "\x96\xdb\x9a\xb4\xb4\xf3\xdd\xf8\xba\xc4\x4b\xf5\x28\x1d\x85\x91\x08\xce"
      "\x92\xd5\x86\x2f\xa7\xc2\x68\xcf\x54\x6c\xb0\x2f\x6a\xf9\xbd\xb8\xb7\x53"
      "\xd1\xaf\x21\xa2\x81\x2b\xfd\xd4\x6d\x06\xa9\x4d\x6d\x2b\x16\xbe\x8c\xdc"
      "\xd7\x1a\x83\xce\x75\x12\x8b\x3f\xbf\xa8\xe9\x3a\xe8\x76\xff\xd1\xfd\xea"
      "\x59\xd9\x3c\x79\xf0\x7b\x9e\x41\xc7\xfd\x4b\x91\x32\xdb\xee\xfe\x49\x7d"
      "\x93\x82\x1f\x34\x86\x34\x1c\x24\xce\x74\x5e\x61\x2f\x5f\x25\xf3\x33\xb4"
      "\xe8\xe5\x17\x18\xf7\xde\x79\x58\xf2\x87\x0c\x4f\x81\xc0\x6d\x5d\x25\xef"
      "\x26\x7a\x3b\x72\x42\xb6\x5f\xbb\x47\x2a\x65\xb6\xc9\x0d\xd2\x1c\x26\xed"
      "\x17\xc7\xc4\x3d\xab\xcd\x59\x68\xdb\xd7\xac\xef\x98\x1c\x90\xfa\xe4\x7e"
      "\x4e\x44\x2a\x7f\xce\xb4\x6c\x45\x30\x22\x33\x38\xc6\x4e\x85\xc4\x8a\x98"
      "\xfa\x5d\xb1\xc9\xf4\x33\x6d\xde\xf2\x22\xfe\xd4\xbb\xd7\x99\x8d\x1d\xf2"
      "\x34\x79\x4a\x8b\xae\x70\x69\x39\x5a\x9e\xfa\xc8\xdc\xa4\x58\xba\x90\xf7"
      "\xe0\xee\xed\x20\x71\xa6\x8f\xdc\xd2\x07\xce\x9d\xfc\x4c\x9a\xb3\x3b\xdf"
      "\x30\xf2\x75\xc2\x25\x9f\x6e\x9a\x50\xb5\x03\x71\x61\x37\xa9\x8b\x38\x96"
      "\x3f\xcb\x70\x7c\xf8\xc2\x78\x49\x53\x72\xeb\x00\x8f\xc7\x92\xfe\x53\x79"
      "\xbb\x64\xeb\xca\xcb\x19\x3a\x0a\xf3\xe9\x4d\x66\xc5\x7e\x87\x1c\x07\xd6"
      "\x45\x7d\xbe\xfb\x31\xf7\x26\x8d\xdd\x7d\x12\x7b\x7e\xdf\x3e\x96\x42\xee"
      "\xde\xd0\x26\xef\x40\x61\xd3\xf6\x6b\xcf\x1f\xce\x0d\xbd\xf7\x8e\x0a\xa2"
      "\xfa\xe3\x70\xfb\x7a\x36\x79\xd9\x5b\x31\x75\x56\xea\x8b\x85\xb6\xd5\xc2"
      "\xaf\x4e\x0e\xd4\xed\x55\xe3\x4e\xc9\xd2\x78\x3e\x78\xe9\x13\xcb\x69\x97"
      "\x79\x41\x5f\xb5\xf6\x98\x31\xe9\x3a\x57\x7e\x3f\x3e\x35\xb5\xfd\xbf\x4f"
      "\x93\x1f\x8e\xb4\xa0\x94\x1d\xab\x50\xec\xbe\x71\xe4\x9e\x74\x9e\x96\xc0"
      "\xf7\x5d\x5f\xe4\x9e\xd1\x6a\x4b\xda\x1c\x2f\x61\x1e\x24\xbe\x67\xa4\x22"
      "\x68\xda\xc2\xc6\x6b\x63\xdb\xb8\x33\xa5\x61\xd1\xd0\x20\x57\xf5\x26\x4d"
      "\x63\x66\x4d\x45\x72\x73\x3c\x8b\x0b\x77\xd3\x8d\x74\x47\xf7\xb7\xab\x4b"
      "\x13\xdf\xdb\x64\xed\x18\x12\xcc\x52\xdf\x96\x3c\x1d\xca\xa8\x17\xf6\xd5"
      "\xf6\xdc\xeb\xbc\x3e\x4e\x9e\x4d\x9d\x2e\xe9\x40\x5b\x53\x3d\x31\x24\xdc"
      "\x96\xbc\xbb\x8a\x2c\xa5\xc8\xdf\x8a\xd8\x5a\xc6\x7b\x65\xf1\xfc\x98\x65"
      "\xcb\x1e\x49\x5b\x49\xaf\xfc\x9f\x7a\xf2\x84\x47\xcc\xbc\xc3\x4a\xae\xe1"
      "\xae\x32\xb4\x4e\x73\x7e\x6b\xfd\xb7\xa3\xec\xe7\x92\x43\x64\xac\x8b\x0e"
      "\xdc\x52\xe0\x4d\x10\x16\xfd\x50\x7f\xac\x28\x8d\xb1\x41\x2e\xf7\x48\x1a"
      "\xdd\x90\x13\x1d\xf9\x01\xc1\x61\xad\x6e\x09\x16\x1a\xc3\x8f\x62\xb6\xe3"
      "\x3e\x6a\xb1\x6b\x29\x6c\x3c\xb9\x3b\x0b\xa3\x33\x9a\x4f\xaa\x9f\x6b\x1b"
      "\x15\xd8\x7b\x65\xf9\xb6\x8a\x5c\xfe\xef\x28\xe3\x17\x99\x87\x86\x12\xac"
      "\x24\xc3\xeb\x86\xad\xd7\x06\x5f\x1b\x5e\x08\x32\x67\x35\x9f\x2b\x10\xfa"
      "\x2a\xd0\xc1\xda\x4f\x39\x6a\x78\x70\x7f\x40\x9a\x40\x0d\x1f\x9b\xc8\x8a"
      "\xd8\x5e\xf5\xdf\xc6\x43\xaa\x5a\xcc\x36\x32\x17\xce\x55\x98\x3f\xd7\xf8"
      "\xe3\x21\xa3\x79\xf1\xe6\xd5\x09\xe2\xfe\x2b\x8a\x51\xec\x55\x3c\xa5\x3b"
      "\x9f\x30\x8d\x94\x59\x7b\xab\x04\x7f\x5f\xa8\xe9\xf1\x7a\xc1\x54\xd3\xe6"
      "\x20\x9f\xf9\x55\x91\xb2\x5e\xcc\xd2\x5c\xa3\xfc\x6c\xdb\xc1\xce\xe7\x9f"
      "\x5d\x2e\xf0\xed\x57\xee\xad\xbe\x69\x92\x5a\xe1\x52\x7b\xb6\x8f\x55\xe9"
      "\x6a\x62\xda\x1d\x52\xba\x67\x7d\xdc\x72\xde\xde\xe7\xc4\x92\xb7\xcc\xa8"
      "\xd5\x18\xd2\x7b\x1e\x75\x08\xb0\x05\x36\xe9\xf8\x9d\xde\x60\xeb\xeb\x31"
      "\xed\x09\xef\xe4\x22\x7c\x8a\xfc\x21\x78\x81\xd0\x9e\x3a\x53\xa4\x47\xca"
      "\x77\x58\x35\xbb\x39\xce\xd2\x70\x96\xdc\x72\xf2\xa4\xd7\x2b\x52\xab\x53"
      "\x1b\x22\x1d\x5b\x0c\x9c\x0a\xfe\x81\xf5\x24\xeb\xc3\x54\x3c\xd5\xfe\x6f"
      "\xd5\xaa\x3e\x27\x38\x3f\x36\x3f\x1e\xaa\xd4\x21\x5a\xe0\x47\x1c\x7b\xaa"
      "\xfa\xf0\x8e\xaf\x5f\x2e\xd0\x73\xfe\x59\xad\x37\xdb\xbe\x6f\xa3\x66\x66"
      "\x54\x47\x77\x33\x8b\x97\xde\x6e\x30\x9d\xa5\xbc\x27\x68\x30\xb4\xb5\x3e"
      "\x2a\xb2\xe7\xe4\x18\xe9\x44\x97\xdf\xb1\x7d\x4f\x29\x0e\xad\xfd\x59\x7c"
      "\x9e\xfd\xf0\x40\x96\x13\xdf\xcc\xaa\xb6\x45\xbf\xbc\xf2\x77\x06\x8e\xe9"
      "\x23\x0d\x3b\xb4\xdf\x73\x5d\xaf\xdd\xc3\x15\xb6\xce\xf0\x2a\x85\xec\x92"
      "\x80\xa7\x07\x2f\x63\xd2\xb0\xf2\xf9\xba\x3c\xba\x1f\x69\x67\xd4\x73\xaa"
      "\x75\x07\xcf\x70\x6d\x24\xa5\x38\x7a\x55\x06\x52\xf6\x48\x08\x94\x7f\xaa"
      "\x30\xa2\x56\xf1\x68\xe9\x65\xf5\xda\xff\x52\x5b\x33\xad\x56\x92\x28\x98"
      "\x26\x5e\xdd\xcf\x29\xbe\x8b\x47\xc0\x79\xf8\x69\x88\x5c\x4f\xfd\xf3\xe4"
      "\xe4\xf6\xc2\x43\x5d\x22\x59\x46\x6e\x91\x36\xb5\x9c\x7e\xf7\xaa\x0f\x29"
      "\x57\x94\x9b\x8e\xef\xb6\xe2\x1d\xe1\xfc\x92\xb0\xb2\xee\x1b\x10\x90\x1f"
      "\x65\xf4\xf2\x06\x0b\x15\x43\xde\x63\x91\x5e\xc5\xb3\x3e\x9a\x62\xbf\x0f"
      "\x06\x5c\x62\x36\x7f\x7c\xdf\x2a\x4a\xff\x98\x63\xd8\x9d\xef\x5e\xe1\xa6"
      "\xaa\x2f\x7d\x8e\xcb\x86\x7d\x10\xc9\x3d\xf3\x96\x76\xf0\x32\x95\x2b\x5d"
      "\x73\x8d\xa8\xcb\x01\x9e\xf7\xe9\x4b\x54\xa2\xee\x59\x4e\xcb\x45\xa6\x47"
      "\x68\x62\x87\xef\x85\xe4\xd2\x79\xb4\xb9\xea\x5c\x93\x6e\x32\x37\xf6\xfd"
      "\xdc\x7f\xb6\x46\xe4\x91\xa3\x8b\x37\xeb\x19\xc9\xfc\xc4\x37\x99\x67\x4c"
      "\xdf\x14\xde\x39\xe8\xad\x60\x20\x77\x4d\xb2\x64\xa7\x4b\x53\xe4\x95\x96"
      "\x63\x24\x9c\xef\x3b\x7a\xda\x58\x73\xbc\xf5\x0a\x84\x1d\xc7\x92\xa3\x2d"
      "\xf8\xdb\xa2\xd2\x27\x6c\x77\xb1\x14\x97\x6a\x19\xa5\xec\x0e\x90\x09\x89"
      "\xbf\x7d\x69\xbf\xbb\x4a\xf7\x16\xb3\xda\x89\x21\x5b\x11\xea\xf6\xb3\xdc"
      "\x0c\x3c\x14\x91\x24\xf4\xd6\x45\x69\xb9\x9f\x37\x45\xdb\xa3\x77\x9c\x7f"
      "\x6b\x7f\xd2\x35\x43\xe5\x09\xdd\x42\xb9\x7f\xea\x4e\x1a\x0d\xae\xf3\x93"
      "\xf6\xdb\x3d\xe7\x8e\x6a\xa8\xe4\x8b\x3e\x23\x0f\x37\x58\xed\xf6\xaf\xb9"
      "\x71\x40\xab\x54\x9c\x8b\x98\xb3\x70\xdf\xc8\x43\xfe\x27\x5c\xda\xcf\x2c"
      "\x46\x52\x54\x0e\xa6\x6d\x8f\x4f\xf7\xb9\x1e\x63\xbb\x4e\x19\xc4\xfe\xe0"
      "\xac\xd1\x6f\xdd\xbc\x15\x69\x96\xf4\x81\x4b\x9e\x45\x7e\xca\x07\x5c\x0e"
      "\xaf\x5c\x35\x11\x5d\x63\x35\x09\x55\xfb\x6e\x25\x68\x9d\x1d\x98\x25\x71"
      "\xf5\x5b\x57\xf6\xce\xca\x09\xa6\x7e\xfb\xe3\x39\xa1\x1f\xf9\x66\xd4\x34"
      "\x78\x96\x89\xe2\xb5\x26\xdd\x4a\x3d\xa4\xbe\x5f\x9b\xb9\xe1\x7d\x75\xc8"
      "\x7d\xdb\xe1\x64\xca\xb1\x60\xb6\x78\x45\xc5\xcf\x24\x1b\x3c\x1f\x6d\x36"
      "\x9c\xb9\x0c\x34\x5e\xc5\xd0\x30\x11\x4d\xec\xc9\x5f\x32\xca\x29\x7d\x29"
      "\x45\x72\xfa\xf7\x3b\x9b\xeb\x47\xd7\x3c\x72\x0b\x23\xa5\xc4\xd8\x48\x5e"
      "\xb2\x86\x7f\x60\x7e\xc9\xa4\xbf\xa9\xb2\xd2\xd9\x6c\x7a\xcd\x6f\x3a\x20"
      "\xbb\xcc\xe8\x4e\xfb\xce\x71\xa5\x4a\xb3\xea\xa2\x8b\xf2\x91\xaf\x5c\x34"
      "\x5c\x28\x0e\x06\xd6\x13\xaf\x7b\x4f\x0d\xd9\x64\xab\x1b\x0a\x35\x26\xff"
      "\x29\xa6\x37\xd0\xad\xf6\xbb\x1a\x2d\x7e\x46\xaf\xc9\x6a\xfd\x4a\xdf\xda"
      "\xce\xfb\x87\x36\xf4\xf6\x05\x3f\xbf\xab\xb8\xe4\xf3\xea\x79\x8d\x92\x54"
      "\x49\xc1\x58\x1a\x0b\xb5\x8c\xc2\x53\x0d\xb6\x51\xfe\x5f\x6a\xf9\xe6\xb6"
      "\x17\x0c\x82\x9f\xff\xf6\x7d\x79\xe6\x49\x0c\xd5\x69\x7e\x89\x89\xad\x39"
      "\x3d\xb7\x41\xc5\xcc\xc8\x67\x49\x83\x8b\xea\xa7\x7d\xe9\x0e\x3f\x9a\x14"
      "\xab\xb9\xc0\x32\xf5\x99\xed\x43\xc3\xe4\x51\x77\xbe\x80\x8e\x17\xdd\x14"
      "\xeb\x6a\x23\x6a\x2f\x56\xce\xdc\x55\x61\xb9\x19\x30\x74\xfc\xa7\xd4\x01"
      "\x89\xbc\x71\xee\x12\x81\x27\x31\xa5\x76\xa2\x3b\x2e\x69\x9f\x10\x19\x8f"
      "\x7d\xdd\xb7\x1c\x27\xcc\x77\xbc\xe0\x8a\x42\xfb\x8e\x8d\xfb\x8f\x6c\xef"
      "\x37\x2a\x51\x32\x8a\x7d\x29\x11\xee\x78\x6b\x24\xd0\x78\xa6\x56\x5d\xad"
      "\xd9\x57\x79\xf4\xc9\xad\x1e\x95\xda\x47\xb2\xfb\xac\x6d\xe3\x36\xa8\x0f"
      "\x88\x50\x9a\x19\xfa\xa7\x75\xd0\xcd\xde\x7f\xf5\x91\x47\xba\x3f\x7d\x52"
      "\xe5\x69\xde\x74\x7a\x47\xd4\xc4\x13\xf2\x91\x65\x8b\xad\xe4\xdd\xf7\x19"
      "\xcd\xd7\x7d\x15\xa6\x72\xf3\x73\xa2\xb2\xd8\x39\x1d\xbe\xcb\x6d\xdc\xfb"
      "\x95\xfc\xfb\x55\xf6\x2f\xb7\x2f\x4a\x3b\x93\x23\x5b\x66\x04\x0d\x74\xf3"
      "\x58\x38\x69\x97\x7b\xe9\x03\xd5\x67\x7d\x6b\x58\x3f\xa8\x05\xe9\x5d\x0d"
      "\x52\xb2\x30\xb9\xfe\x66\xcf\xaf\x2a\xa3\x48\xd5\x8f\x46\xc3\x6f\x9e\xe6"
      "\x7e\x3a\xb6\x49\x67\x6a\xba\x68\x17\x96\x1b\x14\xe7\xde\xd6\xca\xb3\x3f"
      "\x3c\x93\x4f\xc0\xad\x93\x50\x22\xe0\xfa\x60\xae\x7a\x39\xde\x5f\x3f\xd6"
      "\xd0\xd0\x37\xc3\xa0\x21\x80\x2a\xf4\xd4\xd3\x82\x1f\x3f\xe5\x64\xa6\x32"
      "\x26\x64\x77\xc4\x1f\xfd\xee\xe9\xe5\x3a\xf6\x8c\xa1\x22\x34\x31\xa2\xa1"
      "\x52\x59\xb8\x69\xe6\x67\x9e\x9d\xb4\xd6\xb7\xd2\x78\x57\x65\xbf\x6a\xb6"
      "\xf3\xe5\xd1\x69\xbf\xa8\x17\x38\xbe\x06\x0b\x46\xda\xfd\x21\xfe\xe1\xd0"
      "\x43\x45\x7b\x3a\xea\xde\xad\x43\x26\x5c\x22\x7e\xcb\x1d\x0b\xb9\x3e\x8e"
      "\x6f\xe9\xcf\x6c\x9d\xd8\x2d\x94\x76\x3f\xfe\x12\xa7\x37\x9f\x6f\x41\xe8"
      "\x37\x49\xea\xf0\xb2\xb4\xa2\x36\x2b\xbf\x28\x69\x67\x3b\xb7\x7d\xa6\xb2"
      "\x7d\x1e\x9f\x78\xfe\x9c\xc8\x2a\xd6\xc8\x3c\x38\x75\xc4\xfb\xc3\xf3\x4b"
      "\xb3\x3c\x59\x97\xf2\xe9\xae\xc5\x6c\xdc\x76\x8e\x89\x37\xde\x73\xcd\x22"
      "\x58\x3c\xb7\x67\x5b\xf1\xf1\xcf\x6a\xc5\xe4\xed\x98\xee\xfc\x7e\x9b\xee"
      "\x68\x2e\xb3\x3e\x9d\xab\xe2\xaa\x42\x5e\x7f\xa2\x49\x82\x58\x8b\x34\x92"
      "\x86\xe4\xb4\xf7\x0b\x9c\x0a\x7a\xc8\x61\x36\xb8\xae\xe6\x1f\x36\x6b\x39"
      "\xde\xa9\x5b\xc7\x4f\xd9\x42\xff\x49\x69\x27\xf7\x30\xe1\xf9\xd0\x7e\xb6"
      "\x88\xa9\xbb\xb2\x77\xaa\xe8\xf9\xd3\x56\x7e\x8a\xec\x95\x99\x66\x13\xac"
      "\xe2\x39\xfc\xa1\x4c\xbd\x40\xb1\xde\x66\xec\x41\x38\xbf\xbf\x47\xb8\xce"
      "\x64\xdc\x74\x4f\x45\x6f\x8b\xe6\xc3\x84\xd4\xf7\x4f\xf7\xeb\x96\xea\xd7"
      "\xf0\x5f\x67\xb5\x7e\xa5\xf5\xea\x81\x5c\xbc\x38\x4d\x9c\x65\xc2\xdd\x9b"
      "\x92\x21\xf2\x79\x9e\xb4\x5b\x07\xc3\x3b\x35\x3b\x5e\x0f\x1c\xc9\x3d\xee"
      "\xdf\xea\x9b\x30\xef\x13\xf3\x51\x5e\x4d\x57\x62\x47\x13\xa3\xd5\x13\xa1"
      "\xe2\x3b\xa3\x9b\x7b\xf9\x6a\x0a\xcd\x1e\x53\x8b\x6b\x08\xfb\x4d\xc7\xd2"
      "\x77\x2a\xd3\x1d\x70\x25\x8d\x10\xa8\xbd\x31\x52\x31\x17\x7d\xbc\x7d\x28"
      "\xd9\x7c\xbf\xf7\xa1\xaa\xae\xb6\x99\x1d\x53\xf3\x19\x91\xc7\x59\x12\x79"
      "\xec\xfe\x1c\xd3\x19\xa6\x0d\xe0\x4f\xaf\xfd\xf2\x8a\xec\xf5\xf0\x61\x17"
      "\xe9\xe3\x8a\x17\x2f\x54\x17\x33\xac\xbb\x5b\x33\xd6\x3c\x36\x5d\xf3\xcd"
      "\xd5\x2c\xa9\x4b\x17\x13\x53\x75\xa9\x6f\x2e\xa9\xec\xc8\x9c\xfa\x9a\x9c"
      "\x4a\x93\x9c\x2c\xe9\xeb\x45\x75\x54\xee\x1b\xb1\xde\x91\x2b\xf5\xed\x59"
      "\x85\x02\xec\x6b\x93\x69\x63\x51\x61\xea\x5b\xdc\x97\xec\x14\x4d\x03\x8d"
      "\xcf\x29\x4c\xde\xb3\x55\x0c\x50\x0b\xdc\x71\x95\xe8\xeb\x5b\x7e\xc1\x57"
      "\xd6\xfb\x78\x5a\x9a\x0a\xa4\x59\x99\x79\x19\x94\x14\x1d\x09\x24\x27\x5a"
      "\xc6\xbc\x1e\x1f\x3d\x55\x60\x78\xca\x9c\xb9\x90\x88\x35\x89\x4d\x27\x9f"
      "\xf7\xac\x99\x59\x71\x06\x7d\xe0\x3a\x25\x59\xd9\xe9\xd7\x53\x7a\x82\x44"
      "\x5a\x9e\xa5\xf6\x99\xba\x7d\xbb\x3e\xb0\x55\x65\xd4\xa8\xf7\xd2\x71\x93"
      "\xc4\x7d\xf3\xcc\x4c\x73\xe0\x91\xfc\x60\xb7\xd0\x1a\xf7\xac\xc5\x26\x3d"
      "\x4a\x4d\x62\xa9\x21\xe2\xfb\x8d\x95\x89\x9f\xc6\x75\x5d\xd3\x2c\xf3\x3c"
      "\xf4\x6a\x33\x51\x9f\x6b\x2f\x3c\xd0\xfd\xd2\x5c\x92\xea\xdd\x1c\x95\xa8"
      "\xca\xcc\xf2\x7d\xd2\x2d\xf8\x37\xf9\x81\x8f\x57\x38\x4f\x8c\xbc\xb3\x8f"
      "\xd3\xa3\x55\xba\xf5\xa0\xda\xed\xd8\x9d\x9d\xd5\xfb\xa5\x6b\x23\xc9\xcf"
      "\xc8\x7f\xb6\x7c\xd8\x5a\x9c\xe9\xda\x97\xe5\xd2\xcc\x6c\xc9\x74\x4a\xfe"
      "\xe6\xad\x4e\xea\x25\xd9\xd3\x27\x15\x7d\x73\x16\x4b\x4e\x97\x0c\x66\x78"
      "\x90\x4a\x29\x7e\xcc\x8e\x21\x1a\xfa\xf3\x8b\xd2\xee\x9e\x85\xde\xc7\x8c"
      "\xe8\x41\x6b\x5b\x1b\xbf\x02\xa2\xaf\xa9\xd6\xfc\x57\x7c\x2a\x23\xb6\x26"
      "\x49\x84\x16\x8d\x17\x1a\xb2\xc9\xae\x4c\xb8\x74\xad\x46\x4c\xe6\xff\x8e"
      "\xb9\x4c\x68\xb0\xba\xf7\xc2\x66\xd1\x58\xbb\x31\x96\x6f\xff\xb6\xb4\x38"
      "\xf3\xd5\xa1\x83\xa1\xca\x03\xce\xa2\xb6\x2e\x79\xad\x2f\x3b\xaf\xef\x75"
      "\x8b\x3d\xf1\xf8\xfc\x19\x45\xc1\x53\x45\x79\x6c\x82\x24\xaf\xdb\x26\x0e"
      "\xf8\x99\x3d\x3b\xe6\xaf\xc6\x3d\x57\xc7\x3d\xd2\x61\x9c\xdd\xcb\xc0\xe2"
      "\x28\x7a\xcd\xab\x43\x9b\x25\x8c\xca\x63\x5c\xbc\xff\x37\xad\xcb\xb0\x74"
      "\x4e\xfe\x17\x16\x61\x3a\xbd\xfb\x3f\x6b\x7e\xf5\x68\x6d\x88\xe9\x2b\x4a"
      "\xac\x4e\x16\x89\x4b\xe8\xcf\x85\xda\x9d\xa7\x88\x7b\x66\x96\x7b\x65\xd0"
      "\xb4\x6b\xd5\xb4\x5b\xc6\x3b\xe9\x17\x79\x2a\xef\x5e\x9d\xa4\x55\xf9\xe3"
      "\x4f\x0b\x34\xda\xee\x8e\xda\xee\x4d\xbf\x3d\x3e\x70\x90\xa5\x88\xac\xdb"
      "\x74\xe2\xf9\xd9\x03\x0b\xaa\xd6\x9a\xd3\xf9\x3d\x59\x53\xb7\xba\xbf\x2b"
      "\x31\x9e\x78\xca\x65\x3f\xce\xa0\xd3\x55\x21\xba\xaf\x6f\x72\x3b\xdd\xb4"
      "\xee\xae\xd2\xe3\xd3\xfd\xf5\x3f\x8c\x8f\x46\x29\x85\x9e\x7b\xf8\xf3\x4d"
      "\xaa\xe2\x49\xf5\x54\xe3\xed\x27\x0b\xe2\x4c\x3d\xe3\xb9\x52\xf2\xcf\x4a"
      "\x18\x97\x9f\x1f\xa8\x0d\x0c\x0f\x55\xaf\x52\x3a\x99\xd0\x1d\x3f\xf0\x9e"
      "\x35\x73\x6c\xeb\x40\x24\x6f\x75\xbe\x4b\x62\xd8\xa1\x73\x62\xbb\xb8\xc4"
      "\xd9\x9c\x14\x1d\x56\xa5\x12\x5b\x1e\x9f\x55\x5c\xbb\x69\x20\xcf\xd4\x3f"
      "\xb6\x3b\x38\xc3\x7a\x4f\x34\xab\xca\x05\x2e\x2d\x9b\xf9\xce\x50\xa7\x4b"
      "\x76\x0a\x2f\xbf\xed\x93\x6f\x13\x98\x2b\xe4\xce\x8f\x11\x5f\x0c\x28\xea"
      "\xa8\x7f\xae\xb5\x97\x30\x99\x28\x76\x85\x4e\xb7\x9b\x46\x68\xe7\xf1\x1c"
      "\x71\xdd\xa1\x83\x5d\xe6\x55\x71\x4d\xf6\x46\x9a\x72\xf9\x41\x51\x51\xdd"
      "\x3e\x99\x6a\x26\xdf\x7e\xec\xe7\x79\xbc\xf6\x36\xf6\xee\x86\x6a\x49\x52"
      "\xcb\x30\xc5\xfd\x11\x83\x6f\xa3\x89\x07\xe6\xc9\x0b\x7e\x26\x95\x75\x3e"
      "\xeb\xcc\xcb\xfa\xf5\x4a\xb5\xe5\x45\x75\xd3\xc7\x0b\x0d\x1c\x99\x67\xdb"
      "\x04\xa9\x2a\x5f\x7a\x7c\x27\xe4\x2f\xf2\x72\xb4\x1f\x57\xd6\xce\x12\xab"
      "\xcf\x5e\x31\x8f\x50\x31\xa5\x8e\x95\x51\xae\x3c\x3e\xd6\xf2\x51\x49\x2d"
      "\x60\xa0\xa2\xc9\xa7\x8e\x92\xfc\xc3\xc7\xd7\x0b\x9a\x4a\x4b\x26\x9a\xf6"
      "\xab\x07\x34\x7d\x8c\x0e\x65\xf0\x26\x78\xf5\xbc\xed\x2f\x23\x17\x0c\xcb"
      "\xef\x29\x71\x76\x66\xa5\x7f\x20\x11\x63\x27\x37\x3b\x94\x37\x54\xf2\xa9"
      "\xed\xba\x83\x11\xfd\xa2\x3e\x3b\x91\xd2\x2f\xcb\xb4\x27\x6c\x67\x9f\x57"
      "\x0b\x92\x72\xec\x34\x31\xda\x2a\x0c\x09\xdf\xcf\xdc\x6f\x33\x90\x68\x2f"
      "\xf0\x58\x36\xb0\xf4\xb9\x9a\x1b\x21\x91\x4b\xae\xf2\x40\x76\xea\x5c\x01"
      "\x6d\xef\x08\x1d\x5b\xcb\x2c\xdf\xe3\xd8\x90\xf6\x34\x66\xef\x7d\x83\x72"
      "\xae\xa5\x19\xc3\xbf\x17\x84\xe7\x3e\xaa\xee\x1e\xb9\x32\x75\x33\xcc\x91"
      "\xfd\x8c\xf5\x78\xd7\x83\x90\x77\x56\x91\x6f\x0c\xd2\x23\xce\x7d\x7a\x6d"
      "\xf5\x2e\xe1\x34\xb9\x16\xc5\x98\x77\x75\x95\xdd\xfe\xc8\x59\xd7\x6f\xcd"
      "\x59\x0c\x7e\xab\x27\xb4\x3f\x1c\x18\xe9\xaf\x1b\x38\xda\xdb\x93\xf3\x88"
      "\xa4\x74\xb8\x4c\xd5\xed\x56\xeb\x93\x82\x09\xfb\x3e\x49\xff\x84\xa9\xc0"
      "\xaa\x6e\xcb\x3b\x95\x61\x56\xe9\x31\x6a\xdf\x37\xd2\x69\x7e\x0c\x29\x9c"
      "\x6d\x0a\x2a\xf7\x9a\xda\x25\x97\x2c\x95\x68\x38\xa7\x3e\x26\x29\xfe\x66"
      "\x69\x96\x26\x36\x92\xef\x98\xe2\xba\xc1\x74\x54\x3b\x4f\xc2\xb0\x75\x7d"
      "\xbf\xfc\xe4\x44\x8b\xa3\x49\xaf\xc1\xf7\x5e\x8a\xa5\xde\xc3\xfb\x19\xc9"
      "\x83\xa6\x73\x8f\x6c\x3a\x27\xea\xef\x24\x59\xb1\x25\x0b\x77\x71\xbc\x63"
      "\xa0\xdc\x3c\x72\x20\x82\x21\xb0\x4d\x6a\x3a\xf7\x4e\x7b\xf9\xf4\x62\xd3"
      "\x71\xce\x45\xa9\xca\x37\x33\x81\xe6\xe5\xbf\xd4\x3f\x56\x09\x49\xf9\x77"
      "\x5d\x2e\x94\xb3\x0a\x58\x2b\x96\xc8\x7c\x33\x29\xf9\x9d\x35\x37\xd9\x5f"
      "\x4a\xac\x47\x68\x6f\x70\xc5\xa5\x1c\xa6\xbd\x69\xeb\xec\x31\x2f\xef\x25"
      "\x1e\xe2\xdf\x7b\x6a\xcc\x78\xbd\x80\xf5\x5c\x31\xe1\x3b\x0b\xf7\xcf\x8e"
      "\xae\x3f\xac\x77\xcf\x29\x14\x5a\x5e\x52\x9b\xbe\xaf\xa4\xc9\x5d\xa5\x91"
      "\x61\xd6\x50\xdf\xb4\x83\x60\xf5\xe0\xe5\x16\x85\x0f\x97\xe5\x45\xba\xa7"
      "\xa7\x0f\xbe\x49\x1f\xd6\x88\xc8\xdc\x47\x39\xef\xc0\xcf\xa4\x30\x2b\x63"
      "\xe1\xe9\xae\x75\x95\xdd\x29\xcb\xe2\xa9\xd3\x39\xae\x9d\xd9\x3f\x2d\xcb"
      "\xc5\xc2\x76\x5e\x69\x89\x5c\xb0\xfc\xa3\xfb\x85\xb7\x70\xd7\x1b\x07\xf6"
      "\xc8\xb8\x18\xd3\x6b\x5c\x9d\x15\x0c\x6c\x15\xa7\xba\x72\x76\xc7\xaa\x0e"
      "\xd0\x8a\x45\xd3\xb3\xcc\xfd\x38\xcb\x26\x7b\x81\x22\x58\x6a\x9f\xd8\xe5"
      "\x87\x96\xf2\x7e\x9f\x9a\x9e\xa7\x9f\x2d\x3a\x9f\xe6\xd1\x55\x37\xf2\xd3"
      "\x40\x6c\x31\xb2\xe7\xe0\x66\x5e\xc0\xb0\x3b\x63\x94\xd5\x67\x16\x6d\x1d"
      "\x07\x4f\xee\xc4\x2f\x21\xd4\xd7\xdd\x07\x4a\xf6\xdc\xbe\xe7\xcc\xb2\x4c"
      "\x61\x7d\x20\xc1\x6b\xa2\x97\xef\x6c\xf9\xa7\x0f\xfd\xf4\x9b\xbc\x0f\x29"
      "\x8c\x98\x8e\x52\x32\xa7\x25\x1f\x21\x6a\x63\xa4\x0c\xdc\x33\x76\xce\xdb"
      "\xf2\x46\x76\xad\xdf\xfb\xd1\x9c\x65\x2b\xbf\x54\xd7\x8d\x89\xfa\xad\xfd"
      "\x8e\xf1\xb1\x47\x79\xf3\xa5\x75\x88\x76\x1d\x29\x56\x36\x96\x2b\x4a\x3c"
      "\x96\xc8\x79\x6a\xb7\x47\xff\x8d\x26\xa6\x5c\x5b\xdf\xcc\xe7\x94\xe4\x87"
      "\x24\x08\x6d\xca\xe2\xf3\x19\xb2\x2d\xd7\x1c\xd4\x38\x7d\xf2\x18\xd4\xa7"
      "\x55\x95\x8e\xb2\xec\xfd\xe3\x1e\x67\x9f\x67\x3d\x56\xf1\xf9\x3e\x97\xb9"
      "\xc3\x53\x2f\x72\xde\x43\xaa\x7d\x47\x98\x3b\x6f\x04\xe9\xdc\x75\x16\x2a"
      "\x1c\x66\x55\xbf\xc3\xcb\x1b\x2e\xe8\xe8\x30\x3b\x2b\xf2\x35\x90\x2d\x85"
      "\xb5\xc3\xd2\x32\x92\x99\x73\x2f\xdf\x89\xbe\x86\x5b\x56\x26\x12\x73\xac"
      "\xd4\xef\xdf\x37\xe9\xcd\x52\xe8\x3b\x87\x86\xdd\x23\x7f\x3d\x58\xfa\xae"
      "\xed\x98\x34\x8f\xee\xef\xfa\xba\x0c\xaf\x4b\x9f\xb4\x56\xd4\x27\xa7\x53"
      "\x85\xd2\x79\x0e\x51\x64\xe5\x79\x33\xec\x2b\xe4\xab\x7a\xb2\xdd\xad\xe2"
      "\x25\x1a\x72\xf4\xc6\x68\x85\xd3\xb1\x23\x35\x2f\xa3\xcd\x52\xc6\xe6\x3c"
      "\x1f\x34\xb3\xcd\x12\xbe\xcf\x50\x16\x6d\xca\xaa\x3e\xac\x2d\xa9\x4f\xb0"
      "\x7b\xc5\x28\x77\xfc\xc1\xbc\xec\xe5\x22\xe1\x83\x5d\x5c\xec\xf4\x55\x9c"
      "\x95\x49\xa2\x76\xbb\x4d\x4e\xd9\xf5\xcf\x52\x73\xb3\xd4\x1d\x9e\xbb\x90"
      "\x7e\x81\xf4\x37\xb9\x52\x20\xfd\xf2\xe6\x55\x4d\xb9\xb1\x6b\x8e\xc9\x6d"
      "\x6e\x95\x8f\xda\xcf\xe5\x8c\x92\xb3\x7c\xb4\x3a\x71\x93\xa2\xdf\xea\xdd"
      "\x86\xaa\xd3\x39\x49\xff\x47\xee\x02\xf2\x64\xb9\xd9\xf3\x0f\xbb\x42\xde"
      "\xa5\xd4\x0c\x24\xec\x4d\x0b\x96\x6f\x7c\x6d\x2d\xd7\xe0\xbc\xc3\xf6\x1e"
      "\x73\xe3\x8d\x62\xee\x04\x86\x17\x7a\xb6\x6d\xf6\x87\x4b\x79\x28\xf5\xbf"
      "\x1a\xd1\xe6\xf8\xa7\x86\x70\xcd\x5e\x2a\xb2\x5e\xe6\x48\xfe\xc5\x6d\xf4"
      "\x2e\x34\xd5\xf0\xca\x6a\xa7\x2a\xf5\x1c\x1b\xcd\x85\xbb\xe7\x56\x84\xe5"
      "\xd7\x2d\xaf\xf5\x76\xcf\xa9\x51\xd6\x89\x25\xbc\x7c\xa6\x76\x7c\xbb\xc2"
      "\xe7\x65\x4d\xf5\x5e\x15\x67\x71\xb1\xf8\x63\x0f\x28\xce\xdc\x24\x18\xad"
      "\x50\x0f\x6b\x58\xaf\x74\xdc\xda\xb1\xd7\xd9\xbb\xa7\xa3\x93\x3b\x27\x55"
      "\x57\xb3\x9a\xa8\xb9\x83\xfb\xdc\x2f\xb3\xc2\x73\xb1\x56\x8e\x2f\xd4\xda"
      "\x52\x3a\x7d\x04\x64\xe4\x49\x6e\x13\xb7\x5d\x56\x5d\x7a\x58\xc5\x28\x51"
      "\xf2\x7e\x3d\x82\xf4\xc3\xa0\x80\x48\xe9\x92\x8f\x6c\xce\x4f\x0a\x27\x43"
      "\x93\xae\x68\xed\xca\x4b\x32\xd1\x4f\x56\x73\x36\xcc\xdb\x26\x55\x29\xc8"
      "\xfc\xe6\xdc\xa2\xf9\x9b\xf5\x2d\x79\x17\x43\x12\xbd\xca\x32\x3f\x0c\x5f"
      "\x1c\x62\x9f\xaf\x77\x38\x7b\x26\xc0\x3c\x81\xd1\xfb\xb4\x51\xb9\x7a\xea"
      "\xe9\x86\xbc\x5d\x4a\x97\x33\x4e\xf3\xde\xd8\x65\x24\xa0\x1b\xf7\xb4\x7e"
      "\xca\x6f\x6c\x7e\xaf\xca\x20\x9f\x79\xdc\x81\xab\x5b\xad\x8e\xd3\x7e\x96"
      "\x7d\x0c\x1c\xda\xdf\x16\xd5\x36\x55\x2a\xcf\x5b\xdc\xaf\x8d\x3e\x7b\x5f"
      "\x56\xff\x11\xa5\xe0\xad\xb1\x4d\x99\x65\x8e\xd9\xc9\xe7\x29\x77\x15\xc3"
      "\x8e\x8e\x6d\x7e\xc8\xaf\x17\x91\xbc\x20\x4b\x4b\xfc\x73\xbe\x78\x7e\x60"
      "\x2b\xaa\xc5\x60\x4e\xa1\x95\xe3\xea\xa8\xf0\xce\x8c\x4d\xcb\xd2\x2b\x5d"
      "\x49\x8a\x36\xbf\x86\x18\x65\x45\xc3\x9f\x38\x1c\x7f\x38\xee\x49\xa6\x72"
      "\xbf\x66\x1f\xbf\x55\x01\x79\xbc\x93\xcd\xcf\x82\xdd\x4a\x0c\x09\x76\x5d"
      "\x64\x2a\x67\xa5\x63\xa6\x68\x96\x19\x1f\xde\xde\x75\x4c\x37\xbb\x6b\xf7"
      "\x51\xab\x4f\x9d\xb7\x6d\xf8\x9e\xf7\x5b\xb2\x45\x09\x4a\xfd\xd4\x7a\x36"
      "\x9d\x7a\xfe\xea\xcd\x98\xa6\xc2\x3d\xcc\x92\xda\x19\x77\xce\xa9\x52\xd7"
      "\x26\x9c\x97\x17\xa7\xd7\x6a\x7a\x1f\x12\x34\x39\xfd\xf2\xc7\xe1\xa0\x4a"
      "\xfd\xa9\x3e\x6d\x0a\x47\x6f\x0f\xfd\xc9\x8e\x4f\xd2\x9d\xb9\xfd\x26\x7a"
      "\x41\x4d\x0d\x74\x01\xdd\x57\x95\xff\xc9\x3f\x3e\x03\x00\x00\x00\x00\x00"
      "\xf8\x1f\xa3\xbf\x67\xf2\x98\x53\x66\xd8\x0b\x25\xd5\xc8\xa7\xa9\x8f\xe3"
      "\x9f\xfd\xbd\xff\x4f\xf2\x57\xfd\xef\xfd\xff\x70\x02\x81\x70\x34\xfb\x3c"
      "\xcd\x8e\x1a\xae\x23\x8a\xbd\x1f\x72\x6a\x8c\x2f\xdd\x6e\xb6\x5f\x6e\x63"
      "\x7f\x97\x46\x99\x5b\x14\x57\xd3\x1a\xbe\xad\x3e\xd0\xbf\x7e\xfb\xe4\x8f"
      "\xab\x41\xf4\x06\x85\x22\x22\x43\x51\x42\x87\x6b\x93\xad\x97\x93\xd6\x58"
      "\x0f\xf5\x4e\x7f\x69\x2c\x18\x99\x25\xef\x89\x28\x76\x9d\x4f\xfd\x1d\x9e"
      "\xfb\x79\xef\xc7\xa7\x5d\xcc\xed\xdd\x95\x6f\x3d\x29\xde\x0a\x7a\xba\xfa"
      "\xc8\xde\xa6\x93\x73\xfa\xd1\x7d\xfa\xd1\x1a\x63\xfc\x62\x97\xf3\xd1\x87"
      "\x83\x8a\x8c\x46\x69\x7f\xf4\x1d\x15\x6f\x2c\x5d\xdc\x69\x7c\xec\x59\x37"
      "\xed\x1c\xab\x4e\xf0\xfb\xa5\x99\x9a\xd8\xd2\x49\x83\x10\xde\xbc\xe8\x29"
      "\x16\xdd\xf2\x28\xcb\xcd\x82\x4f\x17\xaf\x77\xbc\x3c\xbb\xae\xec\xee\x57"
      "\xf0\x8a\xac\xd5\x69\xe1\x69\x32\x93\x42\xdc\xca\x44\xc5\xd0\xbb\xb2\xcb"
      "\x35\x9a\xb1\xbd\x9c\xcf\xae\x1c\x13\xed\x39\xc5\xde\xb8\x26\xfd\x22\xad"
      "\x61\x72\x71\xaf\x00\x89\x9e\x58\xd5\x3e\x33\xe6\xe7\x0d\xeb\xcf\xd8\x0e"
      "\xa6\x49\x0a\x6d\x1c\x7c\x37\x4a\x4d\xfe\xcb\xc9\x54\x37\x3d\x90\x4b\x59"
      "\x6e\x7f\xa2\xf9\x99\x98\x37\x42\x94\x2e\xdd\xf7\x2f\x3a\xfc\x26\xa5\xed"
      "\xbe\xfe\x41\xff\x24\x3f\x29\x2f\xa1\xac\xc8\x68\xf2\x6a\x88\x84\x9d\x17"
      "\x0f\x63\x71\xbb\xab\x83\x74\xa8\x3c\xd7\x9a\xae\xe5\xbb\xb7\x71\xb5\xf1"
      "\x51\xec\x44\x26\x1a\x87\x7f\x9b\xd3\x46\x9f\xa4\x62\x29\x4b\x10\x75\x31"
      "\x1c\x5a\x94\x68\x50\x60\x7b\x42\xf6\x47\xfb\x01\xd9\xaa\x5e\xc0\x65\x19"
      "\x01\x8f\xc0\xa5\xfc\xfe\x96\x07\x67\x1c\x94\xda\x59\xe4\xb5\x07\x1f\xc5"
      "\x1d\xb1\x3f\x4c\x44\x76\x21\x99\x36\xc3\x64\xa4\x50\x79\x3b\x29\x20\x29"
      "\x31\xf7\x38\x19\x0f\x47\xe9\xe8\xc9\xe5\x00\x73\xab\x7e\x3d\xa9\xd9\xb4"
      "\xc8\xac\xfb\x7c\x41\x37\x62\xb4\xb4\x2c\x79\x5f\xe9\xba\xe9\xe8\x25\x8d"
      "\xb0\xa6\x06\x5d\x4c\x8e\xef\xe1\x8c\x37\x6c\xb1\x6f\xbc\xac\x59\x1a\xb7"
      "\x1d\x1f\x2c\x5c\x25\x1a\x96\x64\xce\x74\x79\xca\xd7\xb9\x2f\x8f\x71\x84"
      "\x53\xde\x90\xf4\xd4\xb5\xc7\xef\x66\xb3\x12\x0d\xff\xc8\x56\x5f\xe5\x23"
      "\x98\x16\xec\xba\xf5\x22\x9e\x99\x75\xa7\xfd\x4f\xab\x6a\x07\x33\x93\x3b"
      "\x31\x1f\x55\x0b\x55\xc9\x3b\x48\x7c\x29\xa8\xfc\xe9\xb2\x15\xc6\xe3\x89"
      "\xbb\xa7\xd8\xbd\x3d\xe5\x2d\xe8\x89\xaf\x1f\x4c\x74\x99\x25\x96\x1b\x7c"
      "\xfe\xe0\xb3\xfb\x53\x81\x19\x62\xb5\xe4\x39\xfa\xd5\x06\x46\x3f\xa1\x68"
      "\xff\xf7\x41\x9d\x17\x8a\x2f\xd1\x2e\x74\xbe\x70\x50\xe5\xae\x12\x7b\x16"
      "\x50\xcd\xcf\xf4\xd4\xd6\xf7\x53\xb6\xb6\x49\x77\xa7\xe8\x13\xd5\x83\x24"
      "\x82\xed\x7e\x37\xd3\x39\xe9\x74\xab\xd6\x44\xb8\x0e\x14\xcd\x54\x50\xc6"
      "\xff\xae\xef\x75\x8a\x52\xf4\x09\xca\xde\x68\x17\x7c\x32\x66\xc6\xad\x71"
      "\x6b\xe9\x75\xe2\xfc\x55\x23\x5f\x83\x3f\x03\x1f\xa8\x5b\x1b\xe8\xf9\x4d"
      "\x92\x54\xb5\xee\xc6\x44\xd2\x17\x94\x5b\x50\x9a\xb6\x3e\x63\x57\x7c\xc2"
      "\xd0\x48\x59\x35\x7c\x84\x6f\x74\x83\xe2\xe0\x54\xa8\x56\x61\xa9\x12\x49"
      "\xd5\x7e\x59\xb7\x53\x57\x5a\xa4\x7a\xc8\x6d\xfc\xcb\xf8\xf6\x67\xe7\x5e"
      "\x62\x0e\xbd\xa8\xb9\x58\x43\xba\xe7\x9b\x4b\xd2\x8e\x99\xce\x7c\xf1\x89"
      "\xda\x10\x5e\xc9\xd0\x0c\x5f\x6d\xc1\xbb\x3b\x1c\x04\x2e\x27\x10\x24\x9e"
      "\xb6\x89\xc8\xcc\xad\x33\xf7\x45\xbe\x23\xef\x09\xdf\x5a\xb9\x3e\x7b\xa5"
      "\xfa\xb7\xfc\xee\x79\xd9\x55\x72\x4b\xb7\xdf\x3b\x36\x28\xd7\x76\xbd\xf1"
      "\x55\xe2\xcb\x22\x34\x85\xeb\x6c\x5c\x39\x95\xa9\xd2\x14\xfc\xb5\x80\x3f"
      "\x30\x38\x23\xe7\x1e\xd3\x3d\x7d\x05\x89\x33\x95\x0a\x19\x6a\xd5\xb4\x8d"
      "\x8f\x72\xc2\xbe\x1a\x4a\x1c\x25\xdb\x7c\xb9\xb8\xcc\x2b\x95\xb3\x37\x85"
      "\xbc\x8c\xe5\xcc\xfb\x1e\xa9\x65\xf6\x26\x7e\xc3\x2d\x69\x0d\x72\xd1\x23"
      "\x19\x62\xd2\x5b\xc1\x45\x9e\xb2\xbb\x9f\xf2\xb9\x74\xe4\xaf\xf3\xf5\xb0"
      "\x79\xc8\x38\xc8\xca\x32\x0a\x27\xb8\x85\x1d\xd9\xfc\x91\x52\x32\x63\x69"
      "\xd3\x6e\xc6\x24\x57\x30\xc4\x7b\x38\x80\x8a\xc3\xcc\x7b\x33\xc2\x69\xfa"
      "\x8e\x85\xf9\x31\x89\xfa\x1d\x5a\x56\x37\xf2\x96\x0a\xef\xb4\x1f\x77\x21"
      "\xb0\x98\x94\x6d\xed\xb1\x72\x39\xfa\x66\x97\xf7\xae\x99\x43\x89\xc2\x81"
      "\x61\xb9\x1d\xd7\x66\x4e\xea\xfe\x16\xda\xb3\xcf\x9e\x64\x89\xe7\x6d\x83"
      "\x56\x44\xc5\x66\x9e\xfe\xc2\x77\x62\x47\xf2\x7e\x3e\x21\x29\x37\x09\xb5"
      "\x98\x39\xca\x06\xc1\x90\x76\xd2\x0b\x3f\xd4\x2b\x05\xb5\xe9\x5d\x96\x5f"
      "\xec\x67\x1b\x65\x3f\x3b\xf6\x26\x7b\x47\x04\xc3\xd5\x2b\x49\xe2\xe1\xf7"
      "\x03\x5a\x33\x4f\xad\x7e\x78\x47\x7c\xdc\x90\x34\xdc\x8b\x8e\x48\xf0\xcd"
      "\x66\x40\xc4\x1d\x53\x96\x3f\xe7\xf2\x6b\x8f\xfc\xfe\xf4\xfe\xe9\x9e\x76"
      "\x87\x60\xca\x82\x4e\x16\x42\x9c\xb5\xc3\xc9\xca\xc6\x3a\xcd\xf2\xfa\xf5"
      "\x0f\x81\x11\x9d\xfb\x03\xf9\xf3\x13\x35\x52\xac\x8e\x56\x1f\x59\x11\xd9"
      "\x9d\x6b\x43\xf6\xf6\xc8\xfb\x00\x8d\xfe\x66\xab\x7e\x57\x73\x19\xe5\x03"
      "\x85\x7b\x99\x7f\x74\xf2\xec\xde\x77\xca\x61\xdf\x51\x8d\xb6\x37\x9e\xea"
      "\xfb\x5e\xfa\x5d\x77\xd0\xd0\x32\xf2\xc9\xba\x2c\xfa\xc3\xe6\x9e\xf2\x87"
      "\xae\x8e\x1d\x7b\x93\xeb\x99\x16\xc6\x56\xd8\x86\xee\x69\xec\x3a\xd6\xfd"
      "\xa5\xf2\xe7\xa4\xa8\xfb\x36\xdf\x91\x92\xdd\xaf\xfc\xee\x90\x0d\x45\x3d"
      "\xeb\x97\xbe\x9a\x26\xf1\x95\x7e\xf6\xc9\x56\xc4\x9e\x98\x68\xa9\x5d\x75"
      "\xff\xe4\xdb\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xff\xb3"
      "\x28\x48\x99\xff\x35\x36\x07\x39\xad\x68\xec\x53\x6a\xf5\x37\x5f\xf6\x39"
      "\x53\x65\xeb\x97\x61\xab\xa2\xd4\xe9\xa7\xa4\x1a\xf5\x27\xdd\xe8\x71\x89"
      "\x5d\x1a\x85\x35\xb3\xa8\x99\x9d\xa6\x74\x91\x4c\xc9\xf8\x75\x06\x8d\xad"
      "\xff\xb2\xe3\xdd\xff\x2b\x1c\xfe\x2b\xa5\x24\x10\x88\x96\x89\x08\x04\xcb"
      "\x07\x5f\x86\x43\x9a\xda\x98\xfe\xa5\x8d\x88\x40\x20\x90\x10\xed\xf6\x25"
      "\x10\xe8\x88\x88\x9b\xe8\x88\xfe\xa1\x07\xe1\x0d\x02\x81\x60\xf6\x6f\xd7"
      "\xf9\x9f\x8b\x15\xcb\x62\xd7\xff\x25\xfa\x86\x53\xfc\xa7\x76\xda\x7f\xe8"
      "\xe4\x1f\xc7\x45\xa0\x26\xf9\xfb\x7a\xfe\xd3\x75\x12\xdc\xfe\xcb\x11\xc1"
      "\xff\x40\x94\x7f\xcd\xb3\x24\x9e\x1f\x73\xd6\xf6\x67\xdb\xee\xeb\x0a\x28"
      "\x1f\xde\xe7\x66\xe8\xfb\xef\x87\x10\x51\xfe\x87\xf9\x44\x20\xd0\x18\xff"
      "\xe3\xfb\x89\xff\x37\xfd\x9a\x98\x5a\xf2\xf3\xdf\x30\x77\x67\xd6\xf7\x76"
      "\x70\x60\x9c\xc9\x23\x1d\x08\xd1\xe3\xef\x7e\x3c\xf6\xc5\x7c\x9c\x23\x2c"
      "\xac\x93\x78\x7e\xf6\x84\x5a\x57\x9f\xb7\x23\x19\x81\x40\xd8\xf1\xd7\xeb"
      "\x5f\xfc\x3d\x5b\x99\xff\x3e\xf9\x5f\xf1\x3c\x81\x40\xa0\xfa\x0f\xfd\x4b"
      "\xfe\x17\xe3\xe2\xfa\xbf\x1c\xff\xd1\xff\x43\xce\xf6\x57\x24\xff\x2b\x52"
      "\xff\x17\xfd\xfc\x5d\x3f\xf0\x7f\x79\xfc\x3f\x22\xfd\x87\x48\xf5\xdf\x7c"
      "\xff\x7f\xd7\xff\xee\x33\xfb\xff\xa7\x9d\xff\x1f\x9f\xef\x6f\x7f\x8f\x93"
      "\xe6\xaf\x58\xf5\x57\x3c\xfc\xdf\xec\x87\xe4\xef\x17\x11\x81\x98\x88\x40"
      "\xfa\x6f\xf7\x62\x1b\xa2\x7f\x9f\x23\x84\xff\xf0\xb9\x11\x11\x88\x08\x64"
      "\xff\xe1\x3e\x4a\x44\x20\xfe\xd7\x9c\xf8\xdf\x72\xc2\xbf\xe6\x84\x7f\xcf"
      "\x89\xfe\x21\x27\xfe\x87\x9c\x84\xec\x1f\xc6\xf5\xaf\xe7\xfd\x6b\xa2\x91"
      "\x10\x11\xfd\xe7\xf6\xbf\x8f\xfb\x87\x76\xce\xbf\xda\x49\xff\x7f\xec\xf7"
      "\x05\x90\x95\xf7\xf7\x2f\xe8\x6e\xa0\x71\x42\x70\x97\xe0\xee\xd2\x58\xd0"
      "\x60\xc1\x82\x04\x77\x08\xae\x21\xc1\x69\x08\xda\x10\xdc\xdd\x09\x10\x1c"
      "\x82\x06\x27\x58\x70\x0f\xee\xee\x12\x5c\x6e\xd5\x3d\xe1\xd6\xbf\xce\x39"
      "\xb9\x35\x95\x99\x39\x39\xf3\x9b\xe7\xa9\xea\xea\xbd\xdf\x55\xfd\xe9\xf5"
      "\x5d\x7b\xf7\xdb\x7b\xfd\x75\x3d\xc5\x7f\xbd\xd7\xff\x4f\x54\xfd\x9b\xeb"
      "\x09\xff\xfa\x1e\xe9\xaf\x3f\xd4\x97\x1f\x9f\x07\xfe\xfb\x07\xff\x4d\xd4"
      "\xff\xe1\xc1\xff\xef\x5c\xff\x5f\x1f\xfb\xba\xf4\xff\xa7\x97\xff\x15\xc2"
      "\xfe\x97\x7b\xd0\xff\xec\xfa\xc7\x7e\xf3\xfd\xf5\x62\x44\xfd\xeb\x5a\xd4"
      "\x30\xb1\xfe\x87\x9f\xf9\xf0\x3f\xf1\xb1\xb6\xb9\x4d\x68\xf3\x7d\xed\x8b"
      "\xf7\x8b\xf1\x37\x7d\x84\x59\x1e\xe6\xaf\xfc\x30\xff\x28\xbf\x60\x87\xc4"
      "\xab\xa3\x86\x66\x99\x9d\xe0\xef\xf2\x1b\x86\xfd\x2b\x3f\xec\x3f\xca\x3f"
      "\xf4\xb8\x40\xe2\x6b\x91\x4e\xae\xfe\xdb\xfc\x91\x1f\xf3\xc3\xfd\xa3\xfc"
      "\x48\xfb\x3a\x0c\xef\x71\x6f\x7b\xba\xbf\x9d\xcf\xa3\x8f\xf3\x09\xfa\x47"
      "\xf9\x3b\x46\x76\x1d\x13\xa7\xf8\xad\x4a\x9f\xfd\x5d\xfe\xcc\x8f\xf9\x91"
      "\xfe\x51\xfe\xe3\xa0\x3a\xfb\x3f\xf4\x59\x31\xfa\x6f\xfb\xcf\xfe\x71\x3e"
      "\x91\xff\x51\xfe\xf2\x5a\xeb\x2b\xbe\xcc\xb5\x74\xc8\xdf\xe6\x07\x3e\xe6"
      "\x47\xf9\x47\xf9\x9f\x85\xee\x5a\xff\xd3\xa0\xf8\xb3\xfe\x36\x7f\xeb\xc7"
      "\xf9\x44\xfd\x47\xf9\xa9\xb2\x2c\x0f\xdd\x13\xda\xa9\xcc\xdf\xce\xff\xf0"
      "\xc7\xfc\x4f\xfe\x51\xfe\xa5\x0f\x39\x9f\xc6\xdf\xbf\x6b\xd9\xdf\xbe\x3f"
      "\x8b\x7e\x9c\x4f\x8c\x7f\x94\x1f\xab\x79\xba\x24\x31\xba\xf4\xcc\xf4\x77"
      "\xf7\xce\x30\x7d\xfe\x57\xff\x87\x05\xf8\xcf\x12\xfb\xaf\xcf\x58\xa1\x7f"
      "\x3d\xff\xa7\x7b\xea\xff\x59\xff\x65\x5f\x98\x18\x23\xcc\x7f\xfb\xcc\x17"
      "\xed\xaf\xaf\x4f\xfe\xaf\xfc\x45\xff\x9d\x30\xff\x65\x77\x01\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\xe0\x3f\x57\x85\x76\x8f\xda\xcf\x4a\xb5\x6a\x70\xfe\x6f\xf6\xb6\x2f"
      "\xb3\xfc\x41\x84\x1a\xad\x4e\xbf\x5d\x7b\xbe\xfa\x99\x9b\x53\xef\xbd\xd9"
      "\xf2\x76\x4d\xc1\xac\xf9\xa7\x9c\x69\x7c\x2a\x79\x96\x0c\x07\x8f\x6e\x3f"
      "\x1a\x3d\xc5\xad\x06\xd7\x7a\x95\x3d\xb8\xfd\x5c\xad\x6f\xb3\xd6\x19\x97"
      "\x75\xfd\x8d\xc1\xb9\xbf\x0d\xd7\xe0\x8f\x9e\x25\x9b\x56\xb8\x7f\x2c\xd6"
      "\xe5\x08\x4f\x8f\x24\xbc\x13\xaf\xed\x8c\xb1\x59\x17\xdd\x79\x9f\x7c\xe6"
      "\x80\x29\x23\xbf\xa8\x7b\xe2\xd4\xe7\xf1\x72\xb6\xeb\x3c\xb9\xd0\xc0\xcd"
      "\x4b\x07\xd7\x9b\xd4\xa2\x7e\x95\x17\x27\x07\x96\x0b\x3d\xd3\x2a\x70\xed"
      "\x6a\xa9\xb5\x03\xa7\x9e\x8c\x7f\x6c\xc5\xc9\xd3\x81\x1d\x23\xbb\x8e\x89"
      "\x53\xfc\x56\xa5\x8f\x7d\x05\x05\x02\x81\x04\xff\xee\x68\x00\x00\x00\xe0"
      "\x3f\x46\xf5\x97\x3b\xcf\xc7\xbd\x70\xa9\x71\xda\x74\x5d\x5b\x64\xdd\xfc"
      "\xec\xe8\xc7\x3d\x3c\xec\x5f\xf5\xa0\x40\xa4\x40\x82\x40\x97\x30\x63\x3b"
      "\xe4\xbc\x38\x31\xde\x77\x79\x16\x4d\xe8\xf3\xe2\xfd\xfb\x5a\xcd\x5e\xdd"
      "\xde\x1d\x6f\x61\xc9\x21\x45\x5b\x0d\x2a\x34\x3e\xe2\xcd\xaa\x91\x73\x3f"
      "\x9f\x96\xe9\xd0\xd0\x5f\x52\xee\xfc\x7a\xeb\xd4\xb0\x77\x2b\xc4\xfb\xb3"
      "\xdb\xe8\x66\x23\xda\xe6\x3e\x37\x70\x54\xb9\x12\xeb\xf6\xdf\x2e\x97\x3e"
      "\xce\xf3\xb2\xd5\x6b\xa7\x2a\xd5\x76\x42\x8d\x39\x53\x12\x15\x8f\xbc\x6d"
      "\x5d\xb2\x1d\x17\xb2\xde\x4e\x19\x7b\x7a\xea\x56\x97\x4a\xce\xdd\x7b\x6d"
      "\x7d\xfc\x0e\x55\xaf\x14\x7f\xf2\xe4\x46\xd3\x82\x9d\x4a\xd6\xbd\x1c\xbc"
      "\xbb\xe5\xb2\x9e\xc3\xd6\xed\x38\x1f\x94\x64\xee\x99\x65\xed\xaa\xb5\xab"
      "\x37\xfa\xb3\x55\xaf\x27\xd6\x7a\xd2\xfe\xd4\xfb\x13\xf5\x8a\x2d\x29\x3c"
      "\x31\x4b\x8b\xef\x33\xdc\xbe\xf2\xf3\xc1\x73\x67\xee\x6c\xbb\x95\xed\x50"
      "\xef\x99\x7f\x44\x6f\xd7\x68\xfe\xf1\x5b\x35\x92\x1c\x4c\x7b\x6e\xd3\xed"
      "\x42\x5f\xce\x48\x3a\xa0\xd3\xbd\x9c\xdb\x6e\x3e\x7a\xd7\xe1\xf0\xcf\xc9"
      "\x5e\x25\xca\xf5\x74\xcd\xf4\x94\x59\x1e\xfe\xd4\x31\x69\xd6\x18\xe9\x13"
      "\x27\x2a\x59\x30\x61\x87\xcf\x92\x47\x6c\x38\xb2\x49\xaa\x73\x85\xea\xe6"
      "\xbf\xf4\x6c\x7f\xd5\x25\xcd\x86\xfc\xbe\x35\xc9\x82\x97\x5d\x1e\x17\xb8"
      "\x3c\xbf\x43\xb4\xd5\x39\xda\x74\x78\x16\x37\x43\xa4\xd9\x7d\xb6\x7e\x36"
      "\xec\x52\xe5\x47\x7b\x66\x9c\x8b\xf0\x24\x78\xe5\x8f\x1d\xa7\x35\x3e\xfd"
      "\x68\x44\xe8\x17\xe5\x5b\x7d\x9a\xb0\x4f\x99\x31\x23\x33\xd6\x7b\xfc\xea"
      "\xd6\xb6\x07\x17\x4a\x04\x5d\x59\xb9\x7c\xe9\xe2\x99\x07\x32\x6e\x9b\xdf"
      "\xeb\x4e\xdc\xde\xc9\x53\x8d\x1f\x3f\x2f\x6b\x50\x70\xf7\x9f\x9a\xf7\x8d"
      "\xff\xc7\xdb\xb2\x67\x23\x45\x8c\x57\xb4\x79\xee\x08\x23\x12\x8e\x5f\xda"
      "\x25\xd7\x8d\xbc\x07\xe3\x64\xb8\xd8\xf6\xec\x8d\x07\xdf\xcd\x5d\x1f\x36"
      "\x34\xef\xa9\xdd\x23\xbb\x5d\x79\x37\xe8\xd8\x99\x8c\xd1\x93\x5d\xec\x18"
      "\x63\xfc\xab\x3e\x6f\x43\xc6\x65\x19\xf2\xe7\x95\x75\x75\x0a\x35\x8e\x95"
      "\xff\x61\x9e\x92\x33\x3e\xaf\x9a\x7f\x43\x99\xa6\xd3\x07\x0d\x9c\xb4\xa2"
      "\x78\x8d\x0f\xf1\x4b\x1f\xca\x39\x77\xd4\x9a\xf0\x57\xd3\xa6\x6a\x3f\x3b"
      "\xdf\xca\x69\xbb\x2a\x9f\x58\x16\x33\xcc\x8a\x06\xf1\x2f\x97\x9c\x53\xf9"
      "\x49\xce\xc3\x07\x97\x34\x2f\x50\xe2\x4d\xfd\x71\x69\x0a\x45\xa8\x31\x7d"
      "\x58\xfa\xfe\x59\x52\x3c\x6e\x34\x26\xcd\x8e\xa4\xbf\x7e\x7d\xf8\x8f\x82"
      "\xbf\xd5\x3f\xb4\xee\xfa\xc2\x21\xc7\x93\xfe\x54\xf8\x45\xca\x8b\x15\x72"
      "\xcf\xda\x9d\xba\xda\x9c\x44\x23\xae\xe5\xfe\xad\x4a\x8c\xe5\xa1\x3f\x0f"
      "\x8e\x5e\xa8\xe8\xc4\x06\x21\x17\x4f\x26\x09\xd7\xf0\x45\xf2\xb1\xcd\xde"
      "\xc4\x1a\xb2\x6a\x53\xf2\x63\xbf\x2e\x89\x76\xb5\x7a\xfd\x36\x61\xcb\x15"
      "\x9b\xbd\xe9\x46\x99\xf7\x11\xde\x17\xcd\x5b\xad\x60\xee\x87\xc7\xc3\x36"
      "\xcc\xb8\xbc\x65\xee\x14\x05\x6b\x74\xae\x1e\x37\xca\x94\x69\x83\xe6\xf4"
      "\x69\x9a\x24\xdd\xb6\xe9\x9d\x16\x4f\x98\x1e\xf1\x5d\xaf\xc1\x69\xbb\x5d"
      "\x1d\x56\xa4\x41\xe6\x26\xdf\x4e\x0e\x6a\x96\xad\x7b\x9d\x64\xed\x1f\x34"
      "\xfb\x72\xd7\x98\x81\xd1\xc6\xf4\x5b\x76\xf5\xc6\xa8\x79\x2f\x8e\x57\xcd"
      "\x7f\xe8\xd3\xd7\x7f\x26\xde\xb1\xbf\xc8\x77\x61\xe7\x34\xbd\x3e\xf9\x51"
      "\xed\xe6\xe7\x83\x1a\xc6\x8b\xb8\x37\xce\xdd\x11\xa7\x2b\x6c\x58\xd8\xbe"
      "\x52\x89\x4f\x96\x86\x6b\x1e\x3d\xb0\x27\xfe\xa4\xad\x5f\x64\x5b\xf4\x55"
      "\x96\x34\x17\x7a\x15\xe8\x90\xe0\x42\xcf\x9d\xb5\xc7\xde\x9d\x52\xaf\x7e"
      "\xc3\xa9\xc3\x3a\xcd\x9c\x3b\x67\xf8\x87\x3b\xa5\x5b\x7c\xf2\x70\x4f\xce"
      "\xbb\xc7\x3f\xb4\x48\x56\x39\x34\xe3\x85\x58\x57\x7a\x8c\xeb\xdd\xbf\x47"
      "\x86\xa0\x39\xfb\xa3\x9d\x79\x76\xf1\x55\xbf\xcd\xa5\x86\x8f\x9e\x10\x37"
      "\xb8\xe3\xe8\xd9\xd7\xbb\x9c\x1d\x79\xf4\xd6\xf1\x9f\x9e\x7c\x88\x1b\x33"
      "\x4b\x86\x7a\x67\x9b\xb7\x3c\x75\x61\xde\xf0\x03\xb5\xb2\x8c\x2f\xdd\xe3"
      "\x8b\x6d\xbb\x4b\x6d\x89\xd9\xf6\x87\x6d\x5d\x7e\xca\x5a\xe1\xed\xb7\x4d"
      "\x5b\x5d\xef\x54\x2e\xca\x87\x22\xf7\xb2\x46\xff\x63\x70\xf4\x89\x2d\xef"
      "\x3d\x58\xfe\x28\xe4\x61\xe6\x34\x63\xaa\xae\xce\xfb\x7b\x92\x06\x79\x66"
      "\x6d\x69\x5b\xb8\xf8\xe9\x85\x37\x76\x9f\xcc\x34\x37\xfe\xc5\xb1\x53\xcb"
      "\xe5\xb9\x3b\x6a\x6b\xf2\x70\x59\x2f\x64\xf9\x7a\x76\xaa\xc1\x31\x2a\x06"
      "\xa5\x6f\xbb\xf0\xee\xe8\xdf\x33\x46\x1c\x54\xfb\xcb\x09\x05\x56\x4d\xeb"
      "\xfa\x64\x6f\xa1\x93\x55\xb7\xe6\x9d\x10\xb3\xe4\xd6\x12\x61\xee\x3d\xec"
      "\xba\xbe\xf3\xab\xac\x87\x6a\xec\x3e\xbc\xb0\x45\xf5\xc0\xc3\x32\xc3\x06"
      "\xa4\x6e\x7a\xb0\xf7\xae\x87\x45\x1e\xaf\xca\x3b\x6b\x44\xb5\x2d\x9f\x77"
      "\xdf\x75\xbf\xee\xfb\xba\xf9\x83\xe7\x3e\x19\xbf\xbf\xf0\xf0\x15\x3f\x45"
      "\xdc\x72\xf6\xfd\x97\xed\x3a\xa6\x2a\xf4\xf3\x99\xa3\x99\x07\x27\x1d\x7b"
      "\xbb\x73\xa3\xd7\xef\x87\xfd\x76\x65\xff\xc4\xb8\x39\xc6\x56\xf9\x3a\x71"
      "\xad\x53\x2f\xfe\x88\x72\x67\xc0\xd0\x9e\xe9\xc7\xf4\x6c\xd1\x3d\xd3\x91"
      "\x85\x2f\x2a\xd7\x29\x39\x6e\x4c\xa4\x12\x65\x5a\x65\x98\x91\x2c\x5b\xbc"
      "\xdd\x3b\xe7\xbf\x0b\x0e\x8e\x37\xe0\xdb\x73\x3d\x32\x45\x5a\x11\xff\x62"
      "\xfb\x82\x9b\x72\xa6\x3b\x76\xf9\xc4\xb1\x64\x99\xcb\xbf\xec\x5d\xa3\xe8"
      "\x27\xcf\x9f\xef\x1d\x73\xf6\xfc\xb7\x1f\x72\x2e\x2b\x7b\xf5\xe4\x93\x15"
      "\x9d\x42\xe6\x8d\x1f\x7f\xb9\x4e\x99\x19\x43\xa2\xad\xea\x11\x25\x77\xb7"
      "\xc6\x47\x4e\x07\x55\x9b\x5c\xb2\x6c\x8a\xa0\x6d\xf7\xe3\x87\x99\xb7\xad"
      "\xfe\xea\x61\xbb\x83\x77\x9c\xee\xfb\x5d\xcd\x18\x19\x23\xdc\x6f\xb3\x3d"
      "\xff\x9b\x77\x15\xab\x2c\x6e\x5a\x7d\x74\xed\x92\x09\xcb\x0d\xbf\x73\xb7"
      "\x6c\xb4\x76\x4b\xa6\x36\xfb\xe4\x97\x27\xe7\x33\x87\x89\x5b\xe9\xfb\xd8"
      "\x67\x8b\xf7\x3b\x7f\x63\x56\xe9\x16\xb9\xbe\x08\xee\x7f\xe4\x41\xbc\xc8"
      "\x3d\xbe\x5d\x53\x2c\x6f\xac\x79\xf7\x36\x27\xce\xdc\x24\xe3\xe1\x17\x8d"
      "\x16\x37\x3f\xb2\x79\xeb\xe1\x9e\x3f\x17\x7c\x52\xa4\x4b\xbd\x27\x2d\x2e"
      "\x9e\xab\x38\xfb\xe6\xee\xf7\xbb\x16\xd7\x79\x3d\x33\xc2\xc6\x5f\x6a\x4e"
      "\xed\x9e\xac\xee\x9a\xcd\x95\xc6\x85\xf9\xf2\x74\x8a\xbc\xef\xc6\xe4\x9f"
      "\x5d\x76\xf7\xfb\xc2\x17\x46\x14\x2d\x74\xbc\x41\xd8\xd9\x31\xee\xad\x1a"
      "\x97\xab\x7f\xb6\x32\xd9\xb2\x55\xec\x15\xfb\xe6\x77\x09\xb6\x65\xdd\x74"
      "\xa9\xfc\xc2\x8e\x13\x17\xf4\x4d\x92\x6e\xe0\xe7\xa3\x4f\x56\x7a\xb2\x66"
      "\xdc\xcc\x0d\x63\x1e\xfc\x52\x33\x46\x91\x7e\x7b\x66\x64\x58\x35\x35\x71"
      "\x91\xef\xd7\x14\xca\x77\x62\x47\xf8\x32\x6f\xea\x34\xcf\x1f\x36\xc6\xa5"
      "\x25\x9b\xaf\xe7\xb8\x56\xf2\xd6\xd8\x90\x2f\xc3\xaf\x3c\xd2\xaa\x76\xa1"
      "\x6b\xa3\x9b\xe7\x4b\xd5\x2e\xc9\xb9\x3f\xba\x07\x7d\x1e\xf7\x46\xfa\x1a"
      "\xaf\xc2\x04\x2f\x9b\x54\x28\xe4\xec\xbb\x27\x87\xd3\x5c\x3f\xf8\xf5\xab"
      "\x5a\xb3\x12\xef\x3f\xbd\xe5\xfa\xb8\x5f\x32\x84\xf4\xbf\x50\xa4\xd8\xc4"
      "\xa3\x3f\xae\xf8\xf2\xdd\xae\xbe\x37\x5a\x8c\xdf\xf0\xf6\x52\x84\xb2\xf1"
      "\x2b\xb7\x5c\x5c\x2b\x6f\x96\x5c\x69\x8a\x7d\x1b\xee\xdc\xcf\x17\x53\xed"
      "\x0c\x1e\xb6\x2d\xf2\xb8\x29\x9d\xd6\x94\x1a\x3d\xab\x4e\xd9\x26\x17\x5b"
      "\xf7\x29\xb5\x3e\xdd\xdc\x39\x79\xb7\x3f\x2b\xd9\xe5\xf7\x3c\x27\x3a\x7d"
      "\x7a\xb7\xf3\x88\xc4\x59\x73\xa4\x0a\x34\x1b\xff\xe3\x86\x77\x47\x92\xef"
      "\xef\x3d\xe6\xca\xad\xa0\xb6\xb7\x27\x4f\x1a\xf6\x43\xcf\x7c\x97\x1a\x36"
      "\x2d\x3a\x6b\x53\xe6\x22\x5f\xe5\xbc\x5d\xbb\x6d\xd3\xb7\x91\xa7\xbc\x2f"
      "\xd5\xeb\x4e\xed\x4d\x77\xe6\xf4\xde\x3d\xae\x6c\xf8\x13\xe1\x97\xa6\x6c"
      "\xb6\x2f\xe1\xbd\xd6\xb5\x13\xac\xa8\xdc\x28\xfe\x86\x44\xeb\xfa\x77\x3c"
      "\xff\xcb\xf4\x21\x81\x3f\x06\x07\x1f\x3a\x96\x29\xca\xd5\x5a\x3f\x87\x79"
      "\x12\x79\x64\xab\x21\x09\x8e\x36\x19\x93\xe0\xe4\x8c\x6e\x9b\xf2\x07\x6e"
      "\xb7\x38\x72\xed\xe0\xc0\x5f\xd7\xf6\xed\x7d\x28\xe5\x84\x3e\x2d\x7e\x6f"
      "\x93\x69\x4c\xac\xa2\xd1\xaa\xe4\x1c\x39\xa9\x71\xa1\xd8\x61\xbb\x2c\x98"
      "\x7d\xa7\xc4\x84\xae\x1d\xf3\xee\x59\xf1\x47\xf9\xe8\x91\x77\x1e\x39\xbc"
      "\x3c\x42\xea\xf6\xc3\xf6\x84\x5c\xba\x18\x2b\xef\xa5\xb1\x7b\x3e\x3d\x53"
      "\xa9\x43\xc9\xd0\xe9\x6b\x12\x0c\x4f\x9e\xab\x74\xcf\x45\x37\x5e\x74\xa9"
      "\x7a\x70\x50\xf9\xc2\xf9\x1f\xdf\x59\xd5\x3f\xc2\xc8\x6f\xaf\x8d\x68\x1d"
      "\xb7\x69\xd1\x13\xb9\x87\x4e\xab\xb4\x7f\x4a\xb4\xb0\x7b\x57\x4e\x1e\x55"
      "\x29\xe2\xa5\x14\x55\x9e\x75\xa8\x71\x7d\x79\x98\x01\x8f\x6b\xa7\x9a\xb3"
      "\xa5\xcb\x8d\x6f\x6a\xf5\x4e\x57\x26\xea\x8c\xde\x73\x62\x7f\xbf\x27\x4e"
      "\xac\x03\x67\xf6\x46\x0e\x79\xb9\x3e\x4d\x9d\x18\x21\x5f\xdc\x3b\xb5\xfb"
      "\x58\x97\x46\x19\x76\x75\x3a\x17\xfb\x4e\xa3\x9b\xd3\x5f\xd5\x1a\x51\xb0"
      "\xe3\xbd\x90\x8c\xdb\x8b\x06\x46\x8e\x09\x93\xb4\xe8\xc4\xf5\x05\xe2\x06"
      "\x1e\x26\xbf\xb4\xff\xce\xbb\xfa\x69\x72\xcc\xd9\xf8\x59\x83\x02\x1b\x97"
      "\x6e\x7d\x71\x2d\x55\xd1\x4f\x52\x67\xfc\xbe\x61\x8f\x39\x13\x87\x1e\x69"
      "\x7a\xfe\xfc\xc8\x56\x07\x9a\x8e\xbb\xbc\xad\x4e\xf8\x52\x67\x83\xb3\x3f"
      "\xee\x1a\x27\x49\xe6\x1b\x39\x7f\xa9\x5b\xaa\xe8\xac\xea\x13\x53\x5c\xd9"
      "\xdd\x25\x73\xe3\x24\xcb\x37\xcc\x8c\xf4\xba\x73\xed\x43\x15\x0a\xa7\xcb"
      "\xf3\x59\xfe\xfd\xe5\xea\xbc\xa8\xd4\x31\x63\x98\x59\xc1\xd9\x8a\x4c\x1b"
      "\x91\x2f\x62\xc2\x87\x03\x6a\xdd\xa8\x3a\xad\x6a\xd2\x41\x29\x77\x6d\x1f"
      "\x31\xb8\xdf\xa5\x98\xdd\x0f\x0e\x99\xbb\xfd\xf8\x83\x29\x6d\xdb\xcc\x8f"
      "\x7f\xba\x6d\xa1\x1c\x95\xfe\xec\x34\xae\x4e\xfe\x29\x19\x9a\x9f\xf8\xaa"
      "\x43\x95\xc1\x13\xaa\xf5\xd9\x93\x3a\x68\xf3\xf3\xeb\x23\x06\x74\xaa\x97"
      "\x3f\xf2\xdb\x89\x73\x5f\xee\x4b\x7c\xa3\xf3\x83\xf4\x93\x37\xbc\x0d\x53"
      "\xe1\xdc\xc8\x6c\x6f\x52\xfe\x50\x78\x7f\xac\x41\xfd\xdf\xbe\xec\x54\x7d"
      "\x70\xbe\xed\x0f\xd6\x35\x6c\x91\x3f\x78\xc5\x8a\xd5\xd1\x9f\xc7\x3e\x79"
      "\xbb\x50\x8a\xd3\xbb\xe7\x4f\xec\x35\x3f\xd7\xeb\x33\xad\xe6\x45\x4d\x3e"
      "\xa4\x6f\x60\xc5\xcf\x6b\x7f\x2b\xf9\xeb\x8b\x62\xa5\x97\x2f\xc8\xd3\xe5"
      "\xd7\xc5\x0b\x97\xfe\x91\xf0\x4a\xac\xe2\x37\xa7\x1f\xef\xb8\xe8\xc5\xb5"
      "\x30\xcb\xca\x46\x9b\x78\xe6\x6d\xb1\xe9\xb1\xa2\xb7\x7f\x5a\xf8\x78\xc6"
      "\x6f\x73\x74\x2c\x33\xf9\xd2\x98\xa8\xb3\xc7\x9e\xed\x36\xad\xf4\xe4\x76"
      "\xeb\x32\x64\xba\x35\x6a\x46\xf4\x1f\xc7\x8d\xcc\x1d\x23\xdf\xf4\x2d\xb9"
      "\x6a\x17\x08\x74\x5d\x74\x64\xc4\xbe\x7a\x61\x7b\x4f\x9b\xd0\xaf\x73\xba"
      "\x5f\x0b\xa4\xcd\x97\x78\x6b\xc5\x26\xb7\x3e\xfc\x79\xf9\xd8\xae\xe2\xe3"
      "\x9f\x7d\xf3\x55\xd4\x13\xf5\xef\xaf\x0e\x5e\xde\xf1\x97\x95\x5d\xb7\xd4"
      "\x9b\xf7\x66\x4e\x9c\x2e\x31\xbf\x5a\x7e\x38\x62\xb1\x24\x2f\xf7\x0f\x79"
      "\x35\xfc\x7e\xf7\xa8\x37\xaa\x3c\xad\xb1\xac\x71\xdf\xd1\xe9\x6f\xcc\xb8"
      "\x18\xf5\xb3\xaf\x77\xec\x1b\x98\xb0\xdc\xb5\x25\xd3\x52\x47\x4f\xbb\x62"
      "\x67\xdd\x11\xbb\xaf\xe5\xcc\x93\xb5\xd0\xc6\xd5\xb5\x13\x36\x58\xf6\x3a"
      "\x4f\xc4\xa0\x93\x8d\x4f\x0d\x0d\xb9\xf5\xe8\x9b\xd0\x42\x79\xeb\xff\xb8"
      "\x68\x59\xdc\x4e\x69\xf6\x6d\x58\xb1\xbd\xf2\xb6\x39\x6f\xda\xdd\x8d\x1b"
      "\x74\xbe\xf5\xf2\x29\x99\xe3\xa7\x8d\x36\x23\xec\xcb\x9f\xba\x05\x75\x5f"
      "\x3f\x7c\x43\xde\xc6\x45\xce\x24\x0a\x9d\x51\xa0\x6a\xcb\x89\x89\x82\x17"
      "\x1e\xea\x7f\xae\xe9\xfe\xa9\xdf\x97\x9c\xd2\x62\x79\xa5\xd0\x9f\xdb\x56"
      "\x29\xfd\x2e\xd9\xf5\xde\x31\x47\x0c\xce\x1e\xe3\x45\xac\x4c\x2d\x4a\x5f"
      "\x39\xfb\xc5\x8c\xcd\xe7\x22\x3f\x7e\x58\xae\xe4\x90\xe4\xbf\xde\x6d\x70"
      "\x3c\x71\x9e\x8d\x5b\xb6\xf6\x8e\x18\x7d\xe7\xa9\x55\x6b\xb3\x2e\xd8\x5f"
      "\x2b\x34\xe1\xb5\x96\xc9\xef\xdf\xe9\xb0\x60\x75\xac\x89\x35\x66\xcf\x8f"
      "\x52\x65\xe8\xfb\x2c\x75\xda\xed\xca\x9b\x35\x59\xad\x47\x7b\x42\xda\x9c"
      "\x88\x9a\x73\xc6\x98\xc1\xd5\x22\x4d\x5a\x13\xe1\xea\xf4\xd3\xcd\x63\x2e"
      "\x7e\xf8\xe2\x58\xcc\x84\xb1\x3b\x16\x1d\xbc\xf8\xe6\xf9\x31\xe9\x0a\x86"
      "\x4c\x9e\x1c\x72\x61\xf1\xa3\x4c\x35\xc7\x75\x1f\x38\x2b\x4b\xe0\xf1\xae"
      "\xb6\x49\x66\x8d\xbd\xfd\xee\x71\x93\x94\x5d\x17\x95\x5a\xd0\xaa\xcd\x0f"
      "\xa9\xbb\xb5\x7c\xf5\x49\xe4\x58\x63\x1e\x0d\xe8\x74\xf1\x72\x93\xb2\xe1"
      "\x63\xcf\xdb\x50\xea\xc4\x84\x4c\x77\x4f\x37\xab\xdd\x6f\xd1\x9d\xf5\x3d"
      "\xbf\x3d\x52\xe7\xfe\x88\x73\x83\x26\xdf\x6f\x94\x31\x79\xbb\xfb\x5b\xae"
      "\x95\x89\xb7\x6d\x57\xc1\x24\x29\x8e\x8f\xab\x73\x66\x47\xa4\x12\x17\xbb"
      "\x2c\xaf\x90\x64\x6a\x86\xdd\x53\xf2\xf7\x1f\xdb\x28\xf9\xf8\xee\x05\x43"
      "\x1b\x97\x3f\x75\xbd\x67\x92\xb1\x39\xee\x47\x7d\xd7\x2c\x5a\x8c\x27\xef"
      "\xea\x2e\xae\x3b\x7c\xf5\xd5\xd9\xcf\x9a\x74\xee\x31\xb4\x5f\x9f\x75\x05"
      "\xd7\x5c\x2d\x91\xfa\xfe\xd9\xf3\xb5\x52\xec\xef\x1e\xda\x72\x65\x98\x61"
      "\x43\x12\x2f\x8b\xff\xfe\x62\xe9\x76\xf3\x8e\xa5\x2d\x91\x63\x5b\x48\xb1"
      "\x04\x6b\x1b\x66\xaf\xd1\x24\xd7\xb0\x98\xe3\xba\x7e\xb3\xad\x7f\xae\x1e"
      "\x99\x06\x6f\xbf\x75\x66\xee\xb2\x4b\x3b\xbe\x0b\xcc\x1b\xd4\xee\x97\xa4"
      "\x73\x5a\xde\x7b\x39\xea\xd9\xac\x69\xeb\xc6\xc6\xcb\x9d\xf9\x4d\xe2\xbb"
      "\xdf\x7c\xd8\x37\x2b\xfc\xd1\x1f\x4e\x5c\x79\xbe\xe7\xf4\xfb\xb0\xb5\x53"
      "\x04\x0f\xac\x71\x3d\xb8\xdf\x96\xc9\x87\x1e\xdd\x1b\x51\xe6\xc8\x0f\x91"
      "\x0b\x2f\x4b\x5f\xaa\x5c\xf9\xca\x1f\xe2\xcc\x29\x72\xe2\xc9\xd3\xa6\x8f"
      "\x16\xc6\xcc\xdf\x22\xcf\xd8\x34\xe5\x22\xac\x7a\x5f\xa9\x48\xc2\x12\x29"
      "\x5a\x7d\x72\x27\xe2\x8b\x83\x93\x46\x9f\x39\x7a\x69\x7d\xcc\x0f\x61\x76"
      "\x06\x75\x08\xa9\x52\x2f\xdc\xc2\x5f\x5b\x14\x8f\x9d\xec\xd8\x57\x77\x4e"
      "\xe6\x1c\xd3\xe3\x79\xb4\xf6\x3b\xa2\x36\x8d\x7a\xb5\xc0\xcd\x86\x53\x2f"
      "\x0e\x58\x1a\x6e\x73\x82\x2f\x1a\xce\xca\x9a\xb2\xfc\xab\x7b\x29\x36\x56"
      "\x1a\xb8\x72\x77\xc1\xc4\x77\xa7\x87\x29\x19\xb6\xe1\xbc\xf6\xe5\xeb\x8e"
      "\x68\x5d\x73\xf6\xbd\xe5\x7b\xb2\x7f\x35\xa9\xca\xe8\x52\xb7\x86\x15\x6e"
      "\xdb\x6c\x53\xf1\xbb\xf9\x0a\x0d\xce\x77\xfa\x6e\xbe\xf3\x49\x6e\x45\x8d"
      "\x90\x6a\x50\xae\x4f\xb7\xee\xf8\x26\xd1\xa2\x7d\xe1\x9e\x5c\xc9\x5c\x73"
      "\x68\xa5\x51\xfd\x32\x9c\x2a\x7a\x6b\x7d\xc6\x04\x97\x0a\x56\x3f\x3c\xe5"
      "\x5e\xb1\xd2\xaf\x9a\xad\xbe\x7a\xb1\xc2\x83\x2b\xbf\xf6\x48\xb2\xe5\xca"
      "\xcf\x37\x47\x0c\x5a\xf8\xcd\xe3\x94\x99\x43\x26\xc5\x9a\x9c\xe9\xec\xb1"
      "\xae\x7b\xfa\x45\xc9\x37\xf8\xd3\xdc\xb1\x42\x9e\x44\x09\x79\xdf\x31\x57"
      "\xb6\x36\xbd\xfe\x6c\xfd\xeb\xd2\xc3\x67\x8a\x2c\x79\xf8\xa1\x65\xfa\xaa"
      "\xef\xd6\x14\x69\xb6\xe6\xb3\x3e\xeb\xc6\xcf\xdc\x1a\x31\xc7\x95\x5e\x53"
      "\x2a\xae\x6b\x3f\xf5\x45\x82\x78\xc5\x6f\x1f\x89\xbd\x7c\x5a\xf9\x25\x99"
      "\x0e\xbf\x18\x52\x75\xd4\xa2\xe0\xba\x8f\x3a\x3d\x2c\x3b\x32\xe3\x80\x01"
      "\x9d\x87\xf7\x3a\x3a\x63\xe8\xd1\x6d\x89\x06\x5f\x2e\x32\xf6\x45\x9b\x95"
      "\xd3\xf2\x25\xdf\x93\xa7\xd7\xce\xc5\xdf\x94\x4f\xd5\x3f\xcd\x95\x03\x61"
      "\xd2\x3e\x0d\xb7\x35\x6c\x81\xd0\x47\x77\x67\x5d\xcf\xd7\xfd\xce\xab\x5a"
      "\x71\x4e\x1c\xab\xd7\xba\x6b\xf3\x13\xa3\x6a\x3d\x3a\x76\xeb\xe2\x6f\x83"
      "\xdb\xa6\xe9\xda\xf3\xea\xad\xa0\x48\x91\xe7\x1f\xe9\x7b\xb0\xe1\xf0\x82"
      "\xc5\x26\x14\x2f\xd9\x60\x7b\xd7\x56\xfb\x93\x9e\x9c\x52\xa0\xd8\x8f\xc7"
      "\x7f\x29\x78\x2c\xf6\x8d\xe7\x0d\x86\x95\xe8\x7e\x60\xf0\xa5\x8d\xb3\x12"
      "\xb4\x1b\xf8\xe4\xe9\xb9\x91\x29\x4f\xb5\x48\x55\xa0\x56\xf1\x6e\x17\x0a"
      "\xec\x6f\x3c\xe5\x87\x2e\x31\x8f\x9f\xcb\x96\xe5\xc2\xd4\x95\x93\xd2\x04"
      "\xad\xc9\x73\x2a\x38\x4f\xf1\x5b\x2f\xda\xb6\x8e\x12\xb4\xf3\x5f\x5e\x2f"
      "\x80\xff\x8d\x3d\x6e\xf8\x4d\xa9\x97\xb7\x4f\x84\x44\x9e\x7f\xf4\x51\x84"
      "\xdb\x13\x63\x7e\xdc\xff\x23\xfc\x55\x0f\x0a\xc4\x08\x44\x0c\xca\x19\x18"
      "\x9b\x2f\x7d\xe6\x08\xe5\xf6\x7c\xf9\x38\xf6\xf1\x53\x97\x63\x25\x59\x7c"
      "\x39\xdf\xc4\xb6\xbf\x0e\x8f\xb1\x36\xca\x9a\x17\xbb\xdb\x26\xb9\x7a\x62"
      "\xcf\xed\x08\xb5\xb6\x6f\xfd\xb3\x6f\xb9\x81\xb9\x37\xf5\x59\xdf\xf2\x4e"
      "\x9c\xef\xef\x36\xde\xd7\x32\xc3\xb6\x42\x55\xbe\x4d\x16\xad\xcc\xd7\xe9"
      "\x56\x8e\x7a\x95\x24\xd1\xbc\x0b\xf9\x93\x9f\xf8\x2c\xcb\xf5\xe2\x97\x4b"
      "\x94\xad\x57\xb7\x5d\xf6\x2a\x2b\x8e\x0d\x1d\x1d\x5c\xa5\xed\xcd\x99\x1d"
      "\x8a\x54\xbf\x9d\xf9\xd3\xdb\xd7\x03\x81\x72\xcd\xfb\x97\x3d\x94\xf6\xf2"
      "\xf8\x95\xf1\x52\x4d\x19\x1e\xa7\x47\x81\xfb\x05\x77\x06\xdf\xa9\x3d\x38"
      "\x7b\xbc\xd6\xab\xbf\x1e\x7d\xb6\x46\x9c\xed\x49\xb6\xa4\x29\xbd\x2e\x74"
      "\x73\x84\x46\x15\x97\xac\x3a\x70\x68\x48\x94\x30\x75\x26\x67\xfe\xa2\x51"
      "\xf0\xd7\xe3\x0f\xe7\x2a\xbe\xb7\x48\xb1\x5f\x87\x7c\x92\xb2\x79\xf1\xcf"
      "\x2f\x0e\x3f\xf5\xb2\xe9\x57\x6d\xb7\x9c\x0a\xb4\x2e\x1b\xf7\x8b\x06\x8b"
      "\x8b\x3e\x8b\x1d\xa9\xde\xf6\xc4\xf1\xb7\xd7\x8b\x32\xae\xfb\x98\x29\xe7"
      "\xea\x36\xed\x75\x34\x72\xc6\xd8\xc9\xa2\x65\xef\xbb\x36\x4e\xda\x76\xe5"
      "\x1f\x8e\x7c\x96\x34\xd1\x8e\x0e\x43\x9e\xcc\xea\xb8\x68\xd1\x9a\x3c\x2f"
      "\x6a\x65\xea\xf7\xe4\xfd\xb0\x66\xe3\x5f\xef\xef\x34\x3c\x59\xe5\x89\x6d"
      "\x9a\x4f\x5f\x3d\xbc\xeb\xa5\xe7\xfd\xe3\x24\x3a\xb6\x35\xd3\xa4\xca\xfd"
      "\x9e\x7e\xde\x24\xb8\x49\xd7\x04\xc1\xdb\xdf\xed\x1e\x73\xa8\x68\xae\x7b"
      "\x83\x5a\xdf\x9c\x39\xb1\xe5\x9f\xd5\xe6\x95\x6f\x55\xf2\x54\x93\xfc\x31"
      "\x3b\x15\x4c\xd8\xa5\xe4\xed\x9b\x6f\x66\x5e\xe8\x3c\xf5\xc7\xd9\x03\x5a"
      "\xee\xcb\x31\xb8\x68\xda\x45\x57\x93\x76\x1c\xda\x6d\x42\xed\xdd\xfb\xa2"
      "\x9e\x9e\xb9\xfc\xde\x9b\x2d\xfb\x07\x5c\xdb\x16\x5a\xa6\x7d\xb1\x19\xc7"
      "\x1b\x5e\x69\x9d\xb8\xec\xcb\x57\x61\x23\x55\x78\x96\xe2\xea\xea\x2a\x39"
      "\xd3\x57\x7d\xda\xba\xd8\x9a\xb4\xd7\xba\xec\xed\x1c\x6e\x77\x68\xed\x14"
      "\xcb\xa3\x1e\xba\xb4\xa4\xc5\xcb\x13\x2b\x77\xa6\xd9\xb3\xeb\xf4\xd3\x8e"
      "\xff\xf2\xdb\x06\x00\x00\x80\xff\x87\x39\x7a\x60\xef\xc5\x21\x6b\x7f\x6c"
      "\xd2\xa5\x56\xab\x46\x7b\x5f\xb6\xd9\xf7\x71\xff\x8f\xf8\x57\x3d\x28\x90"
      "\x20\x10\x31\x28\x4a\x20\x64\xd2\xe5\x02\x59\xab\xed\xdf\x9d\x3a\x66\xf2"
      "\x5c\x35\xaf\xc6\xd9\x39\x76\x52\xfb\x4b\x67\x1f\x17\x8e\x3b\xfb\xe8\x8e"
      "\x81\xc3\xbb\x97\xec\xf3\xa4\xc5\xc6\x6e\x11\xb2\x6d\xac\x19\x39\xf4\xee"
      "\x8b\xb5\x4d\x0e\x64\x8e\x75\x7a\xe0\xa0\xd3\xb7\xf2\x7e\x58\xb8\x20\xe1"
      "\x9c\x6a\x53\xf2\x94\x18\x58\xb4\x44\xe7\x21\xf7\x4b\xec\x68\x5e\x7c\x58"
      "\xa4\xb0\x85\x1f\x7e\xf7\x2f\x1f\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x17\x84"
      "\x9c\x3f\x5f\x63\x69\xb3\x3f\xbf\xef\xd5\xa6\x70\xc9\x3f\xd7\x5f\x1b\x52"
      "\xa3\xd5\xe9\xb7\x6b\xcf\x57\x3f\x53\xf5\x45\xf0\x90\x46\x0f\x33\x16\xb9"
      "\x5b\xba\x4c\xb1\x64\x35\x5b\xf4\x29\x92\x6f\xf6\xf3\xd9\x6f\xbf\x6d\x11"
      "\x7b\xed\x86\xba\x87\xcb\xd4\xfc\xa6\x4c\xfa\x9a\xbf\x6d\xc9\xd5\x77\x6a"
      "\xdc\x63\xed\xb3\x8f\xbb\x33\x35\xfa\xaa\xa1\x9f\x8f\x9d\x7c\xa7\xf1\xe0"
      "\x3b\xef\x22\xa7\x6e\x18\x5c\x3d\xf7\xb4\xf7\xe7\xc2\x4c\x6e\x30\xbc\x49"
      "\x87\x85\x39\x4a\xff\x79\xef\xd7\xd2\x73\x23\x1f\xff\x79\x75\x94\xdc\xad"
      "\x27\x0e\x5e\xbe\x77\x57\xd8\x5f\x8a\x6c\xfc\x22\x4f\xe5\x9e\x0b\xae\xb7"
      "\x3a\xd9\xb5\xc7\xd2\xc5\x59\x97\x6d\xda\xdc\x26\xb4\xf9\xbe\xf6\xc5\xfb"
      "\x7d\xec\x2b\x28\x10\x08\x44\x0c\xfa\x77\x67\x03\x00\x00\x00\xff\x29\x0a"
      "\x2c\x0b\x53\xaa\x51\xde\x92\xab\x6a\xee\x4b\xdd\x3b\x49\xd2\x5f\xd6\x7d"
      "\xdc\xc3\xc3\xff\x55\x0f\x0a\x44\x0a\x44\x0c\xca\x15\x58\xd3\x30\xe2\xb8"
      "\x7b\x6f\x5f\xa5\x89\xf6\x47\x92\x5f\xa3\x97\x8f\x7d\x76\x4e\x91\x4c\x8b"
      "\x8a\x2f\x68\x3f\x29\x53\xbb\xb2\xed\x5e\x74\xb9\x33\xe0\x54\xc5\x44\x19"
      "\x32\x47\x3a\x33\x27\x41\xd3\x99\xab\xe6\xaf\xad\x12\xbd\x5d\x8a\xf4\x85"
      "\x2f\x76\x5e\x3f\xf5\xc9\xf7\x87\xaa\x2e\x6c\xbf\xbe\xc4\xc1\x5d\x9f\x57"
      "\x8a\x1a\xb5\x6c\xca\x2b\x43\xda\x7d\x53\x78\xce\xe7\x2d\x2a\x3c\x38\x34"
      "\xac\x7a\xd9\x54\x3f\x15\x4c\x9b\x34\x7a\xf1\x7d\xa3\x9a\xb4\xbd\xdf\x38"
      "\xed\xc1\x07\x95\xa2\xd7\x39\x70\xee\xf5\x8f\x79\x66\x67\x7e\x54\xef\xd9"
      "\x91\xd8\x6f\xb3\xfc\x79\xe3\xc9\x27\x31\x9f\x85\x2f\x13\xe3\x56\x94\xd9"
      "\x11\xc3\xcc\xed\x9e\xb2\x56\xe0\xcb\x3e\x55\x06\x64\xce\x97\xfa\x8f\xa2"
      "\xa3\xdf\x3c\xbc\xff\x75\x89\xc2\xb1\xba\xd6\xcb\x9c\x2d\x5f\x9b\xb6\xe9"
      "\x3f\x9f\x9f\xbd\xff\xc8\x01\xf3\x32\xe6\x48\xb3\x38\xe5\xfc\x46\x9f\x87"
      "\xee\x5e\xdb\x71\x74\x95\xb2\x9f\x84\x59\x9c\x2a\xe7\xc1\xaa\xdb\xbb\x4c"
      "\xcb\x12\x2f\x7f\xd2\xdc\x59\xda\xb5\xdc\x3b\x7e\xe0\xce\x62\x57\x62\x9e"
      "\x4c\x9f\xe8\xdc\xd4\xd6\xa1\x59\x62\x3f\x9d\xdc\x75\x53\xcb\x8c\xed\xab"
      "\x4f\x5b\xfb\x2c\xe2\xd6\xd7\x17\x5f\x0d\x7b\x58\xa5\x7c\xb6\x4c\xaf\xcb"
      "\xfd\x94\x6a\xfe\x86\xe4\x51\x6e\x15\xbf\x33\xb3\xd4\xd5\x88\x9f\xf5\xdb"
      "\xb3\x7a\x5d\x98\xc8\xab\x86\x96\xba\x5d\xbe\xfa\x97\x95\x5a\xae\x5f\xdb"
      "\xa3\xe0\xc4\x7d\x51\x1a\x34\x5a\x94\x72\x71\xcf\x7d\x45\x5b\xc5\x2e\xf9"
      "\x6d\xe7\xd6\x21\x43\x16\x47\x3b\x38\x69\xc3\xea\xeb\x6b\x9e\x6d\x5b\x35"
      "\xa9\x6b\xa7\xe0\x03\x3b\x67\xdc\xf9\xfa\xbb\xac\xf7\x46\x9f\x88\x54\xfb"
      "\xe4\xc0\xe7\x79\x5a\xee\xbd\x72\x6c\x68\x97\xc5\x21\xed\x8e\x15\xf9\xee"
      "\x40\xd2\xd5\x29\x0f\xae\xfc\x25\x30\xa6\xd7\xc5\x73\xad\xcf\x27\x6d\x95"
      "\x3a\xe9\xee\xaf\x7f\x9f\x9a\xfc\x6e\x8f\x25\x75\x76\x3d\xcb\x5e\xfc\xfb"
      "\xea\x55\x52\x3f\x8d\x90\xb4\x43\x9d\x1d\xad\x4f\x4c\xeb\xdf\x7e\x7d\xdf"
      "\x75\x5b\x6e\xee\xeb\x50\xf6\xda\xdc\x8a\x91\x06\x7e\xb1\xf5\x6a\xb2\x71"
      "\xe1\xbb\x56\x4d\x13\x3d\xeb\xbf\xfc\xf6\x01\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\xe0\xff\x65\x86\x16\xaa\x75\x33\x52\xd0\xcc\xbd"
      "\x9b\xe6\x76\x89\x53\xf5\xe0\xf3\x0d\x35\x5a\x9d\x7e\xbb\xf6\x7c\xf5\x33"
      "\x05\xc3\x0d\xde\xf8\xfa\xbb\xd6\x95\x2e\x9f\x2d\xfc\x26\x5d\xe3\x77\x83"
      "\x1b\xbc\xdf\x53\x7d\x6a\x8a\x43\x09\x33\x77\xec\x7e\xa3\x4d\xb2\x4b\xa5"
      "\x93\x2e\x7d\x97\xab\xc7\x86\x46\x57\x5e\x1d\x19\x1c\x26\xf5\x83\xad\xc7"
      "\x5e\xbe\xcc\x98\x35\x78\xe8\x90\x8e\x69\xce\x9d\x6a\xd8\xf2\xde\xce\x8a"
      "\x2f\xa6\x9c\xda\xb3\x3a\xfa\x89\x2b\xf3\x67\xb6\x2d\x71\x62\xe3\xad\x9e"
      "\x77\x2a\xc7\xf8\xea\xec\xae\x21\x83\x8a\x1e\xda\x3d\xf9\x6e\xf9\x88\xe5"
      "\x67\x9c\x8b\xdf\xb2\x45\xbc\x08\x21\xe5\xde\xae\x7a\xb8\x7d\x78\x9f\xac"
      "\x9f\x85\xee\x5a\xff\xd3\xa0\xf8\xb3\x3e\xf6\x15\x14\x08\x04\x22\x06\xfd"
      "\xbb\xb3\x01\x00\x00\x80\xff\x14\x21\x87\xb2\xe5\x89\xf0\x6e\x4e\xfe\x2a"
      "\x05\x4b\x1e\xd8\xb2\xef\xc0\xa6\x8f\x7b\x78\xf8\xbf\xea\x41\x81\x48\x81"
      "\x88\x41\xe1\x02\x11\xaf\x47\x0f\xcc\x0a\xca\x7f\xad\xfe\x9c\x26\xd7\xaa"
      "\x3f\xcf\xdb\xf2\x41\xc1\xb5\x19\xbe\x39\xf9\x2a\xca\xbf\xdc\x3e\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xbf\xd0\xe4\xbd\xa5"
      "\x3e\x3f\x51\x6a\x56\xb1\x3e\xf7\x3b\x77\x5f\x32\x75\xff\xe3\x1a\xad\x4e"
      "\xbf\x5d\x7b\xbe\xfa\x99\x5a\xf3\x9a\x55\x4c\x9d\xba\x56\xee\x19\xe7\x5b"
      "\xb7\x5c\x1b\xed\xfa\xd4\x5d\x63\x7f\x1b\xf1\xc9\xac\x51\xbb\x4e\xfc\x56"
      "\x36\x46\x20\xf7\xd9\x21\x45\x3e\x6c\xac\xf8\xfb\xf3\x99\xbb\xca\x5f\xdf"
      "\x9f\xef\x4c\x99\xb8\xd9\x67\x8d\x0b\x17\x6b\xde\x9b\xc5\xe3\x0f\x34\x19"
      "\xb7\x3e\xd9\xc3\x37\x63\xee\xdc\xf9\x73\xe7\xef\xe7\x36\x34\xfd\x39\xff"
      "\x2f\x69\x0e\x87\x66\x2a\x14\x76\x4e\xab\x9a\x73\x23\xf5\x6a\x36\xb0\xde"
      "\xad\x92\xb9\x17\x74\x89\x70\xbd\xd2\xc2\x4f\xc3\xd4\xcc\x58\x75\xf3\x82"
      "\x1b\x3b\xff\x98\xbc\x23\x65\xaa\x2c\xcb\x43\xf7\x84\x76\x2a\xf3\xb1\xaf"
      "\xa0\x40\x20\x90\xe0\xdf\x1d\x0d\x00\x00\x00\xfc\xc7\x98\x12\x23\xeb\xf6"
      "\x55\x0f\x86\xa7\x79\xf5\xfd\x8a\xa2\x25\x72\x14\x3b\xf7\x71\x0f\x0f\xfb"
      "\x57\x3d\x28\x10\x29\x90\x20\x90\x2a\xd0\xa1\xdd\xf0\x67\xdb\xbf\x6e\x77"
      "\x34\xb4\xc2\x80\xfa\x2b\x47\x35\x8f\xf6\x34\x7c\xf8\x13\x19\x4a\x65\x9a"
      "\x9b\xe7\xc6\x8b\xda\xed\x53\xa6\x89\x3a\xa1\x7f\xd1\xf5\xaf\x73\xc5\xdc"
      "\xb3\x27\xe3\x8c\x46\xf1\xb7\x2d\xdc\xbd\xfe\x44\xad\x87\x4b\x9b\xfd\x91"
      "\x62\x41\x8b\x66\x23\x0a\xdc\xba\x97\xa7\x6b\xb4\x41\x55\x3a\xfd\x32\xf5"
      "\x75\xeb\x97\xd5\x16\xdc\x9c\x5d\xa3\xe6\x94\x4f\x33\xcf\x1c\x17\xfe\xd3"
      "\xef\xb6\x7e\x73\xb7\x64\xa5\xcc\xe7\xd3\x4f\x78\x39\xed\xeb\xb8\x9f\xf5"
      "\xfb\x34\xc2\x93\xc2\x73\x5a\x87\x3d\x7a\x7c\x68\x86\xc2\xf7\x9f\x0c\x58"
      "\xf7\x7d\xd5\xb2\x09\xe7\x9c\xdf\x38\xe1\xf8\xc1\x37\x93\x42\x72\xc6\xee"
      "\x97\x2b\x76\xfd\xb0\x89\xb3\xfc\xb8\xb3\x7a\x83\x52\x4d\xb3\xdc\x1a\x5a"
      "\x6c\xd1\xee\xda\x5b\x6b\x97\xa9\xf0\x5d\xd0\xdc\xd3\xad\xee\xf7\x3d\x1b"
      "\x31\xde\x57\xeb\xa6\x94\x8d\xbb\x75\x42\x95\x84\xe5\x6a\x7e\x39\x26\xfc"
      "\xab\xe2\xdb\xb3\x17\x18\xdd\x6b\xda\xe6\xaa\xdd\x76\xa6\x4d\x33\xb9\x4d"
      "\xc1\xfe\x85\xbe\x09\xdf\x31\xe6\xf0\x9c\xa9\x23\xb7\x5f\x97\x2d\x77\xe2"
      "\x77\x5f\x25\x1c\xb4\xb0\xf5\xd8\xc8\x3d\x2a\x7d\x9b\x38\x7a\xdb\x51\x3d"
      "\x4e\x0c\xcc\x5c\xab\x5f\xe9\xc7\x05\xa6\xbe\xef\x12\xe3\x69\x82\xe7\x3d"
      "\xde\x37\x3c\x77\x37\x55\x9a\x62\xbd\x46\xe6\xad\x92\xad\xc3\xb0\x33\xa7"
      "\x37\xdf\x19\x50\xec\x43\xe1\x53\x11\x22\xbd\xa8\xd3\x67\xf4\xe7\xbd\x83"
      "\x4f\xde\xfc\x97\x5f\x3e\x00\x00\x00\xf8\x3f\xe4\x9b\xd8\x43\x92\x8c\x0f"
      "\xbf\x36\xed\xb0\x37\xd3\x0f\xd5\x49\xd8\x2a\xdb\xc7\xfd\x3f\xc2\x5f\xf5"
      "\xa0\x40\x8c\x40\xc4\xa0\x04\x81\x28\xaf\xef\x1d\xaa\xde\x29\x51\xb8\x8b"
      "\x99\xb7\xe7\x3b\xf7\xfb\x90\xac\x6d\xab\x1d\xec\x7d\xbb\xde\x8c\xda\x1f"
      "\x52\x4f\x4a\x76\xf9\x7a\xa9\xd6\xad\x8e\x3e\xc8\xbe\xab\xf9\x0f\xaf\x52"
      "\x66\xc9\xd7\x6e\x70\xc7\x02\xcd\xe7\x35\x2d\x75\xb4\x74\xe9\x1d\x7b\xa7"
      "\x54\xe8\x55\x78\x50\xc5\x75\xaf\x6b\x8e\x3c\x3e\x6c\xcc\xad\xd2\xcd\x4e"
      "\xec\x8f\x95\xa4\x74\xfd\xbb\x11\xb3\xe7\xae\x9e\x32\xb4\x64\xf1\xb8\x73"
      "\x5f\x54\xff\xa5\x62\xd5\x1d\x65\x92\xf6\x18\x97\xe2\xc0\xe7\x31\x57\x84"
      "\xaf\x31\x7c\xd7\xa8\xd2\x75\x9a\xb6\x79\x11\xbb\xf0\x80\x70\xf5\xba\xdd"
      "\xb9\x59\x6c\x4c\xae\x62\xe5\x37\xce\xdc\x99\x67\x54\xf4\x7e\x49\xb2\xf7"
      "\x48\x1d\xf2\xfa\xc3\xc1\x97\x19\xde\x8e\x4a\x77\x75\xf6\x9c\x53\x17\x7b"
      "\x8f\xaa\x93\x65\x7c\x91\xb7\x23\xe3\x9d\x8e\x9e\x3f\xe7\xf4\x8e\x4f\x97"
      "\xb7\x3f\xb6\x3f\x72\xb1\xc4\x37\x76\x84\x6d\x95\x67\xf7\xfb\xf7\x0d\x3e"
      "\x4d\x9e\xf8\xee\xb8\x32\x57\x5e\xff\xcb\x63\x06\x00\x00\x80\x7f\x55\xed"
      "\x43\xeb\x23\x27\x69\xd5\x2f\x6c\xae\x0a\x1d\x96\x2c\x49\xfa\xdb\x17\x1f"
      "\xf7\xff\x88\x7f\xd5\x83\x02\x09\x02\x11\x83\x22\x05\x16\x2e\x4c\x5c\x26"
      "\x5f\xd5\x0b\x89\x72\x8f\x88\xfd\x53\xb6\x45\x21\x9b\x9e\x8e\xbd\x58\xe1"
      "\x5e\xbc\x1a\xf5\x97\x15\x88\x9d\xf3\xf7\xf8\xf7\x6e\x0d\xed\x11\x67\x72"
      "\xbe\x91\x09\xd2\x84\xae\xd9\xf6\x2e\x43\xac\xb7\xbb\x42\x5b\x25\xec\x1b"
      "\x33\xf5\xe7\xfb\x07\x9e\xfb\xa1\xce\x8c\xe1\x5f\x7f\xf6\x2f\x1f\x13\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\xf8\xdf\x48\xed\xc9\x4f\x7b\x8d\xcb\xd0\xbf\xda"
      "\xbe\xdf\xc2\x26\x7b\x98\xb7\xff\x8e\x1a\xad\x4e\xbf\x5d\x7b\xbe\xfa\x99"
      "\x05\x03\xd6\xcf\x58\x39\x7d\x5a\x8c\x31\xd9\xaf\x2f\xef\xda\x3d\xdf\xf2"
      "\x42\x25\xba\x6d\xab\x1d\x63\xf4\x8d\xde\xeb\x57\x0e\x18\xd1\x36\x66\xb4"
      "\xac\x49\xee\x1f\xbb\xdc\x7c\xc1\x27\xa3\x22\x9d\xed\xb1\xa6\xce\xf3\xbb"
      "\x93\xaf\xbe\x2e\xff\xbe\xf3\xa9\x09\x03\xe3\xfe\x71\xa6\xc4\x4f\x7d\x13"
      "\xbe\xf9\xfe\xe5\x6f\xfb\x72\xf6\xb8\x19\xa5\xda\xc2\x4b\xb1\xf6\xcc\x38"
      "\x5b\xfd\xab\x4a\x8f\x7a\x75\xa9\x3e\x6b\xcf\x8b\x7c\x87\x87\xe5\x8f\x3b"
      "\x3f\x4b\xbb\xe6\xaf\xab\xbf\xae\xfb\xec\xca\xb5\x6e\x53\x5e\xb5\x4d\x1e"
      "\x2b\xd2\xbe\x0e\xc3\x7b\xdc\xdb\x9e\xee\x63\x5f\x41\x81\x40\x20\x62\xd0"
      "\xbf\x3b\x1b\x00\x00\x00\xf8\x4f\xd1\xfb\xb7\xb8\xd7\x1a\x05\xae\x8c\x5d"
      "\xfe\xee\xf9\x9b\x7d\xa5\xdb\x67\xfe\xb8\x87\x7f\x5c\xbd\x83\x02\x91\x02"
      "\x11\x83\xa2\x04\x62\x7c\xf7\xd9\xc4\x19\x13\x0e\x55\xce\x53\xbe\x7e\xd9"
      "\x32\x85\x47\x1e\xbe\xb9\x27\x67\xe7\x90\x46\xf7\x9e\xcf\x49\x34\xef\x66"
      "\x8b\xf2\xb5\x4b\x66\xbd\xf4\x6e\xc4\xa8\xd4\x5d\xfb\xde\xde\x70\x7d\x64"
      "\x91\x33\x69\x6f\xed\xab\x72\xba\x69\xc8\x94\x9d\xb7\x13\x2d\x2f\x5d\x2f"
      "\xd6\xab\x1d\x4b\xcb\x57\x1d\x1f\xe8\x30\x79\x6f\x8f\x72\x47\x13\x75\x8d"
      "\x91\xaf\x7d\xc8\xbf\x7c\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\xe0\x1f\xa8\xb5\xab\xcf\x88\x68\x31\xcb\x8d\x5f\x3b\xec\xfa"
      "\x6f\x39\x87\x9c\x99\x57\xa3\xd5\xe9\xb7\x6b\xcf\x57\x3f\x53\x33\x77\x96"
      "\x8c\x6d\x6e\xf7\x5e\x34\xa5\xd0\xb9\x1b\xab\xae\xcc\xa8\xde\xe2\xe9\xac"
      "\x06\x87\xfb\x8d\x5b\xff\x67\xe8\x94\xf2\xe7\x6f\x56\xeb\x76\x76\x76\xc9"
      "\xa7\x03\x63\xd4\xdc\x9a\xfa\x6e\x8b\xa5\x59\xcb\x1f\xee\x73\x77\xe0\xc4"
      "\x5a\x15\x16\x1d\x99\xfb\xfa\x49\xbc\xa9\x4f\x37\xe6\xd8\xdd\x66\x6e\xa7"
      "\x86\x23\x26\x2f\x99\xdf\x24\xc9\x80\xb4\x8f\x92\x9c\x59\x5b\xbf\xf4\x92"
      "\x5f\xeb\x15\xcd\x9d\xb3\xcb\x92\xcd\x3b\x0a\x0e\xd9\x9c\xfa\xc4\xae\x35"
      "\x5f\xd5\xa8\x7f\x33\xf7\x9c\x0e\xb1\xe3\x5e\x68\x13\x3b\xc2\xf2\x5a\xeb"
      "\x2b\xbe\xcc\xb5\x74\xc8\xc7\xbe\x82\x02\x81\x40\x82\x7f\x77\x34\x00\x00"
      "\x00\xf0\x1f\xe3\x54\x84\x58\x15\xbf\xdf\x36\xac\xec\xe3\xd9\xab\x37\x1f"
      "\xc8\x78\xf4\xf0\xc7\x3d\x3c\xcc\x5f\xf5\xa0\x40\xa4\x40\x82\x40\x84\x40"
      "\xbc\xdf\xbe\xd9\x52\x61\x7d\xc7\x11\xd1\x22\xbc\x8f\xb2\xf1\x4a\xbd\xa9"
      "\x37\x4b\xdf\x8e\x5f\x2f\x61\x9b\x6a\x0b\xe2\xd7\x9d\x70\x2f\x7c\xcc\x2a"
      "\xd7\x6e\x44\x2a\x1f\x7e\x4e\xda\xed\xcd\x3b\xc5\xd8\xd2\x68\xf2\xc6\x54"
      "\xff\xf2\xb1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x80\xff\x1b\x45\xd9\x3e\xbe\xeb\x86\x73\xfb\x66\x0d\x5c\xdd\xa5\xe7\x93"
      "\x16\xc7\x5b\xe4\x3b\x34\x2b\xc5\xec\x7c\x63\x3b\x5f\x6f\xda\x31\x74\x6a"
      "\xc8\x9f\x15\x7b\x36\x8e\xd3\xb1\xff\xf1\xa1\x59\x7f\xb8\x5a\x74\xfe\x57"
      "\xe9\xde\xb6\x1d\x94\xe6\x46\xe5\xeb\x29\x1e\xd6\x6a\x54\x3f\x50\x62\xd6"
      "\xd8\x8e\xc5\x0b\xf6\x7b\x78\x36\x6e\x8d\xe3\xa5\xba\xc7\x79\xd4\x24\xf1"
      "\xeb\x0d\x13\x72\x4d\x0a\x17\x12\xe5\xc3\x90\x0a\x3b\x2f\x5f\x5e\x52\xb9"
      "\xd7\xe0\x49\x45\x5f\xb7\xd8\x31\xb3\x40\xf1\x3f\x8b\x36\x3e\x7f\xae\xea"
      "\xc9\x38\xbb\xab\xf6\xbf\x7b\xea\x52\xcc\x81\x4d\x62\x25\x4a\xbf\x39\xeb"
      "\xbd\x6d\x8f\x13\x8c\xbb\x95\xfc\xf5\x90\x19\xf9\x2f\xf7\x08\xdb\xac\x42"
      "\xb4\x6f\xcb\x64\x7d\x7e\x74\x77\x94\x73\xab\x2f\xe4\xbf\x5c\xfb\x7d\xd3"
      "\x4e\xad\x17\x7f\xc8\x12\x6f\xf9\xc5\xac\x77\x9e\x17\xaa\xde\xa5\x69\xb5"
      "\x90\xeb\x51\xbe\x6d\xf7\x21\xe3\x95\xb3\x8d\x7b\x34\x9c\x5e\xf4\xed\x27"
      "\x37\x97\x16\xfc\xae\x50\xdb\xb7\x31\x2e\x3c\x0f\x6e\xbf\xb9\xef\xe1\x3e"
      "\xa3\x6f\x04\x75\x6b\x90\x77\xd1\xc1\x35\x1d\x1f\x4f\x4b\x7f\x2b\x5c\xd2"
      "\x11\x5f\xae\x7a\x9f\x6e\x70\xca\xf1\x1d\xd3\x1d\x3c\xbb\x62\xd1\xcb\x79"
      "\xbb\x5b\xac\xbc\xf3\xb6\x7e\xb5\xeb\x9d\xf2\xfd\xfc\xdd\xa8\x8e\xcb\xdb"
      "\x16\xcb\xb6\x3a\xe3\xed\x0d\xd7\x9e\x0d\x1b\xde\x3e\xc9\xaf\xbf\xa4\x18"
      "\x1d\xfd\x6c\xce\xb8\x05\xb6\x4c\x2a\x71\xa2\xfa\xb3\x1d\xf5\xcf\x46\xff"
      "\xf4\x78\xc4\xfb\x59\x03\x03\x1a\x34\x68\x9f\x78\xc3\xc3\x55\x29\x4b\x5d"
      "\x69\xde\x68\xd3\xb0\xa8\x0d\x93\x3d\xce\x3f\x30\xed\xf2\x28\x1d\x9a\xe4"
      "\x3b\x15\x52\x27\x64\xc6\xd4\x6e\x93\xf7\xc5\x0b\x9e\xba\xb9\x75\xca\x6e"
      "\x8d\xaf\xee\x8b\x19\x1a\x69\xde\x8f\x03\x87\xd5\xe8\x9b\x35\x43\xde\x3b"
      "\x65\xd3\xd5\x7b\x5e\x33\xec\x88\xd7\x29\x86\x0c\x8d\xff\xf9\xfd\x18\x5f"
      "\x95\x3f\x98\xb7\xd7\xa7\x15\x26\xe7\xdb\xf1\xf4\xe5\xd7\x5b\xeb\x5e\x9f"
      "\x71\x79\x69\xab\x32\xef\xaf\x77\x89\x90\xa6\xd3\xc8\xee\x4b\x72\x2f\x1d"
      "\xda\x27\xe8\x6a\xbe\x04\xed\x1b\xd4\xab\xf2\xe5\xd2\x32\xa3\xde\x24\xee"
      "\x97\x7e\x75\x96\x47\x91\x7f\x6c\xd7\xb8\xc2\xbc\x28\x3d\x3a\xd4\x7c\x57"
      "\xae\x5d\x91\x7d\xe1\xe6\x0c\x6a\x76\xb7\xce\xef\xbb\xa3\x8f\x8e\xf5\x64"
      "\xc9\xb8\x78\xef\x6b\x25\xce\x1d\xa9\xc8\xe9\x34\xb9\x7a\xc6\xfa\xe2\xfb"
      "\x92\xc1\xc1\xe5\xfb\x57\xfd\xa3\xd0\xb5\xaf\x4e\x0f\xca\x5e\xf1\x97\x83"
      "\xef\x87\x8c\xfd\xfa\x4e\xef\x55\x17\x57\xb4\x6f\xd3\x64\xdc\xd9\x29\xcd"
      "\x1b\xb4\xaa\x5e\x23\xce\xc3\x48\xe5\x07\x94\x8e\xb1\xa2\xc1\xc4\xb7\x19"
      "\x0e\x5d\xad\xf9\xf6\xec\xe2\x0f\x8d\x82\x3f\x8d\xf6\x66\xf2\xa2\x62\xd7"
      "\x07\x54\xb8\xf9\xd3\xe9\xe0\xbd\x15\xc3\x05\xa7\x6d\xf4\xfc\x74\xfa\x7d"
      "\x79\xca\x7d\xb7\xe5\xe0\xe9\xc2\x45\x3a\x6d\x1c\x9c\x79\x57\xf2\xd3\x21"
      "\xa9\x4e\xfd\x18\xb7\xeb\x8c\x90\xd2\x73\x22\x0c\xdc\xf2\x4d\xf9\xf5\x51"
      "\x47\x2c\x5b\x52\x21\xcc\xd9\xbd\x3f\x55\xeb\xf8\x53\x83\xa6\x5d\xea\x1d"
      "\x0f\x3d\xb2\x76\xef\xf1\x83\x1d\x3f\x8d\xd5\x37\x69\xeb\xde\x63\xf2\xe7"
      "\x4a\x10\x2e\xc1\x83\x9f\xef\x34\x6a\x3c\x63\x7e\xf5\xc8\x7f\x5c\x4e\xd4"
      "\x37\x5d\xd4\x15\xf7\x0b\x45\x3e\xb3\xe5\xe6\xa4\x1c\x35\x06\xaf\x18\x93"
      "\x74\x74\xa7\xda\x6b\x32\xf4\xca\x7d\xb9\xe5\xed\x5e\x6b\x2b\x1f\xc9\x9f"
      "\xb5\xca\xb1\x8c\xc9\xd3\x14\xbd\x58\x31\xfa\xdc\xb6\xe5\x7f\xca\xd1\xb9"
      "\xd7\x57\xc5\x5a\xed\xfd\x79\xd1\x93\x4e\x9f\x75\x3a\xf4\x75\xc7\xdf\x4a"
      "\x5d\xad\x9d\x3a\xe5\x6f\x9d\x12\x95\xd8\x55\x6f\xe8\xf5\x39\xd1\x82\x77"
      "\xcc\x6f\xf2\xf4\xe0\xc5\xa8\xd5\x57\x44\xbe\x95\xba\xda\xbd\x8d\xcb\xfb"
      "\xb6\xde\x1c\x36\xee\xda\xe6\xf3\xde\x4f\x1e\x70\xaf\x4c\xfb\x56\xd1\x9e"
      "\x8f\x1c\xd7\x6c\xeb\xc4\x1f\x7a\x24\x39\xd1\x28\x5f\x8e\xce\xc3\x9a\xff"
      "\x72\x34\x7e\x98\x27\xb3\x92\xb4\x7c\xdc\x32\xf1\x83\xed\x7f\x44\xbd\xb1"
      "\x66\x46\x9c\x0c\xdd\x73\xa7\xf9\x6c\xdc\xca\xe5\xb1\x97\x57\xbe\x3a\x29"
      "\xe3\xf6\x75\x0b\xc3\x9e\xca\xd1\x22\x43\xc6\x2f\x52\x2f\x3d\x39\x76\xfb"
      "\x9c\xc8\x29\x7e\xcb\x92\xe2\xbb\x8b\x97\xcb\x7d\x77\x3f\x52\xd4\x70\xf9"
      "\xfb\x25\x0d\x84\x6b\xf3\xeb\xe0\x71\x55\x16\xc4\x79\xda\x61\xd3\xb3\xc3"
      "\xa1\x19\x86\xe6\xcd\x37\x66\x7b\xa9\x0a\x8d\xcf\xfe\x94\xbc\xe3\xec\xba"
      "\xef\x76\x56\x4a\xd1\x7a\xff\xab\x24\xd7\x1e\x46\x4d\xd3\x62\x65\xf6\xcf"
      "\x4e\x9f\xec\x11\xb7\x6f\xbc\xef\x63\xd6\x78\x9c\x34\xd2\xda\x46\x61\x47"
      "\xe5\x78\xda\x60\xf2\xab\x13\x55\x7f\x8e\x95\x7a\x66\xea\xf8\x2f\x9b\x35"
      "\x9e\xf6\x73\xab\x93\xc5\xaa\xdf\xec\x96\x6f\x43\x8e\x9a\x4f\x17\x46\xdf"
      "\x54\xe1\xfb\x58\xbd\xcf\x5c\x9d\xf3\x79\xd3\x6d\xbf\xf6\xbd\x51\x36\x90"
      "\xad\xce\xb4\x5c\x17\x1e\xbe\x0b\x3a\x94\x3a\x4d\x9c\xaf\x0e\x57\xbe\xd2"
      "\x3f\x4c\xe4\x55\xfb\x6b\xac\xde\x53\x79\x6f\xa7\x0f\xb9\x76\xbc\xee\xf0"
      "\xe2\x46\x8b\x21\x17\xd6\x4f\x6e\x5b\x63\xd8\xa7\xc5\xc7\x75\x0f\x9c\x0b"
      "\x9b\x61\xef\xde\xc2\x89\xb6\xe4\x58\x54\x7e\x6c\xed\x9e\x7d\x3a\x94\xaa"
      "\x16\x2d\xe3\xd9\xf4\xcb\x16\xae\x1b\xd9\xfd\x87\x18\xdd\x5b\xa6\xcb\x18"
      "\xb8\x3b\xb6\x7c\x8f\xb7\xc9\x17\xe7\xdf\xb6\x2b\xa4\xcb\x99\xd5\xf1\x3b"
      "\x7e\xd9\xf3\x6d\xd9\x38\x65\x0a\x3f\x0b\xf7\xae\x40\xe6\x3b\x9b\x4e\x67"
      "\x4a\xdd\xbe\xd8\xcc\x31\xaf\x73\x6e\x4d\x1b\x3e\x69\xdd\x3b\x7b\xb3\x6f"
      "\x5b\xfb\xd3\xf5\x6f\x5b\xe5\x9c\x70\x65\xd0\xa6\x27\x83\x33\x9e\xbf\x7b"
      "\x69\x52\x94\xe3\xcd\xef\xd5\x28\x53\xb1\xf3\xe7\xcd\xdb\x6c\x1b\x54\xaf"
      "\xf4\xbd\x1f\x8e\x75\xed\xd9\x22\x65\xf6\xe1\x71\x06\x1d\x19\xd1\x24\x43"
      "\x84\xed\x09\x3f\xf9\xa3\xd9\xcc\x13\x17\xc7\x84\xfd\xbe\x77\xa2\x88\x09"
      "\x62\xb7\x3a\x94\x66\xd6\x87\xdf\xe7\x97\xfc\x6d\xf6\xb6\xd9\x95\x4e\x2e"
      "\x3a\xff\x2c\xcd\x87\x11\x77\xe3\x16\x48\xba\xe1\xdd\xa6\x89\x49\x5a\xb6"
      "\x4e\xb4\x3c\xe6\x81\x07\x79\xbe\x5f\xf0\x6d\xd2\x9d\xbd\x46\x4c\xfe\x6a"
      "\x4d\x68\xf1\x9e\x77\x3b\x86\xcf\x35\xaa\x6c\xd8\x30\x29\xe3\xee\x08\x5d"
      "\x9c\x7c\x6a\xdc\x1f\x8a\xd5\x5e\x1b\xe7\x4d\x93\xab\x27\x22\xdd\x5c\xd9"
      "\x65\xca\x92\x52\x3b\x2e\x16\xb9\x14\xf1\xe7\xf7\x83\x0a\x66\x49\x5a\x60"
      "\xc1\x81\x78\x8b\x42\x4e\x7c\xd3\x38\xe1\xe6\x32\x73\xc3\x96\xfa\x74\x77"
      "\xa4\x22\xf3\xea\x44\x99\xfe\x5d\xb6\x93\xcf\x33\x0f\x38\x34\x22\xfc\xcd"
      "\x6b\x6b\x12\xbe\x3b\x96\x69\x48\x96\x54\xc9\xe3\xaf\x5a\xba\x6e\xcc\xa3"
      "\x0b\x05\xa2\xec\x69\xff\x76\x76\xd8\xf9\x5d\xb6\xb4\xa9\x94\xaf\x5d\x87"
      "\x16\x63\x26\xe6\x8c\x9f\x33\x6d\xef\x2e\xc3\x27\x9c\xfb\x7d\xd9\x81\xc9"
      "\x17\x67\x6f\x3d\xb9\xb7\xd9\xbb\x0a\x87\x6e\x34\x0c\xc9\x3a\x3e\xed\xc0"
      "\xab\xbf\xdd\x7c\xf0\xe6\xff\xc3\xce\x5d\x74\x05\xe1\x00\xed\x02\xa7\xbb"
      "\x44\x10\x91\x96\x06\x01\x29\xe9\x2e\x95\xee\x06\x25\x25\xa5\x51\xba\x4b"
      "\xba\xf9\xd3\xdd\x08\x28\x82\x20\x2d\xdd\xd2\xdd\xd2\x5d\x4a\xc8\xdd\xdc"
      "\xf7\x23\xdc\xf3\x9e\x73\xcf\xfc\xb6\xb3\x99\x99\xdd\xb3\x79\x78\xcc\x04"
      "\xbe\xda\xc9\x9f\xe6\x91\x17\x13\x2f\x98\xfc\xb0\x9c\xcf\x32\x16\x62\x5d"
      "\x91\x6d\x33\x6b\xb0\x34\xe7\xeb\x24\x5c\x7e\xc4\x3e\x40\xc7\x9b\xdd\x9c"
      "\x20\xdf\xf4\x06\xeb\xaf\x0f\xb5\x77\x7b\x23\x87\x27\x2f\x3d\x6d\x0e\x0e"
      "\x0e\x81\x5f\xe9\xab\xa4\xaa\xb4\x85\xcd\x50\x0b\xb7\xc9\x69\xe4\x81\x1b"
      "\x41\xb3\x2f\x28\x85\x7e\xc5\x2f\xe8\xa2\xdb\x2c\x3e\x19\xba\x8a\x59\x10"
      "\x11\x4f\x29\xe4\xc5\x28\x5b\xfe\xbc\x67\x0e\x45\x29\xe7\x46\x26\x6d\x42"
      "\xf9\xb1\xa3\xb8\xab\x1e\xc0\x61\xd4\x43\x77\x2e\xce\x68\x39\xa3\x39\xdf"
      "\x62\x60\xd0\xbe\xb2\xc8\x6e\x44\xad\x4b\x36\x2f\x4b\x46\x64\x4f\x9d\xfd"
      "\x2e\x37\xd3\x85\x7f\x27\xf4\xb7\xa4\x76\xaa\xab\xc5\xcc\x33\xc9\xf1\x03"
      "\xa1\xb6\x0f\x0a\x81\x6d\x83\x04\x9f\xc7\xbd\xd7\x6b\xba\x5e\x36\x24\x8c"
      "\x5e\xd4\xa8\xe2\x3c\x0a\x88\x5f\x14\xa6\xdf\x32\x91\xff\xc8\x29\xe2\x16"
      "\x5e\x5f\x54\x3e\xf3\xe4\xaf\x70\xc0\x79\x25\xb2\x60\x69\xf3\x9e\xd7\x23"
      "\x23\x69\xad\x2c\x31\x61\xf5\x09\x5c\x05\xea\x46\x96\x8c\xe3\xb8\x4d\xec"
      "\x96\x4d\x05\x82\x9e\xae\x31\xf4\xf6\x5f\x68\x85\xa3\xe5\x88\xff\x91\xab"
      "\x6b\x78\x98\x79\x7d\x55\x21\xdb\x90\x9b\xd8\xe8\x5e\x69\x55\x6d\xf8\xb5"
      "\x13\x34\x49\xff\x63\x34\x38\x2e\x7b\x31\xe8\x51\xa1\x15\xfb\xfb\x29\x9a"
      "\x76\xbc\x97\xfc\xca\x7f\xb0\x74\xbe\xcf\x09\xf1\xb4\xfe\x30\xb1\x3a\xfb"
      "\xcb\x20\x8b\x97\x33\x43\x2e\x67\x1e\xc0\xfd\xc4\x32\x68\x2d\xc7\x6b\x65"
      "\x25\xb6\x8c\x8a\x5e\xff\xde\x17\xcf\x37\xb3\xe1\x0d\x22\x69\x63\x60\x99"
      "\xb9\xe7\x63\x3b\xb5\xc1\xa2\x8a\xb2\x0f\x31\xc8\xb1\x47\x6a\x52\xfc\xe9"
      "\x6b\x5d\xac\x46\x2e\xe6\x5f\x5b\x42\x97\x59\xd4\xd8\xcb\xe7\xa2\x9d\xde"
      "\x51\x0b\xa8\x07\xf0\xda\xf5\x07\xea\xf9\xd1\x7a\x66\xfc\x54\xdb\x09\x8b"
      "\x77\xc0\xc5\x22\x8b\xbf\x73\x7d\xfd\x0f\x69\xe5\x7b\x63\x61\x4b\x84\xf9"
      "\x64\x4b\xfa\xa6\x50\xc9\x93\x9f\x62\x99\x9b\x96\x39\x1c\x41\x72\xde\x9d"
      "\xba\x8e\xaf\xd4\x97\x42\xde\x3f\xba\x48\x90\xdc\x4f\x17\xea\x43\xa8\xe4"
      "\x27\x49\x68\x4c\x7f\x28\xdc\xcb\x88\xd5\xf5\xf2\xe8\x7d\x6e\x93\x4e\xfd"
      "\x39\xb2\xba\xb5\x7c\xe2\xbd\xed\x5e\xa5\xdc\x9b\x8f\xb6\x29\xba\x91\x1f"
      "\x0a\x04\x56\x54\x6d\x02\xa6\x6f\x74\x23\x18\xff\xd2\x2c\xbe\x63\xf9\x48"
      "\xe5\xa1\x1f\xad\x9e\xfd\xe9\xe4\x15\xa6\x11\x11\x81\x04\xb5\xed\x1b\x11"
      "\xfc\x1e\x0c\x94\xe3\xbb\x6e\x4a\x86\xa9\xb4\x2f\x2c\x9b\x32\x91\xce\xc6"
      "\xaa\x1e\x83\x03\x75\xac\xe8\x26\x0b\x01\xf9\x9a\x56\xe3\xf5\xd3\x67\x8f"
      "\x3e\x79\xab\x3e\x93\x17\x6c\xa2\xea\xea\x76\x0c\xf2\xbb\x50\x7f\x62\x3e"
      "\xce\x84\xc2\xed\x80\x7b\xf3\xb2\x7e\xca\xdd\x16\x7b\x97\x44\x2a\xd5\x95"
      "\xbd\xe3\xcf\xba\xfc\xf2\x03\x84\x98\xd0\xb0\x8f\x74\x4c\xfb\x52\x85\xa5"
      "\xba\x5c\x72\x9d\xaa\x69\x64\xd1\xd8\xf6\xdb\xd8\xe1\x92\x14\x75\xd4\x3d"
      "\x76\xda\xea\xdb\xd3\xdb\x5c\x1a\x78\x22\xe6\xce\xe8\xf5\x0f\x94\xb3\x32"
      "\xdf\xde\x78\x25\x6c\x74\x5a\xde\xe8\xe9\x5a\xd7\x39\xb4\x94\x4f\xea\xfc"
      "\x52\x4c\x93\xcc\x1d\x12\x0a\x9d\xe5\x18\x7e\xdf\xd3\xfa\x62\x44\xda\x0a"
      "\xff\x5d\xa7\x4c\xa5\xb7\xd2\xa5\xca\x7d\xe3\x59\x57\x66\x83\x41\x97\xc2"
      "\xa0\xd7\xa1\x4f\xec\x5f\x4e\x55\x21\x9b\x0f\xcf\xf9\x3f\x2d\xdc\x0f\x7d"
      "\xb7\xdb\xa8\xe6\xa9\xc3\xd4\x99\x9c\xbe\xe8\xba\x13\x42\x91\xd4\xda\xa1"
      "\x7f\x46\xa2\x34\x67\x2c\x82\xba\x5a\xe4\xa4\x3e\xc0\xf5\xda\x74\xd1\xbe"
      "\xa1\x6a\x7a\xc9\x20\x19\xeb\xef\x16\xc3\x78\x6f\x08\x9d\xff\x9b\x19\x2d"
      "\x07\xea\xee\x1f\x62\x2f\xad\xc2\xf0\x73\x6b\x9f\x7f\x9e\xfc\x16\x53\x20"
      "\xbc\x76\x95\xd8\xd2\xa1\x30\xf1\xc7\xe2\xaf\xa2\xa5\x6d\x6a\x6d\xf3\xc7"
      "\x83\x87\x94\x3e\xa1\x23\x3a\xf4\xd2\x95\xdc\xa5\xe7\xe7\xe5\x61\x2b\x8f"
      "\xf0\x0b\x5d\xf3\xa5\x90\x08\xcc\x82\x0f\x3f\x28\x33\xb1\xa7\xd0\xd0\x9b"
      "\x18\x7f\xf7\x64\xde\xfd\x94\xca\xdc\x66\x36\x29\xd4\x4a\x55\xfa\x5b\x90"
      "\x45\x83\x2f\x8f\x52\xc0\xa5\x3b\x03\x8d\xc0\x45\x35\x27\x36\x6e\x5f\x55"
      "\xf5\xf0\xd8\xf6\xf4\x01\xfb\x5c\x4e\x07\x62\x6c\xe3\xc1\x42\x4f\x64\x76"
      "\x62\xf4\x66\x6b\x5e\x0f\x3b\xba\xf7\xe3\xa0\xa2\xf8\x50\x53\xfd\xd9\x8f"
      "\x72\x88\x91\xb3\xbe\x69\x4c\x17\x69\x61\xf4\xd9\x3e\x76\xbd\xa1\x0f\x3b"
      "\x43\xea\x79\xf6\x9c\x1a\x4b\xdf\xd7\xa5\x7f\x5a\x95\x9a\xa0\x9a\xbe\x19"
      "\x89\x1a\x32\xd3\xa4\x7c\x7d\x3e\x22\xf0\xe2\xc7\x83\xb6\x09\x67\xce\x3d"
      "\x9b\x08\x23\x8a\x41\x51\x4f\x1f\xe2\xc2\xc2\xa8\x48\xf9\x36\x91\x04\xa4"
      "\xbf\x37\x73\xd1\x11\xf6\x92\x05\xce\x14\x36\x77\xd2\x07\xd1\xd7\x9b\x99"
      "\x94\x9c\x02\x89\x1e\xa6\x58\x88\x48\xe9\x13\xb7\x25\xf4\x9a\xbc\x37\xfa"
      "\xc9\xbf\x25\x57\xb4\xd1\xc2\x55\x15\x74\x4d\xf2\xbd\x75\xe2\x7a\xb3\x50"
      "\xee\xa6\x2d\x97\xa9\x19\xe8\x12\xb3\xb0\x3f\xf3\x2f\x85\x85\x2c\x49\x5d"
      "\xe9\x91\x0f\x71\x05\x13\xab\xaf\x6d\x65\x5c\x7f\x0d\x1b\xea\x4c\x99\x6c"
      "\x29\x98\xde\x75\x6b\xf5\x7d\x67\x23\x90\x47\xe3\x9c\x9c\xf2\x78\xa1\x53"
      "\xd1\x8c\xc2\x3c\x3a\xce\xe9\x7d\x7f\x91\xef\x43\x35\x57\x62\x62\xf2\xac"
      "\x1c\xaf\xdc\x08\xe6\x36\x8a\x2b\xf1\xdb\xc0\x02\x2c\x85\xed\xa5\x81\xb8"
      "\xb5\x89\x62\xdb\x3f\x67\xbc\x04\x3c\xa7\xdd\x09\xc7\x5b\x2a\xb5\x78\x75"
      "\xa3\x3f\xf6\x73\xab\x5f\xd5\xfd\x44\x19\x32\xa1\x68\x96\x45\x5e\x61\xfa"
      "\xf4\x55\xbd\xe2\x40\x77\x4f\x14\x11\x7d\x67\xe6\xa7\x4e\x50\xac\xf1\xe6"
      "\xdf\x9b\xb4\xd4\xb1\x77\x6a\x79\x9c\xda\x2a\x7c\xbd\xb5\xa1\x94\x5a\xba"
      "\x48\x78\xf1\xe3\x3a\x4a\xb3\x9f\xdf\xba\xef\x79\x4f\x26\x0f\xe2\xa1\x10"
      "\x26\x76\x96\x60\x74\xdc\xdb\xff\x54\xfd\x6c\x56\x36\x9f\x3a\x2a\x23\x53"
      "\xcb\xbd\x37\x18\xe9\x84\x6f\x38\xad\x7b\x49\xc2\xf0\xe5\x01\x5f\x8b\xb3"
      "\x66\x6a\xe0\xaf\xae\xd1\xf4\x0d\x52\x97\xa5\xa3\x2a\x9b\xe4\xa0\xdd\xad"
      "\x0e\x44\x24\xea\x6f\x1f\x33\x09\xb6\x44\xba\xfe\x60\x6d\x8d\x7d\xda\x40"
      "\xb9\xf4\x2c\x26\xdd\x76\x0a\x6d\x38\x63\x55\xbc\x36\x50\xc7\x6f\x7d\xf1"
      "\x64\x62\x11\x3b\xea\xeb\x7f\x01\x85\xb6\x4e\xda\xb4\xde\x3a\x94\xf8\xd2"
      "\xb2\x0c\x02\x1f\x43\xb5\x5f\xd1\xdd\xe8\x99\xee\xac\xf1\xe4\xcb\x3f\x50"
      "\xbe\x39\xfb\x72\xd7\x59\xc5\xc2\x36\xea\xfe\x18\x71\xe6\xa9\xd6\xf0\x62"
      "\x5f\xb5\x7d\x23\x7d\x56\xd7\xb7\x87\xd1\x24\x67\x14\x4c\x28\x6f\x51\x97"
      "\xa4\x13\xdd\x6b\x31\x32\xdd\x2a\xba\xbd\x62\xea\xb3\x51\x5b\xe4\xc5\x05"
      "\x9b\x36\x99\x7a\xdd\x74\x2e\x6f\x5d\xf2\x46\x17\xea\x18\xf7\xe2\x19\xfc"
      "\x77\xb4\xec\x67\x42\x9d\x50\x3d\x38\x02\x5b\xfe\x6b\xf9\xa2\x24\xf9\x41"
      "\xcb\x58\x64\x00\x01\x7b\x73\x7b\xa1\x4a\x86\xa4\x3d\x8f\xdc\x8f\x49\xcb"
      "\xa9\x86\x9d\x67\xc6\xad\x3c\x61\x68\xfe\x7d\xe7\x68\xd1\xac\x98\xca\xb3"
      "\x30\xb4\x70\x71\x0e\x3c\xe9\xdb\x33\x44\x95\x34\x06\x6a\xba\x70\x5f\xfd"
      "\x9b\x1d\x66\x34\xa1\x5d\xc7\x00\x6c\xf4\x0d\x1f\x62\xb9\x27\x67\xa5\xf1"
      "\xac\x7d\xad\xee\x2f\xc7\x79\xbf\x96\xfb\x71\x6b\x51\x95\xaf\xef\xde\xf1"
      "\x1c\x3c\x7e\x3f\x41\xca\x32\x9c\xf9\xf6\x5d\xf5\xc1\xa9\xce\x5f\xc1\x5f"
      "\xe4\x35\x68\xf5\x7f\x26\xdc\x70\xfb\xf6\x72\xb3\xde\x79\x36\xd7\x30\xc9"
      "\xbf\xec\xfa\x37\xa6\xef\xf8\x47\x8f\x8b\xa2\x59\xa6\x8a\x1d\x25\x72\x53"
      "\x83\x20\x16\xf5\xa7\x75\xe3\xb9\x27\xa1\x15\xae\xd1\xb1\xe6\x9f\xf5\xc0"
      "\x2c\xd5\xe2\xce\x3d\x8d\xcf\x82\xd6\x59\x9b\x52\x6f\x88\xbe\xd6\xfe\x6a"
      "\x79\xbc\x82\xab\x11\x72\x2b\xd4\xc9\x65\xf9\xdc\x7e\x60\x8b\x58\x74\x4f"
      "\xd0\x4c\xae\x17\x3b\xff\xcb\x30\x19\x03\xba\x80\x10\xc9\xab\xf5\x94\x24"
      "\xcb\x7f\x63\x89\x51\x08\x6d\xd3\x92\x93\xc3\x37\x3a\xed\x34\xbe\x9b\xef"
      "\xba\x55\x6b\x1f\x19\x37\xbc\xe1\xc9\x23\x90\xc0\xd5\xf8\xa6\x53\xc9\xaa"
      "\xeb\x48\xf3\x64\x8c\xda\x1d\x4d\xad\xa5\x8e\xf7\x6b\x60\xe3\x03\xda\xcc"
      "\x17\xd3\xb5\x86\x06\xb8\xa4\x85\x49\x8a\x1a\xef\x11\x9f\x8b\xf2\x35\x54"
      "\xd4\x86\xfd\xe8\x9c\xfb\x7a\x1c\xda\xac\xfd\xe6\xd9\x92\x10\x1e\xf2\x4c"
      "\xe0\x6b\xcd\xb7\xf3\x92\xf4\x6f\xd4\xd1\xbf\xe7\x87\x8a\x1e\xe6\xec\x26"
      "\xbf\x57\x66\xd8\x8d\x6c\xea\x7e\x1a\x3f\xc5\xba\xd5\x81\xde\x2a\x6a\xd5"
      "\xfb\xb4\xba\xbc\xbb\x50\x42\x03\xaf\xc0\xb6\x5c\x85\xe1\x51\xdf\xba\x31"
      "\xa1\xf2\x5d\x71\x7f\x59\x4a\xf4\x12\xc3\xaf\x79\x6f\x07\x21\xca\xd4\x9f"
      "\x3e\x0e\xc4\x23\x89\x1c\xd5\x12\x3d\x45\x06\x1f\xe8\xcc\xf5\x9d\x2a\xb6"
      "\xd3\x97\x4b\xd1\x5d\x5f\x1a\x52\xdd\x49\x3d\x48\x60\x9b\xe4\xb7\x26\x70"
      "\xee\x1a\xf0\x11\x98\xcf\xfc\xc4\x82\x38\xc9\xab\x5f\xf4\x52\xc4\x94\xb4"
      "\x27\xdf\xf2\xe4\x9c\x96\x4e\x12\x4d\xd4\xf3\xed\xf2\x60\xb7\xd9\x94\xfc"
      "\xf3\x7f\xb3\x75\x4b\x72\xf1\x0b\xb4\xec\xa2\xae\x58\xb6\x36\x68\x06\x46"
      "\xd9\x55\x79\xd2\xd7\x5e\xcc\x2b\xa4\x38\x5b\x05\x76\xcd\xef\x0d\xbd\x3f"
      "\xce\x1e\xe9\x5b\x08\xd6\x38\xfe\x25\xa3\x59\x73\x10\xae\x75\xb4\x7c\xe1"
      "\x23\xef\xdb\xdd\xa4\x85\xfa\xfe\xae\x7c\xea\xbb\xd2\x0a\xb7\xcb\x4f\xda"
      "\x80\xba\x87\xf9\x64\x68\x91\xfe\xbf\x91\x09\x2c\xae\x9a\xcc\x2a\x4d\xdf"
      "\x4a\x7e\x27\xf8\xea\x36\xd5\xc3\xa9\xe6\xdf\x98\x4a\xa6\xd3\xf5\x5f\x2e"
      "\x89\xae\xe5\x56\xb6\xba\x4f\xaa\xba\x71\x48\xf6\x34\xb2\x29\xaf\xed\xab"
      "\x5b\x7a\xd7\xb0\xf7\xfb\x9a\x1f\xdf\x65\xd9\x4b\x45\x39\xff\x76\x27\xcb"
      "\x9e\xfc\x6e\xab\xd1\xff\x7b\xe7\x26\x75\xa6\xea\xf7\x99\xff\x91\xf0\xd7"
      "\x18\xfd\xb7\xfb\x1b\xde\x7f\x09\x26\x85\x07\x75\xdf\xa4\xe5\x78\xc8\x1e"
      "\x9f\xd0\x8b\x13\xc8\xf3\x0b\x98\xb4\xd3\x7e\x7f\x9e\xcf\x4c\xe4\x87\xc6"
      "\x4c\xe5\xb6\xe7\xcd\xfa\xb0\xca\x91\x69\x75\x87\xe6\x4b\x07\x32\xf3\x82"
      "\x95\x84\xb3\xae\x15\xcf\x77\x67\x13\x16\x9e\x0a\xd9\xe7\x32\xa7\x42\x55"
      "\xd3\x1f\x38\xd0\x69\x97\xd5\x95\x04\x30\x10\xe3\x7e\xfc\x38\xe0\xc3\x1e"
      "\x31\xd1\x68\x4e\x6c\xc7\x6a\x69\x57\x8c\xe5\xc4\xf5\xcd\x23\xf2\xca\x27"
      "\x5d\x42\x74\xbf\x94\xe6\x61\xc4\x2d\xd1\x19\xe0\x23\xe4\xb7\x5e\xa1\xcd"
      "\xf3\xa1\x4e\x1b\xea\xc1\x14\xcb\x4a\x54\xfc\xc5\x3b\xa3\x94\x29\x82\x14"
      "\xe8\xc8\xd7\x45\xbf\x11\xe3\xb5\xc3\x2d\xc7\x8f\xc6\xf0\x80\x3b\xf0\x6d"
      "\x17\x42\x5f\xf0\xb4\xd6\x7f\x81\x52\x1f\x05\x82\xcf\x89\x0a\xcc\x3a\xae"
      "\x92\xa7\xa5\x6c\xef\xff\x7d\xa8\x8a\xe5\x08\x22\x3c\x53\xb2\xa4\xb6\x2b"
      "\x74\x54\xf8\x41\xb9\x77\xdf\xfc\x02\x2f\x62\x0a\xe5\xc7\x17\x5d\x53\xfe"
      "\xb1\xc9\xfb\xd4\x15\xbd\xdf\x67\x0b\x73\x94\x24\x8f\x29\x6b\x7a\xaf\x50"
      "\x88\xff\xa0\x9b\x1b\x50\x6a\x19\xa0\x24\xd5\xeb\xf9\xa3\xcc\xf5\x8b\xe3"
      "\xf2\x1c\xa8\x88\xab\xf8\xaf\x74\x49\x13\xe2\xe3\xda\x61\xf6\x7c\xb5\xde"
      "\x7c\xe8\xb5\x6d\xf4\xd6\xbe\xe4\x03\xe2\x54\xeb\xa4\xff\xfa\xc3\x5b\x73"
      "\x05\xe2\x14\x39\xfc\xbb\xae\x7f\xd9\x8d\x13\x89\x93\x9f\xbd\x9e\x8c\xf0"
      "\x30\xf6\xf0\xa8\x25\xab\x97\xa3\x7e\x24\xc2\xfa\xbb\x12\xc5\xe5\xfb\x84"
      "\xb4\x54\xed\x24\x41\x58\x87\x8a\x1b\xa3\x73\x63\xd3\x3c\xcc\x7e\x6d\x32"
      "\xe1\xfc\xad\xa3\x74\x91\x16\x3e\x5b\x51\x96\xf9\x74\x5c\x9d\xb1\xcc\xd3"
      "\x7c\x49\xb6\x6b\xd5\x80\xb7\x7b\x44\xca\x11\x89\x2f\x71\x16\xbc\x5e\x2e"
      "\xaa\xf5\x57\x22\x54\x07\xc5\x61\x3d\x1a\xdb\x51\xbb\x99\x2d\x61\x0e\xe2"
      "\xd6\xce\x0f\xb6\xdc\xc6\x69\x3a\x23\x6e\x7b\x47\xd2\x95\x9e\x5f\x1b\x1f"
      "\xdb\xcb\x40\xd7\xa9\x72\x6b\xe2\xc8\xb0\x36\x7b\x81\x10\x5b\x87\xb2\x3a"
      "\xe7\x31\x53\x4d\x87\x2a\x60\xe8\xbd\xcd\x39\xfb\x07\x2d\x39\x15\x6f\x5c"
      "\xd2\x12\x7f\x70\xdf\xae\xe5\xfb\x40\xea\x57\x93\x76\xcf\x1b\xec\xda\xca"
      "\xc9\xa7\xe6\xaf\xc2\xc4\xde\x8e\xfd\x27\x56\xf8\xa7\xb8\xa5\x98\x8d\xfd"
      "\x68\xe9\xfb\xc7\x65\x69\xc4\xf1\xb2\x59\x52\xa4\x77\xca\xf1\xe1\xdc\xac"
      "\xbb\x54\xf7\x0a\x7b\xf8\x25\x83\x2d\xda\x46\xd6\x5e\x37\x1e\x41\x18\x17"
      "\x34\xcd\x9a\x35\x15\x42\x1a\x69\xc8\x2e\x94\x83\x56\x5e\x44\x2f\x4c\xd3"
      "\x10\x55\x19\x4a\x14\x87\xb1\x18\x72\xd6\x7c\x69\x18\xc6\x74\xe2\xd0\x8b"
      "\x9c\x22\x25\x2a\x2a\xcd\x90\x75\x1e\x16\x6a\x4f\x5c\xad\x51\x30\xb0\x4f"
      "\x08\xd7\x8d\xdc\xf6\x5b\x4d\xe9\x9d\x2f\x61\xb5\xaa\xaf\x53\x7f\x3c\x2e"
      "\x3c\xa1\xb2\x76\x16\xad\x2d\x6a\x8f\xb5\x0e\x0b\x7c\xd8\xc1\xa7\xd4\x5c"
      "\x46\x6b\x5b\xaa\xff\x1f\xe5\xec\xf4\x41\x9a\x7e\xff\xab\xe9\x45\xe3\xff"
      "\xc6\xf8\x8d\xb3\xd4\x6d\x84\x25\x7f\xcc\x30\x69\x37\xf8\x87\xd5\xf3\x7e"
      "\x5e\x47\xb3\x6c\x93\x76\xe5\x37\xcb\xd0\x43\xa0\x3c\x57\x3f\x59\xc5\xa3"
      "\xe0\x40\x3a\x9b\x6c\xa4\x60\x10\xa9\xac\xdb\xa5\xf2\x1d\xd5\x2f\xba\x08"
      "\xfb\xc3\xd7\xbd\xc1\x5e\xeb\x7c\x18\xde\x33\xac\x46\x5a\xc3\x36\xc5\x8d"
      "\xb1\x8e\x53\x78\xb4\xa1\xb0\x14\x35\xcd\x26\x6a\x3e\xfb\x92\xd6\x5a\x87"
      "\x60\x87\xca\xef\x12\x47\x58\x96\x45\xef\x3c\x21\x22\xe1\xe8\xc0\x28\x95"
      "\x41\xb3\x21\x4f\xc9\xa5\xc8\xcb\xa0\xfc\x41\xd3\xdf\xc1\xc9\xc8\x62\x2a"
      "\x03\xbc\x6c\xb4\x67\xd6\xde\x49\xb4\x83\x65\xcd\x08\x02\xcd\x61\x9c\xad"
      "\x0a\xed\x93\xef\x38\xa4\x1c\x4e\x98\x38\xb0\xfa\x24\xbe\x7e\xd7\x93\xc0"
      "\xe9\xd2\x1d\x1b\xb5\x90\x60\x46\x71\xc6\x62\xff\x43\x42\x62\x88\xe8\x6f"
      "\x41\x33\xf6\x5d\xd5\x4f\x5c\x72\xc8\xd0\xc2\x91\x30\x71\xe0\xae\x17\x45"
      "\x96\x6e\xfb\x46\x87\xf5\xcb\x78\x87\xa6\x52\x71\x85\x7e\xf5\x53\x99\xef"
      "\x43\x87\x73\x59\x4b\x3e\x27\xe7\x4d\x5e\xc9\xff\x59\x8f\x48\x10\x4b\x29"
      "\x72\x05\xe5\x5b\x13\x08\x7b\x14\xed\x3b\x89\xff\x42\x7d\x94\xc0\x25\x35"
      "\xfd\x2a\xe2\x7d\x55\x3a\xf1\x3c\xaf\xa5\xb6\x41\xb8\x00\xd2\xe8\x26\xcf"
      "\x4b\xb9\x8f\x8f\xc8\x5b\x29\x69\x33\xed\xfa\x15\xb1\x65\xfa\xb8\xbf\xb5"
      "\x63\x3c\x9a\x26\xb1\xd8\x48\xac\xfe\x62\xd9\xef\x26\x4f\xd2\x8a\x83\x13"
      "\xe7\x63\x47\x57\x42\xcd\xb0\xba\x53\xec\x48\x1f\xfc\x12\x75\x99\x23\x50"
      "\xea\xd5\xf2\xd2\x00\xa2\x2c\x8f\x92\xd7\x4d\x19\xfa\x64\x0b\x56\x04\xad"
      "\x38\x1e\x12\xd9\x83\x48\xcc\xe5\x11\x0a\x12\x3e\x43\x9c\xab\x81\x99\x28"
      "\x62\x37\x2c\x5b\xd3\x2f\xa3\x75\x4f\xbd\x6f\x3c\xb8\x5f\xce\x49\xf7\x16"
      "\x11\x57\x68\x8a\x0b\x61\x65\xd8\xb6\xbc\x46\x3a\x52\xcc\x34\x7b\x2c\x62"
      "\x98\x42\x36\x83\xde\xf6\x68\x65\x15\x31\xc9\x84\x19\x85\xe1\xd4\x33\xe9"
      "\x41\xb9\x62\x78\x66\xfd\xf2\xf2\x35\x66\xc4\xf4\x51\xd0\x95\x40\x67\x1c"
      "\x79\xa7\x51\xd0\x3e\x93\xe6\xe6\xab\x9b\x7d\xfc\xd2\xa0\x3d\xb5\xdd\x0c"
      "\x02\xda\x99\x43\xf4\xf8\x90\xf8\x7f\xc8\x92\x13\x9e\xed\xdc\xbd\x7d\x2d"
      "\xd8\x6b\x7b\xd9\xc1\x87\xd7\xf1\x59\x81\xb9\xde\x3b\x84\x29\x1c\x76\x6c"
      "\x2b\xa5\x57\xc9\xe9\x9c\x6e\x6a\xa5\xca\x5d\x8f\x22\x64\xaf\x19\x49\xf7"
      "\xb1\x16\xd3\x16\x30\x17\xb0\x16\xb0\x6d\x2f\x09\x1a\x10\xf9\x4a\x7f\x70"
      "\xbe\x57\xfb\x45\x10\x2c\xe8\x46\x51\xbc\x95\x88\xdf\x45\xaf\x94\x12\xdb"
      "\x21\xf0\x42\x8b\xb3\x73\x42\xa7\x76\x4a\x83\x68\x30\x2f\x35\x21\xd1\x7a"
      "\xc8\x28\x41\xba\xe8\x95\x65\xe1\xab\xb0\xe1\x27\x52\xca\x78\x0d\x6a\x18"
      "\x28\x79\xa6\xa2\x8a\x79\x19\x09\x2c\xcd\xd3\x0c\xc5\x11\x38\x4a\x83\xb8"
      "\x92\xb6\xc4\x26\x89\x5f\xc4\x1c\x2c\x54\xa4\x2a\xfd\x27\x46\x38\x54\xe6"
      "\xe7\x07\x84\x29\x3c\xff\xc5\x48\xed\x71\xdf\x8a\x09\xfe\xf5\x09\x4f\x96"
      "\x0b\xa9\x8d\x29\x27\x54\xdf\xbf\x2e\x74\xba\xfb\x56\xf8\xaa\xc6\x39\xfa"
      "\x47\xf2\x34\xdd\x60\x6e\x87\x14\xb1\xa6\xf7\x09\x61\x32\x15\x3f\xbb\x97"
      "\xab\x2a\xc2\xc1\x0d\xcf\x7a\x2b\x4e\xcd\x8c\xf8\x06\xaf\xae\x27\x77\xe8"
      "\x43\x4b\xdb\x53\xad\x6a\x3c\xd1\xc4\x07\xc7\xcf\x05\x22\xec\x9b\x7c\xa8"
      "\x36\xce\x47\x78\xad\xd1\xbc\x3a\x98\x1c\xdd\x06\x3b\x4d\x7c\xac\x97\xa4"
      "\x0a\xdb\x29\xa8\x7c\x13\x7f\xc9\xd0\xfc\xc7\xf8\xf8\x68\x29\xcc\x35\x04"
      "\xcd\xe5\x49\xbd\x7c\xb9\x6e\x8b\x3c\x15\x9b\xed\x63\xa1\xe4\x8f\xdf\x16"
      "\x6a\x45\x46\x33\x64\x72\xc3\x51\x25\xff\x43\xc8\x28\x48\xa4\x27\x9f\xec"
      "\xdf\x62\xd2\xba\xf2\x96\x66\x2c\x71\xad\x0d\xb3\x76\xfd\x87\x7c\x42\x20"
      "\xb2\x46\xfe\xf2\x08\xd9\xb4\xa2\x39\xf5\x36\xa1\xf6\xf8\x83\x73\xe7\x53"
      "\xdc\x97\xda\xcb\xd1\x1a\x4c\x9a\x34\x35\x4e\x9a\x8f\x9f\xfc\xea\x92\xf9"
      "\x55\x43\x91\x67\x51\x5c\x82\x32\xf8\x28\xef\x98\xd1\x77\x9f\x5e\xf1\x47"
      "\x12\x82\x59\x7e\x55\xcc\xcd\x4b\xbf\x84\x0b\xca\x30\x8d\x38\x09\xe7\x8d"
      "\xf5\x5a\xef\x29\xdc\x7e\x21\x15\x5c\xda\x4e\x45\x07\xe5\xef\xaf\x4a\xc4"
      "\x52\x6c\x71\x94\x28\xbe\x92\xab\x87\x11\xfb\xc4\xe8\x6b\x52\x75\xb6\xab"
      "\xbc\xa6\x7f\xd4\x8f\xea\xd5\xf5\x9c\x29\xe9\xe3\x05\xd7\xd2\x2e\x9e\x68"
      "\xf9\xc9\xe7\xdb\x92\xbf\xa3\xfb\x48\x39\xeb\x01\x5d\x16\xad\x67\xe7\x3c"
      "\x3b\x97\xeb\xff\x1d\xfa\x8e\x87\x6d\x45\xfe\xf6\x74\xf5\xb8\x1e\xcc\x3e"
      "\xbf\xcb\xc9\x7b\x46\x2f\x3c\x20\xb3\xe0\xdb\x43\x8c\x1d\x42\x84\x62\x86"
      "\x3a\x46\xf7\x38\x9a\x26\x4a\x3f\x4f\x72\x07\x7f\xbe\x8d\x03\xa9\xd7\xda"
      "\xba\x82\x64\xff\xab\x56\x7e\xbf\x94\x4f\x02\xc7\xd3\x63\xac\x4f\x83\x23"
      "\xc9\x5f\x44\x3c\x2c\x72\xf9\xbc\x42\xcc\x5d\x90\x67\x07\xdf\x92\xdd\x7d"
      "\xdf\x78\xc1\xdc\xf7\x01\xe7\xb3\xc7\x97\xa7\xd3\xf2\xb1\xd6\x6d\xbf\x3e"
      "\x5f\x32\xd4\x25\x9a\xfc\x35\xcb\xf2\x09\x59\xa5\x26\x09\x46\x73\x7c\x6d"
      "\xf6\x30\x82\x31\x22\xb5\x4a\xd3\x7b\x9d\x71\x28\x0a\x99\x34\x5b\xe2\x53"
      "\xcf\x13\xf9\x0d\x33\x36\x5a\x16\xc3\xd9\xf2\xc8\x7f\x2d\x8b\x98\xf5\xcc"
      "\xa2\x93\x58\xc3\x21\x28\x01\x79\x8e\xbf\xed\x4c\x7d\x4e\x03\xaa\xc3\x32"
      "\x85\xec\xe3\x1e\xf6\xba\xa7\xd6\x04\xa9\xf8\xd5\x47\x98\x7a\x58\x1f\xe1"
      "\x34\x6b\x0b\x7d\x0f\xf1\xe8\x2c\x3a\xa2\xe0\xfc\xa9\x43\xec\xb4\x14\xa2"
      "\x25\xc9\x9c\x9e\xf7\x9c\x7c\xc9\xc2\x69\x03\x81\x7f\x5c\xf5\x4f\xf4\x89"
      "\x5d\x14\xcb\x23\xf1\xf0\xb2\xc8\x8a\x93\x7a\x14\xcf\x60\xff\x83\xdf\xd6"
      "\xa7\x07\x4a\x05\x01\x5a\xca\x5d\xa1\x69\xaf\x89\x34\xf5\xc3\xd1\x70\xbf"
      "\xd1\x7c\xc5\x9e\xfc\xde\xc4\xfd\x34\xdb\x4b\x7e\xd7\xe9\x75\x1c\x97\x9c"
      "\xdf\x11\xa1\x11\x62\xc0\x03\xba\x7c\x5c\x7d\x62\x8d\x3f\x5e\x03\x71\xfd"
      "\x88\x11\x1f\x45\x6d\x7f\x7a\xa3\x14\x5a\x29\xef\x19\xc4\x62\x4f\x98\xf0"
      "\x56\x04\xea\x32\x15\x39\x60\xda\x31\xf3\x2b\xa1\x99\xf8\xe4\xcd\xeb\x92"
      "\xe9\x68\xd5\x2e\x8e\x49\x5a\x54\x9f\x49\x8a\x1f\xa6\x60\x35\xd0\x29\xbf"
      "\x3d\xff\x11\xe6\xe4\x99\x20\xa1\x85\x80\x25\xb6\x63\xbb\xb4\x85\x73\xf2"
      "\x46\x32\x8b\x6b\xf2\x9c\xcb\xb9\x62\xa2\x45\x7c\x46\x4e\xc2\xcb\x2e\x42"
      "\x15\x43\x0f\x93\xe3\xd7\x01\xf2\x8b\x85\xe2\x5b\x2f\xcf\x4c\xad\x8c\xfa"
      "\x6c\x9b\xe6\x07\xe9\xb2\x9b\xdc\x61\xaa\x2a\x17\xca\xa1\xcf\x94\xc9\xef"
      "\x34\x78\x73\x29\xc9\x5b\x53\x6c\x6a\xca\xb3\x47\x2e\x74\x52\x54\x6b\xe8"
      "\xe6\xfe\xf5\x17\x9c\x2e\x6f\x76\x0f\xab\x1b\xf6\x27\x79\x72\xe3\xae\x53"
      "\x27\x54\x8b\x1b\x6c\x5d\x77\xb7\xb7\xec\x98\xc9\x79\xd2\x8c\xae\xd4\xdb"
      "\xef\xad\xc7\x04\x25\x5a\x75\x60\x5b\xfa\x6d\x90\x38\xb3\x7a\xe6\xbe\xa6"
      "\x3d\x9a\xf4\x51\xbf\x7f\x88\x2b\x91\x41\xbd\x3e\x70\xe0\xfa\x63\x18\x4b"
      "\xf9\x06\xfb\x59\x60\xd9\xc9\x7b\xc5\x2c\xce\x39\xed\xb0\x82\xa7\x42\x3a"
      "\xe3\x0b\xf7\x0c\x69\x54\x56\x3a\xaf\xea\x7a\x70\x1f\x0b\x66\xb1\x1a\xd8"
      "\x65\x61\xd0\x7c\x1c\xcf\xe3\xc9\x4c\xae\x1d\xd4\xf3\x15\xda\xd9\x33\x95"
      "\x5f\xca\xe9\x2c\xd5\x55\x32\xbe\x2a\x90\xdd\xe2\xae\xb6\x6e\x1d\x75\x40"
      "\x53\xb5\x08\xdb\x65\x99\xb3\x2d\xb4\x5d\x8d\xfa\xbd\xfa\x26\x56\xeb\x99"
      "\x5e\x9b\xcc\xfe\xfa\x31\x52\x5e\x7f\x9d\xc8\x67\x36\xc4\xc0\x34\x66\x5b"
      "\x66\x8e\xd3\xb3\x48\xcb\x43\x4c\x05\x69\xce\xc0\x5b\x84\xa5\x3f\x9f\x83"
      "\xed\xce\x7f\xc6\x23\x6e\x1e\x8d\x6d\x10\x21\x9c\xea\xd8\x23\xb3\x1d\xc8"
      "\x0e\x33\x6e\xfc\xa2\x49\xbb\x36\x76\xba\xf9\xf8\xef\xbc\x63\x7b\x2b\x5e"
      "\x43\xee\x81\xcb\xd6\x6b\x8f\x4a\x7e\xdf\x64\x2a\x81\x27\x9a\xbc\x19\xcd"
      "\xea\x57\x02\x1d\x6b\x9f\xa9\x5a\x74\x8a\xe9\xaa\x62\x76\x55\xaf\x2a\xbe"
      "\x9f\x6d\x4f\xc8\x22\xaf\xf9\x77\xbc\x3d\x79\x94\x94\x7f\x14\xea\x9d\xb6"
      "\x65\xd3\x99\x82\x1d\x8a\x23\x87\x6a\x79\xea\xcd\x36\x77\x64\x7e\x6f\x80"
      "\x32\x29\xe0\x81\x1b\xf9\x6f\x31\x9a\x9b\x2c\xa6\x61\x3c\x2c\xbf\xe3\x77"
      "\x97\x02\xfd\xdd\xa3\x6f\xf4\x6d\xe4\x94\x51\xcf\xa7\x13\x3e\x15\x51\xb5"
      "\x29\x29\x49\x9a\xf8\x59\x28\xb2\x7d\x6b\x38\x7b\x44\xbe\x69\xdc\x8b\x45"
      "\x89\x42\x37\xbf\x97\x6c\x47\xe8\x92\xc7\x89\xef\xa0\x43\x76\xff\x0b\x3b"
      "\x90\xf5\xa1\x7a\xa3\xf3\x32\xc2\x94\x36\x4e\x81\xba\x57\x15\xad\x8a\xbc"
      "\x02\xd5\x47\x2c\x55\x76\x91\x3a\xfd\xbe\x2e\x8e\xe1\x87\x41\xf4\x71\xb6"
      "\xb6\xd5\xc2\xc2\x9e\x03\x37\xcc\x85\x1b\x28\x4e\x72\x07\xd2\x9f\xf8\x5f"
      "\xca\x61\x6e\x7d\xca\x38\xab\xc8\x7d\xee\xb7\xc7\xca\xe9\x62\x60\x76\xf8"
      "\xfe\x26\xa8\xe5\xa5\x21\x35\x8a\xf3\x4c\x01\x43\x63\x39\x3a\x0d\x5e\x71"
      "\x8e\x6b\xcc\x5f\xa9\xa4\x41\x15\x39\xdd\xa9\x8b\x16\x1c\xab\xb6\x6a\x37"
      "\xd4\x7e\xfa\x0c\xcc\xc1\xa0\xfe\xc3\x8e\x3c\x31\x16\x7a\xb1\x65\x99\x56"
      "\xcc\x0f\x4c\x17\x49\x1a\xdc\xb3\x8a\x3e\xef\x07\x16\x09\xdf\x5e\xa7\xb4"
      "\x4a\x8b\x14\x9d\xb2\xd0\x9f\x58\x3f\xb6\xc7\x0d\x63\xf1\x74\x2e\xc5\xb9"
      "\xff\x3d\x8d\xec\xf3\xe6\xe7\xc4\x14\x19\xfe\xde\xb0\x52\xa5\x15\x0a\xf3"
      "\xf5\xf7\x89\x5c\x3c\xc1\x5f\xbc\xbf\x8b\x7f\x5a\xe1\x99\xdf\x16\x76\x1e"
      "\x72\x1f\x1d\x66\x05\x9e\xb6\x90\x93\x29\x59\xc5\x4e\xe6\x15\x85\xf5\x75"
      "\x93\xfb\x69\x0e\xa9\xb8\x35\x94\x8b\x8d\x9f\xd1\x9f\xc9\xec\x1f\xac\x08"
      "\x5d\x15\xdd\x93\x13\xee\x2a\xcf\x69\x5c\x4e\xb3\x46\xf2\x55\xe6\x33\xf5"
      "\x2b\xcd\x58\x86\x5f\xee\xd2\xff\x36\x53\x5a\x1e\xc2\x0f\x13\x89\x56\x97"
      "\xaf\xf9\xc7\xdf\xf5\x52\xc8\xfc\x1c\xff\x97\xb2\x88\x49\xf3\x6c\xba\x9f"
      "\x30\xae\x76\xd1\x77\x97\x40\xcb\x8b\x1d\x7f\x43\xec\xb2\xef\x47\x58\x7f"
      "\xd7\x06\xc5\x9e\xa9\x56\xf8\xb6\x3e\x3c\xa3\x69\x0a\xe3\x2c\xdc\xa8\x12"
      "\x90\x9b\x42\x9b\x0c\x78\x2d\x3c\x76\x69\x47\xae\x66\xb7\x7b\xb9\x46\xc1"
      "\xa0\xc0\xb1\xd9\x5a\x9e\x85\xcd\xda\x3e\x6c\xb3\x9a\xfc\x74\xcd\x88\x37"
      "\xce\xb2\xfa\x3a\xbb\x19\xfb\x19\xd7\xb8\x79\xa9\x48\x53\x03\xb7\xb8\xba"
      "\x68\x98\x64\x68\x4d\xb0\x5b\xf4\xa9\xa4\x35\x56\x9e\x31\xe7\xb9\xdd\x2f"
      "\x55\xaf\x65\x3d\xe2\x7c\x42\x99\xdf\x81\x94\xe5\xaf\x1c\x8f\x1e\x36\x4d"
      "\x4c\xba\x48\xa7\x64\x46\x3d\x49\xa4\x7d\x89\xc7\x29\xd5\xcb\xe5\x21\xdf"
      "\xf4\x6d\xd1\xd9\x2e\xdb\xa2\xa7\xd9\x54\x89\xb1\x81\xc4\x0e\xb3\x3d\xd8"
      "\x15\xdf\x96\x2d\x4e\x26\xe3\x00\x43\x6b\xba\x5e\xaf\xec\x67\x63\x6b\x7d"
      "\x5c\x71\xf6\xbe\x9c\xbf\x8e\xc0\x4f\xb5\x9e\xa5\xe7\x8c\x08\xd4\x67\x7f"
      "\x4a\xbb\xca\xc7\x04\x91\x1f\x70\x5b\x10\xc4\x58\xbd\x20\xad\xca\x43\x3f"
      "\xa6\xf5\x7c\x30\xee\x62\x50\x28\xd0\x79\x22\x50\xd6\xee\xb8\x3f\x85\x1d"
      "\x45\x7c\x96\x7d\x7c\xb6\xf2\x96\xd0\xf9\x71\x9e\xef\xcd\x8d\xbb\x05\x8d"
      "\x80\x1b\x21\xc7\xdc\xf0\xea\x2e\xf3\xe8\xbb\x67\xed\x4d\xff\xc8\xd1\x11"
      "\x13\x9a\x7e\x3f\x45\x29\xb7\xa7\x76\x77\xd6\x0f\x50\xc0\xde\x0f\x0a\x79"
      "\x92\xd3\x11\x8f\x34\xd4\xee\xa8\xaf\x8d\x43\xa3\x80\xb4\xf9\x43\x7b\x5d"
      "\x2e\x36\x38\x62\x63\x0b\x55\x68\xce\xe4\x6b\x4a\xf6\x2c\xa5\x6b\x9c\xd6"
      "\xa9\x2d\x11\x0a\xbb\x39\x8a\xcb\x7f\xd8\x7d\x1a\x9d\xa6\xbe\x38\xe8\x02"
      "\x3b\xc5\xda\x01\xb7\x9f\x6e\x66\x1f\xa5\x56\x48\xb9\x4e\x5c\x29\xb2\x0c"
      "\x11\x71\x7e\x09\xdb\xb0\xd9\x43\x3f\x5c\xa8\xee\x6e\x25\x32\x1b\x1a\x47"
      "\xe5\x24\x24\xc8\xa6\x70\x38\xfa\x76\x89\xd1\xc4\xe5\x66\xd2\xb9\x5b\x45"
      "\x46\xac\xe0\x3f\xce\x36\xea\x10\xd0\x11\xe4\xfe\xd9\x94\x84\x69\x48\xcc"
      "\xe0\x44\x06\xe5\xe5\xde\x69\x7f\x7c\x9f\xff\x7d\x98\x12\xbf\xf7\xcc\xb4"
      "\x36\xa6\x13\xce\xd4\xf5\x6a\x34\xba\x94\x5c\x77\xee\x92\xfd\x2e\x7e\xc5"
      "\xb0\xee\xa2\x04\x05\x86\xf0\xfc\xe0\xf1\x01\x75\xa6\x78\xc1\x27\x93\x15"
      "\x85\x65\x5d\xbe\x8b\xe7\xaa\x89\x31\x0d\xbf\xce\x1d\x10\x52\xfe\xf8\x2f"
      "\x0a\xa6\xb9\x9b\xd1\xfe\xd3\x1c\x59\x8a\x79\x6c\x21\xd7\x19\xd1\xf5\x44"
      "\xcc\x48\x60\x35\x5f\x8e\x94\x93\x75\xec\x93\x22\x92\xb1\x96\x0f\xbf\x1e"
      "\xc2\x0f\x16\xff\x4f\x1a\xaf\xb9\x78\xfe\xe5\x29\x5e\xfa\x85\x3f\xc1\xf0"
      "\x27\xdc\x11\x48\xd4\x76\x55\xbf\xfd\x90\xbd\x18\xc8\xdd\x4e\xf8\xfb\x85"
      "\xd7\xeb\xa9\xc8\xe9\x50\x6d\xa5\xaf\xb4\x17\xea\xf9\xcf\x0e\x8b\x77\xc4"
      "\xfe\xbb\x4e\xc3\x88\xd5\xc8\xc1\xad\x9a\x10\x5e\xfb\xef\x7e\xe3\xea\x2a"
      "\xc1\xf5\x63\x3e\x6f\x7a\x1f\xcf\x33\x8a\x01\x15\xc4\x92\x92\x3f\x0f\xf1"
      "\x7c\x6c\x97\xf4\x85\x05\x37\x3a\xa4\x12\x70\x18\x3a\x5a\xad\xc4\x26\x2e"
      "\x58\x1b\xfb\x78\x6c\x48\x04\x96\xf1\xe8\x29\x24\xd9\x9f\x0b\x84\x08\xfa"
      "\xf1\x96\x37\xd0\x2f\xd8\x4f\x60\xc8\x1a\x0d\x37\xd3\xa6\x7a\x6e\x78\x2d"
      "\x87\x70\x6f\x3a\x86\xba\x3f\x63\xf6\xe5\x6d\x8d\x18\xc0\x2f\x11\xd8\xc1"
      "\x48\x9c\x7c\xf3\x26\x20\x80\x6e\xc2\x6e\xf5\xb0\xb9\xdf\xee\x29\x99\x86"
      "\x78\x61\x7d\x21\xa6\x41\x83\x4d\x69\x18\x13\xd9\x67\x52\x22\x96\x93\xfd"
      "\x8f\x7f\x04\x3e\x08\x24\xd3\x04\x93\x9d\x2f\x57\xa2\xdd\x68\xfc\x09\x78"
      "\x6b\x99\xfe\x0b\x27\xa9\x63\xf9\xa3\x83\x0f\x63\x4e\x09\xda\x21\xb9\x43"
      "\xc9\x0c\x5d\xae\x00\xc7\xf2\x23\x75\xd9\xbb\x10\x12\x5f\xdc\xe5\x61\xde"
      "\xeb\xf7\x2d\x9d\x0e\xa1\x8a\x26\x9f\x27\x94\xdb\x86\xcf\x05\xff\x90\x9f"
      "\xa6\x4d\x5d\x1f\x29\xb8\x46\x32\x21\xe2\xbf\x0a\x4a\x97\xc7\xb2\x59\xc3"
      "\x7d\x4c\x77\x30\xcb\xe6\xa4\xbb\x97\x4c\x66\xf8\x43\xb0\xfa\x2f\xa7\xed"
      "\xa7\x20\xf2\x2c\x1b\xd9\xd3\xef\xb6\x7a\xa6\x1f\x76\x09\x68\x5c\xb1\x07"
      "\xbf\xb3\xac\x3a\xba\x51\xec\xa2\x65\x4e\xfb\x0f\xe6\x27\xac\x6f\x1a\x0c"
      "\x53\xa7\x09\xe0\x84\xf1\xa8\x8b\xee\xab\x6b\x35\xae\x64\x32\xde\x9a\xbe"
      "\x6b\x25\x55\xac\x6f\x73\x1d\x62\xa0\xa9\x7a\xc3\x3a\xf7\xf6\xf9\x65\xe0"
      "\xaa\xa7\x12\x12\x4e\xbc\xc2\xdd\x1c\xaf\x2d\x61\xb4\x61\x59\xa5\x5f\xe2"
      "\x31\xc1\x1e\x02\x9e\x90\x95\xf0\x65\x17\xa9\xb1\x88\xb8\xac\x44\x70\xaf"
      "\xd8\x45\xa4\x56\x42\x4a\xd3\xc6\x4b\x72\xba\x10\x0d\xcc\x52\x25\x65\x25"
      "\x77\xe4\xae\xc9\x7f\xc2\x41\x44\xfd\xc6\xf4\xff\x48\x52\x4a\x4a\xec\x0e"
      "\x7e\xd1\xb4\x63\xae\x73\x1a\xd8\x0c\x0c\x78\x14\x5a\x0b\x14\x4a\x98\x3d"
      "\xf6\x23\xa9\x1d\xc9\xaa\x9e\xe4\xef\x25\x0c\xbf\x6f\x5b\x1b\xb6\xac\xb1"
      "\xae\x2b\x4a\x9b\x13\xcd\x77\x37\x28\xf5\x79\x35\x90\x5d\x56\xd1\x38\x81"
      "\x7f\xad\x69\x73\xbe\xd9\x68\xff\x78\xd5\x7e\xd5\x64\x71\x25\x9b\x23\x20"
      "\xd8\xa3\x8f\xfa\x21\x89\x1a\x2d\x4d\x32\x4f\xbf\xc7\xe1\x4a\x96\xb3\x43"
      "\x5e\xdb\x1d\xbd\xcc\x42\x4c\x0f\xf9\x61\xe8\xc6\x0c\xb1\x05\x07\x46\xe1"
      "\x8f\x11\x8c\x5a\x8d\xd3\x87\x7c\x3f\x4a\xf0\x78\x6a\xfe\x75\x63\x8d\x30"
      "\x16\x28\x4d\x3e\x9f\x52\x6d\xae\x23\x7c\x25\x87\x58\xa0\x7c\x63\xc7\xfd"
      "\xce\x41\x3f\x55\x28\x95\x22\x2a\x92\x85\x78\x92\x5c\x15\xa5\x38\x9a\x6d"
      "\x65\x28\xbc\x46\xcd\x87\x1b\x7f\x8e\xd5\x7e\x0f\x57\x19\xe9\x93\xe6\xbd"
      "\x9d\xfe\x83\x10\x8c\x8e\x4f\x06\xe6\x8b\x84\x1f\xdf\x32\x50\x78\xf5\x99"
      "\xcd\x66\x97\xd4\x71\x4b\xbd\x34\xdc\x53\x16\x20\xab\xd2\x6e\x29\x69\xb6"
      "\xb1\x8f\x71\x0e\x0a\x22\x49\x67\xc1\x9b\xb7\xdb\x39\xa3\x8e\xbc\x7b\x1d"
      "\xd0\x38\xfb\xc7\x40\x37\x20\xbc\x83\x48\x7b\xf6\xca\x3b\xe2\xfe\xf3\x75"
      "\x8c\xdb\xa8\x56\xce\x68\xd6\xfb\xb5\xa0\xc0\x06\xaa\x7f\x1b\x5a\x2c\x24"
      "\xfa\x5d\xfa\xe4\xd8\x66\x6f\xbf\x79\xda\x04\x94\xff\x89\x55\x15\x12\xe6"
      "\xe0\x53\x48\xbc\xea\xf9\x23\xfa\x9f\x84\xaa\xf6\x88\x48\xd4\xf1\xbc\xec"
      "\xd4\x70\x48\xe0\x5a\x39\xef\x75\x86\x36\x61\xb4\x1c\x9a\x5b\xb4\xd4\x75"
      "\x78\x4c\x97\xa7\x42\xf7\xe7\x10\x05\x49\xc3\xb3\x94\xf4\x4c\xa2\xe6\xf9"
      "\x36\xa1\xea\xb4\x47\xde\x3a\x9e\xa9\x46\x49\x08\xbe\x89\xe9\x07\xd1\x1c"
      "\xa6\x2c\x98\x29\x1f\x06\x8d\xb8\xc8\x28\xa8\xe3\x09\x62\x35\x97\x94\x19"
      "\x22\x04\x18\x32\x66\x45\x4f\xdb\xeb\x56\xb5\x49\xd6\x6a\xf5\xf4\xa5\x63"
      "\xa9\x6b\xcb\xab\x2e\x1d\xd8\xbc\x9d\x08\xe8\xa8\x53\x9c\xf8\xb6\xcd\x64"
      "\x8e\x9e\xa0\xe8\x5f\x16\x8f\x92\x31\x8a\xdc\x04\x3c\xd8\x24\x27\x10\xa1"
      "\x96\xd4\xe2\xd5\x2b\x62\x3d\x59\x55\xf5\x6f\x5f\x24\xca\xb9\xf5\xf8\x58"
      "\x88\x71\x6e\x56\xb4\xae\xfc\x70\xb6\x4a\x5f\xf0\x4f\x91\x67\x50\x91\x54"
      "\xec\xc6\x36\xf9\xc0\x78\xba\xc5\x6d\x00\x5f\x19\xc5\x25\xa9\x07\x82\x66"
      "\x47\x1f\xea\x64\x66\xfc\x21\xcd\xc2\x91\x45\x4d\xa5\xa1\xbc\x70\x96\xc2"
      "\xb3\x86\x9f\xc4\x4b\x23\x3c\xe5\x3d\xdc\x92\x33\x74\x7b\xb9\xe6\x5f\x53"
      "\x86\x22\xde\xf5\x9c\xc8\xb9\xfe\xda\xca\xa5\xa4\xa5\x1c\x6c\x7e\x1f\x4f"
      "\xfa\x32\x70\x51\x7a\x30\x7f\x93\x30\x85\xfd\x6b\x6a\x54\xec\xf2\x8f\xfa"
      "\x1a\xc5\x24\x5f\x9c\xa3\x97\x61\xc3\xbe\x2c\x8a\xfb\x53\x59\x53\xaf\xd5"
      "\xe6\x78\x5f\xa7\xd7\x50\x44\xe3\x98\x87\x66\xfb\x96\x44\x7e\xd9\x8d\xc9"
      "\x42\xe5\x3b\x3f\x41\x74\xf3\x1c\xe1\xf9\xfb\x68\xfd\xfc\x7c\xf6\xb6\x64"
      "\xae\x8d\x2e\xa8\x9e\xf8\x32\xc8\xed\x8d\xb4\x81\xc9\xbd\x61\xeb\x65\xfb"
      "\x0d\xad\x20\x0e\x9d\xe4\x85\x83\x19\x9b\x31\xdf\xa2\xd0\x6a\x0e\xed\x36"
      "\x4e\xc8\x95\x8c\x22\x96\xb6\x7f\x47\x4b\x9c\xab\xcf\x8b\xe9\xd1\xf5\x5f"
      "\x26\x77\x21\x5b\x44\xae\x4c\x71\x7b\xe1\xba\xb4\x12\x72\x26\xb2\xe1\xd5"
      "\x78\xc8\x06\x6c\x22\x69\xce\x14\xaa\x17\xe1\x4b\x18\xfb\xeb\xd9\x8d\xb8"
      "\x1f\x69\xe8\xff\x3e\xd4\x98\x6e\x60\x4f\xa0\xb7\xf3\xe3\x5e\xba\x39\x2b"
      "\x2c\x90\x38\xdc\x77\x91\xcc\x4a\x1f\xa5\xac\xb6\x2f\xe6\xa7\xe0\xe6\x72"
      "\xe2\xc6\xd1\x91\x20\x0f\x67\xc9\xbe\x2b\xa2\x88\xca\x22\xad\xa9\xa1\xc0"
      "\xb3\x4d\x24\x64\xb3\x36\x0f\x93\x7b\xf0\x3a\xc3\x25\x38\x46\xfb\xc7\x8f"
      "\x00\xc4\x96\x9b\xe8\xa1\xd1\xb8\x14\xa7\xd7\x2a\x5d\x5d\x8a\x7a\xd1\x27"
      "\xc3\x6c\xeb\xa5\x25\x1a\x85\x32\x84\xd5\x1f\xd9\x90\x0e\x85\x23\xcd\xe4"
      "\xdf\xac\xc6\xd1\x4b\x6e\xe2\x91\x30\xc9\x70\xa2\x90\x39\xa8\xc4\x30\x8c"
      "\xca\x1c\x55\xce\xa9\xb6\xfd\x9c\x94\xd1\xb6\x5c\x8f\x7c\xa5\xb0\x71\x82"
      "\x86\x1f\x27\xcf\xc3\x61\xab\x5e\xd8\x96\xa7\x8c\x9d\x74\x4d\xeb\xfa\xc7"
      "\x7a\xae\xfb\xf6\x7b\x82\x89\xbd\x67\x52\x2b\xad\xd3\x10\x63\x96\xde\x27"
      "\xd7\xd2\xe0\x50\xa7\xc7\xcf\x9e\xbd\x2b\xfd\xbe\xde\xc4\x8c\x11\xf2\x50"
      "\xdb\xd2\x76\xaf\x6e\xc6\x49\x12\xc3\x53\x44\x59\x79\xf6\xa2\xee\x8d\x55"
      "\xfc\xcd\x63\x5c\xb7\xc3\x49\x45\x5e\x1d\x72\xaf\x04\xb9\x5f\x14\x0e\x84"
      "\xd1\x03\x3c\x91\xfb\x1a\x06\xee\xcf\xee\xcb\x08\xe5\xa8\x7e\xd0\xc7\x97"
      "\xcf\x57\x05\x52\x6a\x06\x06\xe3\xaa\x16\x1a\x95\xab\x35\x25\x45\xf0\xe6"
      "\x8c\x22\x5d\x39\x62\x11\xfb\x0a\x50\xf0\xce\x97\x1f\xd4\x5a\x2b\x77\x4f"
      "\x8a\x06\x30\xf0\xa0\x15\x99\x4b\x3e\x2b\xdd\x21\x19\x1c\x5f\x2e\x73\xd3"
      "\xc8\x40\xd3\xdb\xe7\xfc\x39\x39\xd7\x8d\xe0\x9b\x4f\xca\x43\xb3\x30\x7a"
      "\xe7\xb9\x6e\x94\xe8\x14\xe7\xb0\xde\xa9\x18\x36\x76\x77\x39\xb8\xf8\xa4"
      "\x82\x06\x35\x99\x90\x2c\x11\x8b\xfa\xe6\x2c\x72\x70\x3b\xbd\xf5\xef\xec"
      "\x23\xf1\xda\x71\x96\x48\x3c\x74\xbf\xe7\x85\x79\x22\xec\xb3\x9c\x64\x5e"
      "\xec\x3d\x0e\xdf\xb8\x85\x8b\x8f\x92\x30\x07\xf2\x2c\x5f\x9c\x4e\xaa\x78"
      "\xc5\xa8\x4b\x45\x37\xd8\xbb\x3c\x99\x40\xaf\xfc\x4b\x81\xea\xcd\x1f\xf6"
      "\x69\xbb\x8e\xaf\x1f\x33\x44\x18\x8f\x08\x77\x37\x23\xc0\xa5\x60\x13\xbd"
      "\x62\xe8\x0f\x9d\x2d\x3e\xf2\xb3\x85\x7a\x91\x24\xef\xb3\x43\x13\xdd\xbf"
      "\x72\x81\x19\xb1\x04\x0e\x6a\x0c\x75\xeb\x6e\x5a\xf1\x6c\xaa\x53\xdd\x59"
      "\x15\x4f\x17\xcb\xa8\x98\xa6\x5a\xc9\xdd\xc6\x8d\x45\xf0\xb8\x8b\x1e\x9e"
      "\x17\x1c\x3c\xd3\x31\x15\x0a\x7e\x75\xc2\x89\xdb\xd1\xb3\xf9\xdb\x40\x6b"
      "\xbb\x89\xfb\xa7\xe0\xc4\xc0\x54\xc3\xa8\x3a\x76\x6c\x6d\x09\x03\x47\xa8"
      "\xb8\x60\xaa\xd7\x66\x69\xca\x23\xdd\xad\xd0\xcc\xbc\x35\xa5\x56\x89\x32"
      "\x19\x83\x52\xbe\x02\x59\xab\xdd\x92\x58\xa7\xc0\xda\x65\xfc\xc4\x35\x79"
      "\x52\xec\x68\x31\x7b\x66\x6e\x39\x84\x76\xc9\xd5\x4f\x07\xbe\xdc\xdc\x88"
      "\xe1\x99\x0b\xaf\x3e\x68\x23\x45\x7f\xef\x0c\xcf\x40\xf9\x42\xf6\x4d\xde"
      "\x8f\x73\x19\xf9\xc1\x3a\x12\xbd\x85\x0c\xd7\xd2\x21\x62\x02\x23\x2d\x01"
      "\xdf\xc6\x9e\x14\x92\xed\x1f\x4a\x19\xed\x92\x3a\xd2\xfc\xba\xb3\x72\xb4"
      "\xa4\x9f\x9e\x04\xda\x5c\xc6\x8b\x65\xbf\x42\x09\x6a\x5f\xf1\x3f\x63\x1e"
      "\xed\x99\xbe\x7e\x18\x8f\xc9\xd8\xd1\xfc\x54\x32\xb4\x26\x47\x5b\x75\x69"
      "\xb8\x79\xa5\x31\x10\x27\xce\x2e\xdb\x77\xf8\x26\xc4\xd0\xac\x86\x16\xed"
      "\x80\xff\x9f\xfe\x03\x13\x8f\x13\xcb\xb3\x59\x92\x3b\xc2\x22\xdc\x67\x94"
      "\x7c\x18\x36\xce\x18\xe7\xfe\xd1\xcc\xa4\xf8\x45\xf1\x91\x1d\x71\x54\x53"
      "\x8d\x01\xfe\x6f\xe7\xd4\x74\x99\x9e\x6d\x8a\xb3\xfe\x27\x1d\x51\x72\x69"
      "\xe6\x5e\x43\x83\xaf\x77\x33\x21\x9d\x1c\x38\x96\xf9\x78\xb1\xff\x65\xea"
      "\x19\xd6\xed\xda\xc9\x57\xba\xcc\x92\x49\x55\xe5\xc7\xca\x11\x98\x97\xfa"
      "\xcd\xf7\xa7\xb5\x0a\x64\x33\xf9\xf9\x63\x2b\x8f\x7f\x53\xdb\x88\xc5\x11"
      "\xce\x9b\xce\x06\xa4\x13\x0e\x45\xbd\xf6\x0b\x92\x7b\xcf\xad\xfe\x9f\x77"
      "\x1f\x8f\x7c\xfe\x7f\xe9\x0b\x75\x9e\x5b\x0e\x5f\x2b\x91\x53\xbd\x29\x7a"
      "\x3e\xb0\xf5\xd1\xce\x25\xeb\x56\x95\x88\xdd\x8a\xad\x49\x8b\x48\xa6\x53"
      "\x20\x26\x0e\xda\xb8\x49\xae\xf0\x38\xe9\xe7\x9c\x63\x16\xe6\xd8\xc6\x0a"
      "\xf6\x52\xcc\x15\x1e\x27\xdd\x5e\x21\x70\x62\xf7\xf7\x8d\xde\xc8\x57\xb7"
      "\x98\xad\xb2\x50\xb3\xdd\xcb\xff\x95\xf7\x57\x08\x7f\x99\x6d\xf9\xca\xfa"
      "\x65\x69\x53\x2c\x73\x9a\x7b\x39\x92\xd6\x54\x27\xc9\x77\x61\x26\x0e\xf3"
      "\xa3\xc4\x2e\xdf\x27\xd1\x8a\x96\x0d\xd7\xa2\xda\x3b\x6c\x47\xa6\x38\x7f"
      "\xf3\x64\x98\xec\xeb\x1a\x85\x84\x66\x43\x28\xd6\x8c\xae\x50\x74\x63\xb5"
      "\xf4\x66\x3d\x90\x1d\x74\xdf\x35\xd1\x85\xd7\xa1\xe6\xe4\xa9\x05\x49\x6b"
      "\xe1\xd9\x37\x3c\x4b\x1a\xfa\xe0\x1e\x41\xd5\x9c\x6b\x79\xf1\x81\x25\x3f"
      "\x99\xf9\xd6\xb5\x9d\xe1\x82\xe7\x2a\x28\x1f\x81\x8e\x0a\xfd\xea\xc5\x33"
      "\x2d\x46\xfc\x16\x67\xca\x42\xea\xdf\x97\xdf\xda\x32\x33\xeb\xa5\x65\x0d"
      "\x28\x82\xab\xe3\x70\x92\xe7\x5f\xf9\x3a\x58\x2b\x5a\x71\x13\xb8\x7d\x5b"
      "\xb0\x8e\x59\x73\x8b\x5a\xbd\xfa\x16\x95\xef\xbb\x4c\x40\xf7\x25\x98\xe8"
      "\x3a\x8e\xcf\xb2\x31\x73\xa9\x2a\xec\x33\xa2\x3a\xb7\xea\x7b\xeb\xf4\x16"
      "\xc7\xea\x06\x3a\xd4\xff\x4e\x8b\x36\xeb\xde\x3f\x6b\x4e\x99\xf6\xa6\xec"
      "\xe6\x94\xdf\xfc\x44\xa4\x19\x63\xc1\x69\x40\x4c\x9a\x8c\xf6\xc1\x2b\x09"
      "\xed\x73\x0b\x4b\x0f\xc6\x63\x94\xf8\x4d\x9d\x92\x54\x8a\x6d\x0f\x7a\xde"
      "\x8b\xb9\x86\xa6\x1f\x53\x68\xba\xd3\x4d\x7e\xc6\x87\xb8\xcc\x6b\xc9\x2a"
      "\x5f\x15\x37\x9b\x1b\x05\x68\xd7\x67\x6b\x9e\xa0\xa4\xff\x36\x49\x2b\x6b"
      "\xe8\x77\x21\x6a\xff\xc5\x46\xcf\x35\xcb\x9e\xf9\xf8\x54\x43\x9a\x45\x63"
      "\x69\x4a\x6d\xea\xce\x41\x83\xfc\xec\x91\x39\x7e\x13\x47\x99\xa7\xc6\x93"
      "\x9f\xae\xa4\xed\xa2\x21\x9f\x18\x53\x91\x97\xe3\xb3\xab\x51\x1f\x4c\xe8"
      "\x36\xd7\x1c\x19\x3c\x9b\x54\xbc\x2e\xae\xb8\xf9\x92\xe6\xda\x63\x97\x60"
      "\xb6\x24\x21\x18\xb3\x66\xf0\x66\xc2\x4d\xcc\x6b\x64\x02\xbd\xfd\x9b\x9e"
      "\x5f\x46\xe9\x63\xcd\xcf\xd8\xa7\x0f\xda\x34\x62\x2d\x52\xf7\x1b\x34\x4a"
      "\xa5\x23\x8c\x84\x65\x69\x88\xf7\x8f\x45\x33\x37\xae\xb4\x88\x79\x30\x7a"
      "\x3a\x8a\x22\x4d\x74\xc5\xab\xcd\x2b\xbd\x5d\x8a\xdc\xe2\xc3\x0f\xb9\x12"
      "\x02\x76\x4f\x2b\xe9\xe7\xf8\xd4\xda\xa5\x94\xfe\x60\xaf\x6d\x89\xa3\x6a"
      "\x2e\xb2\x8e\x25\x6e\x4d\x58\xde\x12\xf1\x56\x12\x5b\x94\xf7\x3d\x63\xfd"
      "\x19\xf0\x87\xdd\xbe\xdd\x3d\xb3\x3c\x66\xbf\x28\xdb\xd2\x48\x9a\x7f\x57"
      "\x61\x83\x48\x58\x17\xf9\xa7\x7e\xe0\xf2\x44\xda\x19\x79\x11\x01\xfa\xb8"
      "\x13\xaf\x3e\xc5\x20\x46\x95\x04\x1e\x56\xf8\x9b\xe0\xe4\xe7\xab\xc7\x14"
      "\xbb\x95\x4e\x46\x5c\x34\x88\x01\x98\x0b\xb6\xa2\x9e\xf5\xce\x58\x6a\xdb"
      "\xad\x0e\xb8\xe4\xa1\x1a\x01\xcf\x8f\x34\x77\xcb\x9b\xe4\xef\x13\x68\xfd"
      "\xac\x3b\x96\x48\xd3\x3b\x5a\x76\x5b\x5c\x53\x3e\x16\x61\xd4\xf0\x3f\x78"
      "\x80\xcd\x72\x8f\xc3\xa0\x9c\x8a\x31\xfe\x45\x61\x91\x36\x77\xef\x93\xe3"
      "\xd7\xff\x46\xe7\xff\x2e\xa4\xd5\x66\x08\x5d\x11\x4b\xd4\xf7\x6f\x57\xc6"
      "\x66\x16\xd4\xb0\x45\x71\xe9\x3c\xc7\xff\xf2\xa5\xab\xbe\x17\xe1\x45\x8b"
      "\x1f\x6a\x16\xde\xe6\x48\xd9\x5e\xbc\xa7\xf9\x83\x08\x3c\xaf\x1e\x0f\xac"
      "\xde\x90\xc6\x8c\xc8\xec\x2b\xa7\x12\x62\x56\xc2\xc7\xd6\x16\x8c\x7c\x79"
      "\x65\x03\xc5\xf5\xd6\x27\x7c\xd7\xc6\x33\x92\xa4\xd1\x0f\x7e\x7e\xd6\xa2"
      "\x7f\x40\x7d\x92\xce\xaf\xff\x76\xfe\xc3\xbb\x7f\x55\x14\xb8\x32\x55\x7e"
      "\xe9\x34\xb9\x3a\xef\xd9\xed\xdb\x63\x63\x59\x75\x7d\xa8\x1d\x14\x35\xb3"
      "\x9e\xbd\xd9\xfc\xa9\x94\xff\x2b\xb8\x4e\xe5\x4b\x87\x4b\xd7\xd6\xe9\x60"
      "\x0e\xcf\x7b\xab\x8c\xa0\x0b\xf4\x3c\x95\x63\x19\xae\xd0\x08\xcf\x19\x04"
      "\x1d\x95\xf5\xa9\x4e\x0e\x3c\xa1\x94\x2b\xb2\xc2\x90\x73\x22\x9e\xf3\xaa"
      "\x7a\x02\x9d\x21\x0f\x77\xf9\xdf\xdb\x37\x76\xe3\xac\xf2\xaf\x70\xfd\xc5"
      "\x56\x0a\x93\x6e\x4b\xc4\xda\x06\xb6\x45\x3f\xd8\x6a\x22\x5f\x44\xbf\x36"
      "\x4d\x1a\x0e\x78\x36\x26\x8f\x1b\x35\xbd\x1a\xd0\x52\x3b\xb7\x23\x4f\x21"
      "\x86\x66\x8b\x5e\xe0\x59\xd9\xed\xfe\xc2\xc3\x8b\x74\xeb\xee\x15\xb3\x9b"
      "\xec\x97\x64\xce\x48\xfe\x56\x74\xec\x42\x7c\xaa\xc6\xb0\xe0\x36\x96\xde"
      "\xfb\x8e\xdc\x13\x46\x6f\xd7\x04\x5a\x77\x37\x1a\x06\xec\xb5\xc5\x98\x88"
      "\xbf\xbf\xff\x54\xb1\x34\xfb\xd8\x98\xe4\x2b\x66\x17\x21\x62\x5c\x46\xb9"
      "\x5c\xc6\x27\x7d\xa0\x60\xac\x39\x6a\x40\x4d\x8e\x17\xf4\x71\x7f\xb4\x60"
      "\xbd\xfb\x54\x9d\xdd\x3c\x0f\xd1\x49\x43\x4a\x5b\xad\x4e\x47\x67\x61\xd3"
      "\x21\x02\x4f\xf9\x2c\x45\xdd\xb3\xf0\x0d\xdd\x75\xd8\x71\xc9\x93\x7f\x0f"
      "\xaa\xa4\x2e\x95\x55\xc5\x9f\xa3\x17\x1a\x51\x3f\x96\x5f\xa7\x68\x99\x72"
      "\x1d\x42\x6f\x4f\x45\xdf\x88\x78\x89\x1c\x6d\xc0\x2e\x74\x45\xb2\x93\x5a"
      "\xc0\x72\x73\x7e\x5a\x40\x16\xa8\xb3\x92\x4a\x71\xdd\xa0\xc3\x24\xcf\x76"
      "\xa1\x54\x11\x1b\x81\x90\xad\xdf\xaf\xc1\x58\x91\x1e\x5f\xbe\x23\xe1\xe7"
      "\x41\x75\xa4\x8e\x74\x40\x7f\x88\x3a\x71\x29\xe1\x54\xcb\x41\x38\xde\x4c"
      "\xb1\x20\xdc\xfa\x1f\xe3\xdb\x75\x9e\x08\xa2\x0f\xbe\x71\x49\x3b\xc5\x1b"
      "\xfe\xc5\xc3\xd3\x8f\x05\x85\x97\x33\x26\x3a\x4a\x82\x43\xd5\x9d\xbf\x7d"
      "\x79\xf6\xf2\x3f\x5d\x1c\xae\x2d\x84\x1f\x41\x4b\x64\x63\xcc\x4c\x5f\xf9"
      "\x02\x63\x72\xdf\x47\x36\x22\xcd\xbe\x95\x38\xb3\x69\xad\x08\x4f\xc1\x1d"
      "\xbc\xdc\xb8\xee\xad\x60\xcd\xab\x47\x51\xe1\x64\xf0\x23\x4b\xe9\xc7\x7b"
      "\x83\x9f\xfb\x5b\x14\x9f\x8e\x3d\xe6\xe3\xeb\x05\x6d\x7b\x87\x8f\x2a\x33"
      "\x0b\xe9\xcd\xc4\xd1\xcc\x2a\xf3\x01\x6f\xaf\xe9\x1a\xfd\x49\xda\x31\x16"
      "\x04\xf5\x91\x3c\xa4\x6a\x10\x2b\xd1\xe4\x6f\x57\x2a\xa2\x18\x47\x96\x26"
      "\x7e\x75\xf3\xe4\x9e\x6f\xf3\x25\x9f\x61\xe4\x56\xbc\x35\x69\xee\xfd\xbc"
      "\x35\x80\x1d\xba\x24\xc8\x7b\x37\x6c\x7a\x40\xbf\xd9\x84\x1a\xa5\xae\x91"
      "\x8f\x9a\x3d\x37\xe0\xce\x68\x3d\x74\xd0\xc3\x7b\xfb\xfa\x77\x4e\xd9\xd8"
      "\x43\xa7\xc6\xd6\xd7\x8d\xca\x8e\xac\x78\x32\x74\xb7\xca\xdf\xb4\xc2\xca"
      "\xbd\x89\x26\x66\x65\x32\x4a\x82\x02\xa4\xe9\x0c\x75\xa9\x27\xb6\x22\x49"
      "\x57\x5e\xa4\x6e\x57\x4d\x9b\x6d\x3b\xae\xd2\x2f\xd4\x0d\x1d\x70\x44\x2c"
      "\xd6\x1c\x5f\xc4\x8a\xad\xba\xdd\xb6\x53\x9b\x31\xae\x5d\xca\xa5\x9c\xe8"
      "\x20\x05\x2b\xec\x35\x96\xb5\x93\xd7\xfb\x7d\xc7\x27\xb5\x27\x79\x59\x3b"
      "\x97\xa2\x68\xa1\xc2\xfd\x99\xea\xa9\x60\xdc\xfb\x6b\x85\x6e\x6a\xc9\x05"
      "\x8e\xf9\x21\xb5\x54\xf7\x62\xf4\xcf\x58\x2c\x1c\x2a\x5f\xd3\x10\x6a\x5c"
      "\x4f\xe6\x2c\xd2\x7f\x26\x67\x64\x4d\x0c\x49\xac\xbc\x21\xf4\x4d\xef\x34"
      "\x77\xa8\x5f\x44\x41\x63\x53\x19\xb5\x10\x60\x42\x31\x10\x94\x73\xa8\x71"
      "\x90\x41\xdc\xb4\x4e\x1a\x0f\x09\x32\xb2\x4f\x7e\x59\x19\x3d\xc4\xf4\x48"
      "\x5a\x00\xcd\xf3\x8d\x57\x96\xe8\xad\xa3\x5b\xe0\x73\xca\x50\x8f\x57\x13"
      "\xb9\xef\x31\x15\xd7\xf4\x25\x0b\x42\xa8\x42\xd9\xd9\xde\x5a\xbc\x52\x92"
      "\xba\xa5\xab\x56\xfb\x22\x8e\x67\xf9\xa2\x66\x0b\xaf\x5d\x79\x5e\xde\xe5"
      "\x9b\xa0\x8d\xc3\xb8\x6d\x54\x1f\x99\x0b\xe9\x17\x2f\x06\xe9\xe7\xa7\x1a"
      "\xb7\xf5\xe2\xcd\xd3\x6c\x04\x13\x23\xd4\xd8\x4b\x34\xaf\x70\x83\xf9\x6a"
      "\x45\xfd\xf9\xc3\x58\x3d\x08\xae\x9e\x6a\x8c\x86\x78\x73\xb1\xab\x44\x5f"
      "\xab\x55\x9c\x1b\x3f\x54\x60\x51\xa3\xbb\x34\x4e\x59\x7f\x49\x3d\x63\x17"
      "\x1a\x75\x35\x2c\x23\x2f\x92\xd5\x26\xcc\x9f\x65\x89\x91\x62\x65\x9c\xe1"
      "\xcc\x3f\x97\xcf\x39\x58\xe6\x34\xaf\x29\x67\x67\x96\x2a\x98\xea\x14\x53"
      "\x25\x8b\x72\x25\xe1\x89\xa7\x7a\x43\xe4\x59\x83\xb0\x94\xf0\x0f\xf9\xea"
      "\xb7\xd4\xd8\x5b\x3a\x5d\x5a\xfc\xc1\x51\x54\x0b\x21\x1d\x26\xfd\x95\xb1"
      "\xa2\x35\xa5\x7b\xff\xbc\x48\x84\xf9\x02\x94\xdd\xff\x6c\xdc\xa9\xd2\x9a"
      "\x5d\xda\xab\x09\x74\x4a\x12\xe8\xb5\x98\x89\x0e\x88\xd5\x0e\xd9\xeb\xd1"
      "\xa3\xa9\xbd\x16\xe7\x24\x64\x86\x75\x30\xdb\xb4\x18\x27\xd4\xb1\xc5\xb1"
      "\xea\xbb\xfb\x73\xf2\xba\x04\x2a\xdc\x6e\xdf\x63\x54\x74\x5d\xd1\x1b\xb9"
      "\xbf\x28\xf5\x55\xab\xe0\xf3\xc7\xfe\x53\x56\x84\x39\x1a\x98\xfd\x97\xdf"
      "\x23\x25\x73\x8b\xda\x9b\xd8\x80\x5b\xa1\x86\xf1\xf1\x0f\x33\x04\xa4\xe1"
      "\xe0\x9c\x35\x56\x66\x34\x47\x8e\x3c\xeb\x20\x79\xe4\x4e\x0c\x23\xf1\x1f"
      "\xd2\xe9\x26\x29\x4e\xc1\x33\x0f\xe2\xad\x46\x46\xc6\x94\xc6\x9e\x27\xab"
      "\x66\x0e\xd9\x91\x7f\x36\x70\xc3\x7c\xf0\x79\x2e\x50\xd5\x26\xd5\x2c\xeb"
      "\x07\x82\xf5\x8d\x49\x63\x20\xbe\x7f\x7e\x49\x00\xe5\x95\x4d\x9a\xd2\x8b"
      "\xc2\x91\xe3\x40\x9b\x17\xfc\xdf\x92\x85\x8e\x02\xf7\xef\x07\x47\x91\xf5"
      "\x97\x5e\x22\x46\x27\xd5\xce\xbc\x2c\x98\x9a\xba\xd8\xe3\x47\xe4\x23\x31"
      "\x39\x4d\xfb\xe0\x7c\xd8\xf2\x53\x5d\xc2\x5f\x96\x4e\x7e\xec\x98\xee\x67"
      "\x89\x19\xf3\xee\xcb\x61\xe7\x38\x52\x6f\x31\x19\xbf\xb8\x6f\x72\x52\xab"
      "\x29\xdf\xe8\xe3\xb0\x72\x63\xf9\x43\xf1\x39\xd3\x92\xe5\x83\x25\x71\x86"
      "\x7d\x42\x66\x0c\x9c\x99\x7f\x06\x4f\x96\xad\x18\x23\xa7\xaa\xcb\xa6\xae"
      "\xd5\xe8\x86\xa9\xd8\x51\x5e\x3f\xac\x47\x0c\xca\x34\x93\xdf\x32\x4d\x40"
      "\x1b\x47\x29\x78\x11\xd3\xb5\x86\x45\x5c\x7f\xdd\xf5\xd7\xda\x44\x32\xdc"
      "\x5e\xc2\x5c\xe8\x1b\x1a\x1f\xa2\xd7\x2a\x26\x2b\x2a\xcf\x03\x67\xf9\xc0"
      "\x2c\xc1\x9c\xce\xc0\x57\x2d\x99\x73\xbe\x15\xa2\x7f\xef\x91\x2b\x1f\xe4"
      "\x36\x84\xe4\x96\x54\xd5\x78\x8b\xa2\x30\x7c\x23\xbc\xfe\x93\xb0\x29\x3b"
      "\x75\xaa\xd1\xaa\x52\xb4\x4a\xf7\x48\x6b\x68\xaa\x90\xaf\x6e\x60\x49\x93"
      "\x7c\x1c\xeb\x03\x7e\x50\x67\xcd\x0f\xef\x33\xff\x41\x05\xa6\x8d\x87\xc6"
      "\xd4\xe4\x23\x06\xd3\xdc\x4a\xc1\x19\xe2\xab\x51\x79\x5c\xb8\x5f\xaf\x83"
      "\x49\xce\x10\xdb\x79\xf1\x72\x22\x9d\x27\x31\xbb\xb9\xf6\x12\xb6\x93\x83"
      "\x0c\x03\x1b\x0a\x6a\x7b\x12\x43\x48\x26\x6e\x97\x64\x12\xae\x14\xe6\xbc"
      "\xf1\xaf\x08\xd8\xf0\x2f\xd9\x4e\x71\x19\xc2\x09\xd2\x6e\xc6\x98\x5f\x3c"
      "\x7b\x4b\x9d\x2f\xb1\x45\x7b\x68\xc5\x7b\x6b\x94\x8e\x37\x2c\xf1\xb8\xaa"
      "\xe7\x4c\xcc\x36\x28\xe8\xca\x2b\xf3\x2b\x2d\x76\x8b\xdf\xd3\x03\x41\x0e"
      "\x1a\x55\xfd\xfd\xfd\xd6\x2e\x83\xe1\x81\x98\xb9\x13\x7d\xc7\xb2\x09\x56"
      "\x2c\xf4\xa8\x27\x28\x5f\xfb\x14\x88\x4c\x03\x6e\x9f\x74\x49\x0d\xd6\x9a"
      "\x76\x3d\xf5\xe5\x6f\xc8\x4b\x35\x0d\x3b\xd4\xbb\x34\xb7\x97\x96\x53\x24"
      "\xfc\x59\x84\x40\xc1\x59\x4f\xe6\x36\x49\x67\x46\x62\xdb\x14\x25\x50\x7b"
      "\x71\x68\xf7\x79\x52\xea\x80\xe8\xa7\x29\x89\x3e\x33\xe9\x6f\x4a\xf9\x38"
      "\x26\x87\x9f\x0b\xa7\x93\xdc\x19\xca\x55\x14\x0d\x4f\xf6\xff\x8b\x65\x09"
      "\xdd\xb3\x5c\x9a\x5a\xfd\xf2\x0e\x57\x4b\x7d\x13\x51\x58\x5a\xcd\x56\xa1"
      "\x97\x54\x85\x92\xe6\xdd\x63\xf4\x9c\xe8\x7e\xbb\xae\x02\xe5\xb9\xa5\xb3"
      "\x7b\xd6\xa1\xef\x15\xdf\xee\x0a\x1c\x5a\x3b\xd0\xdc\xe9\xf1\x78\xd2\xee"
      "\x76\x99\xb2\x59\xc2\x6d\x6c\x42\x66\x05\x71\x0e\x75\x74\xee\x3e\xbb\x95"
      "\xbc\x12\xcf\x3d\x12\xab\x39\x0c\x1c\xf4\xeb\x5e\xc4\x8d\x18\xfe\xeb\xda"
      "\x18\x4f\xd1\xd0\xeb\xb4\x97\xe2\x9e\x16\x3f\xa4\x89\x1c\xd9\x96\xcc\xca"
      "\x4c\xea\x60\xfe\x3c\x3f\x0a\xbd\x69\x8f\xf1\xb9\x1e\x4f\xdf\x34\xe3\xd6"
      "\xfc\x05\x87\x1f\xbe\xfc\xc8\x8b\x82\x15\x7f\x24\xf5\xa1\xe5\x2b\xfb\xb7"
      "\xd1\xfe\xc1\x49\x72\x63\x65\xfb\x8b\x96\xfb\x2b\x1a\x6f\xbd\x6e\xd2\x43"
      "\x05\x5b\x1a\xb9\x0d\x98\x3d\x84\x31\x5e\x16\xbd\x89\x55\x7d\x4f\xa8\x3f"
      "\xaa\x6a\xd1\xe7\xf1\x0b\xb5\x4f\xe6\xdf\xf5\xac\x9f\x61\x9f\x4f\x60\x43"
      "\xd0\x19\xe2\x67\xb2\x5d\xe1\xdc\x17\xf3\x32\x8d\xb8\x77\x42\x14\xa8\xbd"
      "\xab\xce\xf9\x8d\x3c\x4e\x21\x0a\xa6\x64\xd1\x72\x88\x78\x84\xc2\x36\xe3"
      "\xfe\xdf\x2e\x83\x26\xd5\xf0\x3a\x69\x5e\x64\x56\x71\x8b\xbb\x84\xa1\x65"
      "\x95\x61\xd0\x59\x9e\x4a\x9b\xbe\x8a\xa2\xcd\x26\x78\xb5\x36\xed\x5a\xa7"
      "\xdf\x57\x52\x54\x2f\xd0\x84\x4c\x9d\x88\x50\xa8\x20\xa1\xd5\xfa\x21\x5d"
      "\x0e\x4d\xc1\xb9\x83\xd0\x3c\xf4\xa3\xf6\xdc\x0d\x1a\xb6\xe8\xac\x0f\xd5"
      "\xe7\x9b\x1e\x29\xb6\xe8\x2f\xea\x6f\xfa\x76\xed\x57\xb6\x17\x0b\x2f\xd1"
      "\x97\x17\x65\x84\x3d\xfd\x4d\x51\x4a\xe8\x9a\xc4\xb2\xca\x6d\xad\xde\x9a"
      "\x9a\xce\x9e\x8a\xb8\x70\xad\xa4\xd4\xe2\xc4\xdd\x2a\xaa\x51\xf1\xb6\x68"
      "\xeb\xb9\x30\xd0\x84\x10\x0e\xbf\xfd\x37\xdd\x91\xdf\x61\xf6\xd6\xd5\x25"
      "\x1c\x19\x41\xf3\x99\x53\xa5\x4f\xbb\x1e\xd6\x2a\x5f\x4c\xc5\x04\xce\x6a"
      "\xd8\xd5\xb9\x72\x2d\x56\xb9\x53\x6f\xe2\x13\xf9\x91\x11\xb1\x69\xda\x2e"
      "\xa4\x84\xeb\x27\x2b\x63\x9d\xe8\x25\x8a\x34\x8c\xfd\x6c\x18\x24\x42\x9a"
      "\x9d\xc9\xce\x94\x44\x0b\x99\xe9\xb9\x53\xc6\xfa\x5c\xfc\xee\xcd\x85\x49"
      "\xfc\x88\x8a\x06\x35\xeb\x8f\x05\xff\xbe\x5c\x23\x40\x7c\x9a\xde\xfb\xa0"
      "\xca\x78\x2e\x72\x52\x05\xc9\x7e\xff\xef\x9a\x9a\xdf\x8c\xb4\xc2\x54\x4f"
      "\x24\xd1\x2f\xf2\xc5\x2f\xe3\x8d\x0f\x12\xf8\xb5\xfb\x06\x93\x7f\x65\x22"
      "\xe1\x91\xa7\x87\x8f\x86\x15\xf9\x64\xac\x4c\x26\x72\xf1\xdb\x94\x95\xfe"
      "\x94\xc8\x38\xfe\x60\xb3\x18\xf3\xfb\xfb\xfb\xb5\x0d\x74\x1c\x1e\x86\x4c"
      "\xec\xc8\xae\x89\x89\xd9\xcf\x2a\xdf\x8f\x73\xf9\x8e\x7e\xdf\x72\xa3\xb6"
      "\x5c\xf5\xe9\x9e\xb4\x22\x67\x56\x89\x0f\xfc\xd3\xd3\x72\x69\xa0\x70\xf9"
      "\x56\xfd\x97\xc3\xab\x5f\xc8\x6a\xe1\x0e\x29\xeb\x9e\xcc\x74\x41\xd4\xb9"
      "\x8a\x99\x21\xc8\xe8\x51\xef\x44\x5b\xa1\xbe\xb1\xad\xe8\xe1\x47\x5d\xea"
      "\x33\x59\x13\x8e\x83\x4a\x56\xd5\x6c\xc7\x51\xaf\x5f\x71\xff\x36\xa7\xfb"
      "\x7c\x7d\x79\x96\x77\xc6\x9f\x11\xf0\x06\xd3\x3c\xdb\x9a\xe3\xf1\x4d\x29"
      "\xfa\x6b\xde\x63\x66\xb2\xb7\xcc\x7c\xff\xdd\xe5\x07\xe5\x23\xea\x63\x43"
      "\xdd\x70\x59\xb6\x43\xac\x25\x2c\xb5\xd2\xda\x27\x13\xa6\x38\xa2\x93\x3b"
      "\x3f\x59\x02\x88\x6e\x28\x6a\x4f\x77\x9c\x72\xd2\xfe\x96\xb1\xa3\x73\xb6"
      "\x2f\x38\xe3\x4b\xb8\x88\xaa\x92\x61\x4e\xef\x1a\xbb\xde\x62\x12\x99\xd9"
      "\x14\x65\x18\x95\xd1\x18\x84\xc7\x0c\x88\xe0\xac\xdf\x25\xbf\xd5\x0e\xfb"
      "\x35\xc1\xb6\xca\xdd\x51\xa6\x2f\x14\x28\xc9\x89\xa7\x10\xf8\x24\x3c\x27"
      "\x93\xa4\xa2\xc0\x49\xa6\x7b\xb5\x6e\xc2\x97\x46\x2a\x67\xcf\xf5\xe2\xb3"
      "\xe3\xba\x85\x5d\x62\xfb\x78\x1e\xb3\xd6\xec\xbb\x06\x95\xa0\x2b\x61\x99"
      "\x91\xb3\x52\x82\x35\xed\xdd\x79\xf6\x77\xd6\x18\x34\x57\xe4\x4d\xdc\xd5"
      "\xae\x83\x34\x67\xac\x87\xd9\xea\xfc\xbf\x38\xb2\xf8\x9b\xe9\x27\xb9\x4e"
      "\x99\x92\xdb\xfa\xce\xf5\xc5\x53\x4b\xbf\xd4\x68\x9e\xca\xee\x57\xe5\x4f"
      "\xc6\xd0\xa2\x20\x8d\x50\x75\x57\x28\xaf\xbb\x04\xbb\x94\x7d\x93\xad\x71"
      "\x8f\x62\x31\xe9\x36\x7a\xc3\xca\x8e\xf1\xdf\x0a\xae\x41\x8d\x1f\x36\x8b"
      "\x5b\xb9\x2a\x2d\x53\xfa\x61\xdf\xb0\xef\x6c\x8f\xe2\x80\x0d\xe7\xd1\x65"
      "\x26\x73\x3c\xd5\x1f\x53\xf1\x65\x33\xae\xf7\xdc\x43\x88\x55\x84\xd5\x0e"
      "\xbe\x13\x57\xd9\xa2\xb8\xe1\x11\x9f\xad\x17\x34\x90\xd9\x19\x15\x59\xfd"
      "\xfb\x03\x55\xcd\x0f\x49\x3a\x4b\x0c\x87\x5d\xc3\x6f\x3a\x27\x3c\xbb\xcc"
      "\x8f\x63\x03\xff\xcb\xa4\x10\x3f\x8d\x4f\xf7\x53\xae\xf8\x17\x50\x6d\x59"
      "\x1c\x9e\x28\x84\x36\x5a\x41\x16\x38\xd4\xae\xdd\x9b\x73\xd1\xb7\x23\xbf"
      "\xb9\x37\x9c\x17\xfe\xf6\xc3\x4a\x03\x8f\x3e\x8e\xf9\x83\x86\xeb\xe0\x68"
      "\xa3\x7d\xa7\xe9\x5e\x26\xd6\x06\xd2\xaf\x99\xff\xce\x08\x55\xfa\x2f\xad"
      "\x08\x88\x85\xbd\x46\x33\x36\xca\xb5\x5e\x7d\x27\xc5\x64\x8f\x4d\x22\xb8"
      "\x96\x19\x5f\xac\x08\x48\xab\xbe\x1a\xef\xf2\x4f\x7e\xed\x21\x12\xdf\xb3"
      "\x4c\x32\xc0\xf8\x51\x7f\x6f\xfd\x15\xff\x8b\xdf\x56\x0e\x02\x6c\x2a\xae"
      "\x44\x77\x9c\x0f\x3f\x20\x7e\x94\xe9\x36\xd9\x0b\x28\x3c\x13\x7c\x80\x66"
      "\x14\xa6\x87\x3d\xcb\xdb\xdb\x80\xe7\x63\x95\x32\x75\xc5\x53\xf9\xe8\x65"
      "\x18\x37\xce\x42\xe7\xc9\x3c\x35\xce\x80\xfa\xdd\x13\xaf\xa2\xef\x96\x07"
      "\x05\x08\xe9\x48\x1f\x6e\xca\xb6\xd0\x1f\x3e\x30\x95\xae\xc8\xa6\xae\xfb"
      "\x9e\x60\xd1\xf5\x3a\xf5\x47\xe0\x76\xb8\xbf\x49\xe7\x7f\xc3\xe1\x77\xa6"
      "\xd5\xf6\x95\x5f\x3a\x9e\x62\xda\x10\x7b\x54\x37\x07\xbf\x6b\x8f\x5b\x10"
      "\xd2\x59\xb8\x7e\x24\x82\xb6\xcb\xc7\x71\x48\x13\x69\xcb\x1f\xf7\xb5\x44"
      "\xfd\x11\xf3\x90\x55\x0f\x47\xc1\x9a\x4d\xea\x79\xfa\xce\x35\xab\xf5\x70"
      "\xdf\xcd\x3d\xef\xa3\x94\x0c\xe3\x09\x56\xd7\xae\x52\x1a\xfe\xfb\xdf\x61"
      "\xab\x46\x7b\x7d\xe3\x9d\x6c\x26\x24\x9a\xb2\x56\x5c\x9c\x13\x12\xdc\x73"
      "\xa9\xbd\x9d\x1f\x4d\x38\x6b\xf5\x0a\x46\xd0\xc4\x17\xde\xaf\x5a\x22\xaf"
      "\x93\x20\xbe\x7f\xf9\x94\x5b\x64\xf4\xdf\x69\xd9\xa8\xc9\x84\x2b\x0e\xa5"
      "\x65\x5f\x57\x9f\x07\x45\xf3\x86\x87\x41\x8d\xda\xd3\x90\x43\xca\x7d\x91"
      "\xbc\x65\x67\xdc\x8f\x1f\xc6\xfa\x9a\x92\x48\x07\xe7\x89\x90\xc6\xc9\x56"
      "\x89\xb1\xf4\x0a\xa2\xbd\x2f\x7b\x5c\x76\x4e\xb5\x0c\x9b\xa6\xcc\x9f\xb5"
      "\x99\xad\xd3\x0a\x7d\x51\xc6\xab\x57\xd9\x65\xd8\x08\xa2\xfc\xe3\xfb\xf3"
      "\xec\x2d\x6d\x39\x76\x44\x73\x5c\x4b\x95\x55\xe0\x8a\x24\xdb\xa8\xf8\x40"
      "\x25\xbe\xd7\xe2\x27\xfb\xe5\xc4\x37\xbe\xfd\x56\xbb\x2a\x4b\x17\xd8\x4d"
      "\xc1\x9e\xe3\x17\xcd\xe4\x7f\xff\xb4\x77\x8b\x0c\xb1\x12\xba\x93\xcc\x11"
      "\x86\xba\xbc\x66\x9a\x75\x92\x25\xb6\x59\x62\x34\xfa\x44\xa4\xa4\x21\xef"
      "\x47\x78\xeb\x9d\xb1\x95\x3a\x8f\xdd\x19\x53\x99\xb9\x1f\x93\x54\x63\xa6"
      "\xc7\x31\x22\x1a\x76\xde\x5a\xd1\x2b\xe6\xbe\xad\xb9\x3d\xa0\xab\x91\x2b"
      "\xb4\xb4\x8a\x32\x34\xe2\xc9\xeb\x32\x40\x28\x76\xf9\xde\xb5\x5c\xaa\x2b"
      "\xb0\x8b\xb1\xd2\x37\x22\x53\x72\x3f\xdf\x2a\x55\xe7\x43\xdf\x7f\x28\xe8"
      "\xe6\xc3\xeb\x24\xc6\x7b\x67\x08\xbc\xfe\xdf\x02\xe6\x7a\xdf\xa6\xc6\x87"
      "\x0b\x20\xcc\x39\x94\xa9\xec\xb9\x30\xbd\x73\xec\xda\x28\x34\x9a\x4e\xf3"
      "\xeb\x71\x6c\xcd\xad\xcb\x89\x53\x93\x6f\xe4\x64\x47\x88\x7f\x51\xf7\xf0"
      "\x15\xf9\xd9\x43\xb3\x7a\xab\xce\x15\xaa\xd3\xfc\x95\x77\x4c\x67\x52\x77"
      "\x2f\x57\xa8\x30\x14\xaa\x8d\x25\x51\x3e\xad\xd9\x13\xe5\x1e\xad\xbd\xd8"
      "\x74\xc3\xb0\xa0\xae\x0b\x57\x7c\x55\xb5\xaa\xb9\xe1\x54\xb3\x33\xfe\x9f"
      "\x32\xef\xb9\xcd\x4e\x00\x41\x94\xf2\xb5\x9e\xc8\x65\x79\x81\x6a\xa5\x34"
      "\xb2\x3a\x9e\xd0\xcc\x68\xf8\xe3\xfd\xd6\x2a\xb7\xa1\xbd\xcc\x6e\x13\x52"
      "\x07\x22\xd7\x7b\x53\xea\xad\x79\x11\x9f\x30\xf3\x95\xfa\xc4\x40\x7a\x7c"
      "\x43\x51\x56\x3e\xfc\xb1\x99\x1f\x1d\x87\xa8\x94\x78\x24\x3d\xb7\x43\x77"
      "\x59\xba\x6b\x96\x78\x2d\xe6\x9d\x4a\x37\x2c\xdf\x8e\xaa\xff\x7a\x1c\x8a"
      "\xde\x48\xfc\xb4\xb7\x5b\x43\x17\x5f\x7d\x22\x79\xb6\x29\x99\x66\x3e\x44"
      "\x4b\xaf\x64\xfb\xfe\x30\x4f\xfd\x02\x21\x55\xc1\x1f\xdd\x4f\xb3\x1a\xff"
      "\xdb\x28\x27\x59\xa1\x2c\xc6\x96\xc1\x90\x57\xc6\xe1\x1b\xc3\x0a\xf2\xd4"
      "\xfe\xd1\xd3\x0f\x44\x0d\x48\xdc\x27\x8e\x1d\x87\xc6\x94\xb2\x5e\x75\x02"
      "\xd2\xbe\xa8\x6e\xa3\xbf\xc5\xfb\xc8\x91\xac\xd3\xd3\x8a\x1f\x62\xeb\x44"
      "\xf2\x1f\x6c\xa0\xcf\xab\xc7\x33\x0a\x12\xbc\x88\xd1\x90\x47\xca\x1b\xdf"
      "\xd3\x53\xb2\xf8\xdd\x66\xa9\xb1\xc5\x65\x4f\x47\xc9\xfc\xa3\x9d\xe1\x61"
      "\xc7\x8e\x5c\x94\x4f\x5e\xfe\x94\xe9\x94\xa4\xfa\x9d\x3e\x3d\x7a\x19\x73"
      "\x41\xc0\x42\x30\xd6\xae\x6c\xa8\x55\x7e\x48\x36\xe1\xee\xa4\xff\xc0\x9c"
      "\x36\x0e\x45\x40\xee\x61\x74\x56\x6f\x52\xf1\x87\x4f\xe5\xad\x96\x48\x4b"
      "\x27\xfb\xde\x72\x75\xd4\x33\xdf\x4f\xe8\xff\x5b\xdf\xfd\x78\x8c\xd2\x87"
      "\x5a\xae\x1e\xe3\x76\xdd\x3b\x5c\xe6\x2a\xe6\xd9\xf4\xad\xe4\xb5\x98\xa5"
      "\xb2\x41\x97\x7d\x1b\xaa\xc1\xc5\xef\x8f\x34\x18\x13\xec\xb8\xae\x48\x2b"
      "\x68\x53\x8b\xb7\x18\x88\xba\x0b\xe8\xdf\xa8\x3a\x51\x68\xf4\xa3\xb8\xc4"
      "\x95\xaa\x53\xdb\xe2\x13\x3e\x85\xde\xe1\xe6\xc5\x07\x72\x60\x9f\x39\x7d"
      "\x98\x16\xc3\xb5\x40\xa3\x88\xb1\x65\xcf\x1a\x69\x29\x1e\x29\xc8\xd8\x43"
      "\x9b\x77\x37\x23\x48\x25\x3a\x98\x6f\x09\x91\x4c\x9f\x7f\x5d\xda\x84\xdf"
      "\x3e\x88\xf6\xa1\x25\x33\x33\x83\x34\xf7\x63\xc1\x13\x81\x2a\xf6\x3f\x95"
      "\x38\x86\xaa\x3c\xb6\x4d\x44\x35\xe1\x6b\x5f\x38\x32\x91\x19\xe2\x85\x7b"
      "\x04\x02\x25\x53\xbe\xa1\x6b\xcf\x74\x71\x52\x93\x67\x25\xcf\xf1\x93\x89"
      "\x2a\x87\x3c\xf8\xa1\x79\x2d\xcb\xe3\xf7\x10\x41\x00\xff\xa1\xe5\x57\x24"
      "\xff\xb6\xaf\x79\x08\xf1\xca\xa4\xad\x3b\x22\x23\xd1\x8b\xee\xaa\x65\xe1"
      "\x8e\x2f\xbe\x67\xac\x0c\xa8\x7e\xdc\x24\x93\xb8\x76\xd1\x60\xeb\xa5\xaa"
      "\x57\x0f\x10\xf8\xca\x66\xea\x96\x44\xbf\xdc\x26\x93\x77\x9f\x9e\x7d\xac"
      "\xd7\x9e\x6c\x21\x87\x31\x36\x32\x9d\xc9\x7b\xfd\x1d\x83\x67\x86\xfd\x87"
      "\xb5\xe1\x5a\x6a\xa0\x23\xd2\x52\xc1\x37\x93\xa7\x5f\x90\x7f\xba\xc6\x3d"
      "\xbd\xe0\xda\xfc\xcd\x38\x89\xae\x93\x72\xfa\x58\x9b\x82\x53\x49\x8c\x2f"
      "\xb4\x4f\xb9\xed\xb2\x07\x0d\x05\xdf\xbb\xaa\x91\x32\x5d\x5f\xfd\x78\x2a"
      "\xf3\xdf\xad\xa5\x0e\xde\x7a\x4d\x37\x0f\x06\x9d\x67\x1d\x62\x8e\x04\x83"
      "\x5b\xd4\xf3\xf6\x1a\x1b\xeb\x8b\xb9\x19\x11\xa6\x72\xa7\xa7\xa3\x08\x09"
      "\x36\x7e\xa2\xd4\xcf\xa4\xfc\xf2\x97\x06\xc3\xe5\x83\x51\x4b\x50\x19\xcb"
      "\x10\xea\xa4\x84\xd3\xca\x7b\xf0\xdb\x2a\x8e\xd9\xaa\xfa\x4c\xd5\x0b\x4e"
      "\x70\xd0\x73\xdf\xf4\xa9\xea\xae\xa0\xed\x4a\xa5\xb8\xe9\xff\x41\x17\xe8"
      "\x09\xe1\xe9\xca\x8a\x24\x09\x93\xbc\xae\x20\xd4\x65\x8d\x5e\xe6\x68\xda"
      "\xb1\xb6\xe8\xf5\x28\x7a\xe2\xd5\xbd\x64\xac\x38\x76\x50\xf8\x6f\x3b\xc8"
      "\xc2\x2c\xbb\x42\x6f\xee\x55\xd1\xf0\x4a\x09\x95\x6e\x3f\xc6\x4d\xa1\x73"
      "\x2c\x93\x9f\xf6\x9a\x24\x85\xb8\xe0\xdd\xde\xc4\x63\x6f\x2e\xb7\xdc\x13"
      "\xdc\xf5\x04\x4c\xcf\x47\x1c\x12\x77\xa3\x5d\xdd\xd2\x28\x0d\xdf\x3a\xf7"
      "\x5b\x2c\x7a\x4b\xf8\xb0\xc8\x3c\xbd\xcb\xf4\xf1\x9e\x96\xb1\x95\xfb\x3c"
      "\x1a\xf2\xa9\x94\xbd\x7a\x32\x12\xd7\xa0\x67\x31\xbc\x31\x87\xee\xbb\x44"
      "\x8a\xe5\x58\x20\x61\x26\x1d\x21\x13\x7b\x29\x57\x81\xc6\xb1\xde\x4b\xa5"
      "\x18\xf2\x4e\xa1\xb8\x2f\x1e\xfd\xd1\x33\xca\x6b\xc5\x20\xe7\x15\x7c\xfb"
      "\x3a\xfa\x59\x03\x63\x4a\xe4\xf5\x73\xd2\x6b\x12\x9d\x58\x24\xdc\x92\x1d"
      "\xdb\xe2\xcf\xd4\xc2\xee\xd6\x8d\x86\x29\xed\x5f\x24\xeb\xb8\x9b\x3a\x86"
      "\x4a\x5a\xd5\xe9\x6e\xda\x6f\xa7\x97\x07\xdc\x5b\xe7\x8d\x65\xcf\x79\xaf"
      "\x1d\x65\x2b\xcf\x75\xb1\x4a\x6c\xa9\xaf\xe2\xcd\x7e\x4e\xbd\x8e\xa5\xc9"
      "\xd1\x16\x53\xb1\xa7\x9e\x93\xcc\xf0\x4f\xea\x91\xd4\xab\x7e\xbf\xa3\x2c"
      "\xf9\x85\xba\xef\xb5\xc6\xa0\xd2\x77\x2e\x74\xc4\x89\x0f\x78\xe6\xf2\xe1"
      "\x38\x5a\x03\xa9\x41\x3b\xaa\x6d\x59\x61\xcf\x7d\x1d\x55\x53\xa4\x9e\x7a"
      "\x90\x51\x23\x77\x04\xcf\x6c\xff\xee\x8b\x3d\xb9\x42\x8a\x34\xf2\xf2\x7d"
      "\x3e\x6b\x7f\x99\xd3\xf4\x63\x5b\xd1\xee\xed\xd3\x3d\xab\x9a\xd6\x52\x9c"
      "\x76\x1c\x24\x29\x27\x44\xdf\x56\x12\xe1\x10\xc2\x43\x8c\xa7\x7e\x21\xa1"
      "\x9c\x1a\x98\x46\x92\x3f\x30\x07\x04\x4e\x57\xae\x03\x56\xd3\x19\xc9\xa9"
      "\x85\xa9\xdd\xee\x9f\x8b\x3b\x44\xcc\x6c\x7c\x35\x10\xb1\xe2\x37\xe6\x56"
      "\x3d\xfd\xf8\x31\xab\x03\xbd\xef\xc5\xd7\xbf\x3a\x84\x23\x83\x78\xa7\x75"
      "\xa8\x45\x63\xdd\x85\x46\x29\x5b\xfd\x16\xc7\x82\xe7\xb4\xfe\xf2\x93\x99"
      "\x4f\x9f\x77\x4c\xbb\x1d\x6c\xb9\xde\xa8\x6f\xea\x50\x71\x44\x17\x57\xcd"
      "\xe3\x14\x10\x37\x94\x8a\x3f\xdf\xfe\xaf\xfb\x7e\x2e\x4a\x2f\x3a\x9c\x52"
      "\xcd\xb3\xb1\x41\x4f\xfa\x50\x27\x2a\x52\x09\xcb\x91\x8e\xd3\x50\x99\xd6"
      "\x8a\x33\x5b\x30\x63\x65\xbf\x58\x79\xaf\xf8\x47\x60\xeb\xa6\x7a\x72\xc6"
      "\x91\xa0\xd1\xcf\xe0\xef\x1a\xf9\xad\xe6\xd2\xb2\x49\xb6\x5c\x53\xe8\x15"
      "\xeb\xd5\xe2\xc9\xda\x0a\x97\x14\x77\xf6\x6c\x4c\x6f\x59\x55\x4f\x89\x09"
      "\x07\x3e\x78\x36\x73\x49\x0b\xaf\x1b\x34\x9a\xa2\xe4\x5b\x77\xf1\xed\xf9"
      "\x58\x7a\x2d\xa2\xb4\x32\x1c\x61\x84\x92\x34\x8e\x15\xaf\x48\x23\xba\xfa"
      "\x3d\x5a\xf2\x97\xbc\x67\xcf\x3e\xaa\xa6\x77\x3d\x0c\x91\xe0\xde\xdf\x09"
      "\x36\x21\x2c\xa9\x54\x42\x8b\x2f\xc4\x6d\x8f\xfc\xf3\xe7\xdd\x1f\x72\xc4"
      "\x37\x9b\xcf\x8c\x91\x28\xd4\x1d\x8d\xd9\xec\x2e\xaf\x4a\xb0\x30\x35\xac"
      "\x7c\xbf\x38\x19\x17\xb3\x57\x6f\x3a\xf8\xbc\x6d\x12\x4f\x62\xe6\x18\x3d"
      "\xab\x14\x50\x9e\x7f\x6a\x77\xe1\xad\x7f\x16\x10\x59\x80\x62\xc3\xe5\xaa"
      "\xdf\xd4\x1f\xd3\x85\x9e\x43\x70\xdb\x43\xfd\xfb\x2c\x72\xc2\x97\x6a\xf7"
      "\xb0\xd8\x01\x2d\x77\x2c\x21\x2b\x81\xb7\xa9\x48\x35\x72\x4a\x62\x41\x4a"
      "\xf5\x53\x97\x9d\x89\x6b\xb7\x6a\x60\x6d\x39\x7a\xcd\xe8\x76\x06\x4f\xae"
      "\x41\x46\xa7\x12\xf2\x8b\x87\xe7\x2e\x5f\xe8\xe8\x1d\xcf\x26\x0e\x22\xe8"
      "\xb1\x8b\xff\x76\x6b\x8b\x04\xcf\x10\xac\xa4\xcc\x0b\x97\xfc\xe5\xf9\xbd"
      "\x54\x58\xda\xd7\xb0\xba\x92\x98\x8e\x31\x34\x62\xec\xde\xda\x29\xee\x2f"
      "\x5a\xf2\xc1\x5d\x66\x26\xaf\x62\xb8\x2f\x51\xb1\xee\x94\x47\x2a\x54\x85"
      "\x78\xe8\xb1\x21\x1d\x93\x34\xbd\x89\xf1\xca\xaa\x76\xa8\xa1\xd0\xd5\xf3"
      "\x57\xfb\xf1\xd2\x96\x9a\xb5\xda\x05\x7f\x1f\xce\x97\xa8\x9b\x63\xfb\x54"
      "\xd3\x91\x94\xe8\xe3\xf6\x8c\x44\x7b\x93\xc5\x3f\x33\x39\xcc\x6e\xd4\xbc"
      "\x0d\xb3\xb3\x88\xc0\x55\x78\x2d\x2a\x86\x57\xb8\x5b\xef\x6f\xdd\x6b\xec"
      "\xfb\xd6\x7a\x27\xd3\xa1\xd6\x1f\x4d\xc3\x54\xa8\x3c\xc9\xd5\x63\x1c\xc7"
      "\xe7\x7a\xa4\xc1\x47\x6a\x47\xd5\x86\x67\xef\xea\x53\x43\xd4\xa8\x6b\xa2"
      "\x62\x03\x09\xa1\x98\x8d\x23\x8e\x62\xe8\xf3\xbb\xa8\x4b\x9d\xeb\x57\x98"
      "\xd6\x74\xa5\x65\x53\xfc\x54\xab\x17\x8a\x25\xb4\x12\x62\xbb\x9a\x2c\xad"
      "\x3e\x32\xc6\x9c\x19\x28\x74\x6c\x06\xff\xcc\xd7\x5e\x36\xb6\x3d\x75\x25"
      "\xd3\x15\x79\x3b\x3b\xd9\x5f\x22\x67\x7b\x47\x14\x5d\x98\xc3\x59\xf2\x46"
      "\xeb\xba\xfc\xc5\x63\xe2\x4c\x9b\x87\x4a\x5e\xc7\xf7\x8d\x28\xc4\xdd\x2a"
      "\xf7\x55\x31\xbb\x68\xe5\x4d\x48\x2f\xf9\x37\x98\x64\x68\x16\x63\x48\x6f"
      "\x6e\xa3\x5e\x1d\xd3\xfe\xcd\x32\x3c\x8c\x76\xc6\x78\x3e\xaf\x1b\x84\x30"
      "\xe6\x4b\x8d\x66\x38\x31\xf0\x54\xa3\x74\x69\xa8\x95\xc9\x87\x94\x50\xb7"
      "\x55\x8d\x33\xe2\xe3\x43\x71\xb2\x75\x3c\xe3\x59\xdc\x79\xb3\xa6\xe0\x48"
      "\xc7\x20\x4d\x0a\x23\xf9\xd0\x8c\xda\xf2\xf6\x68\xe3\x6e\xa4\x5d\x13\x8c"
      "\xc9\xb1\xc7\xd5\x74\x6c\x9e\x5a\x2e\x42\xb4\x27\x63\xc6\x38\xd4\xa8\xf1"
      "\x71\x81\x7a\x1b\x5f\xfc\x7e\xee\xe5\xaa\xbf\xa9\xa1\x7b\x5e\x67\xda\x8e"
      "\xcc\xb8\x24\x9f\x77\x4d\xac\x78\xa0\x15\x30\x8b\xa7\x92\x40\x96\xdc\x5f"
      "\x94\x72\x10\xf0\xce\x6f\xd0\x90\xee\xdb\xfc\x63\x95\x04\x26\x0e\x84\x61"
      "\xaa\xdd\x3d\x43\x2b\x0f\x0e\x23\x4c\x34\xbe\x5f\x8c\xc9\xfd\x31\x53\x55"
      "\xcf\xdf\xeb\x56\x6a\xed\xf6\xf4\x2c\x46\x28\x10\xce\x11\xc9\x61\xbd\x97"
      "\xcd\x34\xa9\x4a\x1a\x92\x19\x3c\x60\x16\x32\xd2\xa6\x29\x71\xf8\xf6\x5f"
      "\xb3\x58\x86\xd2\xc1\x62\x67\x82\xf0\xda\x0d\xfa\xd8\xfd\xcd\xf5\xb1\x36"
      "\x53\x56\xea\x52\xeb\xf6\xbf\x6f\xff\xca\x3b\xf8\xbc\x4e\x5a\x02\x31\x23"
      "\xe4\x8e\x33\x02\x5e\x8b\x7c\x47\x9b\xf7\x9c\x50\x1c\x20\xbe\xd9\x2c\x45"
      "\xd0\xa4\xc0\xa9\xe8\x5a\x5c\xdb\x4b\x92\xe9\x1d\xf9\x28\x6a\x61\xe4\xd3"
      "\x27\x5f\xe4\xdf\xf9\xeb\x38\xca\x38\xa2\xeb\x0f\x55\x95\x98\x51\xe6\xe0"
      "\x61\xee\x36\xc9\xbc\xfd\x13\x82\xaa\x8c\xf5\x6c\x49\xe5\x33\x99\x25\xa3"
      "\x6a\xb2\x8f\x78\x03\x7f\x99\x91\xbe\xcd\xac\xea\xeb\xdd\x9f\x2b\x53\x8d"
      "\x09\xa5\x08\x08\x9d\x87\xe2\x69\xed\xcf\x7c\xd0\xc2\xe0\x70\x29\xc2\x5c"
      "\x26\x24\x25\xe6\x45\x43\xc8\x29\x5f\xcf\x0f\x0d\xcc\x6e\x73\xae\xfe\x4a"
      "\xb6\x3c\x14\xd8\xb0\x4f\x6c\x1e\xc8\x39\xaf\xf6\x64\x51\xa9\x64\x43\x02"
      "\x99\x57\x8d\x8a\x67\x28\xbf\x0c\x43\x37\x25\x89\x0f\xd9\xfd\x9c\xc0\x78"
      "\x7f\x9f\x83\x82\x28\xdc\x6f\xaa\xcf\x7a\xdf\xf0\xf1\xd5\xb5\xfd\x8d\xec"
      "\x9c\xf8\x85\x75\x9c\x3b\x8b\xcd\x10\xd2\x71\xdc\x5a\x8a\xa3\x4b\x88\xf6"
      "\xce\x1f\x2a\xc4\xd8\xeb\x5b\x4c\xd3\x3d\xcd\x92\xa9\x48\xe4\xc6\x95\x8d"
      "\x25\xf7\x21\xf3\xf7\x51\x03\x58\x8a\x0f\xba\xf9\xfe\x3d\xca\x14\x60\x4b"
      "\x42\x19\x15\x42\x20\xdc\x19\x42\x35\xfc\xb1\x4b\x9d\xfb\x7e\xd3\x9a\x20"
      "\xcd\x3c\x99\x89\xf0\x43\xdf\x21\x7a\x5e\x24\x5a\xb2\x15\x67\x32\x49\x98"
      "\xd5\x62\x87\x97\x43\x55\x68\x70\x2a\x67\xc8\x03\xad\xda\xb2\xa0\x45\xa2"
      "\xd8\xf8\xb5\xc7\x82\xb9\x0e\x07\x41\xac\xb7\x1f\xd2\xba\x17\xe9\x85\xb7"
      "\x31\xdd\x3a\x9a\x06\x4c\xfd\xf5\x36\xfd\xd1\x44\x31\x3b\x44\x29\x8f\x73"
      "\x45\xc5\x56\xa8\x6a\x2d\x44\x2c\xfa\x4b\x4b\x35\xbe\x3a\xde\x60\x95\x95"
      "\x7e\xa7\x34\x6e\x33\x94\xaf\xf8\xdd\x69\x4d\x60\xa1\x46\xbc\x30\xfc\x19"
      "\xe1\x61\x18\x17\xe3\x54\x0c\xbb\xac\xe1\xe0\x07\x9c\xca\xb4\x35\x7d\x92"
      "\x80\x5c\xa1\xa2\xaa\xf0\x3a\x33\x3d\x3e\x27\x6e\xbd\x30\x8b\x24\x85\x6f"
      "\x6b\x29\x3d\xef\x56\xec\xe4\xf8\x8d\x51\x67\x5a\x34\x92\x3d\xb3\x2e\xbc"
      "\xb7\x23\xe4\xf7\xca\xcb\x4e\xf3\xb1\xdb\x12\x8e\x45\xac\x3e\x1c\x7d\x69"
      "\xd7\xd9\xf1\xb6\x0b\x51\x49\x59\x27\x69\x5f\xbe\x3a\xf6\x36\x8a\xad\x79"
      "\x46\x82\x19\x2a\x1f\x4a\x36\x90\xe9\xb5\xc4\xfa\x87\x4f\x74\xe0\xf5\x3f"
      "\xb9\x54\x3b\xc6\xc9\xff\xb6\xec\xd7\xd0\x5f\xe5\xf5\x0a\xfe\xae\xd7\x3a"
      "\x8d\x58\x47\x79\x9f\x5b\xf1\xf0\x74\xc3\x6d\xfb\x64\x2b\x88\xf5\xc3\xeb"
      "\xa7\x83\xaa\x5c\xfa\xbf\x4a\xfe\x43\xd7\xd5\x7a\x15\xed\x19\xea\x75\x67"
      "\x3d\x2e\x74\x22\x5c\xef\x45\x2b\xb7\x94\x8b\x2a\x1d\x25\x59\xef\x65\x1a"
      "\x55\x70\x47\x9a\x5c\x84\xae\xe0\xee\x8c\xcb\x16\x70\x1d\xa4\xc0\x9b\xaf"
      "\xc7\x3d\x31\x88\x60\x13\xd4\xf6\xcf\x47\x1b\x8f\x4f\x4f\xfd\x1e\xfb\xd7"
      "\x5c\xb7\xc7\xcb\xdf\x93\xf7\xb1\x06\x1e\xaa\x58\xaa\x07\x87\x26\x24\x11"
      "\xde\xb7\x6c\xd9\x19\x0d\xb6\xd4\x98\x9f\x55\x6f\xf1\x3f\x67\x1b\xa3\xd7"
      "\x94\x88\x28\x92\x5d\x1f\xaf\x0d\x70\x3e\x9a\x97\x6b\xbe\x09\x9f\x59\xff"
      "\xc9\x9b\x17\xac\x37\xb6\x9f\x70\x7d\xce\x62\xc7\xfb\xe4\x96\x56\xb6\xba"
      "\x08\xe7\x0c\xfd\x41\x9e\xee\xfc\xe3\xd0\xcb\x9c\x37\xc3\x98\xfe\x4f\x7f"
      "\xc8\x4c\x85\xa6\x7d\x38\xf9\x79\x12\xc7\xf2\xa0\xcd\xf6\x63\x9a\x99\xcc"
      "\x5d\x4c\xf8\xd6\xe8\x8d\x9b\x89\x61\x71\x62\x32\x61\x50\x09\x47\xf9\x90"
      "\x16\x9e\x65\x42\x11\x79\xa6\x56\x71\xdc\xca\xb8\xd3\x5b\x5f\x9c\x77\x6f"
      "\x65\x27\xf2\xc7\xc8\x99\xbb\x6e\xf3\x32\xdf\x3c\xe1\x1e\x4e\xc0\x88\x48"
      "\x63\xa4\xf9\xcc\xde\xce\x7e\x32\xfe\xe9\xd3\x53\x13\xb2\xfe\x87\xb2\x45"
      "\x33\x15\xf2\x7f\xbc\x2b\x9f\x48\x52\x1f\xbe\x63\x39\xa3\x7b\xe2\xff\x77"
      "\xb0\xd0\xf9\xd2\xf2\xb8\x86\x38\xef\xd1\xef\x37\x77\x62\x78\x45\x27\xc9"
      "\x11\xbf\x5f\xd0\x73\x6b\xbd\xb7\xc5\x3c\xc3\xd9\x7e\x3d\x32\xe7\xf0\x64"
      "\xd1\xb1\x6d\x21\x2c\x0d\xdb\xcd\xa4\xb8\x51\xad\xf8\x6c\xe4\x48\x4c\x40"
      "\x5c\x89\x65\x27\x3d\x01\x67\xdb\x94\x72\x40\x04\xdd\xa4\x01\x21\xfb\x4e"
      "\x21\x9f\xfd\x60\x0f\xb5\xff\x00\x6d\x8d\xa2\x54\x2b\x21\xb0\xa6\x04\x7d"
      "\xcd\x6a\xf6\x45\x78\x97\xc0\x56\x50\x4a\x0a\xc9\xe3\x07\xb8\xa8\xdf\x7e"
      "\x1b\xf0\x23\xcc\xd6\x17\xcd\x2a\x47\xfe\xda\x95\x38\x6b\x6a\x2c\x68\xa5"
      "\x09\x0d\x77\xe8\x3b\xdb\x7b\x4f\x7c\x65\xa8\x18\xed\x26\x78\x6e\x76\x78"
      "\x61\xfc\x8f\xf9\x4f\x8e\xe9\xac\xaf\x99\x4c\xf2\xe2\x76\x73\x34\x9d\x68"
      "\xd5\x23\x1f\x9a\x14\xec\xa1\xa4\x3d\x64\xe3\xac\xb5\x0d\x74\xc6\x68\x04"
      "\xf7\xc0\xd7\x7f\xce\x0a\x76\xf7\xd0\xfb\x47\x2f\x56\x5e\xc6\x25\x2c\x1a"
      "\xa7\x5d\x1b\xbb\xe0\x99\x8d\xff\x64\x63\x41\x1e\xeb\x9f\x49\xaf\x71\x5f"
      "\xab\x6d\x44\xad\xb4\xd0\x4b\x45\x38\xb5\x45\x5a\xd3\xa9\x53\x6e\xd1\x32"
      "\x22\x76\x22\x15\xfe\x57\x63\xb6\xc6\xf8\x39\x57\x91\xbe\x81\x90\x61\x91"
      "\x81\xcf\xaf\x03\x1b\x33\x99\x8a\xb7\xc2\x26\x9e\xbf\x62\x85\xbc\xd7\x50"
      "\x99\xd9\x34\xee\xb9\x4c\x4a\xeb\x94\xe0\x20\x31\xe3\xd2\xdf\x52\xa3\x27"
      "\xa7\xb5\x81\x9f\x12\xfc\xcb\x1d\x0d\xf9\x84\x29\x04\xe7\xfd\x19\x82\x4d"
      "\x3b\x25\x5f\x0c\x59\xd8\x52\xa1\x7d\x62\x2f\xcb\xd7\xe9\x97\x97\x62\xc9"
      "\x6b\xb7\x94\xfd\x8e\x74\xc9\xc7\xe0\x54\xc9\xf4\xae\xf0\xa4\xa5\xf0\x48"
      "\xcc\xde\x7c\x83\xd4\x73\xee\xab\x01\x37\x62\xed\x78\xf1\xb7\x61\xb5\xa3"
      "\x8b\xda\x95\xc9\x0d\x85\xd7\x42\x17\x95\x61\x12\xe8\x65\xa4\xcd\x53\x26"
      "\xe2\xbf\x75\x1c\xc7\xe7\x58\x72\x2a\xbd\x8e\xa3\xce\xf7\x1f\xe4\x7d\x61"
      "\xde\x97\x0f\xfc\x51\x9a\xfc\xfa\x14\x31\x51\x5b\x65\x2a\x5d\xfe\x57\xa9"
      "\xde\x93\x94\x9d\xfa\xe3\x24\x5c\x47\x8e\x84\x26\x3f\x6d\x1d\x44\xf4\xe4"
      "\xc9\xbe\x37\x64\x3d\xb5\x1d\xf4\xb9\xb5\x45\xd8\x36\xa7\xf7\x2c\x41\xe3"
      "\xcd\x27\xd8\x1a\x7b\x6b\x04\xf8\x5f\x09\x87\x47\xd2\x7d\x9e\xb5\x33\x9b"
      "\x50\xc4\x8a\xb7\xaf\xee\xce\xb0\x98\xc8\x87\xb5\xf4\x3a\x36\x60\xf5\x77"
      "\xce\xa1\x5e\xa4\xd7\xfe\x2c\xcb\x1b\x77\xdc\x16\x09\x74\xf9\xf1\x74\x8e"
      "\xad\xe8\xe5\xa7\x8f\x2e\xe8\xe6\x95\x32\x19\x19\x7b\x31\x5f\xa6\x24\xae"
      "\xdf\x37\x4d\xca\xa8\x98\x4e\xd1\x95\x4c\xbf\x79\xd5\x9f\xa9\x43\xc3\xeb"
      "\x29\x29\x2b\xde\x53\xc7\x41\xd8\x42\x38\xeb\x98\xc3\xe4\x97\xda\xda\xdb"
      "\x30\x79\xc8\xee\xf4\x53\x9f\xcd\xb0\xd9\xc2\x74\x56\x70\xb0\x94\x95\x9e"
      "\x6f\xe0\x91\xa3\xc1\xf8\xcb\xc5\x20\x01\xec\xba\x68\xc9\x48\x29\x9c\xe9"
      "\x06\x11\xde\x4f\x3f\x54\xf3\x9f\x56\x9c\x05\x7e\x97\xa0\x44\xf0\x24\xe2"
      "\x42\x0f\xb5\xae\xfc\xf1\xf5\x9a\xca\x4d\xd2\xfb\x4a\x6f\xd7\xa8\xd3\x40"
      "\x12\xd3\xa8\xe6\xb9\x59\xd3\xc4\xb3\x8f\x98\xb7\x21\x46\x39\x74\xb8\xda"
      "\xaf\xe2\x14\x4a\x4a\xef\x37\xff\x8a\x8c\x78\x90\x7f\xa9\x92\x5f\xf9\x35"
      "\x76\xcd\x8d\x38\xb6\x86\xf0\xfb\x01\x7b\xf2\x51\x00\x6e\xc0\xce\x97\x9a"
      "\x29\xa4\xfe\xea\x7a\x54\x77\x66\xe2\x16\x96\x8c\x69\xb3\x35\xc3\x4f\x85"
      "\xef\x18\x33\xf7\xd2\xbf\x06\x64\x0d\x52\x1d\x88\x0a\x98\x08\xb2\xb2\x5d"
      "\xed\xb3\xd9\x7c\x54\xd1\xe4\x43\x1a\xe5\x0b\x09\xe6\x93\xc2\x93\xdb\xce"
      "\xee\x4d\x52\x20\x51\xdb\xfe\x0f\x29\xb5\xcd\xed\xa4\x33\x8d\x9a\x81\x4d"
      "\x7f\xd8\x37\xf8\xa2\x0b\xff\x69\xb3\xe0\x87\x4a\x2a\x57\x47\xdd\xf1\x6b"
      "\xdc\xe9\x4f\xa6\xe2\x35\xb7\x48\x9c\xed\x82\xd3\x2b\xc5\x1b\x22\xec\x35"
      "\x5c\x4f\x1d\x6a\x86\x3a\xf8\x9f\xcc\xf6\x68\x36\xbb\x17\x52\x48\x49\x9c"
      "\x94\xa2\x13\x18\x2a\x77\xa7\x20\xa9\xf5\x5b\x27\x76\x4c\xed\x27\x29\xde"
      "\xbc\xf8\x3e\xf8\xa0\x58\x40\xf6\xc5\x3f\x47\x45\x66\x6c\x0a\x95\xe4\xd1"
      "\x77\x4a\xee\x66\x42\xa7\x29\x0d\x64\xcc\xcf\x4a\xb1\x48\x0f\xd2\xe8\xab"
      "\xa6\xb8\xdc\x57\xd3\x8f\x2b\xb5\x2c\xb9\xcd\xdf\xf5\xe5\x4c\xf3\x19\xa5"
      "\x79\xd6\x2e\x9a\x15\xf3\x0f\x7a\xb0\x30\xaa\x78\x9a\x46\x14\x48\x54\xaf"
      "\x5b\x2a\x7f\xa7\x59\x8e\xd3\x75\xab\x71\xf9\x4e\x7d\xf4\x91\x07\xa7\xec"
      "\x5c\xff\x50\x6a\xb6\x5a\xed\xcb\xfb\xa4\x8c\xee\xc4\x87\x02\x94\x51\x07"
      "\x61\x4b\x0b\x88\xf6\x96\xc7\xf5\x11\xd7\xd8\xc1\xac\x96\x42\x11\x48\x13"
      "\x96\x5f\x33\x94\xfe\x2b\xd5\xff\xc5\xe1\x37\x42\xfc\x2d\x33\xf1\x97\xa7"
      "\x6c\xe6\x77\xdc\x57\x56\x8d\x0b\x9a\x58\xed\x5f\x64\x93\x58\xc8\xad\x88"
      "\x9f\x6c\xcb\xad\xa6\x13\x72\xc9\xbd\x69\xd8\x60\x24\x70\xb5\x74\x8b\x74"
      "\xdf\x15\x78\x13\x8e\xc2\x92\x21\xc3\x67\x43\x46\x9c\x1a\x33\x99\x66\xf1"
      "\x46\x4b\x3f\xad\xf5\x51\xd0\xb0\xa5\x22\x6a\x55\xff\xd2\xd7\x5b\x2b\x99"
      "\xa1\x38\x69\x0e\x1f\x6a\x5d\xda\x22\x55\xd7\xeb\x0c\x24\x77\xc9\x7f\x25"
      "\xf7\xcb\x9c\xa4\x9c\xf5\x1b\x22\xff\xe8\xad\x85\xba\xe9\xae\x4b\x50\x95"
      "\x08\x83\x4b\x0d\x8e\x27\xa6\xb1\x8a\x65\x4d\xf4\xb3\x02\x6f\x30\x12\xe6"
      "\x8d\x3f\xa9\x10\xeb\xe3\xd1\x85\x8b\x22\x1b\x59\x17\xef\x77\xeb\xe2\x3d"
      "\x67\x63\xd7\x3e\x93\x39\xd6\xb4\xd3\xd8\xd0\x7c\x44\x1e\xf0\x2d\xf8\x57"
      "\x98\xcb\x49\xcb\x67\x23\xe5\x7e\x44\x0e\x6b\xb9\xb5\x21\x85\x80\xa4\x8b"
      "\x84\xac\xcc\x8d\x3f\x39\xde\x4a\xff\x7c\x3f\x7f\xd5\xf9\xe6\xbc\xfc\xaf"
      "\x0b\x9b\xf0\x2d\x92\x51\x39\x3e\xd7\xc0\x5c\x45\x31\x95\xb8\xae\x37\xeb"
      "\xcb\xd2\xc8\xdf\x5f\xb5\xd7\xa7\xcf\x53\x23\x95\xe8\x99\x2d\x96\xe8\x6f"
      "\x48\x2d\xfb\x67\x37\x3c\xdb\xad\x03\xb4\xe2\x9a\x5c\x78\xd0\x78\x43\x72"
      "\xe7\x02\x57\xf5\x8c\x32\x85\x1e\x59\x55\xdb\xcf\x78\x58\x4f\x04\x8c\xfc"
      "\xe7\xfc\x50\x95\xc5\x68\xf4\x51\x8e\x59\x44\xc3\xb4\xcd\x2d\x1b\x4b\x8c"
      "\xc0\xa7\xf2\xf9\x09\x63\x71\x13\x75\x11\x5a\xb7\xa6\x1f\x57\x73\x56\xf3"
      "\xc4\x25\xf3\x0f\x5b\xfb\x84\x85\xaa\x4c\xdb\xd3\xd6\x53\xb5\x97\x4c\xf1"
      "\x17\x16\xef\x1c\x5f\xdc\xcf\x47\x1b\x4c\x44\x91\x26\xf5\x77\xea\xba\x97"
      "\xa6\x8c\xd9\x9f\x1b\x76\xf5\x3e\x55\x41\x58\x57\x52\x69\xb6\xfc\x3d\x68"
      "\xb2\x5d\x89\x21\x10\xde\xf6\xcc\x2e\x07\xfd\xfa\xc3\x6a\xf7\x63\xeb\xdf"
      "\xbf\x54\x75\xc4\x37\x58\x0c\x66\x9f\x13\xd0\xe7\xec\x8b\x6c\xa6\xa0\x77"
      "\x4b\x29\x8a\x8b\xe1\x5c\xc5\x6f\x0c\x7a\xa7\x65\x98\x87\xe2\x3d\x40\x29"
      "\xbd\xa9\x7f\xba\xc2\xed\x37\xcb\x87\xf9\xd6\x7b\x2e\x7f\x69\x87\x71\xa0"
      "\x69\xed\xeb\x5f\xe2\x51\xe3\xa3\xea\xa1\xc8\xa0\x33\x17\x4b\xf4\xb9\xe5"
      "\xff\xed\xfe\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1f\x23\xd6\x52\xfd\xed"
      "\x7c\x4d\x9d\xdd\xa9\x9c\x03\x06\x7e\x84\xdb\xda\xd6\xb3\xb7\xf5\x8b\x5a"
      "\x73\x93\xf3\x86\xa5\x41\x8f\x9e\x1e\x2f\xbd\xb8\x6a\x79\x21\xd3\xa0\x7c"
      "\x33\x22\x8d\x3b\x93\x2e\x52\x35\xe3\x43\x5a\x84\x14\xde\x4d\xb8\xe5\x3f"
      "\x45\xa5\x4d\x54\xb8\xd3\x5a\x1f\xa0\xe2\x69\x69\x60\xeb\xf1\xc9\xd3\x20"
      "\x96\x55\x7b\xef\x7a\x9e\x4e\x2f\xf4\x3e\x89\x9c\xe8\x4e\x1d\x57\x9e\xeb"
      "\x81\x04\x57\x85\x51\xca\xee\x2f\x9c\x0d\x29\x6d\x0b\xc7\x43\x0e\x72\xd7"
      "\xf0\x1a\x4b\xec\x38\x6d\xc9\x7c\x32\xb9\xd7\x6f\x1b\x50\x6f\x4c\xd8\x34"
      "\x99\xab\xce\xb1\x28\xe5\x4f\x50\xf4\x07\xef\xfd\x6a\xe2\xff\x67\x2f\x14"
      "\x04\x04\x84\xc7\xff\xbb\xaf\x01\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xbf"
      "\xb1\x8e\x20\x26\x7d\xc3\x50\x6e\x26\x69\xfd\x7a\xbf\x52\x4a\x48\xee\x7f"
      "\x72\x38\xe2\xff\x9d\xa3\x20\x60\x20\x3c\x46\x40\x45\x40\x15\x8b\x5e\x79"
      "\xde\xcb\xca\x1c\x65\x10\x54\x47\x5c\x66\x17\x3a\x5f\x87\xd0\x1b\xfd\xbd"
      "\xb4\xc0\x69\xe2\x73\x5a\x1a\xcf\x21\x8d\xf3\x42\x90\xce\xd3\xd3\xf8\xb3"
      "\xff\xe5\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\xff\x0f\x19\xd3\x0f\xf5\x35\xcf\x93\x4f\x4c\x67\xf8\x5d"
      "\x56\x92\x5e\xef\x69\x5b\xcf\xde\xd6\x2f\x6a\xcd\x59\x08\x6f\x52\x95\x56"
      "\x74\x2c\x1c\x12\xa8\xb5\xa0\xdc\xbb\xbf\x3d\x39\x77\xb2\xb1\x33\x97\x60"
      "\x23\x74\x0d\xa3\x98\xde\xa2\x7b\xf7\xf9\x1d\x9e\x47\xb4\xf3\x51\xe8\x56"
      "\x17\xeb\x1b\xd3\x09\xc1\x1e\x74\x9b\xcd\x51\x45\x9e\xc0\x7b\xd2\x1b\x3f"
      "\xdb\x25\x6c\x42\x6c\xd2\x26\x1b\x05\x9a\xa3\x63\xb7\x60\x44\x2c\x8b\xf8"
      "\xa7\x55\x92\x7c\x44\x8b\x2b\xa8\xab\x0d\xaf\x5f\x7d\xe2\x3b\xb0\x5f\x7e"
      "\xb1\x8e\x59\x43\xee\xf5\x99\x1c\x81\x8a\xe5\xa8\x93\xdc\x0d\xf1\x60\x6a"
      "\xe5\xff\xb0\x5f\xa7\x51\x3e\xd7\x7d\xdc\xc0\xff\x98\x69\x10\x97\x25\x34"
      "\x59\xb2\x5d\xc8\x56\x88\x44\xb6\xc8\x30\x34\x12\x35\x83\xab\x61\x34\x24"
      "\x12\x32\x96\x1a\x53\x4d\x8b\x51\xc6\x18\x64\xec\x59\xc6\x58\xaa\xe9\x32"
      "\xc9\x24\xdb\x14\x2a\x5b\xa5\x50\x19\x9a\x16\x4b\xf6\xb1\xd6\x65\x9b\x71"
      "\x3f\xc9\x39\xf7\xf3\xfb\x5c\xc7\x39\xd7\xfd\x7a\x3d\x7d\x3f\xf9\xfc\xde"
      "\xdf\x73\x7e\xe7\xbc\x6f\x34\xbb\x78\xe7\xd7\x5f\xad\xba\x79\x57\x50\x20"
      "\x10\x08\x09\xba\xb5\xdd\x00\x00\x00\xc0\xff\x8a\xa3\x25\xb2\x63\xa2\xb6"
      "\x7f\x9e\x54\x67\xf0\x1f\x5d\xe2\x2e\x67\x9c\xbe\xb9\xc3\x83\xff\xce\x83"
      "\x02\xc5\x03\x21\x41\x55\x03\x7f\xbc\xf8\x6e\xb5\xb9\x05\xdf\x14\xde\x35"
      "\x22\x6c\x73\xb5\xd0\x1a\xe5\xaa\xbe\x15\xf8\x6c\x47\xea\x0b\x09\x0b\xef"
      "\x1c\xb0\xe3\xc7\xe7\x2f\xac\xf9\xac\xd9\x23\x7b\xdb\xbc\xd2\xaf\x41\x42"
      "\xa3\xe9\xa5\xb6\x1d\xef\x5d\x7d\xd0\x8f\x2b\x62\x12\x8b\x26\x3f\xd9\x78"
      "\xf1\x77\xa1\x9b\xbb\xbf\xda\x23\x6d\xff\x2b\x4f\x1d\xbe\x94\xf5\x5c\xef"
      "\x2b\x45\xbf\xe8\xf5\x62\xbd\x6e\xcf\xf7\x9c\x55\xfa\x44\xee\xce\x2d\xe1"
      "\x2d\x6e\x7f\xe0\x9d\xe5\x6d\x63\x16\xb5\xfc\xe1\x87\xd8\x32\x05\xd3\x02"
      "\x9f\xcf\x69\x59\xe4\xcb\x2f\xc7\x6d\xdb\xb4\xf1\x62\x8b\xd7\x8a\xb5\xef"
      "\x99\x9a\xb3\x39\xfa\x4a\x78\xcb\x0e\x65\x12\x3b\xed\x2d\xb5\xf5\xb7\x03"
      "\x9b\xfa\x0d\xd8\xfd\x68\xab\xda\x4b\x52\x3a\x7d\xd3\xb6\xfa\x6d\x79\xbf"
      "\xbd\x94\x7e\xdf\x4b\xef\xc7\xbf\x5d\xf2\xd8\xfd\x8d\xbe\xa9\x30\x6a\xd7"
      "\xd5\xe1\x5b\x7e\xe9\x5f\xa2\xe5\xd9\xad\xef\x55\xec\x90\xbd\xfd\x9d\x92"
      "\xfd\x26\xdd\x68\xd9\xad\xeb\xf4\x88\x29\x87\xfb\x76\x7f\xeb\x5f\x95\x97"
      "\xdc\xfb\xec\x4f\xaf\x96\x5d\x78\x23\xfe\xcb\xd8\x31\x65\x26\x4c\x7c\xa4"
      "\xd9\xba\x29\xd7\xd3\xae\x6d\x99\x94\x75\x8b\x9f\x01\x00\x00\x00\xfe\xab"
      "\x32\x5e\x68\xb6\xa5\xe8\xca\x06\xcd\xa3\x3e\xbe\x33\x29\x75\x68\x89\xf4"
      "\x9b\xfb\x3f\xe4\xef\x3c\x28\x50\x36\x10\x12\x54\x31\x70\x29\x7f\xdf\xe5"
      "\x47\x7e\x9c\x15\x5a\xf3\xe0\xbc\x76\x17\x5a\xcd\x18\xf0\x7b\x6c\x44\x41"
      "\x74\xcf\xa7\x1a\xf6\x79\xb1\xed\xea\x2f\x7a\x0f\xea\x7e\x31\xa2\x4d\x58"
      "\x95\x93\x79\x1f\x74\xfd\xb9\x30\xb8\xdf\x9e\xfc\x77\xdb\x2d\x7a\x3d\xf1"
      "\xed\x6f\xef\x0e\x1f\xf3\xf9\x87\x11\xc1\x05\xc5\x77\xef\x59\xd6\xb8\xf8"
      "\x63\xed\x66\x14\x44\xac\xf9\xa0\xc4\x27\x4b\x0f\x7e\xd9\x77\xcf\xde\x2a"
      "\x67\xdb\x3c\xb9\xfd\xad\x53\xed\xea\xdd\x75\xbc\xfd\xae\x73\x15\x4e\x14"
      "\x9b\x90\x90\xd8\xb3\xce\xb4\x81\x75\xf7\x97\x89\xa9\x72\x31\xa4\x4e\xfe"
      "\xb4\xcf\x0a\x1b\x9d\xb8\x77\xda\x0f\xb9\x59\xef\x2c\xa9\xfc\x60\xa7\x56"
      "\xd5\x66\xbf\x7a\xb6\xc4\x82\x32\xef\xaf\x68\xba\xa8\xe2\xc1\xa6\xc3\x67"
      "\xd5\x1e\xd3\x6f\xe4\x4b\xd3\x53\x22\x17\x66\x97\x5b\xb8\xb4\xdc\xf9\x9f"
      "\x37\x26\x36\xeb\x75\x8b\xeb\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x02\x81\x40\xad\xbb\x06\xcd\xa9\x78\xb6\xd2\xa4\xce\x99\x85\x91\xe3"
      "\x77\xa6\x5e\x8a\x1a\x96\x7b\x7d\x6d\x5e\xe4\x81\x96\xd9\xc1\x0f\x95\xa9"
      "\x95\x32\x7d\xc3\x8d\xdc\xdb\x37\x8f\x18\x12\xbe\xe8\xd7\x69\x4f\x6d\x59"
      "\x5c\x7f\xd6\xc7\x2d\x0e\xff\xd1\xf6\xa5\x23\xab\x4f\x3c\x99\xb0\x72\xe8"
      "\xf0\x0a\xd9\x55\x8f\x7d\x95\xb6\x2b\xbd\x4d\x5a\xc7\x3b\x8f\x1d\x79\xee"
      "\x7c\xc4\x1f\x5d\x82\x37\x8f\x0d\xbf\x67\x58\x9d\xdc\x95\xbb\xa3\x5e\x28"
      "\x32\xeb\x48\x44\xfc\xee\x0d\x85\x23\x6b\x5f\x7d\xec\x64\xc6\xfc\x79\x91"
      "\x37\x06\xa5\xef\x68\x3f\x74\x7b\xf0\xaf\x83\xf2\x9f\x58\x39\xea\x58\xc9"
      "\x23\xc5\x4f\x3d\xda\x3d\x7b\xcd\x83\xf1\xd3\x1e\x1a\x55\x25\xfb\xf6\xb7"
      "\x1a\xa7\xdf\xbc\x2b\x28\x10\x08\x84\xde\xda\x6a\x00\x00\x00\xe0\x7f\x46"
      "\xf7\xf6\x23\x4b\xb7\x2d\xdf\x38\x6e\xe8\x8b\x5f\x64\xff\x9a\xb8\xac\xd4"
      "\xcd\x1d\x5e\xe4\xef\x3c\x28\x50\x3c\x10\x1a\xa8\x16\x78\xa2\xfa\x94\xc7"
      "\xf7\xed\x3f\x56\xbc\x48\xc4\xe4\x43\x83\x8b\xfc\xb6\xb5\x76\x58\x44\x85"
      "\xb8\x19\x15\x5b\x1f\x7c\x61\x73\x9d\xe2\xa9\x49\xf9\x91\xcf\xcd\xfb\xb0"
      "\x5a\x58\xc8\x88\x16\xb1\xe9\xeb\x26\x47\x3c\x32\xfe\xc8\xa4\x8c\x13\xcd"
      "\xd2\xab\x0f\xbf\xde\x31\x61\xfb\x97\x95\xc2\x2b\xcd\x3c\xd8\xa6\xde\xc2"
      "\x5e\xe5\xaf\xe6\xfc\x79\x7a\x74\xd7\xaa\xfd\xba\xdc\xd9\xa9\x7d\x50\xf6"
      "\xd9\x15\xf5\x67\x35\xfa\x76\x66\x4e\x66\x8d\x63\xc7\x27\x36\x79\xf8\xe1"
      "\x16\x1b\x5b\x1d\x18\x33\x3b\xfd\xda\xd6\xe4\x92\xe1\x25\xc3\xf2\x83\xea"
      "\xd5\x7f\xff\xa7\x6a\x39\x51\x71\xb7\x27\xa5\x6c\x5a\xb8\xf0\xec\xb0\xc2"
      "\xe8\xc8\xe8\xea\x2b\x9f\x1d\xb8\xe0\xaf\x90\xbb\xcb\xa4\xdc\xb7\x3e\x72"
      "\xc9\xa6\x75\x8b\x27\x3e\x31\xae\x55\xf1\x45\xdd\x02\xb9\x99\xd9\x33\xa6"
      "\x47\xbe\xdb\xab\x75\x78\x8f\x5e\xcb\xc7\xb7\x18\x70\x6c\xe9\x9b\xbb\xaa"
      "\x97\x7e\x7b\xc5\xd8\xf2\x69\x97\x3e\x3e\x7d\xaa\x7a\xb7\x41\xdf\x77\x08"
      "\xff\x30\xfa\x50\x46\xdd\x71\x4f\x3f\xd0\xf9\xb9\x5f\xca\xe7\xd7\xcb\x5e"
      "\xd9\xaf\x75\x61\xec\xc5\x72\x3f\xaf\xca\x7c\xad\xe7\x81\x90\x5d\x47\xeb"
      "\x8d\xbe\xc5\xcf\x01\x00\x00\x00\xff\x15\xeb\xaf\x17\xf4\xfd\xf4\xf4\xcb"
      "\xff\xe9\xda\xaa\xd3\x3b\x35\x4e\xc5\xf4\xb9\xb9\xff\x83\xff\xce\x83\x02"
      "\x65\x03\x21\x41\x23\x02\xf3\x3f\x8a\x3f\xf1\x49\xcc\xea\xe7\xa6\x15\xbd"
      "\x90\xd4\xbb\x61\xbf\x99\x7d\x3b\x3c\x93\xda\x62\xeb\x9a\x37\x8e\x64\xed"
      "\x4c\x9d\x39\x6b\x66\xcd\x52\x59\x29\xd1\x3f\x1e\xba\xb3\xef\xf6\x9d\xd5"
      "\x72\xda\xed\xaf\xd0\xfe\xde\xe8\x36\x2f\x7f\x35\x3b\x24\x2c\xe3\x42\xdc"
      "\x80\x8a\x63\xce\xc4\x6f\x9c\xf0\x68\xb9\x84\x0b\x15\x17\x2c\x9f\x38\x70"
      "\xe5\xbc\xbb\x27\x44\x7e\xf3\xd1\xc1\x86\xa5\x9f\xaf\x73\xe1\xe9\xb9\x8d"
      "\x2e\xae\xe9\x5f\xf0\x7e\xd6\xdc\x51\x9d\x23\xff\xba\x72\xb0\xe2\x92\x33"
      "\xfd\x3e\xbd\x76\xf4\xfb\xc5\x05\xcb\xb3\x42\xb3\x7a\x1e\x3a\x32\x74\x40"
      "\x50\xe6\x1d\x77\xad\xdf\xdd\xf5\xe5\x93\xfd\xa3\xc3\x37\x66\x3f\xfa\xc3"
      "\xb2\x25\x0b\x6a\x5f\xad\xb8\xaf\x71\x89\x9f\x2a\x4f\x69\x70\xe5\x8d\xbd"
      "\x7f\x36\x0f\x2d\x7f\xa5\xd6\xe9\x01\x95\xb7\x86\x7f\x59\xa9\xc7\xaa\x87"
      "\x97\x25\x15\x89\x5f\xfe\xc1\xa3\x17\x12\xbb\xc7\xde\x38\xd8\x2b\x6b\x5a"
      "\xf0\xc8\x26\x25\xc3\x3f\x4c\x8d\xda\x91\x54\xbb\xde\xfc\xf6\xef\xf6\xa9"
      "\x3f\x3d\xfa\x8e\xdb\x26\x57\x8b\x9b\x7b\xf7\x2b\xaf\x55\xda\x16\x56\x74"
      "\x5f\xd4\x8b\xf5\xc3\xda\x24\xcf\xbe\x3f\x7c\xc9\x7b\x1b\x66\xbf\xb6\xaa"
      "\xfc\xd5\x11\xc5\x16\xbc\x9a\x9e\x7b\xe0\xc4\x4f\xa9\xfd\x57\xf4\x1b\xbb"
      "\x63\x60\xc8\xfe\x3f\xc2\x6a\x3c\x55\x64\x43\xfe\xc3\x5f\x6d\xb8\xe7\xf2"
      "\xfe\xe1\xc1\xc1\xdf\x4d\x9f\xb4\xb8\x77\xf5\x1d\x47\x4b\x65\x54\x6d\xfa"
      "\xed\x2f\xf3\x1f\xcf\x8a\x3b\xdd\xf0\xfc\xbb\x11\x4d\x3e\x1a\x5a\x32\xf7"
      "\xbe\xd7\x52\x0a\x7b\x9c\x5b\xb5\xa4\x69\xea\xda\xd7\xc3\x92\xf7\xac\x3a"
      "\x19\x5e\xee\xaf\x6d\x0f\x64\xf4\x79\xb2\x7c\xb3\xf9\x1d\x6e\x8c\x6b\xdb"
      "\x29\xb4\xb0\xf4\x6d\xaf\x7f\x33\x6b\xf5\xe8\x01\x35\xe3\xfe\xf5\x56\x6e"
      "\xf2\xd1\xc9\x27\x4f\xbc\xde\xae\x59\x64\xcc\xa7\x1b\xa7\x7c\x37\xf6\xd0"
      "\x84\xfc\xa7\x4b\x9d\x79\x3f\x2d\x6d\xd1\x9a\x4e\xc1\x35\x86\x9d\xab\xf6"
      "\xe6\x85\x94\xe6\xbf\xd4\xfa\xeb\xdb\x9c\x35\x9f\x84\xfd\x56\x76\x77\xf9"
      "\x7d\x23\x72\xd6\x7e\x9a\xd8\xff\xc6\xc2\xac\xb5\x2b\xfa\xf6\xcc\x88\xde"
      "\xb0\xb2\x4e\xef\x33\x99\xc5\xef\xeb\xdd\x2d\x79\x73\xcf\x9a\x77\x65\xf6"
      "\xcc\x0a\x4a\xca\x7f\x68\xd6\x33\x07\x5a\xf6\x6f\x5a\x3e\x69\x68\x5e\xcd"
      "\xb0\xa3\x5f\xe5\xef\xee\xdf\xbe\xc7\x3b\xbf\x2f\xfe\xc7\x0b\x15\xee\x3c"
      "\xdf\xaa\xdf\x86\xdc\xa0\x84\x57\xf2\x72\x6e\x6c\x2d\xf7\xf4\x1f\x99\x53"
      "\x16\x64\x05\x75\x7c\xb7\x6c\x9f\xc1\x03\xe3\x56\x76\xde\x58\x7f\x50\x7a"
      "\xee\xd7\x8f\x8f\x9a\xfd\xfa\xe6\xca\x2d\xaf\xac\xeb\x73\x47\xcd\xe6\x5f"
      "\xef\x6f\x11\xd1\xf0\x93\xcc\xc4\xcc\xf8\x6e\x59\x57\xf7\xcf\x9f\x7e\xbd"
      "\x6e\x46\xaf\x4b\x7d\x52\x56\x15\xee\x3b\x7b\xf6\x4c\x70\xa3\xf1\x15\x23"
      "\xa6\x94\x3c\x1f\x1a\x55\x37\xb3\x49\xfc\xa8\x66\xcf\xec\x2b\x38\xf0\x6a"
      "\xd8\xda\x1d\xb3\x2f\x5f\x6d\x5a\xec\xe4\xbe\xcd\x13\x07\xce\x7c\x22\x6e"
      "\x59\xfd\xe4\xae\x3d\xaa\x35\xaa\x9d\xb2\xae\xdf\xb9\x0a\xf1\x31\x6d\x8a"
      "\x25\xec\xbb\xa3\xe3\x8c\xa8\x12\x9d\x2b\x8f\xcf\x0e\x3b\x12\x5d\xa5\x55"
      "\x5e\xb1\xaf\x46\x1e\x1a\x35\x6d\x53\xff\xfa\x39\x35\xae\xde\xd6\x64\x62"
      "\xfd\xd8\xfc\x9e\x4f\xd7\x7a\x79\xd1\xe1\x84\x37\xdb\xcc\x2d\x5a\x63\x59"
      "\xcc\xe7\xd7\x4f\xf5\xba\xb2\xf5\x81\x16\xeb\x93\xce\x1d\x1b\xdb\x38\x78"
      "\xc4\xe7\x61\xf7\x0f\xab\x54\xe6\xe7\x62\x39\xf7\x36\xef\xff\xec\xc6\x66"
      "\x75\xf3\x9a\xe6\xf7\x5d\xd6\x2b\xfc\xe9\x82\x22\x33\x62\xb6\x5c\xbb\xb6"
      "\x61\xdd\xd4\xa5\xcd\x6a\x56\x09\xde\x9c\x51\xb5\x46\x5c\x95\x86\xfd\xcb"
      "\x54\x4a\xdf\xd5\xa5\x4c\xb9\xe3\x6d\xe7\x2d\xdb\x16\x88\x6f\xd8\x71\xfa"
      "\x87\xb3\x0e\xd7\x7c\xf0\x9e\xd0\x98\xaa\xff\x48\x9f\xbb\xf2\x7c\xda\xba"
      "\x81\x5d\x4f\x5e\x2f\x9c\xba\x2c\xbe\xf9\xd4\x23\xb3\x6b\xbd\x39\xf6\xb7"
      "\x6b\x99\x3d\x63\x07\xf4\x7e\xe9\xda\x1b\xd9\x77\xbc\xf8\xd7\x89\xe3\x13"
      "\x27\x34\xbf\xb1\xe1\xeb\xae\x69\x0d\x0e\xc7\x0c\x8a\x5e\x3e\xf9\x72\x93"
      "\x4d\x73\x1e\x7f\xb1\x70\x66\x78\xcd\xe2\xbf\x57\x9d\x55\x73\x7d\xd7\xae"
      "\x93\xb2\xe7\x26\x3e\xd0\x7a\x50\xdc\x6b\xdf\x5c\x98\x5a\x90\xb5\x35\x69"
      "\xfb\xde\x0a\x1f\xbe\x95\x55\xd0\xed\xb1\x51\xed\xd6\xed\xfa\x63\xfe\x92"
      "\xe7\x2e\xcf\xae\x7a\xa1\xd2\x85\x8b\xd5\x26\x9e\xab\x9a\x38\xf7\x89\xac"
      "\xf4\xdc\x94\xc7\x3b\x2f\x6a\xbe\x3e\xec\x83\x67\x52\xce\x0d\xb9\xbf\x62"
      "\xa5\xb4\x7f\xb7\x48\xba\xf4\xd2\xce\xa0\xe4\x0a\x03\xde\x59\xba\x29\xf4"
      "\xbb\x5b\xfc\x5b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x7f\x76"
      "\xf8\xd3\x41\x69\x5b\x92\xd7\xc6\x77\x0b\xdd\x99\x57\x7a\xfb\x63\xef\x47"
      "\x0d\xcb\xbd\xbe\x36\x2f\xf2\xc0\xc7\x7d\x92\x8f\x0f\x19\xb6\x27\x6b\x63"
      "\x87\xf2\xf7\x4f\x6d\xbe\xe0\xcb\x06\x3b\x87\x3f\xd6\xe3\xfe\x71\xcb\x1a"
      "\x96\x7b\x25\xe1\xfa\xcf\x0d\x9e\x39\x1f\x34\xb2\xed\xe4\xf7\x9f\xad\x30"
      "\xa5\xcb\xd4\x77\x8b\xee\x6a\x9b\xfc\xef\x9e\xed\xea\xf6\x68\x3a\x74\xcc"
      "\x84\xb4\xc2\xe5\x49\x0f\x0c\xfc\x61\xc6\xcb\x8d\xeb\xad\xfe\x75\x62\xe2"
      "\xc5\x47\x1a\x7f\x5f\xed\xa9\x0b\xef\xfc\xe7\xc1\xf6\x43\x7e\xf9\xfe\x91"
      "\x07\x3f\xd9\x76\xf9\xfa\xdb\x6f\x7e\xfb\xf0\xa7\xf3\xc3\x1f\x7b\xa3\xc9"
      "\xcb\xdf\xd6\x1d\x5c\x58\x31\x79\x4d\x46\x5e\xf9\x21\xf5\xaa\x96\x1d\x9f"
      "\xd0\xf0\xe6\x5d\x41\x81\x40\x20\x24\xe8\xd6\x76\x03\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xbf\x39\xb3\xbd"
      "\x49\xbb\xc5\x39\x5d\x27\x15\x6d\xda\xbb\xda\x8a\x9f\x5a\x14\x46\x0d\xcb"
      "\xbd\xbe\x36\x2f\xf2\xc0\xa1\xf7\x52\xd7\x0d\xa9\x70\x65\x59\x83\x7b\x96"
      "\x74\xed\x91\xb2\xfa\xbe\xa1\xc7\x1a\xc7\x3e\x3b\xf6\xfc\xef\xa3\xfe\x91"
      "\x3f\x7d\xc3\xf3\xef\x95\x0a\xbf\x67\xef\x0b\xd7\xba\x34\x4b\x3e\x31\xbb"
      "\x72\x44\x8f\xde\x6f\x6d\x7d\xf3\xa3\x4d\xb5\x4a\xcf\x9b\x7e\xf4\xec\xe9"
      "\xa2\x75\xc3\xab\xbc\x56\x3b\xbd\xfb\x82\x8f\x26\xff\x90\x3b\xaf\x77\x93"
      "\x1d\x8d\x82\xb7\x4d\x3b\xb5\x6c\x7d\xeb\x61\x1d\x96\x34\x28\x3b\xf0\xde"
      "\x2a\x09\xed\xf7\x5c\xfe\x29\xa3\x59\xb1\xfd\xcb\x43\xb3\x52\x13\x0a\xde"
      "\x5e\x7f\xf7\x8a\x88\xc9\xbb\xcf\xb7\xae\x72\xa4\xf8\x8f\xd9\x37\xef\x0a"
      "\x0a\x04\x02\xa1\xb7\xb6\x1a\x00\x00\x00\xf8\x9f\x11\x55\x67\xdf\x2f\x69"
      "\xe5\xc7\x8f\xfd\xb5\x67\x48\xff\xe0\xec\x67\xab\xde\xdc\xe1\x45\xfe\xce"
      "\x83\x02\xc5\x03\xa1\x81\xdb\x02\x67\x4a\x1d\x8f\x1e\x38\xba\x73\xe5\x31"
      "\x15\xcf\x0d\xfe\x79\xdc\xd2\x84\x45\x7f\x6e\x1d\xd7\x22\x72\xd3\x13\xa9"
      "\x75\x26\x5d\x8d\xfd\xae\xc5\x27\x6b\x26\xcc\x88\x9d\xfa\xc0\xdd\x95\xe3"
      "\xeb\xcd\x1d\x39\xe5\xd4\xa9\x0a\xb7\xf8\xb3\x00\x00\x00\x80\xff\xcb\x80"
      "\x3a\xfb\xf6\x8e\xa8\xd9\xe7\xbe\xdb\xb7\x4e\x8e\x7c\x22\x33\x2f\xf1\xe6"
      "\xfe\x0f\xfa\x3b\x0f\x0a\x94\x0d\x84\x04\xfd\x33\xf0\xf1\xd7\x6d\x22\x8a"
      "\x0c\x9b\x53\xff\xd0\xa5\xe6\xf5\x3f\xbd\x2d\xf4\x70\x99\xf7\x56\xcf\x7b"
      "\x75\xcb\x92\xd3\x71\xdd\xc7\x9e\xbc\x92\x17\xb3\x60\xdc\x9e\xeb\xb1\x7f"
      "\x8e\x19\xdf\xed\xcd\x7d\x9b\x96\xb7\x19\xf8\xc1\xc1\xc1\x43\x2b\xb5\xfe"
      "\x22\xa4\x69\xce\x07\xdf\x56\x98\x9c\xd6\xb0\x64\x99\x06\x7d\x4a\xcd\xe9"
      "\x7b\xff\x93\xdf\x1f\x8c\x2d\xb7\xaa\xce\x9c\x21\x9d\xcb\x46\x35\x0d\xbe"
      "\x3d\xa8\xcd\x3f\x5f\x8a\x9d\x1b\xdd\xf1\x83\xcf\x27\x6f\x2b\xfd\xd1\xd4"
      "\x19\x5b\x3a\x5e\x2c\xd6\x25\x67\xf3\xd2\x4f\x62\xee\xaa\x77\x3a\xf5\xec"
      "\xbc\xce\x25\x6e\x4f\x6b\x3c\xa7\x72\xcd\xd6\xff\x6e\x1e\xd1\xbd\x63\xe4"
      "\x8c\x4d\x73\x47\x15\x6c\x5e\x3b\xba\xdd\xe8\x15\x1f\xe7\x94\xde\x53\xaf"
      "\xe0\x72\xfe\x5f\xa3\x53\xee\x19\xbe\x7f\xc4\xfa\xe7\x62\xe2\xca\x74\xa8"
      "\x96\xd9\x61\xc1\xd7\x55\xba\x4f\xa8\x32\x77\xd6\xa5\x36\x8b\xeb\x1f\x29"
      "\xf6\xf0\xca\xa7\xe6\xd4\x6b\x5e\xfe\xc9\x55\x33\x7f\x5f\x7b\xf5\xf1\x91"
      "\x8b\x7a\x7f\xfc\xd9\xb2\xcf\xdb\x64\x74\x1b\xfa\x7c\xa7\xc7\x1e\xfa\xe2"
      "\x91\xa1\x89\xbf\x8e\x7d\xfe\xe7\xe1\xaf\x7c\x34\x64\xd0\xea\x5f\xb2\x46"
      "\xbf\xd2\x6a\x70\xad\x27\xbf\x3f\x95\x5a\x67\xef\xb8\x09\xb7\x95\x1b\x38"
      "\x38\xaa\xcb\x7f\xce\x24\xff\xf6\xc6\xee\x0f\xfb\x47\x6c\x58\xfd\x55\xd5"
      "\x6e\x4b\x6b\x94\xdf\xde\xf1\x42\xd2\x4f\x53\x7a\x75\x2e\x28\xb9\x62\xda"
      "\xaa\x1f\x16\xec\x6c\xb1\x35\xec\x9e\x79\x47\xf3\x66\xdc\xfb\xe8\x2d\x7e"
      "\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x3f\xec\xc0\x81\x00\x00\x00"
      "\x00\x00\x90\xff\x6b\x23\x54\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x61\xbf"
      "\x7e\x42\xe3\xa8\x1e\x38\x80\xbf\xd9\xdd\xfc\xb2\xcd\xb6\xfd\x6d\xeb\x9f"
      "\xc4\xb6\x60\xaa\x42\x49\x34\x50\xda\x4b\xfd\x07\x52\x88\x56\x85\x54\xf0"
      "\x20\x5a\x94\xa2\x4d\x5b\x6a\x5b\x53\x7b\x30\xa2\xd4\x54\x91\x2c\x11\x24"
      "\xd6\x8b\xe0\x41\x5b\xa8\x07\x0f\x9a\x52\x0a\xb6\x07\x11\xa5\x41\x4c\x21"
      "\x45\x50\x4f\x42\x6d\x3d\x88\xff\x8b\x44\x8a\xa0\x91\x24\x33\xc9\x66\x9a"
      "\x31\xcd\xaa\x39\xd4\xcf\x07\x96\xb7\xef\xcd\xcc\x77\xde\x7b\xf3\xf2\xb2"
      "\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x79"
      "\xf5\x85\xa6\xf1\x72\xf0\xc5\xbd\xbf\x76\x2c\x6b\xff\xe4\xf9\xce\x91\xe7"
      "\x36\x9c\xd8\xb5\xff\xd0\xae\xbb\xda\x87\xf7\xb7\xdf\xf3\xca\x1f\x07\x1f"
      "\x39\x7c\x74\xf7\x1b\xf5\x3b\x9a\xd6\x6c\xd9\xbd\xf1\xb6\x23\xb7\x1f\x3d"
      "\xbb\xf5\xaa\x8e\xdf\x67\x0d\xee\x9e\x28\x5a\xe2\x6a\x31\x84\x68\x24\x0a"
      "\x61\xfb\x81\x73\x5f\xf6\x9e\x1c\x6a\x1c\x6b\x8b\x42\x08\xf9\xa8\xdc\x13"
      "\xc2\x92\x28\x77\x72\x49\x94\x4a\x58\xfd\x5b\x08\x61\xcb\x64\x3f\xa7\x1f"
      "\x7c\x6f\x64\xed\xd6\xb1\xb2\xe7\xa5\xfa\x69\xed\xff\x4f\x85\xa4\xc7\x15"
      "\x4a\xf9\xa4\x3f\x13\xca\xd3\xfb\xcb\xe5\xa5\x18\xaf\xb3\xd7\x6f\xf8\xe9"
      "\x87\x1d\x5d\x77\x0f\xf5\x3f\x70\xd3\x9d\x2d\xcb\xba\x1f\xee\x99\x3a\x25"
      "\x2a\x56\xad\xa7\x10\x16\x6f\x4e\x5f\x9f\x9b\x21\xf7\xd1\xc7\xb6\xb7\xb6"
      "\x3e\xde\xf9\x74\xd3\xa6\x7d\x7b\xf6\x5c\xfd\xed\xdb\x85\x2f\x7a\x1f\x6a"
      "\xfd\xf4\xf0\x57\xe7\x3a\xcf\x5e\xdb\xd7\x37\x9c\xfb\xf1\xbb\x9b\xef\x3d"
      "\xfd\xd9\xbe\x27\xeb\x42\x08\x0b\xe2\xcf\x98\x64\xb5\x36\x25\x37\x8f\xcb"
      "\xfb\x42\x08\x0d\x55\xf9\xeb\x66\x19\xd7\x75\x97\x38\xfe\xb6\x8c\xfa\x8a"
      "\xb8\xfc\x5f\x5c\x96\x66\xc9\x49\x8e\xaf\xbc\xc4\xf3\xd3\x0a\xa9\xb2\x61"
      "\x8e\xd7\xcf\xd5\x4c\xcf\xec\xdf\xb4\x70\x9e\xef\x97\x48\xc6\xb9\x38\x2e"
      "\x4f\xc4\x65\xcb\x1c\x73\xf2\xc9\x27\x0a\xb9\x28\x14\x26\xf7\xe2\x9d\xd1"
      "\xd4\x1a\x09\x55\xcf\x2d\x0a\x51\xa8\xab\xda\x47\xa3\x90\x1b\xaf\xe7\x26"
      "\xeb\x61\xbc\x1e\xa6\xea\x51\xaa\x9e\x4b\xd5\xf3\x75\xa9\x71\x8d\xdf\x37"
      "\x5e\x68\xf9\x28\x9a\xde\x9e\x9c\x97\x6a\x6f\x8e\xdb\x0b\x71\xfb\xca\xea"
      "\xbd\x7e\x06\xf7\x67\xb4\x5f\x13\x97\xc5\xf8\x0f\xf5\x42\x52\x0f\xe9\x2f"
      "\x13\x4a\x17\x7d\x99\x1c\xd7\xb8\xa4\x5f\x67\xfe\xa2\x2f\xf3\x21\x57\xb5"
      "\x07\xcd\xd4\x9e\xf4\x77\x5d\xfc\x30\x4a\x71\x5b\x29\x5a\x7a\xd1\x35\xa3"
      "\x33\x48\x8e\xbd\xbf\xb3\xb2\x6d\xe8\x89\xf5\x2f\x94\x33\xfa\x11\x0d\x44"
      "\x71\x7e\x54\x53\xfe\xad\x5d\xcb\x8f\x95\x2a\x6d\x87\x9a\xb2\xf2\x37\xe7"
      "\xe2\xfc\x5c\x4d\xf9\xc3\xe7\x6f\x59\xfe\x75\xf1\xf3\x63\x99\xf9\xfd\x49"
      "\x7e\xbe\xa6\xfc\xe2\x50\xd7\xcb\xcf\x7c\xff\xe1\xaa\xcc\xf9\xf9\x39\x99"
      "\x9f\x42\x4d\xf9\x1f\xf5\x77\xbf\x7a\xe5\xfa\x6f\x36\x36\x67\xe5\xbf\x99"
      "\xe4\x17\x6b\xca\x3f\x5f\xd8\x74\x6a\xb4\xe7\xc8\x81\xcc\xfe\xaf\x4e\xe6"
      "\x67\x41\x4d\xf9\x03\x0f\x1e\xef\xb8\xb0\xf6\x9d\xbe\xcc\xfc\x90\xe4\x37"
      "\xd4\x94\xdf\x5c\x19\x3c\xfe\x56\x6f\xe3\xc1\xcc\xfc\x0f\x92\xf9\x29\xd5"
      "\x94\x7f\x7d\xdb\x40\xe5\xe3\xca\xde\x0d\x99\xf3\x7f\x3a\xc9\x5f\x54\x53"
      "\xfe\x99\xd1\x35\xbf\x34\x9e\x1a\x7c\x37\x73\x7d\xde\x91\xcc\x4f\xb9\xa6"
      "\xfc\xa5\xdb\x56\xad\x28\x3f\xf5\xec\x8d\x59\x7b\x67\xd4\x33\xdf\xff\x61"
      "\x01\x2e\x2f\x57\xc4\xbf\xb1\x2a\x71\xbd\xd6\xf7\xd4\xbf\xab\xea\x7d\xe1"
      "\xb5\x72\x34\xf1\x9b\x6f\x61\xfc\x59\xf4\x4f\xde\x28\x25\xaa\x7a\x77\x01"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x93\x1d\x38\x90"
      "\x01\x00\x00\x00\x10\xe6\x6f\x9d\x47\xfb\x01\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8"
      "\x28\x00\x00\xff\xff\xd7\x47\x54\x51",
      72189);
  syz_mount_image(/*fs=*/0x20011a00, /*dir=*/0x20000040, /*flags=MS_NOSUID*/ 2,
                  /*opts=*/0x20000100, /*chdir=*/1, /*size=*/0x119fc,
                  /*img=*/0x20011ac0);
}
int main(void)
{
  syscall(__NR_mmap, /*addr=*/0x1ffff000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x20000000ul, /*len=*/0x1000000ul,
          /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x21000000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  do_sandbox_none();
  return 0;
}

^ permalink raw reply	[relevance 1%]

* Re: [bug report] ASoC: audio-graph-card2: add Codec2Codec support
  2024-05-09  0:13 64% ` Kuninori Morimoto
@ 2024-05-09  6:49 64%   ` Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-09  6:49 UTC (permalink / raw)
  To: Kuninori Morimoto; +Cc: linux-sound

On Thu, May 09, 2024 at 12:13:41AM +0000, Kuninori Morimoto wrote:
> 
> Hi Dan
> 
> > Hello Kuninori Morimoto,
> > 
> > Commit c3a15c92a67b ("ASoC: audio-graph-card2: add Codec2Codec
> > support") from Oct 12, 2021 (linux-next), leads to the following
> > Smatch static checker warning:
> > 
> > 	sound/soc/generic/audio-graph-card2.c:1206 graph_count_c2c()
> > 	warn: already decremented on line 1206 'lnk->kobj.kref.refcount.refs.counter'
> > 
> > sound/soc/generic/audio-graph-card2.c
> >     1194 static int graph_count_c2c(struct simple_util_priv *priv,
> >     1195                            struct device_node *lnk,
> >     1196                            struct link_info *li)
> >     1197 {
> >     1198         struct device_node *ports = of_get_parent(lnk);
> >     1199         struct device_node *port0 = lnk;
> >     1200         struct device_node *port1 = of_get_next_child(ports, lnk);
> >                                                                       ^^^
> > 
> > This calls of_node_put() on lnk.
> > 
> >     1201         struct device_node *ep0 = port_to_endpoint(port0);
> >     1202         struct device_node *ep1 = port_to_endpoint(port1);
> >     1203         struct device_node *codec0 = of_graph_get_remote_port(ep0);
> >     1204         struct device_node *codec1 = of_graph_get_remote_port(ep1);
> >     1205 
> > --> 1206         of_node_get(lnk);
> > 
> > So this of_node_get() undoes the put.  But if the reference count
> > dropped to zero then this would be a use afer free.
> 
> Thank you for pointing it.
> 
> This "lnk" is used as "port0", and of_node_get(lnk) was for it,
> but this function doesn't call of_node_put(port0).
> So yes, indeed this of_node_get() is not needed.
> Let's remove it. 

No no... of_get_next_child() will drop the reference.  It is needed.
The point is we should take the reference first before calling
of_get_next_child().

Maybe something like this:

	struct device_node *port1 = of_get_next_child(ports, of_node_get(lnk));

regards,
dan carpenter


^ permalink raw reply	[relevance 64%]

* Re: [bug report] rcu: Kill rnp->ofl_seq and use only rcu_state.ofl_lock for exclusion
  2024-05-08 23:50 63%         ` Paul E. McKenney
@ 2024-05-09  6:46 64%           ` Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-09  6:46 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: dwmw, rcu

On Wed, May 08, 2024 at 04:50:46PM -0700, Paul E. McKenney wrote:
> On Wed, May 08, 2024 at 08:38:06PM +0300, Dan Carpenter wrote:
> > On Wed, May 08, 2024 at 10:32:43AM -0700, Paul E. McKenney wrote:
> > > 
> > > Agreed, and please see below for the proposed cleanup in this case.
> > > 
> > > 							Thanx, Paul
> > 
> > Thanks!  Did you see the other warning I mentioned?
> > 
> >     kernel/rcu/srcutree.c:910 srcu_gp_end()
> >     warn: mixing irq and irqsave
> 
> I did, but then I promptly forgot about it.  Thank you for the reminder.
> 
> > Btw, I'm mostly sending you these because I know you're interested in
> > these sorts of cleanups.  I didn't bother sending one to aacraid people,
> > for example.  :P
> 
> Maintainer's choice!  ;-)
> 
> How about the following?
> 

Thanks!

regards,
dan carpenter


^ permalink raw reply	[relevance 64%]

* Re: [bug report] soc: qcom: rpmh-rsc: Sleep waiting for tcs slots to be free
  2024-05-08 21:01 64% ` Stephen Boyd
@ 2024-05-09  6:41 64%   ` Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-09  6:41 UTC (permalink / raw)
  To: Stephen Boyd; +Cc: linux-arm-msm

On Wed, May 08, 2024 at 05:01:26PM -0400, Stephen Boyd wrote:
> Quoting Dan Carpenter (2024-05-08 07:49:34)
> > Hello Stephen Boyd,
> >
> > Commit 2bc20f3c8487 ("soc: qcom: rpmh-rsc: Sleep waiting for tcs
> > slots to be free") from Jul 24, 2020 (linux-next), leads to the
> > following Smatch static checker warning:
> >
> >         drivers/soc/qcom/rpmh-rsc.c:658 rpmh_rsc_send_data()
> >         warn: mixing irqsave and irq
> >
> > drivers/soc/qcom/rpmh-rsc.c
> >     645 int rpmh_rsc_send_data(struct rsc_drv *drv, const struct tcs_request *msg)
> >     646 {
> >     647         struct tcs_group *tcs;
> >     648         int tcs_id;
> >     649         unsigned long flags;
> >     650
> >     651         tcs = get_tcs_for_msg(drv, msg);
> >     652         if (IS_ERR(tcs))
> >     653                 return PTR_ERR(tcs);
> >     654
> >     655         spin_lock_irqsave(&drv->lock, flags);
> >
> > flags saves if this is called with IRQs disabled.  I don't think it is.
> >
> >     656
> >     657         /* Wait forever for a free tcs. It better be there eventually! */
> > --> 658         wait_event_lock_irq(drv->tcs_wait,
> >     659                             (tcs_id = claim_tcs_for_req(drv, tcs, msg)) >= 0,
> >     660                             drv->lock);
> >
> > This will enable IRQs and then disable them again.  If this were called
> > with IRQs disabled then this would probably be bad.  (But again, I don't
> > think it is).
> >
> >     661
> >     662         tcs->req[tcs_id - tcs->offset] = msg;
> >     663         set_bit(tcs_id, drv->tcs_in_use);
> >     664         if (msg->state == RPMH_ACTIVE_ONLY_STATE && tcs->type != ACTIVE_TCS) {
> >     665                 /*
> >     666                  * Clear previously programmed WAKE commands in selected
> >     667                  * repurposed TCS to avoid triggering them. tcs->slots will be
> >     668                  * cleaned from rpmh_flush() by invoking rpmh_rsc_invalidate()
> >     669                  */
> >     670                 write_tcs_reg_sync(drv, drv->regs[RSC_DRV_CMD_ENABLE], tcs_id, 0);
> >     671                 enable_tcs_irq(drv, tcs_id, true);
> >     672         }
> >     673         spin_unlock_irqrestore(&drv->lock, flags);
> >
> > And then it sets it back to whatever it was when it was called.  So
> > that's fine.
> >
> 
> I see. I think you want this sort of patch so that it is clearer that
> this can't be called with interrupts disabled? Would Smatch be happier?
> 

Ah...  Actually, yeah, wait_event_lock_irq() has a schedule() it it
doesn't it?  I've been meaing to make Smatch track when IRQs are
enabled/disabled so this makes me want to do that more.

Anyway, thanks.  Looks good.

regards,
dan carpenter


^ permalink raw reply	[relevance 64%]

* [Bug 218820] The empty file occupies incorrect blocks
  2024-05-08 13:33 57% [Bug 218820] New: The empty file occupies incorrect blocks bugzilla-daemon
  2024-05-09  3:35 54% ` Theodore Ts'o
  2024-05-09  3:35 53% ` [Bug 218820] " bugzilla-daemon
@ 2024-05-09  6:35 64% ` bugzilla-daemon
  2 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-09  6:35 UTC (permalink / raw)
  To: linux-ext4

https://bugzilla.kernel.org/show_bug.cgi?id=218820

--- Comment #2 from Chi (zhangchi_seg@smail.nju.edu.cn) ---
I got it! Thank you very much for your detailed explanation.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* kernel BUG in ptr_stale
@ 2024-05-09  6:26  1% Ubisectech Sirius
  0 siblings, 0 replies; 200+ results
From: Ubisectech Sirius @ 2024-05-09  6:26 UTC (permalink / raw)
  To: linux-trace-kernel, linux-kernel; +Cc: kent.overstreet

[-- Attachment #1: Type: text/plain, Size: 3761 bytes --]

Hello.
We are Ubisectech Sirius Team, the vulnerability lab of China ValiantSec. Recently, our team has discovered a issue in Linux kernel 6.7. Attached to the email were a PoC file of the issue.

Stack dump:

bcachefs (loop1): mounting version 1.7: (unknown version) opts=metadata_checksum=none,data_checksum=none,nojournal_transaction_names
------------[ cut here ]------------
kernel BUG at fs/bcachefs/buckets.h:114!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI
CPU: 1 PID: 9472 Comm: syz-executor.1 Not tainted 6.7.0 #2
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
RIP: 0010:bucket_gen fs/bcachefs/buckets.h:114 [inline]
RIP: 0010:ptr_stale+0x474/0x4e0 fs/bcachefs/buckets.h:188
Code: 48 c7 c2 80 8c 1b 8b be 67 00 00 00 48 c7 c7 e0 8c 1b 8b c6 05 ea a6 72 0b 01 e8 57 55 9c fd e9 fb fc ff ff e8 9d 02 bd fd 90 <0f> 0b 48 89 04 24 e8 31 bb 13 fe 48 8b 04 24 e9 35 fc ff ff e8 23
RSP: 0018:ffffc90007c4ec38 EFLAGS: 00010246
RAX: 0000000000040000 RBX: 0000000000000080 RCX: ffffc90002679000
RDX: 0000000000040000 RSI: ffffffff83ccf3b3 RDI: 0000000000000006
RBP: 0000000000000000 R08: 0000000000000006 R09: 0000000010000028
R10: 0000000000000080 R11: 0000000000000000 R12: 0000000010000028
R13: ffff88804dee5100 R14: 0000000000000000 R15: ffff88805b1a4110
FS:  00007f79ba8ab640(0000) GS:ffff88807ec00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f0bbda3f000 CR3: 000000005f37a000 CR4: 0000000000750ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
 <TASK>
 bch2_bkey_ptrs_to_text+0xb4e/0x1760 fs/bcachefs/extents.c:1012
 bch2_btree_ptr_v2_to_text+0x288/0x330 fs/bcachefs/extents.c:215
 bch2_val_to_text fs/bcachefs/bkey_methods.c:287 [inline]
 bch2_bkey_val_to_text+0x1c8/0x210 fs/bcachefs/bkey_methods.c:297
 journal_validate_key+0x7ab/0xb50 fs/bcachefs/journal_io.c:322
 journal_entry_btree_root_validate+0x31c/0x380 fs/bcachefs/journal_io.c:411
 bch2_journal_entry_validate+0xc7/0x130 fs/bcachefs/journal_io.c:752
 bch2_sb_clean_validate_late+0x14b/0x1e0 fs/bcachefs/sb-clean.c:32
 bch2_read_superblock_clean+0xbb/0x250 fs/bcachefs/sb-clean.c:160
 bch2_fs_recovery+0x113/0x52d0 fs/bcachefs/recovery.c:691
 bch2_fs_start+0x365/0x5e0 fs/bcachefs/super.c:978
 bch2_fs_open+0x1ac9/0x3890 fs/bcachefs/super.c:1968
 bch2_mount+0x538/0x13c0 fs/bcachefs/fs.c:1863
 legacy_get_tree+0x109/0x220 fs/fs_context.c:662
 vfs_get_tree+0x93/0x380 fs/super.c:1771
 do_new_mount fs/namespace.c:3337 [inline]
 path_mount+0x679/0x1e40 fs/namespace.c:3664
 do_mount fs/namespace.c:3677 [inline]
 __do_sys_mount fs/namespace.c:3886 [inline]
 __se_sys_mount fs/namespace.c:3863 [inline]
 __x64_sys_mount+0x287/0x310 fs/namespace.c:3863
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0x43/0x120 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x6f/0x77
RIP: 0033:0x7f79b9a91b3e
Code: 48 c7 c0 ff ff ff ff eb aa e8 be 0d 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 f3 0f 1e fa 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f79ba8aae38 EFLAGS: 00000202 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00000000000119f4 RCX: 00007f79b9a91b3e
RDX: 0000000020011a00 RSI: 0000000020011a40 RDI: 00007f79ba8aae90
RBP: 00007f79ba8aaed0 R08: 00007f79ba8aaed0 R09: 000000000181c050
R10: 000000000181c050 R11: 0000000000000202 R12: 0000000020011a00
R13: 0000000020011a40 R14: 00007f79ba8aae90 R15: 00000000200001c0
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---


Thank you for taking the time to read this email and we look forward to working with you further.







[-- Attachment #2: poc.c --]
[-- Type: application/octet-stream, Size: 340085 bytes --]

// autogenerated by syzkaller (https://github.com/google/syzkaller)

#define _GNU_SOURCE

#include <endian.h>
#include <errno.h>
#include <fcntl.h>
#include <setjmp.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <unistd.h>

#include <linux/loop.h>

#ifndef __NR_memfd_create
#define __NR_memfd_create 319
#endif

static unsigned long long procid;

//% This code is derived from puff.{c,h}, found in the zlib development. The
//% original files come with the following copyright notice:

//% Copyright (C) 2002-2013 Mark Adler, all rights reserved
//% version 2.3, 21 Jan 2013
//% This software is provided 'as-is', without any express or implied
//% warranty.  In no event will the author be held liable for any damages
//% arising from the use of this software.
//% Permission is granted to anyone to use this software for any purpose,
//% including commercial applications, and to alter it and redistribute it
//% freely, subject to the following restrictions:
//% 1. The origin of this software must not be misrepresented; you must not
//%    claim that you wrote the original software. If you use this software
//%    in a product, an acknowledgment in the product documentation would be
//%    appreciated but is not required.
//% 2. Altered source versions must be plainly marked as such, and must not be
//%    misrepresented as being the original software.
//% 3. This notice may not be removed or altered from any source distribution.
//% Mark Adler    madler@alumni.caltech.edu

//% BEGIN CODE DERIVED FROM puff.{c,h}

#define MAXBITS 15
#define MAXLCODES 286
#define MAXDCODES 30
#define MAXCODES (MAXLCODES + MAXDCODES)
#define FIXLCODES 288

struct puff_state {
  unsigned char* out;
  unsigned long outlen;
  unsigned long outcnt;
  const unsigned char* in;
  unsigned long inlen;
  unsigned long incnt;
  int bitbuf;
  int bitcnt;
  jmp_buf env;
};
static int puff_bits(struct puff_state* s, int need)
{
  long val = s->bitbuf;
  while (s->bitcnt < need) {
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    val |= (long)(s->in[s->incnt++]) << s->bitcnt;
    s->bitcnt += 8;
  }
  s->bitbuf = (int)(val >> need);
  s->bitcnt -= need;
  return (int)(val & ((1L << need) - 1));
}
static int puff_stored(struct puff_state* s)
{
  s->bitbuf = 0;
  s->bitcnt = 0;
  if (s->incnt + 4 > s->inlen)
    return 2;
  unsigned len = s->in[s->incnt++];
  len |= s->in[s->incnt++] << 8;
  if (s->in[s->incnt++] != (~len & 0xff) ||
      s->in[s->incnt++] != ((~len >> 8) & 0xff))
    return -2;
  if (s->incnt + len > s->inlen)
    return 2;
  if (s->outcnt + len > s->outlen)
    return 1;
  for (; len--; s->outcnt++, s->incnt++) {
    if (s->in[s->incnt])
      s->out[s->outcnt] = s->in[s->incnt];
  }
  return 0;
}
struct puff_huffman {
  short* count;
  short* symbol;
};
static int puff_decode(struct puff_state* s, const struct puff_huffman* h)
{
  int first = 0;
  int index = 0;
  int bitbuf = s->bitbuf;
  int left = s->bitcnt;
  int code = first = index = 0;
  int len = 1;
  short* next = h->count + 1;
  while (1) {
    while (left--) {
      code |= bitbuf & 1;
      bitbuf >>= 1;
      int count = *next++;
      if (code - count < first) {
        s->bitbuf = bitbuf;
        s->bitcnt = (s->bitcnt - len) & 7;
        return h->symbol[index + (code - first)];
      }
      index += count;
      first += count;
      first <<= 1;
      code <<= 1;
      len++;
    }
    left = (MAXBITS + 1) - len;
    if (left == 0)
      break;
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    bitbuf = s->in[s->incnt++];
    if (left > 8)
      left = 8;
  }
  return -10;
}
static int puff_construct(struct puff_huffman* h, const short* length, int n)
{
  int len;
  for (len = 0; len <= MAXBITS; len++)
    h->count[len] = 0;
  int symbol;
  for (symbol = 0; symbol < n; symbol++)
    (h->count[length[symbol]])++;
  if (h->count[0] == n)
    return 0;
  int left = 1;
  for (len = 1; len <= MAXBITS; len++) {
    left <<= 1;
    left -= h->count[len];
    if (left < 0)
      return left;
  }
  short offs[MAXBITS + 1];
  offs[1] = 0;
  for (len = 1; len < MAXBITS; len++)
    offs[len + 1] = offs[len] + h->count[len];
  for (symbol = 0; symbol < n; symbol++)
    if (length[symbol] != 0)
      h->symbol[offs[length[symbol]]++] = symbol;
  return left;
}
static int puff_codes(struct puff_state* s, const struct puff_huffman* lencode,
                      const struct puff_huffman* distcode)
{
  static const short lens[29] = {3,  4,  5,  6,   7,   8,   9,   10,  11, 13,
                                 15, 17, 19, 23,  27,  31,  35,  43,  51, 59,
                                 67, 83, 99, 115, 131, 163, 195, 227, 258};
  static const short lext[29] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2,
                                 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0};
  static const short dists[30] = {
      1,    2,    3,    4,    5,    7,    9,    13,    17,    25,
      33,   49,   65,   97,   129,  193,  257,  385,   513,   769,
      1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577};
  static const short dext[30] = {0, 0, 0,  0,  1,  1,  2,  2,  3,  3,
                                 4, 4, 5,  5,  6,  6,  7,  7,  8,  8,
                                 9, 9, 10, 10, 11, 11, 12, 12, 13, 13};
  int symbol;
  do {
    symbol = puff_decode(s, lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 256) {
      if (s->outcnt == s->outlen)
        return 1;
      if (symbol)
        s->out[s->outcnt] = symbol;
      s->outcnt++;
    } else if (symbol > 256) {
      symbol -= 257;
      if (symbol >= 29)
        return -10;
      int len = lens[symbol] + puff_bits(s, lext[symbol]);
      symbol = puff_decode(s, distcode);
      if (symbol < 0)
        return symbol;
      unsigned dist = dists[symbol] + puff_bits(s, dext[symbol]);
      if (dist > s->outcnt)
        return -11;
      if (s->outcnt + len > s->outlen)
        return 1;
      while (len--) {
        if (dist <= s->outcnt && s->out[s->outcnt - dist])
          s->out[s->outcnt] = s->out[s->outcnt - dist];
        s->outcnt++;
      }
    }
  } while (symbol != 256);
  return 0;
}
static int puff_fixed(struct puff_state* s)
{
  static int virgin = 1;
  static short lencnt[MAXBITS + 1], lensym[FIXLCODES];
  static short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  static struct puff_huffman lencode, distcode;
  if (virgin) {
    lencode.count = lencnt;
    lencode.symbol = lensym;
    distcode.count = distcnt;
    distcode.symbol = distsym;
    short lengths[FIXLCODES];
    int symbol;
    for (symbol = 0; symbol < 144; symbol++)
      lengths[symbol] = 8;
    for (; symbol < 256; symbol++)
      lengths[symbol] = 9;
    for (; symbol < 280; symbol++)
      lengths[symbol] = 7;
    for (; symbol < FIXLCODES; symbol++)
      lengths[symbol] = 8;
    puff_construct(&lencode, lengths, FIXLCODES);
    for (symbol = 0; symbol < MAXDCODES; symbol++)
      lengths[symbol] = 5;
    puff_construct(&distcode, lengths, MAXDCODES);
    virgin = 0;
  }
  return puff_codes(s, &lencode, &distcode);
}
static int puff_dynamic(struct puff_state* s)
{
  static const short order[19] = {16, 17, 18, 0, 8,  7, 9,  6, 10, 5,
                                  11, 4,  12, 3, 13, 2, 14, 1, 15};
  int nlen = puff_bits(s, 5) + 257;
  int ndist = puff_bits(s, 5) + 1;
  int ncode = puff_bits(s, 4) + 4;
  if (nlen > MAXLCODES || ndist > MAXDCODES)
    return -3;
  short lengths[MAXCODES];
  int index;
  for (index = 0; index < ncode; index++)
    lengths[order[index]] = puff_bits(s, 3);
  for (; index < 19; index++)
    lengths[order[index]] = 0;
  short lencnt[MAXBITS + 1], lensym[MAXLCODES];
  struct puff_huffman lencode = {lencnt, lensym};
  int err = puff_construct(&lencode, lengths, 19);
  if (err != 0)
    return -4;
  index = 0;
  while (index < nlen + ndist) {
    int symbol;
    int len;
    symbol = puff_decode(s, &lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 16)
      lengths[index++] = symbol;
    else {
      len = 0;
      if (symbol == 16) {
        if (index == 0)
          return -5;
        len = lengths[index - 1];
        symbol = 3 + puff_bits(s, 2);
      } else if (symbol == 17)
        symbol = 3 + puff_bits(s, 3);
      else
        symbol = 11 + puff_bits(s, 7);
      if (index + symbol > nlen + ndist)
        return -6;
      while (symbol--)
        lengths[index++] = len;
    }
  }
  if (lengths[256] == 0)
    return -9;
  err = puff_construct(&lencode, lengths, nlen);
  if (err && (err < 0 || nlen != lencode.count[0] + lencode.count[1]))
    return -7;
  short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  struct puff_huffman distcode = {distcnt, distsym};
  err = puff_construct(&distcode, lengths + nlen, ndist);
  if (err && (err < 0 || ndist != distcode.count[0] + distcode.count[1]))
    return -8;
  return puff_codes(s, &lencode, &distcode);
}
static int puff(unsigned char* dest, unsigned long* destlen,
                const unsigned char* source, unsigned long sourcelen)
{
  struct puff_state s = {
      .out = dest,
      .outlen = *destlen,
      .outcnt = 0,
      .in = source,
      .inlen = sourcelen,
      .incnt = 0,
      .bitbuf = 0,
      .bitcnt = 0,
  };
  int err;
  if (setjmp(s.env) != 0)
    err = 2;
  else {
    int last;
    do {
      last = puff_bits(&s, 1);
      int type = puff_bits(&s, 2);
      err = type == 0 ? puff_stored(&s)
                      : (type == 1 ? puff_fixed(&s)
                                   : (type == 2 ? puff_dynamic(&s) : -1));
      if (err != 0)
        break;
    } while (!last);
  }
  *destlen = s.outcnt;
  return err;
}

//% END CODE DERIVED FROM puff.{c,h}

#define ZLIB_HEADER_WIDTH 2

static int puff_zlib_to_file(const unsigned char* source,
                             unsigned long sourcelen, int dest_fd)
{
  if (sourcelen < ZLIB_HEADER_WIDTH)
    return 0;
  source += ZLIB_HEADER_WIDTH;
  sourcelen -= ZLIB_HEADER_WIDTH;
  const unsigned long max_destlen = 132 << 20;
  void* ret = mmap(0, max_destlen, PROT_WRITE | PROT_READ,
                   MAP_PRIVATE | MAP_ANON, -1, 0);
  if (ret == MAP_FAILED)
    return -1;
  unsigned char* dest = (unsigned char*)ret;
  unsigned long destlen = max_destlen;
  int err = puff(dest, &destlen, source, sourcelen);
  if (err) {
    munmap(dest, max_destlen);
    errno = -err;
    return -1;
  }
  if (write(dest_fd, dest, destlen) != (ssize_t)destlen) {
    munmap(dest, max_destlen);
    return -1;
  }
  return munmap(dest, max_destlen);
}

static int setup_loop_device(unsigned char* data, unsigned long size,
                             const char* loopname, int* loopfd_p)
{
  int err = 0, loopfd = -1;
  int memfd = syscall(__NR_memfd_create, "syzkaller", 0);
  if (memfd == -1) {
    err = errno;
    goto error;
  }
  if (puff_zlib_to_file(data, size, memfd)) {
    err = errno;
    goto error_close_memfd;
  }
  loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    err = errno;
    goto error_close_memfd;
  }
  if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
    if (errno != EBUSY) {
      err = errno;
      goto error_close_loop;
    }
    ioctl(loopfd, LOOP_CLR_FD, 0);
    usleep(1000);
    if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
      err = errno;
      goto error_close_loop;
    }
  }
  close(memfd);
  *loopfd_p = loopfd;
  return 0;

error_close_loop:
  close(loopfd);
error_close_memfd:
  close(memfd);
error:
  errno = err;
  return -1;
}

static void reset_loop_device(const char* loopname)
{
  int loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    return;
  }
  if (ioctl(loopfd, LOOP_CLR_FD, 0)) {
  }
  close(loopfd);
}

static long syz_mount_image(volatile long fsarg, volatile long dir,
                            volatile long flags, volatile long optsarg,
                            volatile long change_dir,
                            volatile unsigned long size, volatile long image)
{
  unsigned char* data = (unsigned char*)image;
  int res = -1, err = 0, need_loop_device = !!size;
  char* mount_opts = (char*)optsarg;
  char* target = (char*)dir;
  char* fs = (char*)fsarg;
  char* source = NULL;
  char loopname[64];
  if (need_loop_device) {
    int loopfd;
    memset(loopname, 0, sizeof(loopname));
    snprintf(loopname, sizeof(loopname), "/dev/loop%llu", procid);
    if (setup_loop_device(data, size, loopname, &loopfd) == -1)
      return -1;
    close(loopfd);
    source = loopname;
  }
  mkdir(target, 0777);
  char opts[256];
  memset(opts, 0, sizeof(opts));
  if (strlen(mount_opts) > (sizeof(opts) - 32)) {
  }
  strncpy(opts, mount_opts, sizeof(opts) - 32);
  if (strcmp(fs, "iso9660") == 0) {
    flags |= MS_RDONLY;
  } else if (strncmp(fs, "ext", 3) == 0) {
    bool has_remount_ro = false;
    char* remount_ro_start = strstr(opts, "errors=remount-ro");
    if (remount_ro_start != NULL) {
      char after = *(remount_ro_start + strlen("errors=remount-ro"));
      char before = remount_ro_start == opts ? '\0' : *(remount_ro_start - 1);
      has_remount_ro = ((before == '\0' || before == ',') &&
                        (after == '\0' || after == ','));
    }
    if (strstr(opts, "errors=panic") || !has_remount_ro)
      strcat(opts, ",errors=continue");
  } else if (strcmp(fs, "xfs") == 0) {
    strcat(opts, ",nouuid");
  }
  res = mount(source, target, fs, flags, opts);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  res = open(target, O_RDONLY | O_DIRECTORY);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  if (change_dir) {
    res = chdir(target);
    if (res == -1) {
      err = errno;
    }
  }

error_clear_loop:
  if (need_loop_device)
    reset_loop_device(loopname);
  errno = err;
  return res;
}

int main(void)
{
  syscall(__NR_mmap, /*addr=*/0x1ffff000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x20000000ul, /*len=*/0x1000000ul,
          /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x21000000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);

  memcpy((void*)0x20011a00, "bcachefs\000", 9);
  memcpy((void*)0x20011a40, "./file0\000", 8);
  memcpy((void*)0x200001c0, "smackfstransmute", 16);
  *(uint8_t*)0x200001d0 = 0x3d;
  memcpy((void*)0x200001d1, "\a\315^\354\356\352r<", 8);
  *(uint8_t*)0x200001d9 = 0x2c;
  memcpy((void*)0x200001da, "dont_measure", 12);
  *(uint8_t*)0x200001e6 = 0x2c;
  memcpy((void*)0x200001e7, "dont_hash", 9);
  *(uint8_t*)0x200001f0 = 0x2c;
  *(uint8_t*)0x200001f1 = 0;
  memcpy(
      (void*)0x20011ac0,
      "\x78\x9c\xec\xd9\x7b\x58\x4e\x5d\xa3\xf7\xfd\xb3\x8d\x8a\x94\x8a\x28\x45"
      "\x36\x29\xa2\x10\x2a\x94\x7d\x51\x28\xb2\x2f\x92\xa2\x1d\x29\x52\x4a\x54"
      "\x76\x89\x88\x4a\x88\x52\xa8\x24\x91\xec\x52\x92\x6d\x2a\x45\x84\x42\xa1"
      "\x42\x7b\x15\x51\xb4\xe1\x3d\xee\xfb\x61\xdd\xf7\xba\x9e\xfb\x7a\xd7\xb3"
      "\xae\xf7\x7d\xd6\xfa\x63\x7d\x3f\xc7\x71\x1e\xe3\x1c\x63\xce\xf9\x9b\x63"
      "\x8e\x39\x1a\xc7\x39\x9b\x02\x00\x00\x00\x00\xc0\xff\x08\xf7\x77\xba\x35"
      "\x9b\xf6\x36\x7c\xb0\x6d\xd5\x57\xdf\x19\x69\xce\x5b\x05\x92\x22\x7f\x6f"
      "\x97\xf8\xbd\x83\xcc\xaf\xd2\xf3\xbf\xab\x87\xf8\xaf\x24\x2e\xaa\xf0\xf7"
      "\xf2\x8f\xf3\xe2\xa4\xf3\x74\xc3\xfc\xad\x86\x26\xc1\x3f\x4e\x58\xc5\x5e"
      "\x5a\x1b\x25\xee\xa4\xa0\xbd\x72\xad\x99\x7e\xb2\xc1\xa5\x72\x3b\x79\xd3"
      "\x8e\xff\x28\xf7\xf7\x7c\x1a\xf2\x8f\xba\xd0\x57\x21\x81\xc0\x21\xe4\xdd"
      "\xeb\x5d\x99\xb9\xbd\xfe\xd6\x26\x24\x10\x08\x44\x84\x64\xfc\x04\x02\x59"
      "\x21\xe1\x4c\x59\xa1\x3f\x44\x8c\x68\x15\x08\x04\x2b\xff\xad\x9f\xff\x7e"
      "\xe3\xb5\xaf\xa3\xec\xfe\x56\xfa\x05\x8a\xff\xbb\xf6\x6e\x7f\x08\x61\xbe"
      "\xff\xcf\x26\xf1\x6b\x9e\x1d\x53\x6d\xf8\xe8\xe4\x6a\x9c\x7b\x60\xd1\x30"
      "\xa3\x21\xbd\x3d\x97\xf9\xfd\x63\x17\x21\x89\x7f\x9a\x4f\x02\x81\xb4\xf5"
      "\x1f\x8f\x17\xfe\x17\xb9\x36\xb6\x0e\x1a\x1a\xab\x57\x79\x29\x58\xfa\xac"
      "\x5b\xd7\x53\x48\x20\x24\xd8\x65\xa1\x51\x10\x5b\xf6\x6e\x55\xb9\xca\x9e"
      "\x3d\xf9\xc2\xf5\xb5\x63\x67\x3e\x7e\xee\xb3\xbe\x93\x40\x20\xe8\xfc\xeb"
      "\xf3\x37\xbf\x67\xab\xc2\xef\x93\xff\x2a\xe7\x08\x04\x82\x2e\xff\x94\xaf"
      "\xf7\x1f\x5c\xd7\x80\xff\xc3\xeb\xd7\xfc\x93\xba\xf2\xaf\x52\xec\x57\x29"
      "\xf9\x1f\xe4\xfc\xde\xde\xff\xff\x70\xff\x3f\x12\xfd\x43\xd9\xe5\x3f\x79"
      "\xfc\x7f\xd6\xbf\xba\x67\xff\x37\x75\xfd\x2f\x3e\xdf\x6f\xbf\xaf\x53\xfa"
      "\x57\x99\xf6\xab\x1c\xf2\x9f\xcc\x11\xf9\xfd\x11\x12\x08\x0b\x09\x44\xff"
      "\x6d\x2d\x5e\x23\xf4\x8f\x39\x22\xf8\xa7\xfb\xf6\xb7\x19\xdf\xe9\x9f\xd6"
      "\x51\x21\x81\xf0\xdf\xeb\xc2\xff\x56\x17\xfc\xbd\x2e\xf8\x47\x5d\xe8\x0f"
      "\x75\xe1\x3f\xd4\x45\x3a\xfd\xe1\xba\xfe\x7e\xde\x5f\x13\x4d\x44\x48\xe8"
      "\xdf\xb7\xff\xde\xef\x0f\xed\xfd\x7e\xb5\x8b\xfe\x6a\xef\xff\xcf\x6b\xfd"
      "\xbf\x30\xef\x4f\xda\x15\x7f\x95\x12\xbf\xfe\x50\xbf\xfd\xae\x0b\xfe\xf8"
      "\xe5\x7f\x91\xfc\xdf\xbe\xfc\xdb\x75\xfd\xdd\xef\x7e\x95\xfe\xbf\xf4\xe5"
      "\xbf\x82\xf0\x3f\xad\x41\xff\xaa\xfd\x77\x7f\xf5\x7e\xdd\x0c\xc9\x5f\x6d"
      "\x92\x42\x72\xff\xdb\x31\x3f\xff\x85\xdf\xdb\x32\xd6\x04\xd8\xe7\xba\x4c"
      "\xd9\x2e\xf3\x27\xfd\x10\xba\x20\xf4\x2b\x5f\xe8\x2f\xe5\x8f\x77\x55\xba"
      "\x22\x19\xa0\x79\x52\xe1\xcf\xf2\xad\x85\x7f\xe5\x0b\xff\xa5\xfc\xfc\x4f"
      "\xe3\x94\xde\x4b\x14\x5e\xf9\xd3\xfc\x03\xbf\xf3\x45\xfe\x52\xbe\x44\xae"
      "\x6b\x90\x77\xdd\x1d\xf5\x3f\x1d\x9f\xc6\xdf\xe3\x23\xfa\x97\xf2\xef\x1e"
      "\xf0\x0c\xed\x31\xa5\xca\xac\xdf\x9f\xe5\x47\xff\xce\x97\xf8\x4b\xf9\x9f"
      "\x44\x2d\xf3\x7e\xfa\x25\x87\xfc\x69\xff\x47\xfc\x1e\x9f\xce\x7f\x29\xff"
      "\xc2\x92\x54\xd3\x6f\xa3\xce\xef\xf9\xd3\x7c\xc1\xef\xfc\x2e\x7f\x29\xbf"
      "\x5f\xc0\xfd\xd4\xb8\x5d\xbd\x4e\xfc\x69\xfe\xad\xdf\xe3\x23\xf9\x97\xf2"
      "\x07\x6a\x5e\x08\xc8\x0e\x70\x9b\xf1\xa7\xe3\xff\xf8\x77\xbe\xd4\x5f\xca"
      "\x2f\xfd\xa9\xdd\xd4\x2b\xef\x7e\xd2\x9f\xce\xcf\x49\xbf\xc7\x47\xe6\x2f"
      "\xe5\xcb\xd9\xab\x2b\xcb\x6c\xdc\x3c\xf4\xcf\xd6\x4e\x21\x3f\xe1\x7f\x2c"
      "\x16\x00\x80\xff\xb4\xee\xbf\x7e\x63\x05\xfc\xaa\xff\xd5\xe7\xd4\xff\xaf"
      "\xfe\xe9\x79\xe1\x88\x8c\xd0\xff\x5a\xda\xbb\xfe\xfa\x48\xfd\xff\x79\xa2"
      "\x3f\x10\xfa\xa7\x67\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\xc0\xff\x5c\x2b\x5c\x4e\x8a\x4f\x8b\x32\x54"
      "\xd2\x9f\x2b\xe9\x31\xa1\xf9\xc1\xac\x03\x06\x83\x2a\xa4\x2f\xf7\x5a\x2b"
      "\xfa\x6b\xbb\xb8\xa8\x40\xf0\xb7\xef\x42\x22\x02\xc1\xbb\xc3\xd5\x79\x8f"
      "\xa3\x27\xed\x5a\x72\xed\x4c\xb6\x77\x80\xf7\x80\x31\xe2\x29\x85\x13\x64"
      "\xac\x4e\x3c\xad\xac\x9d\x17\x1c\xbf\xf9\xa6\x57\x74\x41\xef\x89\xd6\x9d"
      "\xb7\xcf\x33\x2b\x11\x1d\x13\x94\x71\xbb\xec\x74\xa3\xa9\x55\xf4\x05\x45"
      "\x97\x91\x8b\x9f\x0f\xbf\x79\x6d\x90\xbf\xbd\xd5\x31\x1f\xcb\xac\xf1\x23"
      "\x46\xd6\x5c\x11\xc4\x4f\x30\x76\x8b\x5b\x7b\xf6\x41\x73\x9a\xce\x8d\x1e"
      "\xd3\x4e\xec\x5d\xd1\x29\x77\x6d\xcf\xde\xd2\x0f\x82\x9e\x6e\x4a\x7c\xa8"
      "\xdd\xe5\x72\xbe\x4c\xf8\x99\x67\xef\xea\x3a\x7d\xf9\x36\xbd\xa9\x66\x54"
      "\xf7\x61\x5d\xdb\x56\x86\x65\x7f\x1a\xf5\xb5\x4c\xb6\xe4\xda\xd5\xa8\xad"
      "\xfa\xcb\xb4\x0b\xe6\xdc\x69\xaa\xd5\x52\x88\x94\xea\xd1\xfc\x2a\x24\x67"
      "\x7a\xfd\xbb\xf5\x0f\x0e\xee\xbf\xd1\xeb\xa0\x8e\xe8\x10\xbb\xeb\xf3\x4a"
      "\x75\x8c\x27\x18\xc9\x6b\x6f\xff\xac\xde\x43\xc1\xea\xb6\xd0\xe7\x65\xd9"
      "\x3f\x4c\x66\xeb\xe9\xdc\x3f\x2b\xfd\x39\x2b\xca\x71\x92\xa4\xac\x98\x6b"
      "\x7e\xc8\xa2\x03\xdb\xbe\x6c\xec\xa6\x76\x6e\x4e\x79\x7e\xf1\xe9\xc9\x19"
      "\x63\x34\x3d\x03\x14\x3e\x68\x8c\x49\x51\x12\xfd\xf1\xf8\xcc\x8a\x2c\x53"
      "\xcb\xd1\x8b\x0a\x56\xbe\xd9\x2b\x2b\x1a\x3b\x77\xa8\xb7\x97\xc6\x44\x9b"
      "\xa1\xf6\x83\xbb\x49\x87\xf6\x78\xad\xef\x7f\x68\xfd\xac\xb0\x36\xeb\xd9"
      "\x77\x1d\x07\x96\xc6\x9a\x3f\x8c\x3f\xd5\xad\x70\xfb\xb8\x46\xb1\x50\xdf"
      "\x27\xfd\xc5\xbf\xa4\xad\xd9\xdd\xf0\xf8\x51\xbe\xc5\xe8\x2b\x16\x9a\xa1"
      "\xee\x4f\xcf\xb4\xa4\x75\x77\x33\xca\xfb\xf6\x71\x91\x5f\x84\xab\x65\xeb"
      "\xc6\x33\xdd\xbd\x7c\x66\x09\x27\x5c\x1a\xa3\xb8\xa6\x4a\x21\xfa\x8a\x74"
      "\xaf\xc2\x98\x9b\x37\x82\x9e\x77\x1b\xe5\x96\xd9\xba\x45\xb6\x4e\xe5\x76"
      "\xb4\xef\xb1\x55\xd6\x76\x93\x03\x9a\xcf\x18\x64\x79\xca\xe7\x14\x3d\x11"
      "\x59\x17\x34\x78\x5c\xd3\xce\xb8\x8c\xe8\xa1\xa3\x3c\xbd\x8a\x67\xfa\xee"
      "\xf5\x32\xc8\xcc\x97\xb5\x9c\xa6\x28\x96\xfb\x7d\xd3\xe3\x75\xe7\x16\xad"
      "\x2b\x0f\x1d\xda\xe2\x22\x6e\x94\xbd\xfd\xdd\x3c\xbd\xa2\x03\x96\x92\x63"
      "\xd6\x78\x6e\x7c\x64\xff\xe3\x43\xb4\x5b\x86\xb6\x8d\x63\xbe\xa2\xfc\x8f"
      "\xb7\x0d\x4d\x93\x96\x5a\xa5\x4b\x36\x79\xcb\x5e\x1f\x2b\xd5\x9e\xd2\xf1"
      "\x60\xbd\xf1\xc5\xfe\x73\xeb\xcf\xa9\x58\x7c\xea\x21\x2e\x94\xe1\xe5\xa7"
      "\xa3\xf1\x71\x42\xe3\xf3\xc9\x9b\x26\xfb\x95\x74\xef\x31\x6b\x58\xbb\xf1"
      "\x9b\x79\x0e\x3e\x43\x04\xd6\x2a\x85\x62\x37\xbf\xcb\x6c\x5e\xbb\xeb\xfb"
      "\x68\x11\x09\x85\x7e\x72\x27\xf2\x26\x98\xc6\x5f\x4a\x50\x8f\xb7\xd2\xea"
      "\xbc\x6a\xed\x4a\xb7\x72\x9f\x47\x9a\x35\xd7\xd4\x1b\x9e\x37\xa8\x7f\x1c"
      "\xf4\x3a\x2d\xec\xf4\x7e\xf5\xf4\xa5\xca\xcb\xfd\xef\xae\x99\x73\xfd\xee"
      "\xf7\x60\x0b\xf5\x9a\x85\x46\x92\x2b\x37\xff\xdc\xff\x6d\x6b\xf0\x47\x0f"
      "\xd3\xe7\xef\x2e\xfc\xdc\x2b\x7d\xc3\xbf\x66\xb9\x92\x65\xf5\xfd\xcc\x67"
      "\x1a\x1b\xba\xea\x38\xae\xd9\xd5\x69\xca\x10\x67\xb1\x49\xc1\x43\x9e\xd9"
      "\x7f\xdb\x11\x60\xb3\x7b\xb5\xc9\x8b\x35\x86\xeb\x02\x7a\x38\x5f\x19\x77"
      "\x32\xed\x7e\xbf\x9c\xbb\xa5\xbd\x7e\xf4\xd9\x7a\xac\x62\x83\xd6\xb2\x13"
      "\x9d\x35\x23\x2e\x8e\xe9\x39\x47\xec\xec\xca\x0b\x06\xb7\xa5\x2f\x9b\xf7"
      "\x2a\xad\x0e\x79\x26\xf3\x39\xda\xe8\xa5\xfd\xe2\x31\x45\x15\xda\x26\xc5"
      "\x71\x41\x4e\x33\xb3\x64\x8d\xaa\x86\x4f\xfe\x7e\xf1\xc3\x74\x8f\x82\x2a"
      "\x91\x1d\x5a\xa9\x36\x8f\xe2\x06\x98\x97\x64\x8f\x3c\x1f\xe3\xf5\x35\xd5"
      "\xf7\x43\xef\xc4\x6d\x6d\x0b\x87\xae\x3b\xe4\x6c\xd0\x65\x78\x9d\x84\x9c"
      "\x48\xa8\x6d\xd2\xf0\x4b\x86\x1f\xd5\xe7\xde\x9d\x90\xf8\xb0\xef\xf9\x4e"
      "\xc1\x96\x3e\xe1\x2f\xf7\x1c\xe9\x50\xea\x5b\xf2\x60\x65\xf7\x97\x8a\x35"
      "\x3a\x67\xe2\xcf\x8b\x66\x6f\x91\x3a\x6e\x67\x6a\x5d\x73\xf9\xd4\xa2\xac"
      "\xf1\xbd\x8a\xa6\x95\x7c\xe8\x7f\x7a\xed\xc4\x33\x27\xd6\xa6\x87\x15\x9a"
      "\x5a\xaf\x6c\x3b\x39\xe6\xad\xa8\xee\xbc\x5e\x4d\xf5\x7a\x11\xd7\xfd\x5c"
      "\x06\x99\x35\x8f\x9c\x51\x1d\x17\xac\x55\x77\xf9\x62\x91\x6a\x55\xb0\x53"
      "\x44\xe7\xed\x31\x0e\x3e\xd2\xe9\x03\xda\xc5\xfb\x87\x1f\x0f\xf3\xda\xf7"
      "\xc6\xf8\x91\x7c\x97\x4d\xcf\xe7\xc4\x0f\xd6\xd2\x7d\x60\x67\x14\x99\xfe"
      "\x5d\x6d\x41\x89\xc5\xe6\xef\xd2\xbb\x6d\x6f\xaa\x79\x9d\x79\x67\x3e\xb1"
      "\xe1\x4a\x49\x6f\xd7\x74\x5d\x63\x57\xf7\xd7\x81\x25\xf5\x0e\xa7\xfa\x3a"
      "\xf4\x3d\xe1\x1f\xe5\x35\x63\x49\xc5\x86\xfb\x6f\x8a\xac\x23\x86\xfc\xf0"
      "\x5a\x72\x36\xd4\xb0\x62\x69\x78\xd0\x28\xaf\x6b\x16\x37\xee\xed\x9d\x63"
      "\xa9\xa1\x67\x51\x32\x5c\x6a\xa0\x70\xd8\xc2\xdc\x6f\x09\xb6\xf9\x4a\x35"
      "\x53\x6f\xb4\x4e\x0f\xb8\x95\x3d\x2c\xd9\xd8\xb6\x43\xc3\xc9\xb6\xaf\xf0"
      "\x3b\x8f\x01\x41\x03\xbe\x0e\xad\x0a\xa9\x29\x4f\xf6\x50\x10\xee\x65\xa7"
      "\xb0\x6d\x7f\x95\x4f\x92\xdc\xeb\x41\x46\x33\xfa\xf6\x19\xae\xb2\x35\x54"
      "\xac\x3d\x2b\xbf\xda\x2a\xf0\x70\x7c\xbc\xd1\xcc\xf9\xdf\xac\x35\x9a\x02"
      "\x23\x3d\xce\x34\x4f\x15\x6a\xe9\x9c\xac\xf5\xc8\x61\xb7\x56\x58\xa1\xe4"
      "\x90\x90\x63\x29\xbb\x13\x15\x0b\xd4\x5b\xf4\x45\xaa\x76\xcb\x1e\xf5\xbc"
      "\x20\x3f\x51\x2e\x72\x51\x91\x46\xd0\x9b\xd4\x39\x32\x59\x93\x86\x56\xd7"
      "\x7c\xed\xfd\xb0\x7b\xf8\xd3\x1f\x7a\xba\xf1\x05\x21\x1f\x8c\xa7\xec\xb2"
      "\x95\xef\x73\xd1\x65\xce\x99\x39\x25\xe6\x4b\xdf\xae\xb4\x5f\xad\x1c\xb9"
      "\x6c\xb2\xc2\x75\x5f\xc7\xaa\x97\x6f\xac\x8f\x6a\x0f\x5a\xf6\xd2\x31\x56"
      "\x57\xd5\xc8\xbc\x36\xda\x61\xe5\xad\xfd\x03\x8a\x63\xbe\xf6\xba\x19\xa6"
      "\xad\x7c\xef\xbe\xec\xd5\x7e\x57\x0b\x5d\x94\x97\xe6\xd8\x8e\xea\x12\x1a"
      "\x71\xd7\x6e\xae\xb5\xcf\xba\xc4\x20\x99\xb2\x98\x35\xe3\x1b\x8c\xe4\x17"
      "\xb8\x5b\x08\x4f\x9f\x7c\xa1\x32\x4c\xae\xc2\xac\xfa\x7e\x7d\x86\xfc\x6d"
      "\x6b\x93\xa0\x69\xaf\xe7\xaa\x7e\xec\xa6\x5c\x7e\xd4\xa2\xd9\xba\xd3\xee"
      "\xd2\xa1\xe6\x8f\x07\x37\xe8\xcb\x77\x75\x71\x3a\x3f\x45\xda\xef\xac\xd8"
      "\x8f\x3d\x59\x67\x2b\x92\xaf\x18\xc8\x6f\xdd\x60\xf2\xa2\xbb\x45\xda\x05"
      "\x83\xfb\x13\x57\x8e\x4e\xaa\x74\xea\x6d\x39\xff\xdc\x9e\x80\x43\xd5\xfd"
      "\x5f\xec\xbf\x67\x97\x28\xd6\xdd\xe1\xe1\x13\x19\xcb\x2d\x13\xcf\x6c\xda"
      "\xde\xcd\xf0\x85\xa2\x85\xb2\xce\x55\xd3\x61\xa9\x77\xc5\xce\x9b\xae\xb5"
      "\xea\xf8\x22\xa7\x90\xb2\x31\xc7\x73\x59\x65\xef\x4e\xa7\x07\xf9\x06\xc9"
      "\x49\xee\x9f\xff\x24\xd8\xbf\x63\x4d\x4a\x40\x99\xcd\xf1\x1f\x7d\x55\xcc"
      "\x5a\x1b\xef\x77\x2b\x36\x9b\x33\xb1\x6c\xe8\x35\x61\x8b\x81\xc2\x57\x07"
      "\x6f\xb7\xb7\x70\x5e\x35\x5f\xb7\xf1\x48\x7f\xdf\x73\xc9\x33\x94\xb6\xbc"
      "\xf4\xde\xfc\x4c\xbc\x6c\x4b\x45\xd2\x29\x75\xfd\xd5\x05\xee\x2e\x4a\x56"
      "\x87\x67\x9b\x57\xeb\x95\x26\x57\x0d\x5f\xd1\x45\x63\xeb\x28\xd9\x79\x42"
      "\x95\xfb\xd6\x49\x5d\x48\xf3\x38\x1d\x23\x9a\x32\x77\xf6\xe7\x6c\xfb\x61"
      "\x11\x8b\x0e\xb4\x8e\xd9\xf6\xec\xc9\x5a\x8b\x91\xae\xfb\x43\x8c\xef\xfa"
      "\x75\x7b\x51\x7a\xb5\x30\x53\xfa\x9d\xb2\x54\xa1\xfc\x0f\x81\xbf\xb3\xe4"
      "\x58\x95\xfc\x7e\x4b\x96\x7f\xd6\x34\xac\xbc\x5d\x3a\x29\x64\x56\x81\xf6"
      "\xf3\x81\x8f\xc7\x99\xbd\xb5\xdb\xbd\xe4\x45\x42\xe4\x9b\xf6\x90\x77\x67"
      "\xfb\xad\xf3\xa8\xd1\x3e\xd0\x26\x54\x9a\x16\x1d\xe4\x3c\x5b\xba\x46\xc1"
      "\x4e\xc1\x48\x5c\x35\x6b\x5b\xf2\xd8\x8f\x06\x3b\xcf\x4f\xce\x15\x39\xd6"
      "\xc5\xd8\xc8\xd4\xbc\xe4\xda\x8b\x62\x8d\x41\x87\xcc\x57\xdc\xe8\x54\x69"
      "\xa1\x36\x52\xfa\xc0\x32\xad\xea\x9c\xba\xc3\xeb\xd3\x9c\x23\x9f\x1d\x54"
      "\x09\x75\xdf\x3a\xab\xf4\x5d\x77\xcd\xba\xca\x11\x99\xe2\x8e\x6d\x6e\x8b"
      "\x1e\x6e\xce\xde\xbc\xae\x60\xa0\x5a\x17\x4f\xc5\xee\x32\xda\x07\xe7\xce"
      "\x5b\x72\xbb\x76\x9a\xdf\xf7\xed\xe1\x92\x3b\xd2\xe4\xee\xc8\xf6\x4b\x7f"
      "\xd9\xd9\xf0\xa3\xc4\x15\x87\x40\xa1\xf8\xab\xa1\x57\x06\xf7\xcf\x76\x7f"
      "\xb6\x6b\xfc\x69\xb1\x9f\x0d\x63\x86\xd6\x8c\x5e\x31\x6f\xeb\xa1\x41\xdb"
      "\x2c\xcb\x14\xa6\x5c\x7e\x1c\x9e\x9d\xfc\x26\x7d\xe0\xec\x4d\xd2\x4a\x2d"
      "\x92\x5b\xae\xbd\xf2\x1f\xf5\xa5\x32\xa6\xf3\xb7\x1b\x53\xdf\xab\xad\xd0"
      "\x7c\xdd\xe9\xf6\xcb\xde\x89\xbb\xe2\xba\x8d\xdf\x62\xb4\xef\x84\xe4\x36"
      "\x93\xae\x3d\xee\xce\x58\xfa\xd6\xdc\x5c\xe7\x44\xe2\xeb\xa3\x53\x4a\x4a"
      "\x8b\x3b\x17\x6b\xaf\x4a\xee\xab\x14\x61\x24\xb8\xd6\x49\xec\x5a\x7b\xcd"
      "\xb6\x8d\xde\xad\x09\xc5\x2e\x22\xb9\x53\x4f\x18\xd6\x1c\xde\xd2\x57\x37"
      "\xd7\x51\xf3\x56\x69\x75\x17\x99\x87\x01\x37\x17\xd8\x6e\x7e\xb2\xfb\x54"
      "\x7a\xa6\xbd\x52\x9f\x46\xab\x07\x6f\xfd\x6e\xdf\xb4\xd4\x73\x5d\xa8\xdc"
      "\x3e\xb0\xb1\x7f\x5a\xbb\x9f\xf3\xb2\xa6\x31\x42\x69\x86\xc3\x37\xf4\xdb"
      "\x36\x57\x5f\xf3\xe3\x0b\x77\x91\x23\x53\x17\xaa\x1d\x5c\xbe\xd3\x4d\xd0"
      "\x36\x62\xc3\x0b\xa5\x7d\x46\xb6\xc7\xd6\xb5\x7d\xd9\xf6\xd9\xe6\xd9\xd3"
      "\xd9\x92\xd2\x47\xdd\x35\xd5\xe4\xa2\x9e\x08\x4b\x88\x68\xa6\xbf\x3f\x73"
      "\x44\x24\xed\xdc\x5e\xaf\xa4\xc5\x79\x39\x2b\x82\xd4\x33\xdd\x77\x1f\x95"
      "\xd8\xba\xe3\xcc\x8c\xf0\xd5\xc1\x09\x3a\xc6\x12\x1a\x9a\xfa\xa9\xfb\x33"
      "\x97\xbd\xdb\x3d\x6c\x53\xb9\xc1\xec\x98\x4a\xcf\x37\xce\xcf\x2a\x5e\xb8"
      "\x1d\x15\x1a\x61\xb4\x6e\xf1\xa4\x33\x27\xb4\xe5\x84\x94\x9a\xcd\x8b\x16"
      "\x0c\x8f\x71\x3d\x3f\x76\x55\xa1\x89\xfd\x29\x0b\xcb\x1c\xb9\xa6\x1f\x97"
      "\x82\x7f\x9c\x0c\x3a\xde\x11\xed\xff\xd5\xe0\xde\xd6\x3d\xfd\x7f\x44\xb6"
      "\xed\xae\x5b\xad\xb1\xcb\x20\xd4\x22\xa9\xdb\xcb\xcd\x97\x9d\x66\x0f\xd0"
      "\x6f\x58\x1a\xaf\x17\xd2\x26\xf2\xc2\x7b\x46\xa0\x4b\x87\xe8\x60\xd9\x17"
      "\x5b\x0d\x9e\x3d\x0e\xd1\x3b\xda\xe7\xdc\xfe\x42\xb5\x39\x03\x66\x08\xd9"
      "\xc4\x8a\xcd\x9f\x73\x7e\xc6\xde\x21\x8f\xc7\xad\xf7\xc9\xb0\x74\xda\x65"
      "\x7f\x38\xb2\x58\x63\xeb\xe6\xe3\xd7\x74\x86\x6a\x65\xb9\xdb\xac\x13\xda"
      "\x13\xf6\x3c\x21\x48\x66\xc8\xb4\x72\xa1\x25\x0b\xdb\x35\xef\xbe\xfd\x54"
      "\x77\x2c\x20\xfd\xd0\x88\x99\x9a\x69\xe3\x17\xde\xf5\x7a\xbe\x74\xcc\xe6"
      "\x0f\x07\x72\x8a\xc3\x13\x1b\xcc\x13\xcf\x1f\xde\x38\xef\x4e\xd4\xf4\xea"
      "\x4e\xfd\x7a\x4e\x93\x2c\xd8\xe3\xb1\xb4\xba\xab\x20\x39\xd8\xcc\xb6\x26"
      "\x28\xf2\x46\xff\xf2\x81\x26\xfb\xeb\xcf\x6d\xeb\xda\x7b\xd7\x78\xf7\x92"
      "\xc8\x3c\xa9\x79\x3d\xfd\x15\x1f\x56\xda\xc5\x15\xee\x5f\xb4\x49\x2c\xf9"
      "\xa4\x44\xe8\x97\xa3\xf9\x96\xe5\x39\x77\xdf\x26\x4c\x5a\x9e\xb6\x61\xfe"
      "\xcb\x7a\xb9\x37\x95\xc7\x6f\xd8\x84\x0e\xd0\xc9\x1c\x7c\xa2\x7d\xfa\x31"
      "\x3f\xd3\x41\xd1\x35\xe2\x5d\xe4\x67\xbd\xdc\x7a\x74\x99\x75\xfa\x5b\x5d"
      "\x89\xf2\xc0\x28\xa3\x21\x91\xc7\xd2\xfa\x64\x14\x9c\xb9\x14\x36\x65\x40"
      "\x2f\x3b\x61\xc3\xda\x0f\xad\xc5\x55\x57\x32\x82\xc3\xdd\x86\x5c\xee\xf2"
      "\x68\x79\xa9\xf5\x37\xc5\x55\x11\xaa\x0e\xe3\xbd\x6e\xa4\xd7\xef\x5d\xe2"
      "\x21\xed\x65\x65\xdf\x26\xbc\x20\x45\x42\x28\x2a\xf0\xa5\x4a\xdd\xa3\x6b"
      "\x26\x7b\x72\xf6\xbb\x67\x4b\x06\x0f\x98\xe5\x93\x7c\xad\xe1\x44\xf9\x18"
      "\xe7\xad\x3b\x8d\xba\xdf\x18\x2f\x96\xac\xbf\x44\xad\xe8\x55\xfa\x64\x15"
      "\x53\x99\x21\x82\x87\xad\xdb\x9e\x1e\xbd\x3d\xd5\xeb\xfa\xb0\x55\xf7\x0f"
      "\x36\xa7\xd6\x2c\x3b\xf6\xb8\x53\xf5\xf5\x3a\xb3\x81\x63\x55\x2e\x6b\x54"
      "\x76\xac\x38\x25\x6c\x3a\xa8\xc7\xcd\x97\x75\x09\x23\x0e\x4c\xee\x34\xf1"
      "\x86\x4e\x44\xe2\x45\x99\xd4\xea\x57\xa6\xf7\xae\xcd\x9a\xba\xfd\xed\x28"
      "\x5f\x19\x0f\xd1\xbe\x7b\x26\x3c\x39\xa1\x62\x72\xd5\x75\x95\xce\xe6\x51"
      "\x5f\x8d\x9e\x59\x9a\xbb\xa5\xfb\x4f\xce\xef\xff\xf6\x88\x63\xee\xa6\x7b"
      "\x3b\x95\xa6\x9d\x53\xe8\xb9\x73\xae\xf7\x9e\xdb\x19\x0e\x53\x0e\x27\x47"
      "\x9c\x53\xac\xf2\x3d\x5a\x19\x56\x1b\xf8\xd2\xff\x5b\x42\xf3\xd3\x02\xf5"
      "\xe5\x9f\xb5\xa6\x76\xdf\x3d\xc9\xd9\xd3\x3d\x23\xfb\xd0\xa5\xaf\x49\x87"
      "\xfb\xdd\xda\x77\x27\x78\xed\x68\xd5\x7d\x45\xaf\x2a\xed\xfd\x6a\x32\xf4"
      "\x1f\x0f\x9b\x39\xc8\xfb\xf2\xf1\xfb\xba\x12\x12\x1f\xd2\x9c\xc4\x7b\x77"
      "\xd9\xbb\x64\xbd\xbb\xdc\x8f\xa3\x46\xcd\x03\x57\x8e\x7b\xf6\x3c\xdf\xe0"
      "\x6b\xa0\xb7\x51\x67\xd9\x4e\xdb\xdf\x64\x4e\x54\x6f\xd4\x95\xbe\x34\x51"
      "\xee\x95\x69\xf4\xb5\xdc\x6d\x82\x09\x86\x11\x75\x65\xa9\xe1\xc9\x8e\xb7"
      "\xa6\xf9\xac\xac\x3d\x1b\xfc\x6a\xb6\x41\xd0\x9a\x08\xfd\x83\xcd\x4a\xcf"
      "\x43\xbd\xda\x56\x4f\x9a\xbe\x66\x75\xe7\xab\x5f\x4c\x1d\x3d\xfc\xcd\xe7"
      "\x8f\xa8\x4c\x7f\xd5\x2e\x7a\x69\x84\xb1\x86\xd2\xd8\x5e\xf3\xef\x0f\x49"
      "\xcc\xcb\xb6\x31\x88\xea\x79\x23\x76\x8b\x9f\x94\x4b\xd8\x95\x92\xdd\x01"
      "\xc1\x69\xdb\x03\xfa\x0f\x9a\xd1\xdc\x3e\x53\x77\xcc\x37\xdb\xfc\x46\x7b"
      "\xaf\x44\xb5\x86\x8e\x41\x37\x9b\xc2\xa7\x5f\x4c\x56\xcc\x5f\xdc\xba\x7c"
      "\xf6\x96\xa4\xa6\x43\x2d\xad\x41\xef\x4d\xa2\x6e\xa4\x5d\x1d\xe5\xf7\x5e"
      "\x48\xb4\xff\xe1\x37\xcf\xfd\x75\xf3\xd6\xc6\xa9\x26\x8e\xd8\xb1\xaf\xeb"
      "\x29\x7d\xb9\xc7\x06\x3e\xee\x29\x35\x3f\xab\xfc\x93\x72\xf7\x7c\x9e\xf2"
      "\xbd\x45\x27\x5b\xce\xe0\x7e\x8b\xe5\xb9\x7d\xbd\x7c\x87\x2a\x8b\x75\x44"
      "\xfa\xfa\x07\x0c\x94\xb8\x7f\xe6\xbb\x7f\xeb\x9e\x77\xe7\x0d\xdb\xb7\x0e"
      "\x7c\x94\x6b\x5e\xd1\xac\xe2\x2b\xdf\x3a\xf9\xfb\x4c\xf5\x27\xb6\x39\x2d"
      "\x33\xdc\x8e\x5c\x1d\xb1\xe4\xf3\x39\xd7\x28\x39\x9b\xb7\xf5\x01\x3b\x15"
      "\xbf\xe4\x3e\x68\xcf\xa8\x7b\xa4\xb7\xdc\x7a\xa2\xec\x30\xed\xa0\xbb\x1e"
      "\x39\xae\xdb\x3f\xf8\x47\x77\x8e\xfa\x6e\x60\x69\xb9\x33\xaf\x4b\xa3\xa6"
      "\x6e\x4c\x97\x19\x9b\x14\xb6\x49\xee\x5e\xb6\x4c\x50\x62\x2a\xbd\x21\xf3"
      "\x4e\xf2\x09\xb1\x6f\xae\x67\x12\x76\x6f\x2e\x19\x36\x21\x4e\xec\x4a\xe3"
      "\xaa\x13\x72\x22\xf5\xaf\xdf\x4f\xfc\xb8\xa3\x28\xfe\xa3\xb6\xfd\xe3\x6b"
      "\xad\x2f\x1f\x29\x2a\x04\xf8\xed\x3a\x20\x78\x2e\x16\x73\x64\xc7\xbd\xeb"
      "\x06\x9f\x5a\xd7\xc4\x8c\x8b\x54\x56\x1b\x63\xa9\xb8\x51\xf9\xd9\xd4\xc0"
      "\xee\x37\xc3\x4f\x5c\x31\x13\xbe\xd0\x5d\xb4\x6e\x44\x8a\x4b\xd2\x0d\xf3"
      "\x1b\xc5\xb6\x21\xb3\xfa\xf6\x5f\x22\x1c\x7f\x69\xfc\xb9\x0d\x8f\xbe\x74"
      "\xf5\x5b\xf0\xd3\x4f\xed\xd6\x93\xbd\x21\x1b\x47\x8b\x9f\x56\x73\x1d\xff"
      "\x6e\x5c\x50\x2f\x89\xbb\x1d\x5f\x5a\xa7\x9c\x2b\xf8\xf6\xb5\xd7\x81\xf4"
      "\xbc\xf4\xc1\x46\x4d\x0d\xcd\x56\x8b\xbf\xe5\x06\xba\x7f\xbe\x12\x7f\xf0"
      "\x54\x83\x75\xb9\xb1\x83\xe3\x5c\xa9\xeb\x75\x5e\x53\x1f\xbc\xef\x5a\xf0"
      "\xf2\xed\x9c\x4b\x67\x9f\x77\xe9\x58\xb0\xf7\xb1\x91\xfa\x07\x95\x57\xe9"
      "\xe7\x67\x1d\x55\xad\x3c\xf2\x6a\xc1\xcf\xf5\x1f\xee\x5e\x49\xec\x3f\x36"
      "\xa5\xe7\x44\xfd\x88\x37\x9e\x1d\x65\x3a\x0b\x0c\x7f\x38\xcd\xdb\x67\xa0"
      "\x26\xfd\xd9\xb2\x8b\xf9\xce\xcb\xd6\xdb\x54\x56\x04\x54\xcb\x78\x9d\xb6"
      "\x68\x1b\x6b\xbd\x58\x47\x7d\xa0\xd2\x89\x95\xeb\x6c\xea\x6f\x7e\xd8\xa1"
      "\x3f\xe8\x5b\xea\xa4\xb0\xe8\xad\x66\xa3\xea\x53\x3b\xf9\xac\x54\x5a\x29"
      "\x2c\x25\x95\x24\x7a\x63\xef\x50\x25\xa7\xfa\x7b\xfb\x9f\xf4\x3e\xfa\x20"
      "\x73\x5a\x9f\x54\x0b\x89\xfb\xda\x33\x1e\x1f\x1f\x15\x35\x5b\x47\x5f\xcb"
      "\xc7\xa9\x4b\xfa\xa6\x29\x33\x0f\x05\x2a\x3f\x72\x3a\x94\x5d\xe6\xdc\xd1"
      "\xbe\x26\x7a\x52\x52\x58\xe8\x8d\x0d\xe9\x9a\x59\xcf\x87\x34\x8f\x6c\x79"
      "\x1d\xfd\x40\xc1\xa1\xfb\xa6\xc9\xd6\x6a\xb1\x3f\x9f\x18\xbe\xda\xb4\xd0"
      "\xe2\x9a\xb2\xee\x50\xab\x2e\x0d\x97\x97\xaa\xd7\xc5\x5d\x7c\x3e\xc3\x6f"
      "\xe3\x92\xfa\xc3\x89\x67\x3d\x9c\x5d\x0a\x85\xe4\x54\x9f\xfa\x5b\xc5\x7f"
      "\xf5\x4b\x7c\x30\x4c\x4a\xc6\x7d\xe0\xbb\xd0\x98\xda\x05\x59\x1e\xb5\xb7"
      "\xe2\xce\x1b\xd4\x4e\x92\x74\xa9\xd4\x1d\xd4\xdc\x35\xbc\xa2\xcb\xae\xba"
      "\x36\x81\x57\x73\x71\x8e\xf0\xee\xec\x0b\x69\x73\xbd\xac\xae\x37\xaf\x59"
      "\x59\x96\xdd\x32\x76\x57\xa2\xde\xee\xdc\x7b\x07\x75\xbf\x0d\xed\x72\x2b"
      "\x44\x27\xe0\xbc\x43\xf5\xf6\xc7\x85\x36\x4b\x97\x4e\x4e\x3e\x96\x5b\x52"
      "\x57\xb1\x7c\xed\xb2\xc5\x22\xdd\x9e\x7e\x4c\x3e\xe1\xa6\x6a\x78\x4c\x7e"
      "\x93\xac\x4e\x66\xab\xe0\x92\x76\xed\x52\xe1\xa7\x47\xe6\xea\xaa\xaa\xe4"
      "\x39\x7b\x2e\xeb\x3e\xf8\xf9\xd9\x99\x6a\x1b\xbc\x2e\x3c\x5b\x6c\x22\xf6"
      "\x69\x85\xff\xe0\x53\xa3\x2b\xf4\x9e\xc8\x8e\x7f\xfa\xba\x2d\xe1\xd5\xd4"
      "\xef\xbb\x37\xdd\xdc\x3f\xfe\xea\x81\xac\x30\x83\x9c\x97\x39\xeb\x9f\xbf"
      "\x5d\x79\xb2\x72\x66\xf3\xc5\xc8\x93\x7b\x6e\x2a\x88\x08\x85\x0f\x35\x1c"
      "\x28\x9b\xb2\xef\xc6\xba\x25\x3e\x23\x8c\x16\x4d\xf2\x8d\x74\x4d\xbe\x6d"
      "\x5b\x99\xe1\x7d\xc8\x4f\x65\xac\x90\xf4\x69\x8b\x13\xce\x92\x61\xa1\xb3"
      "\x55\x4f\x48\x0d\xda\xd7\xfd\x7c\xdf\x58\x99\x0c\xad\xae\x55\x8b\x3d\x9e"
      "\x34\x3f\xca\x5f\x91\x3f\xaa\xbc\xe6\x70\xd1\xcf\x00\xdb\xb6\x1e\x21\x19"
      "\x12\xb7\x07\x3d\xed\x58\x3b\x23\xf1\x71\x97\xa9\x49\x0a\x63\x77\xdd\x8b"
      "\xd8\xd7\xdc\x45\x75\x43\x5e\xd5\xca\xd3\x17\x6c\xaf\xc8\x7c\x08\xc9\xda"
      "\x5e\x9a\xd9\x75\xc7\xda\x80\xd8\xad\x45\x4f\x06\xba\xed\x58\x71\x74\x57"
      "\xff\xa9\x92\x76\xeb\xc2\x82\xb5\x8e\x2a\x8f\xbb\xdc\x38\x75\x59\x52\x59"
      "\xd6\xf5\x59\x81\x1a\x71\x65\x47\x8e\x3d\xac\x33\x2c\xa8\x0c\x6c\x12\x77"
      "\x59\x90\x7e\xe5\x71\xc3\xf0\xcd\xb1\xc7\xda\x32\x22\xcf\x2f\x4d\x2e\x1a"
      "\x76\xf1\x49\x7e\x7b\xcf\x0d\xf5\x43\xed\x97\xbd\xb2\x4c\xf2\x5f\xb3\x60"
      "\xcc\xd0\x8f\x83\xcd\xce\x64\x86\x1d\xdf\x2a\xad\xb1\xfe\x58\x5b\xe9\xd7"
      "\xe9\x8f\xbf\x05\x17\xe6\x5d\x2c\xec\x12\x3b\x5c\x4e\xad\xd6\xa0\xea\x42"
      "\xc7\xbc\xcf\x8b\x65\x82\x6e\x96\x6f\xcf\xbc\x9d\xbc\xe6\x6a\xcf\xf1\x7d"
      "\x9c\xed\x54\x32\xbf\xae\x15\x3f\x37\x39\x41\xba\xaa\xf8\x41\x91\xf7\xad"
      "\x9a\xd0\x1b\xb3\x1b\xe2\x32\x4a\x4a\x74\x86\xde\x57\xec\xee\xef\xe3\xfd"
      "\x64\x55\xc6\xa2\x8d\x57\x7f\x0a\xde\x1f\xd0\xbf\x90\x17\x98\x7c\x34\xa9"
      "\x23\x52\xdf\xf3\xe3\x02\xad\xdb\x67\xf7\x74\xac\xb3\x93\x17\x59\x92\x6b"
      "\x7f\xe4\xde\x35\x93\xf9\x5b\x7a\xdb\x68\x7e\xef\xde\x4f\x6b\x62\xba\x72"
      "\xcf\xb6\x0f\xc2\x13\x44\x94\x0b\x8e\x4a\x89\xd4\xea\xd5\x5a\x7f\x97\x50"
      "\x34\x71\x15\xab\x34\x6c\x5c\x74\x43\xa6\x4f\xb8\xb9\x4c\x5f\xa7\xa6\xa7"
      "\x03\x2b\x8e\x1f\x1f\x30\x6f\x57\x5c\x8d\x7f\xa9\xc5\xe7\x0c\x09\x6b\xa1"
      "\xc5\xe3\xe3\x03\x04\x12\x3e\xdf\xcb\x1b\xec\x72\xfa\x2d\xeb\x22\x1e\x92"
      "\xb7\x74\xf2\x98\xe3\x83\xd6\x4e\xf9\xe8\x31\x67\xa1\xcd\xb4\x01\x6b\xa3"
      "\xa6\xaa\x7f\x99\xbc\x34\xd4\x46\xbc\x55\x4c\xac\x7d\xf6\xd0\x8b\x9b\x2c"
      "\xfa\x0f\x1b\xb7\x29\x40\xfb\x6d\x70\x86\xee\xb5\x49\xd5\xd2\x09\x3f\x76"
      "\xa9\xdd\x0b\xf1\x79\x28\x3c\x6b\xc2\x2b\xd1\x6e\x23\x76\x7a\x46\x1a\x27"
      "\x89\x6f\x2c\x7f\x38\xda\x3a\x38\xe5\x54\xfd\xa2\x4b\x4b\xfb\x7f\x74\xed"
      "\xed\x3c\x35\xfb\xeb\x51\xdb\x79\xb5\xe1\x75\x9f\xba\xa7\xcf\x4d\x79\x31"
      "\x27\x65\xf3\x69\x99\xb8\xf1\xa9\x4a\x13\xab\xbe\xce\xb8\x7d\xef\x6e\xe5"
      "\x28\x91\x3d\x9a\x05\x2d\x37\x53\x8f\xf8\x67\xe9\x67\x05\x88\x7d\x8a\xdb"
      "\x1b\x71\x5f\x73\x5a\xe0\x30\xe5\x7d\x1d\x1d\xa2\xbb\x43\x8c\xe5\x14\xe4"
      "\xef\x55\xc5\xb6\x6a\xdb\x2d\xf6\x11\xda\xaa\x2c\xe3\xef\xbe\xc3\xf6\x75"
      "\x98\x99\x71\xc0\xba\xc3\x2f\x53\x74\xa2\x77\xf4\x35\x7e\x19\xfe\x43\xbd"
      "\x6c\xee\xaa\xc8\x81\xc7\x26\xec\xb7\xbf\x3d\xa6\xe1\xac\x7d\x7b\x37\xc5"
      "\x3d\x52\xf7\x2c\x2c\xd4\xa7\x1e\x9b\x71\xa4\x4c\xbd\x9b\xdc\x41\x45\xeb"
      "\xed\x27\xa7\x86\x09\xdd\x9c\x39\x26\xea\xb8\x70\x5b\x6a\xee\x08\xc5\x2f"
      "\x16\xd2\xe9\x4b\x3d\x9f\x9b\xc9\x0d\xd6\x9c\x7e\xca\xe6\xe3\x64\x9b\xee"
      "\x82\x95\xfe\x9b\xb5\xd6\x67\x66\xcf\x72\x92\x53\xb6\x39\x5d\x36\x21\xb5"
      "\x6e\x6c\x7c\x95\x6c\x47\x46\x65\xeb\xdc\xe4\x8f\x2b\xf7\x2e\xea\xd8\xf1"
      "\xc1\xea\xc1\xd0\x5b\x8b\xd2\xfb\x38\x75\xb3\x3a\xf3\xba\xb2\x5a\x69\xb3"
      "\xe9\x72\xb1\xa5\xfb\x2a\xbb\xbd\xb1\xcc\x7c\x7e\xb5\xcf\xe1\x4b\xa1\x37"
      "\xa2\xc3\x1a\x55\xba\x74\x77\x5d\x90\xe4\x68\x7f\x7d\x91\xe7\xb6\xce\xf6"
      "\xa2\xd7\xf7\x95\x39\x2e\x74\x08\x3e\xe4\xd0\x20\x3f\xa0\xbe\x61\xa8\x8f"
      "\x4e\xe8\x10\xa9\x9a\x09\x5b\x34\x13\x73\x8f\x75\xef\x6b\xfc\x4a\x6f\xe0"
      "\xd8\x41\xc3\x95\xf5\x06\x74\x5b\x1d\xb9\x2f\x4c\x67\x5c\x5d\xdc\x44\xf1"
      "\x84\x9b\xc6\x81\x8f\xce\x6c\xf4\xb8\xf9\x23\x57\x3d\xe3\xbc\x49\x4c\xab"
      "\x4c\x76\x9d\x45\xcb\x06\xc3\x76\x9f\xbd\x86\xfb\x8d\x5a\x7a\xae\x1e\x27"
      "\x2f\x9a\x3b\xf8\xfe\x33\xe7\x23\xf3\x56\x29\xf5\x34\xed\xdd\x7e\xd0\x4e"
      "\xe0\x7e\xa6\xf0\xe8\xd7\x9d\x66\xea\x5a\x69\x2a\x4f\x0b\xfc\x65\xdf\x9c"
      "\x9e\xa8\xb9\xfd\x84\x7c\x6f\x8f\x27\x52\x25\xfb\x34\x3e\x6e\x5d\x7e\x31"
      "\xe1\xfd\xe7\x48\x81\xa7\xde\xfe\xc0\xcd\xe3\x97\xa7\x6c\xd8\xeb\x19\xf6"
      "\x22\x3b\x3c\x58\x50\x29\xd7\x5e\xbf\xa0\x20\x72\x9c\xa8\xe0\xb9\x79\x98"
      "\xb4\xae\xfa\xd3\xa9\x1d\xae\xaa\xb3\xe4\x97\xab\xbc\x78\x33\xd6\xc4\x72"
      "\xee\xb4\xd1\x23\x87\xd7\x2b\x0f\x1b\x93\x7c\xbc\x42\x4f\xbb\xd1\x73\xc9"
      "\x9b\x80\x29\x7d\x2c\xbf\x9e\x57\xaa\xdf\xa4\x58\x24\xfb\x45\xfe\xd9\x6d"
      "\x1b\xd7\x87\x1a\x6e\x79\x2f\x7b\x24\x19\x68\x9f\x5f\xe8\xf1\xf4\xf2\xc6"
      "\x0b\xed\xca\xa1\x5b\x1d\x0f\x6c\x4c\xda\xb0\x7a\xd7\xc4\x43\xbb\xfa\xdc"
      "\xa9\xde\x36\x46\xa0\xd3\xe5\x48\x93\xaf\xc4\xf1\xa6\xa1\xe9\x72\x1a\xcf"
      "\x9d\xe7\xb8\xae\x3d\xd7\x3f\xf1\xe9\xfc\xcc\x4d\x71\x62\x9f\xfd\x23\x0e"
      "\x59\xf4\x32\x4c\xeb\x30\xf9\x7c\x7a\x74\xb7\x13\x5b\x67\xce\x2c\x19\x6f"
      "\xf2\x63\xca\xab\xcf\x71\xb9\xef\xe7\xf9\xaf\xd6\x8e\x4b\xdc\x3b\x78\x51"
      "\x99\xee\x82\x4f\x73\x66\x58\x5f\x19\xf6\x6e\x9f\xd1\xb9\xac\xe1\x3d\x47"
      "\x9b\x17\x05\x1f\x0f\x3d\x29\x27\x79\x26\x72\x5a\xac\xc3\xb1\x13\x03\xc7"
      "\x4f\xac\x78\xdf\x71\xa8\x75\x53\x78\xcd\x3e\x85\x92\x95\x45\x8b\x07\x65"
      "\x94\x67\xc9\x6e\xd7\xb6\x5b\x5d\x26\x29\xbb\xb0\x7c\xd0\x96\xba\xea\x11"
      "\xea\xf3\xab\xa2\x0c\xf3\x9d\x3e\xa5\x7f\xd8\xaa\x98\xed\x25\xd3\x27\xc7"
      "\x35\xdb\x53\x3e\x29\x27\xd4\x4a\xef\xc8\x32\x71\x9d\xfb\xde\x3a\x92\xcf"
      "\xd4\x62\x4c\x34\x5f\x48\xc8\x8f\x1b\x28\xfe\xd5\x6c\xb7\xa1\xf5\x19\x41"
      "\xbe\x65\xcb\xfa\x8b\x9e\x05\x0b\xca\x65\xca\xca\xe4\x13\x5c\xda\x47\x59"
      "\xc9\xbc\xd5\x7c\x38\x3f\x6d\xde\xed\x61\x93\xcf\xbb\x87\xb4\xcf\xcc\x39"
      "\x39\xb3\xef\xd1\x6b\x9b\xd5\xed\x8e\xce\x9c\xff\x22\xfa\xe6\x11\x97\xa0"
      "\x75\xd1\xaa\x6f\x06\x3b\x8c\x5d\x65\x3f\x73\xdf\xcc\xac\x11\xaf\xf2\x02"
      "\x83\xfb\xe4\xc6\x4f\x58\x93\x78\x60\xfb\xd9\x4d\x21\xc7\x57\xb6\x5e\xd5"
      "\xf4\x1e\x90\x1b\x5b\x30\xf9\xc1\xca\x9d\x27\x6e\x77\xff\x30\x70\xe3\xa0"
      "\x6e\x1b\xe2\x16\x9e\x73\x28\xff\x68\xf2\x45\x6e\xc0\xcf\x5e\x5f\x4a\x93"
      "\x9f\xfa\x35\xdd\x1a\xd7\xc3\xfb\xe9\x84\x27\x81\xab\xb6\x15\x4b\x15\x1b"
      "\x4c\xcc\x50\x56\x1b\x60\x34\x7c\xf8\xb0\xf8\x09\xa5\xf7\x55\x67\x3d\x52"
      "\x9d\xa1\x57\x24\x35\xfd\xe1\xda\x9d\xa3\xde\x8e\x7f\x69\x2d\xed\x6b\xb8"
      "\x21\xba\xd3\x86\xb0\xe5\x2e\x93\x15\xde\x28\xe8\xab\x3e\x28\x73\x18\x6f"
      "\x74\xbc\xd5\x5a\xf3\x50\x4a\xe2\x95\x53\x87\xde\x57\x2c\x32\x4e\xb5\x1c"
      "\x2e\xfb\xd1\x27\xe3\x90\xfd\x8f\xd9\x31\xc7\xd6\x1c\x17\xf9\xac\xf5\x79"
      "\x51\xd6\xdb\x2a\xf7\xb5\x56\xcd\x21\x9a\x0e\x2d\xb5\xcb\xf6\x6d\x75\x9a"
      "\xb0\x7d\xf6\x87\x55\xd5\xc7\x54\xce\xf6\x76\x6e\xd2\x72\x33\xb4\x4e\xda"
      "\x1c\x9f\xe5\x28\x30\xab\x74\x99\x70\xbe\x23\xa2\xf6\x86\xe3\xf1\xb5\xef"
      "\x1e\x39\xbf\xf5\x72\xec\xfb\xc3\xd6\xf3\xe6\xfb\x6d\x2e\x75\x3b\xfa\x84"
      "\x5c\x1a\x56\xba\x2a\xe4\xda\xc6\x6c\xab\xc0\x1e\x8e\x67\x2f\xae\x7d\xf5"
      "\xda\xd9\xd2\x31\xd6\xf5\x93\xf1\x20\xef\x8a\xef\x51\x6b\x03\xfa\xd4\x34"
      "\x77\x9f\xa8\x1a\xd2\xd6\xe2\x6d\x10\xe6\x14\x7f\x53\xe5\xfa\x06\xeb\xd1"
      "\xd3\x63\xbd\x1b\x0d\xbd\x07\x9e\xba\xaa\x9c\x3d\x6b\x65\xf3\x43\xff\x71"
      "\x92\xa7\x9f\xec\x3f\x72\xd3\x45\x5b\x56\xec\xd7\xbf\xd0\xa6\x4d\x31\xfd"
      "\x72\xff\xd2\x75\xbd\x5d\x32\x51\x07\x65\xbe\x3b\x3c\xde\x12\x33\xcc\x6f"
      "\x79\xd3\xd7\xf9\x3b\xfb\x97\x5e\x9f\x26\xf1\xca\x20\xb7\xf0\xd0\xc7\x1d"
      "\xfd\x83\x97\x18\xca\xb4\x8f\xf2\x97\x93\x56\xea\x54\xb6\x43\xdc\xe9\xf5"
      "\x6e\x1d\x79\x7f\x4b\x53\x1d\xb9\xbd\x07\x66\x2f\x3d\xdb\xee\xf1\xad\x52"
      "\x3b\x3c\x6c\xfc\xa7\x9e\x6a\x0b\x7e\x5e\x74\x17\x52\x99\xf2\xb6\xe0\x99"
      "\xbf\x7d\xdf\xd2\x37\xba\x61\xe3\x1c\x3d\x43\xcd\x07\xd5\xda\x4e\x31\x2e"
      "\xcc\x74\x74\x6b\x1e\x70\xea\x64\xc0\x11\xfb\x3e\xfe\x9d\x9b\xbf\x05\x7b"
      "\x05\x8f\x38\x61\x74\x75\xfa\x9b\x53\x22\x12\x27\x5f\x6b\x18\x0d\x9c\xf0"
      "\x55\xa7\x75\x5f\x27\xdd\x13\x33\xb5\x9e\x9a\x34\xbc\x5f\xba\x6a\xc4\xf6"
      "\xab\x7a\x21\x86\x7e\x32\x2b\x66\xed\xeb\xbe\xf6\xf6\x4d\xe1\xe0\x50\x33"
      "\xfb\x29\xbb\x3f\xe6\xa8\xf6\x8a\x9a\x3f\xc4\xe6\xee\xcf\x85\x0e\x6f\x5b"
      "\xa4\xa4\x26\xc7\x67\x0e\x57\xea\xed\x9e\xb4\xf3\xc0\x2d\x81\xef\x92\xce"
      "\x07\x55\x2e\x99\xb9\x9c\xc8\x77\x6b\x35\xc9\x6a\x18\x5c\x30\x36\x2e\x7f"
      "\x9d\xd5\x73\xd5\x9e\x45\x9f\x7e\x4c\x19\x78\xd1\xa9\x74\x72\xd8\xdd\x3d"
      "\xab\x2b\xde\x55\xf9\x7a\x45\xbe\x33\x9b\xd2\x36\xe9\x87\x6a\x6c\x1f\xc3"
      "\xc0\xfa\x2e\x05\x6f\xdf\x77\x71\x7d\x7b\x5f\x2a\x2b\xe6\xd9\x38\xa9\x0d"
      "\x9a\x0a\x43\xbe\x0f\x52\x7c\x7d\x6d\xb3\x6f\xd4\x5c\x3b\x99\x43\x17\x6d"
      "\xe2\x17\x27\x8f\x90\x57\x0f\xba\xba\xfd\xe4\x96\x9b\xc7\x8c\x7d\x1e\x7c"
      "\xb6\x78\x67\x1e\x67\x50\x59\x9f\xe2\x33\xc1\x7f\xea\x3d\x45\x6f\xc7\xdd"
      "\xee\x45\xa2\xa6\xee\x69\x7a\xf5\x17\x3e\xe6\x1e\xfb\x6c\x7c\x29\x79\x40"
      "\xec\xf4\xf5\xf7\x53\x0c\x7d\xc4\x26\xea\x2f\xaa\x7d\x7e\x72\xa2\x61\x97"
      "\x25\x76\x6e\x03\x14\xef\x5f\x9d\x22\xf1\x35\xfb\xfd\xe5\x53\x2f\xa7\xf8"
      "\x78\x6f\x6e\x4d\xea\x31\x66\xde\xf7\x9d\x17\x17\x1b\x3f\x0a\xdf\x1c\x5a"
      "\x7b\xe0\xf1\xd7\x43\x42\xf7\x7c\xa3\x45\x23\x87\x6e\x2e\x72\xac\x9a\x3d"
      "\xdc\x32\x2f\xbe\xd5\x46\x65\xf5\xa7\x9c\xe2\x0b\x53\x9d\x37\x7e\x31\xdf"
      "\x19\xb2\xf2\x60\xa0\xfe\xfe\xf5\xdb\x5a\x4e\x1d\x6d\x96\x4d\x78\x5b\x90"
      "\xd6\xf8\xae\xe1\x86\x40\xc7\xcc\xa8\xf1\xab\x8f\x85\xaa\xe7\xae\x1d\xcb"
      "\x9b\xad\x25\x64\x97\x57\xe6\xc9\x99\x0f\x5c\x6a\x79\xae\xaf\xa5\xd4\x26"
      "\xb5\x5b\x32\x0b\xca\x85\xab\x6d\xfd\x3a\x6b\x2c\xf6\xee\x17\x59\x94\x29"
      "\x28\xda\x70\xa6\xeb\xfa\x46\xd5\xd5\xca\xe5\x9f\x8a\xea\xdd\x23\x4d\x6f"
      "\x9d\x89\x76\x38\xfe\x6d\x82\xdf\xe4\x6d\x86\x47\x94\x77\x59\xcd\x3a\xfd"
      "\xfd\x47\x54\x66\xee\xcc\x29\xf1\xee\xfd\x66\xb5\x69\xea\x75\x36\x92\xad"
      "\xee\x6f\x7f\xe0\xdd\x3b\x5f\x23\xbf\xd3\xc9\xba\xe3\x6f\x78\xdd\x7b\x98"
      "\x99\x3d\x61\xc1\xd3\xb6\x4c\xa1\x90\xf1\x92\xe1\x57\x32\xeb\x35\x9f\x35"
      "\x3f\xf2\x1b\x1c\x3f\xaf\xb2\xc7\xc4\x94\x9f\xb5\x7d\x1a\xdd\x93\xce\xdd"
      "\x49\x5f\x1a\x59\xa3\xb8\xc5\x2f\x6d\xd6\x42\x91\xd4\x94\xdc\x18\xb9\x8c"
      "\xbe\x47\x5a\x32\xd4\xb7\xb6\xc7\x6a\x5d\x68\x18\xb7\xf0\x56\x7c\x8c\xfb"
      "\xa6\x4b\x79\xc3\x12\x13\xce\x26\x3c\xda\xb3\x69\x67\x8e\x49\x75\x8c\xa7"
      "\xed\x6e\xed\x5c\xb7\x2d\x6f\x8a\xde\xa7\xce\x1f\xa6\xea\xbb\xda\x29\x3b"
      "\xa9\x2a\x24\x5c\x2a\xb5\x3c\xb1\xf8\x67\x5b\x55\x55\x89\xc3\xc7\xf4\x92"
      "\xfd\x2f\x92\x76\x1d\x1f\xbf\xe7\x41\xd4\xe9\xce\x6b\x55\x0e\xa4\xd4\x64"
      "\xcc\xcf\x76\x68\x1e\x12\xe7\x72\x54\xb9\xeb\x7a\x83\x45\x83\xbd\x7f\x68"
      "\x14\xe9\xd6\x74\xb3\x95\x73\xfc\x7e\xe0\xdc\x17\xcf\xc3\x47\x13\xbf\xc9"
      "\x79\x5c\x3d\x2b\xf3\xbc\xe5\x48\xc3\x87\xf0\x55\x56\xeb\x67\x68\x6c\xae"
      "\xeb\x55\xa1\xb4\x26\x36\x52\x48\x66\x62\xc9\x28\xe9\x21\x66\x9b\x2d\x6f"
      "\xcd\x73\x5a\xbf\x28\x6d\xc7\x08\x89\x79\x09\x4d\x16\x7d\x96\x3d\x19\xd3"
      "\xd8\x2f\x34\x45\xd8\x63\xf8\xdd\x2e\x0e\x2d\x61\x13\xc3\x7d\x07\xab\x7c"
      "\x5e\xfa\x52\x24\x4b\x63\xf7\x25\xf1\x57\x53\xd7\x36\x5d\xb6\xbb\xe8\x33"
      "\xfd\xd3\xa0\xd7\x23\xbe\x5c\x52\xd9\x3d\xeb\xb4\x97\xa3\xa5\xa6\xcf\xf3"
      "\x9c\x7d\x5d\xc3\x56\x08\xf9\x85\xdd\x4d\xfa\x56\x39\xc4\xe1\xa9\x9e\xfa"
      "\xf9\xf1\x8b\x65\x86\xfc\x4c\xb8\xff\xae\x40\xce\xca\xa4\xf8\xe1\xee\x84"
      "\xde\x59\xa6\xb3\xf6\x2f\xd8\xd2\x3c\x28\xb6\x3e\xe7\x8d\x67\x6c\xdb\x01"
      "\xbf\xc7\x4e\x3f\xe4\xbb\x3a\x3b\x47\x18\x2b\xc4\x8b\x8c\xbc\xe3\x7a\x6f"
      "\xd0\x7b\xdb\x92\xe2\x05\x65\x8b\x94\x3b\x1e\x1c\x18\xaa\x7c\xe2\x55\xc3"
      "\xf0\xb6\x8e\x26\xbd\x58\x17\x33\xe5\xf3\x8b\x4c\xcb\x17\xd5\x7b\x47\x75"
      "\x2b\xb8\x15\x39\xfd\xcd\x7c\xd7\xbe\xba\xae\x17\x2f\x26\x38\x45\x36\x47"
      "\x75\xca\x91\x6e\xa8\x9e\xd6\x36\x33\xdc\x51\x24\x7c\xee\xb2\xe9\x47\x73"
      "\x9f\x5f\x2e\xb9\xfd\x2d\xd3\x21\x7f\x8e\xb2\xff\xf4\xc9\x8f\xe2\xb2\x8d"
      "\x3e\x9c\x8a\xde\xb3\x72\xb5\x79\x4b\x17\x9b\xa0\xe2\x77\x2e\x49\xd9\xdb"
      "\x1c\xfd\x93\xba\x4e\xbb\x69\x17\xb2\x72\xea\xa8\xeb\x15\xca\xee\x4b\x94"
      "\x9e\x48\xaf\x72\xeb\xb8\xed\x35\xc2\xab\x55\xfb\xb9\xfa\x93\xd0\x13\x3e"
      "\x47\xf6\xb5\x4a\x86\xca\x94\xb9\x39\x1e\x9a\xbb\x59\x48\x65\x6a\x40\xf8"
      "\x4a\xf5\x49\xa2\xfd\x2c\xb6\xda\xc5\x49\xec\x8e\x3f\x19\xf8\x7a\xcb\xe3"
      "\xd0\xcb\x17\x12\x63\xaa\xd4\x82\x2a\x17\xac\x1d\xbd\x21\x70\x86\xc9\x82"
      "\x47\xdf\x9f\x76\xf4\x10\x64\xb4\x8d\xb4\xdc\xd6\x3c\xe5\x60\xb9\x5c\x49"
      "\x70\xa7\x42\x3b\xe1\x67\xf6\x0e\xb1\x76\x49\xad\x1b\xcf\x48\x7c\x3a\xd5"
      "\x3e\xef\x78\xe7\xad\x19\x8e\xab\x13\xef\xe8\x7f\x6c\xaf\xdd\xb9\x39\x48"
      "\xc3\xf7\xc0\x82\xfe\x0a\x46\x2d\x09\x0d\x11\x39\xab\xe5\x5c\x66\x1d\x1f"
      "\x29\x6f\xec\xe9\xb7\xe6\x85\xfb\xee\xe9\x95\x0a\x3b\x73\xd5\xd7\x45\xcd"
      "\x58\x26\xf6\xb1\xc7\xc8\x0f\xa9\x2a\xf6\x16\x36\x8b\x35\x17\x8c\x5b\xb1"
      "\x51\x7d\xf2\x7e\xd1\xda\x42\x4b\xd9\xd7\x8a\xf7\xb2\x95\x62\x17\xed\xfc"
      "\xf9\xf8\xf9\xcc\xf3\xce\x3d\xd5\xa7\xd4\x35\xf9\xc5\x8f\x3d\x3c\x73\x40"
      "\x9c\xe3\x88\x77\x13\x2a\x47\x37\xe9\x15\xac\x74\x0f\x3a\xa9\xd4\xf4\xdf"
      "\xf8\xea\x02\x00\x00\xfc\x45\x66\xa2\x3b\xbb\x3e\x7a\xa9\x30\x40\xbd\xa9"
      "\x7f\xf6\xd9\x7e\x6e\xc2\xbf\xdf\xff\x77\xfa\xb5\xfd\xf7\xfb\x7f\x07\x21"
      "\x81\xe0\xf1\x34\xd3\x7a\x91\x82\xba\x75\x37\x64\x03\xe2\x4a\xb5\xaa\x46"
      "\x78\xd6\x4a\x68\x88\x9c\x92\x5a\x62\xdd\x57\x75\x82\xca\x97\x7b\xd3\x2f"
      "\xf6\x9a\x10\x29\x26\xbc\x67\xbc\xd2\xcf\xfd\x35\x0b\xdf\x5c\x1e\xab\xbf"
      "\x67\x69\x56\x6e\x75\x4e\x70\x83\xb1\xd3\xa4\xb2\x2d\x5d\xb2\x13\xe4\x3b"
      "\x6e\x6f\x1b\xec\x74\x5c\x72\xfc\x58\xdf\xc9\x86\x53\x63\xb3\x83\x54\x8b"
      "\x97\x8e\x6a\x36\x6d\x68\x1d\xb7\x23\xab\x97\xd4\xb8\xe0\xa9\xcd\xbb\x57"
      "\xfb\xca\x7f\x7e\x21\xf7\x78\x84\xc5\xb0\x7d\x79\x0b\xa6\x1c\xa8\x35\xb9"
      "\x24\x77\xf0\xa6\xe4\x91\x22\x25\xa9\x01\xbd\x83\x47\x47\xec\x3c\x92\x9e"
      "\x68\x73\xc4\x7f\x80\x85\xcc\xb1\xc1\x1d\x4d\xc5\x1f\x72\x46\xaa\x99\x5c"
      "\xdf\x72\xb7\x25\x76\xd0\x1a\xd7\xfe\x83\xc6\xf4\x6c\xb5\x29\x78\x64\x32"
      "\xeb\xc6\xa3\x75\x93\x9d\xea\xba\xf5\xb6\x8a\xfe\xe6\x75\x76\xec\x2c\x0b"
      "\xf7\x69\xee\x95\x8e\x62\x41\x97\xfb\x1f\x49\x2d\x9e\xd3\xfa\xbe\xcd\x2b"
      "\xa8\xb6\xed\xad\xc4\xeb\x8a\x82\x9e\x11\x45\xb5\x8b\xcf\x48\xbc\x95\x91"
      "\x7a\x9e\xf4\x73\xfb\xcf\x85\x55\x2a\x27\x1d\xae\x7d\xde\x29\x6b\xf5\x74"
      "\xd7\xec\x6c\x9f\x93\x4d\xd9\xe3\xb3\xab\x34\x56\x28\xc4\x8c\xb7\x17\x8f"
      "\xd9\xe5\x39\xa1\xbc\xe8\xf5\xde\x49\x73\x8e\xa9\x49\x86\x89\xd5\xcc\x5b"
      "\x28\x2d\xb5\x26\x58\x7c\x7e\xc6\xcc\x88\x0c\xeb\xc0\x17\x2e\x07\x5a\xcf"
      "\x3f\x31\xad\xc8\x52\x68\x54\x56\xbc\x2c\x3f\x7f\x44\x7a\x57\x95\x90\xd6"
      "\x19\xba\x3a\x6b\x27\x1c\x2c\x0e\x49\x50\x48\x79\xf6\xec\x62\x41\x9e\xf9"
      "\x0c\x59\x9d\x9f\x65\xc1\x39\x4a\x6f\x8f\xea\xbf\xf0\x75\xf9\x9e\x52\x7f"
      "\x40\xf1\x42\x62\xe8\x6d\xf1\x35\x1d\xc6\x1e\x53\x0e\xd6\x9f\xa9\x5c\xfd"
      "\x78\xee\x85\x61\xc3\x2f\x57\x2c\x76\xce\x36\xbb\xbc\x21\x70\x4d\xea\x87"
      "\x4a\xeb\xba\x3d\x6f\x1e\x56\x5f\xbd\x7d\x6d\xe9\xda\xd6\xf6\xd5\xea\x52"
      "\xc5\x96\x6d\x71\x7b\xd2\x4d\x5d\x27\x79\x88\x75\xad\x79\xd8\xcb\xf3\x79"
      "\x68\xdf\xb5\x3d\xbe\x18\x58\xe9\x09\x3a\xee\xa6\x14\x6e\x58\xdd\xeb\x46"
      "\x3f\x2f\x8d\xba\xd8\x98\x39\xa9\x3f\x7e\x84\x65\xcd\x2f\x8c\xcf\xb6\x8c"
      "\xbc\x72\xb7\xba\xb0\x5d\xcb\x5d\xf4\x74\x92\xd0\xe8\x9f\x2e\x9f\x92\xb7"
      "\xdb\xea\xaa\x7b\xd8\xb5\x94\x5a\x26\x3d\x39\x7b\xb9\xba\x70\x69\x43\x4c"
      "\xe5\x3c\xf3\x88\xed\xa2\x57\x4b\x9b\x87\x56\xf6\x96\xcf\x36\x9b\x94\x25"
      "\x77\xb8\xb1\x28\x5d\x71\x7f\xd8\x96\xba\x6f\xfa\xde\x53\x54\x4f\x94\xbd"
      "\x30\x5b\xac\xb4\x7f\xd5\xcb\x97\x16\xa9\x69\x9b\x7e\x06\xc4\x64\x3c\xd8"
      "\x97\x72\x7b\x5b\xe9\xc5\x43\x43\x3a\x1d\x54\xb6\x1a\x3d\xac\x8f\x5a\x86"
      "\xae\x76\xa7\xdb\x12\x6e\x5d\x0a\xa2\xbf\x87\xd7\x74\x13\x3f\x7e\xfd\xd3"
      "\xab\xf0\x91\x2a\xb1\x57\xbd\xce\x3d\x9c\x2e\x24\xea\xaf\x30\xf5\xca\x72"
      "\xd7\x7e\x51\xc5\xd1\x95\x77\x1c\x14\x47\x46\xae\x6d\xf2\x78\xaa\xef\xf4"
      "\xe6\xaa\x89\x43\xea\xea\x49\x63\x46\xef\x5e\x20\xb8\xaa\xbc\x7a\x76\xf5"
      "\x8a\xe8\xa2\xc0\xa1\xb3\x7b\x9b\xdf\xf7\x59\x63\x99\xef\x26\xef\x77\x69"
      "\xd3\x08\xb7\xf6\x39\x96\x91\x62\x9d\x83\x1f\x0c\x5a\xe2\xb8\x49\x77\xfb"
      "\xea\xd5\x2e\x53\x2d\x3c\xa6\x8a\xe5\xe9\xf5\xa8\x78\xf0\xe8\xc2\x86\x96"
      "\xb3\x6e\xa6\xa2\x9b\x1e\xe8\x7f\x3b\xdc\xc9\xb7\xcf\xeb\x79\xf9\xea\xad"
      "\x93\xbd\x5c\x8d\xbb\x6f\xb1\x56\xff\x3c\x7c\xf8\xd3\x2e\x7d\x97\xde\x6e"
      "\xdb\xf1\x5d\xbb\x48\x71\x9d\x8a\xd6\xdd\x84\xfc\xe9\x1f\x0f\x6c\x9d\x59"
      "\x59\xa4\x7c\xc9\xda\xeb\x5e\x97\x75\xdd\xbd\xe2\xbf\xea\x78\xbd\xb5\x9a"
      "\xeb\xe1\x36\x56\x3f\x6b\xf8\x62\x2b\x85\xb1\x77\x6e\x3a\x67\x0e\x7c\x58"
      "\x97\xb9\xe2\xb4\x96\xfc\x56\xa7\x05\x83\x3e\x49\xab\xa5\xbd\xbe\x59\x9e"
      "\x33\x67\xa4\x9d\xc8\x88\xf3\xdf\xd6\xec\x56\x0b\x2e\xe8\xf5\xb5\x6d\xfc"
      "\x85\x53\x95\x57\xcf\x1e\x9d\xe3\xec\x92\x1f\xed\x35\x22\x6b\xe1\xf1\xb7"
      "\xee\x41\x5d\xc3\x7d\xec\x22\x06\x87\x06\x26\xd9\x7e\x1c\x69\x3c\x28\xb8"
      "\xff\xcd\x1b\x97\x7b\xe7\x79\x47\x2c\x33\xad\xee\x5e\xbb\x6f\x8a\xe3\xc8"
      "\x86\x6d\x43\xb2\x2e\x8d\x29\x5e\xb2\x3f\xf2\xfb\x88\x78\xdd\x62\xe3\xc3"
      "\x1f\x52\x93\xce\x9d\x55\xae\xbd\x75\x5c\x35\xe0\xe5\x70\x61\xfb\xe0\xc0"
      "\xd3\x09\x2e\xd6\x3f\x5f\xcd\xd6\x39\xdd\xe7\x4c\x70\x6f\x5f\xbb\x46\x8b"
      "\x49\x5e\x65\x2b\x84\x74\x65\x9f\xd9\xa4\x0f\x2e\x2c\x56\x72\xbd\xf8\xfe"
      "\xbd\xaf\xac\x72\xc3\xad\x57\x77\x62\x96\x57\xde\xbf\x32\xd8\xea\x5c\x73"
      "\x68\xf8\xb0\xce\xd9\x9f\x3e\x1c\xa8\x73\xfa\x28\xf0\xce\xea\xb2\xa5\xb1"
      "\x24\xa8\x29\x5d\x51\xad\xaa\xe3\xe6\xfe\xba\x8e\x5b\x29\x73\xda\x0f\x9f"
      "\x6a\x9b\x75\x57\x58\x66\x60\xa1\xed\xa3\x25\xef\x72\x4e\x7c\x6f\xbe\xbf"
      "\x7f\xfb\x5d\x03\xdf\x7d\xad\x2f\xba\xa6\xbd\x4d\x2f\xf0\xb3\x5a\x37\x7a"
      "\xaf\xcd\x83\x3e\x57\x5e\xbc\xbb\x22\x34\xed\xf5\xf2\xf0\x5d\xb6\x61\x43"
      "\x8a\xfa\xee\xbc\x77\x28\x3b\x73\xfa\xeb\xea\x91\x36\x25\x86\xba\xc3\xef"
      "\xb4\xcb\x05\xe6\x3c\xfe\xe1\xf3\xec\x52\xb7\x35\xbd\xe7\xfb\xee\x2a\x7a"
      "\xec\x3a\x5d\xf3\x63\xe6\x75\xb5\x46\x9d\xdb\x23\x9c\xd3\xe3\x16\x66\x06"
      "\xc5\x5d\xae\x59\xb1\x54\xdb\x6e\xa7\x84\x5f\x76\xa9\xca\x06\x8d\x98\x9f"
      "\x72\x43\xa2\x4c\x6c\x9f\xf6\xb8\x98\x31\xad\x60\xe0\xe1\xf0\x11\x0e\xdd"
      "\xcf\xab\x4d\xaa\x2b\x7e\xe9\xa0\xa1\xb0\x30\xb0\x45\x5f\xf8\xad\x4d\xe6"
      "\xd8\x01\x4d\x2b\xb7\x26\x1e\x7a\x3a\x62\x85\x8d\xd8\x1a\xbd\xbc\x5e\x6b"
      "\xc2\xf5\xcc\xe6\x56\x64\x76\xbb\xb5\xa9\x53\x4c\xee\xc8\xaa\xb5\x07\x03"
      "\x06\x2f\x7f\x36\x68\x6a\x6e\x78\xb1\xf6\x18\x17\xa1\x21\xe7\x3a\x06\xff"
      "\x98\x76\x38\xe0\xe8\x80\xcf\xb6\xf9\xea\x23\x5f\x1f\x7a\xac\xd5\x7c\x25"
      "\x32\x57\x67\x8c\xc9\xc2\xe2\xd3\xdf\x06\xb8\x68\x6c\xb2\x32\x28\x9f\x1f"
      "\x37\x7e\xbd\xb5\xa4\xf4\x70\xfd\xd3\x4f\x9c\x2c\x2c\xcf\x6e\xdc\xd9\x23"
      "\xfa\xfe\x3c\xad\xa1\x3e\x9e\x53\x42\x56\xdf\x6a\x9c\xf0\x6a\xdd\x3a\xe3"
      "\x51\xb2\xed\xdf\xa5\xbf\xcf\x38\xb9\x3e\xa2\xff\xbd\x9f\xcd\x76\x53\xb6"
      "\x8e\xac\x97\x55\xb8\x7b\xba\x87\xf9\xeb\xd3\xda\x3a\xbb\xbf\x3f\xdf\x7c"
      "\xa2\xa6\xd3\xb5\x6c\xe5\xcc\xec\xc3\xea\xe7\x8a\x13\x2f\x05\x9e\xb8\x31"
      "\x6c\x53\x48\xc6\x24\xcb\xa4\x79\x2f\xf2\x24\xca\xac\x5b\x76\x4e\x9b\x54"
      "\xde\xaf\x4c\xdd\x4e\xe1\xce\x9a\x80\xa9\xd7\xef\x0c\x56\xb7\x70\x28\x91"
      "\x0e\xb7\xbe\x77\x25\xe6\x89\xb6\xc9\xab\xaa\x61\x4d\x17\x77\xed\x16\x3a"
      "\x39\x4b\xfc\xdd\xf1\x89\x37\x2f\x6f\x1f\xe7\xb1\x27\x53\xf2\xf2\xa9\x73"
      "\xb3\x75\x22\xa2\x53\xe5\xf7\x3e\x35\x73\x9e\x99\x9d\xb0\x71\x89\xee\xbc"
      "\xa9\x21\x2b\x24\x6f\xfb\x59\xba\x97\xd7\x16\x1c\x11\x68\xd7\x64\xb6\x9c"
      "\x6b\xb4\x3f\x9f\x72\xf4\x60\x6a\xef\x78\xb1\xc7\x53\xeb\x2c\x8d\x9f\xed"
      "\x7b\xb0\xbb\x39\x22\x3e\xa6\xa5\x28\xdd\x65\xf8\x75\xa7\x69\xe6\x05\x51"
      "\xb2\xc7\x3c\x0f\xdb\x6a\xfc\x50\x39\x14\x9b\x3d\xbc\xb9\xc7\x19\xd9\x75"
      "\xef\x35\xed\x75\x05\x5b\x97\x1a\x2c\x75\xff\x3a\xf7\x6e\xec\x97\xd8\x6f"
      "\x86\x8b\x6f\x49\x3c\x71\xb7\xda\x2e\x78\xa6\x91\xbc\xb3\xa7\xa7\x81\xd3"
      "\x03\xed\x73\x1b\x8d\x8d\xe4\xea\xc6\x2d\xcd\xda\x54\xa8\xff\xdc\xed\xd6"
      "\x22\xcb\x2a\xa1\xed\x2b\xac\xb4\xde\x24\xd4\x2b\x69\x48\x1a\x9b\x54\x45"
      "\xa9\xae\x7a\x19\x7b\xc2\xcc\x5b\x27\x3f\xab\x6e\xdc\xe4\x79\x41\x17\xe2"
      "\x2e\xf9\xf7\x1f\x60\x60\xdf\xbd\xc4\x6f\xcb\xf8\x87\x51\x49\x93\x6f\x4e"
      "\x95\x7e\xb2\x38\xc2\xdd\xed\xfb\x8c\xd6\x7d\x97\x7c\xbd\x97\x59\x1f\x94"
      "\xfe\xdc\xbd\xd0\xf2\xc9\xd2\xdb\xcd\x4a\xaf\xcb\x6e\x3e\xde\x91\x72\xb0"
      "\x5b\xe6\xc9\xfc\xd8\xfa\xdd\x3d\x4f\x6f\x6b\x15\xf7\x19\x10\x65\xaf\xd0"
      "\xb8\xfe\xe8\xae\xb4\xfc\x51\x4f\xbf\x16\x4d\xba\xe7\xb6\xa4\x78\x49\xc7"
      "\xc2\xa9\x07\x26\xcb\xbc\xbf\xbe\x3e\xf3\x4e\x58\xd0\x92\xb2\xc8\x7a\xf1"
      "\x84\x2f\xb3\xf5\x06\x09\xef\xc9\x9b\x77\x51\xff\xd3\x9a\x53\x6e\x83\x23"
      "\x33\x17\x49\x87\xcf\xfa\x19\xa1\x74\x7b\xaf\x5a\xb4\xa3\xe8\xf9\x4e\x2f"
      "\x2a\x56\xdb\x77\x9b\xf0\x3c\xb7\xdb\x3e\x43\xb5\x55\x97\xdb\xfb\xb9\x8d"
      "\xd4\xec\x74\xb2\xf0\xc5\x86\x13\x3d\xc3\xc7\xce\x3f\xd8\x55\x65\xeb\x85"
      "\x68\x59\xb7\xd3\xc5\xc3\x8e\x55\xe5\xb9\xba\x2f\x3f\xd7\x5c\x11\x35\xe4"
      "\xa2\xd9\xd2\x28\xbd\xd7\x7b\xde\x28\x1b\xbe\x8c\x18\x5e\x5b\xf0\x4d\x75"
      "\xcd\x82\xb3\x36\xce\xba\x63\x5b\x62\xbe\xce\x7e\x3a\xf3\xa0\xa4\xee\xd2"
      "\x3e\x8f\x0e\xee\xb1\x3c\x74\xf9\xce\xe9\x7c\x9d\x30\xa3\x31\xc7\xec\xe5"
      "\x4e\xbe\xd9\xa0\xd1\x2d\xb3\xd1\x6a\xf1\xa1\x30\xf7\x7b\x8d\x21\xbb\xca"
      "\x1d\xbf\x78\x5e\xd7\x38\x93\x93\xf6\x73\x88\xeb\x0c\xeb\x6f\x06\x87\x7c"
      "\x0f\xfa\x0d\x76\xe8\x96\x76\xee\xa0\xdd\x2c\xc7\xe1\x6d\x52\x39\x8d\x7e"
      "\xc9\xcb\xcb\xbd\x8e\x9e\x38\xe2\x66\xeb\xb2\xd6\x52\x44\x44\x34\x2f\xa2"
      "\xdb\xf4\xc0\x79\xdf\x56\x68\x57\xc8\x4c\x1c\x9a\xe4\x3a\x72\x4f\x50\xad"
      "\x55\xfd\xd0\xfd\xdb\xe7\xdc\x99\xfa\xca\x79\xf6\x81\xa8\xb3\x2d\xf1\x1f"
      "\xa2\x83\xe2\xd2\xc2\xf7\xfc\x70\xef\xf7\x42\xbf\xfc\xd6\x6e\x73\xcf\xe8"
      "\xa0\x39\x65\x9b\x42\xb4\x4d\x3e\x9f\xdb\xdc\xcf\x36\xef\x4a\xb7\xe2\x87"
      "\x4f\x5a\x1a\xa3\x55\xdb\xcc\xa4\x55\xcd\xad\x93\x97\xa5\x89\x08\xe5\x86"
      "\x5e\xb0\x6b\xdd\x2c\xb8\x5d\x98\xb8\x73\x7b\xd3\x38\xfd\x1c\x87\x98\x8b"
      "\x5f\x25\x2b\xe6\xf9\xcf\x7c\x35\xdd\x3b\x41\xb6\x7d\x58\x3f\xb9\xf6\x81"
      "\xe5\x01\xf2\x93\xd2\x95\x5f\x5c\x1e\xe5\x6e\x3b\xac\x74\xea\xf4\xa8\x6b"
      "\xef\x02\x1f\xef\xbf\x2d\x38\xae\xfe\xa4\x4f\x64\xa7\xcb\xab\x57\x9c\x89"
      "\xdd\xd8\x35\x34\x3f\x68\x49\xe5\x92\x1d\xba\x31\xd6\xcd\xae\x29\x37\x0e"
      "\x45\xaa\x36\x1d\x5a\x3c\x57\x42\xb1\xec\xea\xf6\x89\x5a\x2a\x13\xef\x06"
      "\xd6\xa4\xe8\xd8\x8e\xcc\x5a\xbc\xc2\x3c\x38\xdb\x7b\xee\xc8\xa7\x0a\xbe"
      "\xc2\xb6\x1b\x75\xa7\x5f\x2f\xf7\x9d\x29\x38\xe0\xd2\xa5\xab\x54\xaf\x11"
      "\xa7\xfd\x2d\x6f\xea\xf4\xd9\xfa\xf2\x7d\x5e\xa7\x23\xf1\xa9\xc7\x85\xe5"
      "\x62\x8f\x96\xba\x94\x9c\xbf\xa7\xe5\x55\x39\xfa\xf9\x9d\x61\xa2\x57\x9e"
      "\xa4\xbf\xd5\x9f\x3a\x76\xe1\x82\x31\x96\xaf\x26\xde\xc9\x8e\x29\x0e\xd0"
      "\x5e\xf1\xbd\x65\x93\xe8\x32\xa3\x56\xb5\x1d\x1b\x55\xd4\xeb\x57\x54\x1d"
      "\xaf\xbd\xd0\xcb\x35\xcf\x64\x91\xdc\xe9\xe4\xf7\x5f\xc5\x34\xe4\x6f\x46"
      "\xd8\x9c\x75\xee\x72\xf4\x81\xb9\xee\xf5\xdc\x94\x01\x3a\xfd\x3e\x6e\x2f"
      "\x91\xd7\x68\xed\xbc\x75\x93\xee\x2e\x9f\x57\xbe\x7e\xc9\x2b\xc5\x5b\xaa"
      "\x1f\xee\xd2\x6c\xb9\x5a\x51\x19\x19\xbb\xb3\x4a\x65\x8d\x5d\xf4\x90\xe6"
      "\x3d\x97\x8e\xb4\xdd\xd9\x22\x71\xe4\x63\xcf\x0d\xb5\xbd\x8f\xe8\xc5\x2c"
      "\x0d\x97\x5a\x95\x2a\x31\xbc\xc7\x76\xbd\x99\x52\xa9\x47\x7c\xb7\xf5\xfe"
      "\x59\xfe\xb5\xba\xfd\xb3\x69\xdb\xf2\xb3\x97\x6e\xc9\x94\xac\xfc\x21\x5d"
      "\xe9\xdb\xb0\x6e\x9d\x46\xa9\x4c\x9c\x49\x9b\x49\xd3\xd1\xd3\x47\x73\x3a"
      "\x84\xe6\x8d\xf4\xe8\xf6\xb6\xf0\xac\x69\x95\x76\x43\xc2\xfc\x90\xb9\x5a"
      "\x39\x9d\xd4\x9c\x7a\x85\x77\xf4\xaf\xd1\xef\x18\xf2\x4c\xe4\x62\xa7\xef"
      "\x0b\x2b\xd4\xe4\x9c\x97\x2d\x73\x9a\x32\xfa\x9c\x7f\xa3\xf2\xe2\x8b\xcd"
      "\x01\x19\x8a\x5f\x56\x9e\x7f\x96\xff\xc3\x63\x7f\xc1\x31\xfb\x69\x17\x6e"
      "\xef\x8b\xf8\x5c\xf3\xe9\x7b\xdd\xd6\xe4\x09\xf3\xb6\x75\x9c\xec\x34\x72"
      "\x4a\xdb\xc3\x25\xa7\xae\x76\xad\xff\xe9\x37\x56\x46\xdd\x4c\x32\x31\x6b"
      "\xaf\x7b\x58\xc2\xfe\x6f\xed\x95\x0b\xb7\x8c\x54\x19\x90\xbf\x64\x81\xdf"
      "\x4b\xf1\xcc\xe7\x19\xb6\x5f\xb3\x0f\xb9\x6b\x68\x8d\x98\x1f\xe7\x18\xa1"
      "\x3f\x47\xb7\x7d\xd8\xc6\x0b\xb1\x25\x81\x53\x47\xc9\x86\x36\xbb\xcc\x77"
      "\xd5\xd6\x88\x5c\x2e\x5a\xf6\xf5\x9c\x74\xcc\xb2\xcb\x33\x44\xec\xef\xc7"
      "\x9b\x2f\x3e\x62\xf2\xa1\x7e\x50\xa7\xc2\xa3\xde\x73\x36\x8f\x9c\x79\xbe"
      "\xbb\xc1\x01\x91\xc1\x92\x72\x09\x5f\x13\x7f\x56\xed\x71\xf2\x3f\x9e\xb9"
      "\xde\x26\x74\xed\x8a\xa7\xdd\x1e\x35\x2b\xec\x72\x3d\x78\xe1\xcc\x04\xcd"
      "\x6d\x1e\x52\x4e\x4b\x22\xee\x1e\xce\xb7\x72\x8d\xb3\xb2\x6f\x78\xef\x50"
      "\xd8\xf5\xee\xfa\xca\xb2\x50\x97\x99\x61\xe5\xc3\x07\x5b\x95\xbd\xb7\x5f"
      "\x58\x70\xb2\x87\x60\x52\xe8\x61\x91\xc4\xee\x73\xae\x7f\xfd\x62\x9b\x91"
      "\x98\xb0\xb7\x75\xb8\xc2\x9e\xb1\xa3\x65\xe5\x46\x0d\x33\x30\xbe\x9a\xfc"
      "\x21\xd7\x69\xec\xae\x6f\x21\x55\xbb\xea\xc7\x8e\x39\x99\xe2\x72\xac\x39"
      "\xfd\x63\xd8\xda\xd3\x8a\x2a\x23\xd2\xcb\x33\xaf\x5b\xdf\xec\x69\xe4\xf7"
      "\xd0\x3a\x4a\xcd\xf8\xc6\x81\xa8\x32\x1b\x79\xc9\x79\xcb\xc4\x1d\x45\x1b"
      "\x74\x9e\x89\xb7\xe7\xce\xea\x7b\x7c\xf2\xc7\x86\x36\xb3\xb5\xd7\xcf\x86"
      "\x3b\x4e\x5e\x71\x56\x53\xa4\xb6\xed\xf1\x87\x33\xaa\x83\x95\xaf\xa7\x0d"
      "\x13\xa9\x7b\x99\x1a\xa2\x36\xd9\x6b\x70\x6b\x8f\x30\xf7\xd2\xc6\x48\xe1"
      "\xd1\x3b\xce\x15\xca\x45\x79\xf7\x1c\x63\xd7\xf8\x29\xaf\x47\x50\xe0\xc0"
      "\xf7\xb5\xab\xdf\x74\x3e\x37\x58\x36\xe9\x51\x5a\x76\x7a\x62\x94\xdd\x68"
      "\x4b\x73\xf1\x7e\xe9\x33\x4f\x7d\xf4\x8e\x5b\xd8\xaf\x75\x51\xd9\xfc\xd2"
      "\xb9\x6a\xa1\x9d\xde\x1a\x6c\x0d\x1a\x3a\xdd\x41\xf1\xae\xd5\x8b\x19\xa7"
      "\xb5\x5e\x49\x4d\x3f\xfb\xc2\xdf\x53\xcd\xe8\xb8\x8b\x98\xab\x6c\xfb\xc5"
      "\x0b\x46\x43\x6b\xd5\x64\xdc\x26\x5c\x6c\x09\xb4\xd1\x72\xce\xf4\x2e\x51"
      "\xea\x97\xb8\xb3\xd7\xa5\xf5\x59\x17\x67\x2a\x9b\xde\x9e\xb0\x25\xb1\xb8"
      "\x24\xad\x7e\x75\x4f\x77\x33\xd5\xb2\x0e\x81\x71\xf8\xe4\xe6\x9b\x0f\x33"
      "\x4a\xa5\xf4\x5c\x7f\x6e\x59\x66\x1c\x2a\xe1\x74\xff\x85\xbf\xc4\xe1\xed"
      "\xf1\x6f\x0e\x6c\x57\xfb\x32\xb0\x29\x6e\x83\x8b\x9f\x56\x4b\xfd\xd9\xbb"
      "\xbb\xbf\x44\x9c\x6f\x1b\x53\x7f\x53\xd8\xf1\x4e\x74\xfa\xb4\xd8\xa5\x0b"
      "\x4e\xbf\xb3\x55\x5c\xb5\xa3\xeb\x07\x83\x94\x33\xef\xf2\x3f\x34\x68\x0e"
      "\x58\x9b\x72\x75\xad\xd3\xab\xb9\x13\xdf\x77\x9b\x11\x30\x2d\x47\xac\xd8"
      "\x69\xd8\xc2\xfc\x8c\x01\xa5\x46\x49\x6f\xea\x5e\x56\x97\xe6\xad\x5f\x64"
      "\x72\xff\x90\x52\xbf\xb4\x21\xfe\x0f\x33\x44\x1e\x3c\x54\x90\xde\x3b\xff"
      "\x40\x9f\x09\x8e\xff\xcd\x3f\xfb\x01\x40\x50\x58\x75\xaa\x34\xa9\xdf\xab"
      "\x19\x0d\x47\x9a\x13\x26\x75\x8a\xec\xf6\xfb\xf9\xff\xf7\xcb\xcb\xbf\x3d"
      "\xff\xab\x0a\x04\x82\x4f\x02\x81\xc0\x28\x36\xe1\xf9\xcd\xce\x42\x39\x8e"
      "\x43\x56\x7f\x2a\xce\x1f\xd4\x6a\xa4\x55\x78\xe4\xc1\x18\x97\x5d\x8e\x42"
      "\xa2\x33\x04\xa5\x59\x73\x8d\x22\xca\x9d\x5e\xbd\x76\x9e\x58\x30\x7c\xfd"
      "\xf1\x27\xd9\xdf\x5f\xe8\xe6\x3d\x4a\xe8\x74\xe4\x95\x59\x74\x44\xe8\x8a"
      "\x35\x57\x2e\x6c\xd4\x4c\x4e\x3b\x65\x76\xed\x7d\xa5\xcd\xe3\x1c\xd7\x9e"
      "\xdd\x67\x55\xf8\x49\x4b\xbc\xfc\xe9\x6c\xb3\x20\xb3\xcf\x04\x31\xe7\x77"
      "\xe5\xe2\x3d\x74\x7d\x37\x6e\x38\x36\x6d\xe6\xf0\x61\x4f\x3d\x53\x2d\x26"
      "\x37\x3f\x55\x9e\x3a\x20\xbb\x50\x70\xe0\xba\xe2\x1c\xa9\x6c\xb5\x8e\xdb"
      "\x9b\x4d\x37\xa4\xd8\x8e\xb2\x14\xef\x67\x15\x55\xfe\x3d\xee\xda\xe8\x19"
      "\xa5\xd5\x41\x29\xfd\xdb\x25\x4d\xab\x76\x2a\x38\xe8\x09\x4b\x4f\x9f\xb8"
      "\x4d\x7b\xb5\xed\x06\xdb\xc2\x19\x4d\xbe\x29\x57\x0e\x3e\x7b\x73\x41\x70"
      "\x5c\xf7\xe3\x91\x49\xf5\xd3\x33\x6d\xfb\x46\xf9\xf4\x36\xdc\x71\x2c\xa3"
      "\x6d\x68\xd4\x03\xb3\xae\x36\x67\xaf\x1f\xfa\xf4\x7d\xef\x40\x63\x71\x9f"
      "\x3b\x19\x57\x6e\xec\x69\xa8\x8c\x70\xf6\x1c\x7a\xa3\x73\xc8\xd0\xe5\x3f"
      "\x9f\x7a\x0d\xfb\x54\x71\x55\x6f\xc2\xce\x15\x53\x93\x83\x9e\x79\xac\x10"
      "\x4e\x3a\xb2\x73\x53\xff\xd7\xea\x7d\xe3\xca\x0a\xfa\x7c\x4e\xdc\x51\xaa"
      "\x98\xd5\x7d\xc9\xe3\xa9\x52\x99\x17\xa7\xe4\x7b\xf7\x2c\xbb\xe8\xb5\xde"
      "\xf0\xe1\x98\x60\x87\xef\x5d\xdc\xf2\xdc\x5e\x5d\x98\xfd\xba\x9f\xdd\xcb"
      "\x59\xc3\x82\xf3\x0c\x53\x6f\x89\x0d\x5b\x9e\x96\x10\x94\xdf\x77\xe0\xea"
      "\x98\x99\x99\x91\x9b\x3d\x1b\xae\x8c\xb1\x6d\xa8\xbd\x18\x92\x3f\xc1\x4b"
      "\x77\xc9\x51\xbb\xea\x96\x9e\x29\x72\xaa\x4b\xb4\x6d\xd4\xed\xd5\xb7\xfd"
      "\x9c\x7b\xfb\x53\xe8\xa3\x27\xdf\x0b\x2f\x9c\xbc\x50\x71\x76\xf3\xc8\xa6"
      "\xe3\x07\x37\x2a\x2a\xed\x9f\xd1\x7f\xd4\xfe\x29\x69\xef\x0f\x2d\x4c\x5a"
      "\x70\x3d\xb0\xe9\x86\x48\xa8\x67\x5d\xc5\xd2\xa0\x55\x8d\x72\xeb\x1e\x2d"
      "\xcb\x1b\xaf\xf0\x59\x7a\x89\xaa\xbe\x88\x58\x7c\x9c\x67\xd6\x29\x77\xa7"
      "\xc3\x52\xc7\x26\x2f\xad\xd8\x1c\xf1\xfe\x9b\xcb\x87\xc8\xa6\x4d\x5f\x5f"
      "\x27\x8e\xbe\xe5\x35\x76\x9b\xf7\x20\x05\x43\x49\x99\xb8\x9e\x81\x9a\xe7"
      "\xe4\xa4\xaa\x0f\xbd\x9a\xd2\x6b\x87\x9e\x90\xb8\xe4\xa5\xeb\x35\x9e\xf2"
      "\xe6\x1b\x8f\xcd\x31\x6a\xa9\xbf\x74\x4f\xc7\x6d\xcf\x6b\xe1\xe9\x4b\xd6"
      "\x94\x6c\xb4\x3d\xa0\x34\xd0\x45\x57\xa3\xac\x74\x6d\x8f\xaa\x3b\xda\x65"
      "\x49\x37\x3d\x8e\x0b\x95\x0d\x9a\x23\x6e\xa3\x6a\xa8\x72\xf2\xbd\x8d\x67"
      "\x5b\xbf\x33\x63\x4a\x44\x1a\xde\x96\xbf\x7f\xab\xe0\xa2\xbb\x4e\x5c\xf6"
      "\x61\xed\xf2\xaa\x83\xd9\x82\xc5\xfa\x05\xe3\x3b\x22\x6f\x64\x2e\xab\xbd"
      "\x52\xf8\x56\x69\x49\xe7\x7e\x32\x95\x21\x37\x5a\xbb\x86\x15\xe7\x2f\x79"
      "\xb3\x4b\xdf\x65\xc5\xec\xb6\x3e\x7a\x5b\x44\xa4\x6e\xfb\xaf\xeb\xf7\x34"
      "\xb1\x57\xd5\x23\xfd\x22\x91\xae\x4d\xe5\x63\x4d\xf6\xc4\xdc\x0c\xd4\xa8"
      "\xf3\xc8\x1c\x59\x5d\xb1\x5e\xc9\xd8\x2b\x63\x99\xea\x28\x9d\x95\x32\xbe"
      "\x25\x0b\xcf\xef\xbc\x94\x1b\x7a\xbb\xd4\xa2\x71\x45\xa5\xd4\x44\x99\xfe"
      "\x1e\x0f\x13\xc4\x3c\x9c\x1b\xdd\x6a\x36\x44\xe4\x57\x35\x6e\x8b\x6d\xdf"
      "\x5a\x20\xf8\x91\xa7\xfb\x3a\xef\x9b\x96\x9a\x9b\x45\xbf\x28\x69\x8d\x31"
      "\x4b\xdf\x9c\xb8\x1f\x36\xeb\xe0\x24\x05\x9d\x7e\x3e\x51\xf6\xb1\x51\x71"
      "\xaa\x73\x7b\x79\x19\x89\x7b\x07\x5b\xa9\xa7\x07\x57\x27\xec\x6e\x9d\x39"
      "\xc7\x63\xcc\xb6\x91\xfd\x62\x4e\xbe\x39\xed\xf8\xc8\xfa\xe9\xe3\xa4\x0f"
      "\xfb\x44\xe3\x5e\xbe\x5e\xf0\x3d\xd7\xeb\x96\xe8\x8a\xed\x77\xab\x17\x27"
      "\x54\xdf\xeb\xe9\xb7\xf3\x96\x9d\xbf\x47\x8d\xa9\xfd\xb2\x05\x7b\x3b\xbd"
      "\x97\xbb\xa6\x14\x3b\xca\xd0\xd2\xed\xfb\x55\xbf\x88\x13\xe6\xeb\xdc\x36"
      "\xc8\xc9\xc7\xa6\xf4\x36\x3b\x75\x6c\x5d\x9b\x7d\x58\x6a\xe1\xb4\x51\xaa"
      "\x83\xef\x48\x79\x5d\x99\xbd\x72\xef\xaa\xef\xd1\xfe\xfe\xdd\xd2\x73\x4d"
      "\xc6\xf6\x9a\x74\xde\xf1\xd6\xe4\x3a\x83\x03\xdd\x75\x33\xcc\x25\x4a\xbf"
      "\xae\xef\xec\x57\x56\x9a\x17\x9d\xb6\xed\x65\xc9\x83\x5e\x09\x12\xad\xb3"
      "\x0c\x02\x47\x06\x07\x14\x18\x8f\x12\xcd\x9c\x35\x79\xc8\x13\xf9\x13\x1f"
      "\x2a\x83\xd3\xaa\xee\x89\x4b\x7b\x54\x0f\xb7\x30\xae\xbf\xa7\x9a\xf8\x5c"
      "\xda\xac\x45\x75\x9a\x65\xe9\x8a\xe9\x0b\xfa\x74\x44\x9e\x92\x89\x7a\xfa"
      "\xe4\xf5\xe3\xd2\xe1\x2b\x37\xcf\xa9\x3a\x93\xd8\x53\xf4\xd2\x00\xdf\x59"
      "\x0d\x5b\x77\xec\x68\x2c\xd2\x4a\x9e\xd8\xfb\xe5\xd5\x77\x87\x5c\xf6\xcf"
      "\xf4\x7c\xeb\x55\x6e\x12\x6b\xf7\x40\x34\xf5\xae\x9c\x79\xa1\xed\x80\x97"
      "\xd6\xfd\x62\xee\x0c\x35\xbb\xec\xf2\x5c\xeb\x58\xc7\xd8\xf6\x6d\x0a\xd1"
      "\xb7\x04\x4a\xfd\x36\xfa\x18\x8c\x9d\xfe\x2c\xab\xf4\xde\xc1\x71\xdb\xcf"
      "\xad\xc9\x97\x3f\xa9\xb1\xa1\x47\x50\xaf\xd8\xf4\xe1\x9b\xbf\x3c\x9c\xb3"
      "\xc2\xf5\xa2\xff\xd1\x96\x87\x6e\x6e\x9b\x0e\xab\xf9\xcc\xb8\xff\x60\x84"
      "\x48\x96\x48\x42\xbe\x87\x78\x60\xaa\xd1\x94\xf4\x47\xab\x8f\x76\x5f\xd9"
      "\x57\xee\x9a\x59\xc5\xfa\xd1\xb6\x69\x47\x6b\xba\xef\xcb\x0b\x9d\xfd\x54"
      "\xae\xc9\xb6\xad\x57\x7f\x69\xe5\x82\x45\x6d\xf5\x5b\x0e\xf5\xd8\xe8\xd1"
      "\x67\x98\x4e\xbf\xc0\x5b\x9d\x4e\x77\xaa\xc8\xb3\x90\x50\xd8\x7b\x5a\x29"
      "\xce\x21\x7d\xe3\x52\x73\xe5\x5d\xba\x49\x96\x9f\x56\x5e\xde\x3e\x77\xd1"
      "\xab\x48\xb9\xfe\x99\xe3\x7c\x8f\xc7\x2c\x34\xbf\x93\x54\x7b\xe0\xc1\xd9"
      "\xd3\xc9\x8a\xa1\xf2\x03\xe4\xfa\x2f\xf8\x7c\xf0\x68\x76\xcd\xa3\xdd\x9f"
      "\x66\x99\x0b\x64\x82\xd4\x0f\x17\x8a\x6e\x32\x29\x9a\x28\xeb\x3b\x51\x29"
      "\xc7\x66\xc4\x0f\x6d\xaf\xdc\x17\x09\x11\x6b\x56\x66\x6a\x76\x9b\x62\xef"
      "\xbc\xe4\xe2\xf8\x57\xed\xb1\x3a\xaf\x06\x09\x7d\x95\x58\x30\xca\xc8\xf4"
      "\xc6\xd2\x92\x27\xc2\x6e\xe9\x76\xab\xea\x0f\x78\x0d\xd7\x2b\xf3\x36\x9a"
      "\xaf\x1a\xeb\xfc\x71\x98\xc7\xf8\xd5\x1b\x5c\xf4\xf6\xaa\xee\x50\x6f\x9f"
      "\x26\xaa\xd8\xfa\x22\xf8\xe0\x98\xee\xef\x27\xcc\x3e\x33\xdd\x34\x55\xd3"
      "\x71\xbc\x5f\x9d\xf9\xb1\xf8\x33\x4d\xd2\xa3\x1f\x6a\x9f\xf2\xc9\x38\xfb"
      "\xe3\xe0\x55\x49\x53\xad\x45\x66\x4f\x3a\x7d\x88\x31\xab\x3a\x3b\x78\xa4"
      "\x49\x6c\xf8\xfd\x49\x3f\xdb\xb4\xc6\xee\x36\x49\x0b\xdf\x59\x34\x6f\xb6"
      "\x67\xaa\x5d\xe2\xee\x3b\xad\x86\x09\xea\x2e\x32\xe5\x9e\xa9\x4b\xee\x74"
      "\x96\x7c\x33\xcf\x5d\xb2\x6f\xb7\x7d\x3d\x86\x0c\x18\x36\xb8\xdb\xf0\x6f"
      "\x49\x3e\xf7\x73\xd4\x26\x3d\x5d\x70\xfb\xd2\x3e\xc7\x45\x1f\xa6\xaf\x3a"
      "\xf8\xae\x4b\x6b\x2f\x05\xf5\x33\x8b\xbe\xc8\x6d\xf0\x34\xd0\x5e\x36\x59"
      "\xfa\xd5\x10\xcb\xbb\x93\x4f\x6b\x29\xa7\x9e\xe9\xb5\x6a\xfd\xad\x90\xa9"
      "\x9f\x53\xa5\x7f\x08\x75\x5f\x7f\xac\x78\x85\xfd\x26\xe5\x9c\x1b\x29\x0d"
      "\x51\xb2\xde\x1f\x2a\x2e\x6c\xdf\x73\xdb\xa2\xc7\xfb\xe1\x4d\x21\x05\xfa"
      "\x07\xa3\xb3\x63\xaa\xcf\x9e\xb9\x96\x1a\x95\xfc\x61\xd9\x85\xe2\xfa\x8a"
      "\x86\xde\x4b\x0c\xe6\x8a\xad\x50\x3d\x2f\x5b\xfe\x70\x79\x58\xba\xdb\xc9"
      "\x85\x63\x2e\x74\x3e\xf1\x26\x70\x8d\x87\xd6\x6d\x75\xcd\x08\xe3\xd8\xbe"
      "\x63\x1e\xa4\x7e\x92\x8a\xbf\xf0\x79\xf9\xfa\xb4\x94\xe8\x8c\x92\x73\x73"
      "\x93\x87\x1e\x4e\x7e\x12\x28\x63\x25\x75\x71\x66\x45\xfc\xde\x01\xba\x0b"
      "\x5c\xa5\xbc\x76\x18\xaa\x36\x16\x1e\x5b\xb3\x75\x84\x4d\xe7\xba\x34\x51"
      "\xcd\x0d\xe6\xa1\xeb\x9e\x0f\xbc\x50\x3b\xbd\xaf\xc3\x94\xae\xe5\x3a\x8b"
      "\x54\xb4\xae\x1b\x9a\x8c\x35\x6b\xd0\xe8\x31\xe1\x83\x92\x99\xcb\xb1\x71"
      "\x73\x0f\xdc\xbf\xb6\x7c\x79\x6d\x0f\x71\xa5\xde\x25\x4d\x4f\x7c\x12\xc6"
      "\x7b\x4e\xab\x79\xb3\xd7\xfb\xb5\xf6\xce\x9c\x91\xe2\x57\x6d\xf4\xd7\xe9"
      "\x89\xcf\x9d\xde\xf3\xa2\xc0\xb3\x56\x6c\x55\x4a\xaa\x66\xcf\x24\x5d\x3d"
      "\xc5\xd0\x2b\x75\x03\x9a\xc3\xa5\xb6\x26\x95\x08\x8f\x3d\xd5\xaf\xe2\xe7"
      "\x86\x58\xd3\x1c\xdd\xc6\xd3\x87\xbc\x56\x4b\x4c\x19\x3e\x7f\xb9\xdb\xc0"
      "\x27\x2e\xf9\x45\xde\x47\xfa\x04\xac\xda\x94\xae\x70\xc2\x3a\xc3\xfa\x6e"
      "\x65\x7c\x91\xda\x9d\x51\x6f\xb6\xec\x1d\xbf\x60\x56\xf7\xed\x09\xeb\x46"
      "\x96\xcd\x5d\x65\x6a\xf1\xe5\x86\xe9\x86\x3d\xde\x93\x06\xb4\xa4\x26\x95"
      "\xf4\xf8\x7f\xd8\xf9\xf3\x68\x2c\xdf\xbf\x5f\xfc\xbf\xcc\x42\x44\x99\x22"
      "\x33\x95\x64\x56\x12\x99\x42\x11\x52\xa4\x0c\x25\x43\x21\x64\xce\x90\x79"
      "\xca\x50\x52\xe6\x31\x43\x32\x94\x8c\x99\x13\x21\x21\x64\x4c\x21\x54\xc6"
      "\x48\x64\x4e\x7e\x6b\xdf\xfb\xfd\xde\xfb\x73\x7f\xd6\xbe\xd7\xbd\xef\x3f"
      "\x7e\xdf\xcf\xbe\xd7\x7a\x3e\xd6\xba\xd6\xcb\xeb\x78\x9d\xd7\x71\x9e\xc7"
      "\xba\x8e\x75\x5e\xd7\xe1\xe0\x9a\xb0\xa8\x3f\xf5\x56\x8f\x78\xfd\x87\xe4"
      "\xf4\x96\xc9\xe7\xba\xbc\xd1\xdf\x0d\x4f\x2b\x99\x87\xa3\xb3\xeb\x6f\x46"
      "\x1e\x62\x28\xf3\x73\x65\x09\x4e\x8a\xa1\x16\x73\x34\xa2\x4a\x48\x91\x74"
      "\x93\x0a\x89\xb4\x64\xab\x62\xb9\xa6\x37\x4a\xb4\xa9\x59\x4f\xcd\x51\xed"
      "\xdd\x6a\x32\xa0\xa7\x36\x4e\x62\xf5\x29\xa5\x30\x25\x59\xeb\x82\x6d\xf3"
      "\x60\x23\xdf\xc9\xca\xc3\x1e\x6d\x65\x6d\xe4\xbf\x87\x0d\xd4\xb7\x4a\x15"
      "\x64\x1e\x0f\xd3\x86\x87\x2b\x31\x7d\x78\xc5\xcb\x24\x7a\xcd\xcc\x71\xe7"
      "\x23\xfb\x3b\x66\xde\x03\xdf\x1b\xf2\xb4\xca\x65\xa5\x48\x84\x2f\x4b\x5b"
      "\x1c\xb5\x3a\xd6\x17\xaf\x18\xd3\x1c\xde\x53\x1f\xfb\xe0\xd0\x8e\x89\xad"
      "\xa7\x5b\xb4\x2d\x5b\xde\xa1\xc9\x11\xbd\x41\x4e\x44\x8f\x8e\x84\x5e\x77"
      "\x59\x36\xcb\x62\xdc\x53\x6b\x7d\xb6\xe1\xfd\xb5\x33\x43\x9e\x17\xdb\xea"
      "\xfa\x6b\xd4\xa5\x3a\xc2\xcc\xd4\xbb\xef\xcc\x4c\x11\x0f\x1a\xbc\x2c\xdc"
      "\xec\x1a\x7a\x14\xa0\xeb\x5e\xbf\xc5\xc9\xa8\x1b\xf8\x76\x24\xf1\xa0\xdb"
      "\xcc\xbe\x3d\x7a\xc1\xda\x8f\x9f\xdf\xea\xb2\x94\x8b\xff\x4c\x9a\x3d\xe6"
      "\x7e\xd5\xe8\x60\x5d\xdb\xbd\x54\xb6\xe4\x57\x8c\x2f\x86\xa9\x35\x2f\x93"
      "\x4a\xd8\x2c\x04\x4b\x9f\x3d\xf8\x8b\xf5\x5f\xfc\xf1\x01\x00\x00\x00\xfe"
      "\x1b\xba\xc2\x10\x39\x3f\xdb\xee\xe1\xaf\xcb\x3c\xc2\x3d\xfa\x7e\xc5\xf7"
      "\xef\xf5\x3f\xc5\x5f\xf5\xbf\xd7\xff\x8b\x04\x02\xe1\x4c\xce\xfd\x63\x5c"
      "\xf5\x83\x47\x8e\x75\xfe\xb9\x1c\xba\x6b\x8d\xdc\xde\xf8\xe8\xdc\x30\xff"
      "\x15\xc1\x32\xe1\x2d\xb2\x60\x52\xab\xf5\xc8\xe2\x12\x19\xb9\xd1\xed\xe8"
      "\xd5\x09\x32\xd7\x93\xdf\x95\x62\xd2\xf6\xf5\x26\x1f\x5a\x4f\x68\xdd\x34"
      "\x99\x25\x13\x78\xf9\x7d\xb3\x46\xe8\xea\xf0\xde\x1b\x6d\x76\xde\x2f\x3e"
      "\x6c\x7b\x3e\x5d\x2d\x71\xd9\x78\x9b\x23\x5c\x2e\x4e\xcc\x6a\x50\x9f\x59"
      "\xf3\xc4\xa9\x98\x86\x43\xe2\xe3\xf1\x93\xdf\x8b\xea\xe5\x6d\x4d\x96\xde"
      "\x1f\xba\x11\xcc\x6c\x7a\x21\x70\xf4\x2c\x75\xf6\x3b\x7b\xab\xeb\x07\x6f"
      "\xfa\x1f\xef\x0f\x09\x37\xe1\xa4\x35\xcb\x94\xba\x21\xda\x36\x1a\x17\x9c"
      "\x18\x52\x9a\xab\xb0\x35\xa2\x9d\xa1\x28\xcf\x66\x4d\xff\xa6\xd0\xec\xf7"
      "\x1d\x4f\xaa\x27\x65\xbf\x0f\xe9\xd9\x2e\x7f\x3e\xd7\xda\xa1\xb2\x63\xee"
      "\xeb\x44\x5c\xd4\x5d\x59\x81\xda\x87\x4e\xbf\x94\xbd\xeb\x4f\x73\x1e\xee"
      "\xce\xbc\x3f\x2e\x7c\xa7\x69\x86\xfb\x90\x57\xbb\xd7\xa1\x51\x65\x82\xe3"
      "\xfa\x9d\xdb\x53\xac\xf3\x52\x9b\x06\x7f\xae\x9d\xb8\x40\x79\x4e\xa9\x66"
      "\xa3\x23\xc6\xeb\x82\xee\x11\x67\xb3\x00\x2f\x5e\x57\x7f\x5d\xd1\xc3\x32"
      "\xdf\x46\xdb\x37\xcb\x03\x8e\xbb\x74\xc7\xfc\x3c\x7d\x7d\xdf\xf9\xd3\xf1"
      "\x8c\xb2\x31\xe5\x09\x2e\x49\x64\xb7\x62\x66\x17\x2e\x8b\xac\x50\xed\xcf"
      "\x91\x33\x31\xce\xae\x4a\x2e\xd9\xf7\x2b\xb9\xf0\xda\xde\x42\x4e\xff\xa3"
      "\x4a\xcd\xe5\xfa\x27\x76\xfb\x9c\x6a\x1c\x8b\x67\x8b\x70\xd8\x37\x46\x24"
      "\x5a\x52\x4b\xb4\x63\x41\xed\x6c\x5e\x5f\xdb\xb6\x0f\x13\x6d\xf7\x42\xcc"
      "\x08\xcb\x3e\x22\xf1\xe3\x75\xbb\xb7\x33\x17\xf7\x67\xbc\x64\x6e\x7b\x34"
      "\xef\xcf\x17\x55\xfb\x5a\x93\x2c\x7a\xb0\xc5\xe0\x2c\x31\x7f\x3d\x93\x24"
      "\x37\x85\xe1\x89\x8d\xb0\x85\xad\xc1\xf7\xa3\x23\x32\x37\xf9\x6a\x87\xd8"
      "\xc2\x84\x2e\xaf\x30\xbc\x7d\x2c\xdf\x28\x97\x72\x73\xd7\xf4\x96\xdd\x76"
      "\x15\xff\xfa\x2b\xed\x05\x6a\x87\x9f\x6f\xec\xdc\xed\x18\x12\x9a\x8c\x78"
      "\x1d\x48\xaa\x66\x43\xb9\xb5\xd5\x4f\x8d\xac\x9e\xa2\xf8\x44\x12\x1c\xfe"
      "\x76\xa5\x83\x24\x46\xc9\xbe\xfd\xba\x1c\xa3\xa6\x63\x6f\x3e\xc1\x4d\x87"
      "\x61\x2a\xfe\xa8\xdb\x06\x67\x15\xc1\x39\x2e\xe6\xc0\xf9\x7b\xf3\xc9\x8d"
      "\x73\xbd\xfa\x6f\xed\xc2\xef\x3c\x4a\xc9\xba\xaa\xbe\xa4\xd7\xe6\x53\x74"
      "\xd1\x97\xcd\x35\xe6\xe3\x74\x91\x68\x92\xe3\xf9\x82\xdb\x59\x09\x2b\xcb"
      "\x9f\x88\x26\x8d\x1e\x89\x5e\x9b\xfb\xe9\xdd\x1b\xf2\xcc\x3c\xd8\xea\x8f"
      "\x6c\x82\x63\x88\xe0\xd6\x9b\x6f\xcb\x95\x9f\xde\x7f\xf8\x98\xaf\x78\x8b"
      "\x34\xc2\xd2\xfd\x90\x1a\xc7\xa5\x6f\x07\xf3\x39\xfd\xf6\x4b\x11\x3e\x87"
      "\xb1\x51\x69\x67\xac\x65\xdd\x13\xfc\xc5\xda\xf1\xde\xd0\xe6\x1b\x97\xc8"
      "\xbd\xe6\xe9\x07\x64\x2f\xde\x3a\x07\x3c\x55\x1b\xec\x2c\xab\x8d\x91\x2e"
      "\x2d\xdb\x99\x7c\x36\xfa\xf6\x3d\x87\x94\x68\x01\x03\x63\xda\x31\xa3\xe8"
      "\xfa\x2c\x8f\xf4\x10\xda\x7a\xb7\x22\xea\x73\x1b\xf1\x09\x7d\xea\x16\xe5"
      "\x01\x67\x26\xc5\x6d\xfd\xb7\x55\x5b\xdf\xf8\xfe\x5a\x65\x75\x6e\x8c\xbd"
      "\xe7\xb1\xde\x7c\x83\xa4\xc1\xe3\xfc\xc1\xf3\x77\x4e\xe8\x74\xdc\xd0\xf0"
      "\xa3\x7a\xd8\x74\x66\x79\xea\xd5\x8b\xf7\x7d\xbe\x7c\x52\x9d\x8c\x09\xd9"
      "\xc6\xe2\x47\x77\xf9\x65\xbb\x47\xbf\xbb\x90\x48\x11\xbf\x9b\xbe\x5e\xdd"
      "\x78\xbd\x9d\xf8\x60\xba\xcf\x9e\x78\xcd\x3d\x3c\x25\xb9\x8e\xe3\xef\x42"
      "\x6e\x1f\x61\xfe\x78\x98\xec\x9e\xcd\x49\x42\xed\xe5\x28\x8d\x1a\x97\x6f"
      "\x9f\x63\xc8\xc2\x26\x34\xfe\x5c\xf7\xb5\x9a\x93\xe9\x1a\x18\x27\x75\x54"
      "\x4f\x39\x5b\x12\x9e\x4a\xba\xeb\xc1\x72\xdc\x7b\xd2\xb1\xeb\x4f\x0c\xce"
      "\x05\x09\x56\x2d\x89\xf1\xac\xd9\x75\x99\x32\x56\x70\x1d\xbc\x98\x43\x54"
      "\xb7\x66\xb8\x38\x25\xab\xcd\xd5\x3e\xcc\xfb\x8a\x69\x7e\x27\x25\xdd\x91"
      "\x5a\x0e\x7b\x0a\x02\xc9\xed\x53\x7b\x34\x6a\x43\xe6\xb5\xa7\x5f\xab\xcc"
      "\xf4\x9f\xbe\x67\xb3\xe0\x2a\x73\x6c\x45\xbb\xda\x63\x4e\x22\xba\xa2\x92"
      "\xb3\x94\x69\xfb\xc1\x99\xdf\xcc\x73\x5c\xc7\xb9\x4b\x2f\xba\x48\x48\x8a"
      "\xf9\xf1\xb8\x29\xeb\xe5\x9d\xa8\xa6\x7a\xf1\xa8\xfd\x68\xb2\x7e\xb7\x6d"
      "\x36\x91\x4d\xc6\xdb\x4e\x2f\xb3\x8b\x81\x12\x22\x0f\xbf\x1b\x97\x37\x70"
      "\xa6\x9a\xb1\xbd\xbb\x9e\x7e\xea\xcd\x47\x11\x49\x5a\x7f\xcf\xfc\x89\x95"
      "\x46\x5b\x7b\xc5\xa2\xd8\x3c\x43\xbf\x78\xca\xc9\x4f\xf9\x32\xb5\xed\x17"
      "\xbb\xe4\xa3\xb5\xf5\x18\x2e\xee\xfb\x2a\x6c\xdb\x26\x79\xd0\x69\x7e\x4f"
      "\xb3\x4c\xcf\x0f\xbe\x3d\x0f\x77\x58\xb6\xbc\xf5\x5c\x33\x77\x63\xf2\x98"
      "\xca\x68\x4d\x6c\x3c\x7b\x5a\xf8\x54\xc6\x37\x5b\xed\x91\xb1\x8a\x63\x3f"
      "\x1e\x1c\xba\x4a\xd7\x9a\x66\xb6\x7b\xf7\xa3\xee\x40\xae\x63\x2f\xbe\x8d"
      "\xde\xb4\xb5\x95\xcc\x51\x53\x7c\x5e\x7b\x8c\x29\xa4\x4f\xa1\x97\x9c\x58"
      "\x65\x7a\x4a\xc1\xc7\xb1\x2a\x76\x8f\xbc\xbd\x34\xc7\xaa\x5c\x95\xe7\xe3"
      "\xbd\x3e\x96\x0f\xd7\xf6\xe7\xe4\x2e\xa8\xc7\x8a\x7b\x9d\xba\xbf\x29\x52"
      "\x6c\x79\xac\x61\x87\xf7\xcc\xc0\xc1\x15\x27\x31\xe3\x73\xcc\xb1\x02\xbf"
      "\xc4\x88\xbe\xf0\x50\x79\x7c\x75\xe2\x34\xa7\xd8\x1a\xf5\x94\xe1\xe0\x89"
      "\x5d\xfb\x79\xc6\xb0\xa5\x57\xf4\xc2\x89\x90\x2b\x67\x55\x53\x06\x66\xca"
      "\x8a\x88\xa7\x98\x4c\xe9\x88\xc4\x2e\xdf\x79\xa3\xc9\x76\xb2\x24\x9f\xc6"
      "\xdf\xab\x84\x94\xf3\x75\xe3\x9b\xca\xe9\x33\x2a\x1a\x5b\x5a\x92\xb5\x56"
      "\x29\x04\xa7\xf5\x77\x9f\x9c\x7f\xdd\xdd\x2f\x3f\x1f\x9c\xfa\xb2\x3e\xf5"
      "\x1c\x87\x21\xb1\xe6\xe0\x8b\xbc\x64\xe5\x16\x22\xef\xb1\xc8\x94\x16\xbb"
      "\x51\xef\x83\xb2\xeb\xe7\x52\x9f\xe4\xaa\xde\xac\x7e\x4a\xcc\xb3\x61\x79"
      "\xc2\x75\xd3\x9b\x8f\xd3\xfa\x1d\x8b\xa9\x97\x02\xe1\x9b\xd8\x2e\x9a\x3e"
      "\x3d\x61\x2f\x93\x7c\xcd\x81\x20\x93\x04\xd3\x5b\x32\x73\x3b\xdf\x79\x14"
      "\x73\xd0\xf3\x6b\x8b\xf2\x69\xca\x32\xd4\x3e\x3d\xb9\x9b\x22\x58\xc4\x63"
      "\x6c\xf8\x09\xf7\xc0\xf3\xe6\x6a\x1b\xb3\xdb\x6f\x4e\xbd\x35\xdd\xcc\x0a"
      "\x12\x9d\xb9\x48\xa5\xe0\xcf\x3f\xa4\xa4\xf2\xb6\xf0\xc9\x25\xd9\x89\xc3"
      "\xa9\xf4\xd6\xae\xe7\x4c\xa5\x5f\x09\x9f\xf3\xf8\xf8\x90\x65\x40\x90\xaa"
      "\x24\xf8\x6a\x10\xf3\xb8\x95\xd8\x35\x8e\xe5\xab\x4e\x02\x09\x5a\x17\x19"
      "\x82\x5b\x34\xd2\xad\xf7\x37\x86\x29\xbb\x95\x8d\x8b\x28\xe5\xdb\x1e\x2a"
      "\xe3\x5c\x5c\x3c\x3a\x1a\xf5\xf2\xf7\x99\x31\xe7\x5c\x35\xe5\x3e\x06\x9e"
      "\xd8\xf7\x71\x1e\x46\x75\x0a\x06\xce\x89\x71\x67\x1a\x8b\x06\x55\xa7\xc5"
      "\xac\x5c\x74\x2a\x7a\xe3\xb4\x2e\x99\xdf\x74\xbe\xb3\x95\x14\x4f\x43\x49"
      "\x24\x5d\x3f\x9b\x6f\x28\x78\xfd\xf5\x57\xee\x7e\x32\x8d\x77\xb4\x2d\x2d"
      "\x7a\x06\x06\x87\x4f\x32\x85\x3e\xfb\xd2\x47\x4e\xfd\x59\xb3\xc1\x53\x6f"
      "\xdb\x67\x29\xbd\x3d\x74\x8d\xff\xfa\xe9\xc6\xb9\xf2\xd9\x91\xdd\x8e\x7c"
      "\x2d\x7e\x93\xad\x97\xdb\xda\xb7\x56\xe8\x7b\x28\x7d\x34\x86\x46\x8d\xc3"
      "\x65\x57\x6f\xd7\x2d\x0a\x16\x4a\x46\xe8\x48\x66\x5c\x37\xcf\x79\xb2\xd3"
      "\xcc\xc4\x66\x6f\x53\x8c\xd6\x67\x7d\x03\x27\xa5\xdc\xf5\x0d\xdf\xc7\xd5"
      "\x6f\x68\x5f\xed\xf7\x59\x8c\xd5\x9f\x39\x62\xd5\x70\x79\x87\x83\xe1\x6d"
      "\x41\x5d\xf5\xeb\x75\xf9\x0c\xeb\x7c\x97\x8a\x95\xa4\x39\xf9\x25\x5c\x4b"
      "\x45\x02\xc6\x7a\xb7\x32\xeb\x3f\x2c\x79\x32\xdb\x30\xdd\x70\x15\xd2\xd6"
      "\x93\x2b\x6a\x7d\x5e\xe4\xe6\xa4\x9c\xef\xf5\xa2\x71\x77\x4b\x62\x20\xd5"
      "\x0b\xf9\x44\xa6\xf9\x0e\x0e\x49\x69\x11\xb7\xaf\x66\x36\xc4\xae\x47\x53"
      "\xdf\x3c\x8b\xb2\xd7\xfc\xf1\xec\x99\xf8\xb5\xc9\x98\xfb\xe7\x62\x18\x54"
      "\x1f\xf5\x2e\x08\x7e\x14\xbd\x95\xc5\x73\xee\x02\x85\x9f\x6a\x73\x9c\xdd"
      "\x9f\xca\x4a\x7a\xd6\x56\xdb\x58\xa1\xea\xb3\x17\x8e\xee\x23\x33\x5b\xbf"
      "\x99\x3c\xbc\xfc\x68\xef\xa3\xd3\x7e\x3f\xc8\x4b\x0f\x5d\x5c\x2c\x4a\xb0"
      "\xf4\x0c\x61\xe9\x25\x3a\xf0\xfd\xcd\x96\xb8\xb2\x67\x16\xef\x1d\x21\xab"
      "\x2f\x06\x89\xf5\x5f\x62\x8b\x1c\x8d\x9e\x66\x07\xc6\x18\xe6\x1d\x8e\x78"
      "\x3f\xf5\xd0\xa4\x9b\xf0\x6d\x50\x32\x90\xa4\xfc\xc9\xd2\xb4\x68\x5b\xa6"
      "\xf2\x77\xf6\x7b\xa3\x7b\x05\xe7\xfe\x98\x9f\xff\xa9\x2d\xed\x1e\xf3\x92"
      "\xa5\x39\x24\xec\xd6\x03\x41\x25\xb3\xd7\x7e\xe5\x1f\xdd\x0f\x2c\x0d\x5b"
      "\xa8\x76\xbc\xec\xf8\xda\x31\x54\x5a\x4c\xf9\xc6\x7f\xec\x78\x35\x83\x09"
      "\x2b\x37\x97\x08\xff\xbc\xea\x15\xd7\x73\x46\xe2\xdb\xb2\xef\x74\x7e\x2d"
      "\xf2\xa4\xfe\x4c\x3d\xf4\xf6\x9d\xf7\x5a\xfd\x51\xc1\xce\x11\xa3\xe4\x72"
      "\x7f\xaa\x71\xcb\x77\xce\xcb\xc5\x14\xfa\x8f\x0b\xa4\xd6\xd7\x73\xa6\xd3"
      "\xcb\x03\x37\xaa\xeb\xdd\x42\xf2\xfa\x1c\xb9\x9e\x54\xaf\xeb\x56\x72\x45"
      "\xc4\x70\x3a\x1f\xf9\xd2\xa5\x35\x20\x93\x74\x74\xd7\x19\xe9\xce\xfd\x47"
      "\xf9\xeb\xe4\x74\xbc\xa6\xb7\x84\x36\x8e\x9a\xb9\x7b\x12\x77\xb5\xf4\x55"
      "\xbe\xab\x1f\x73\x7e\xe9\x4a\x20\x7c\x54\x77\xee\xf3\xb2\xf8\x54\xda\xf1"
      "\x31\xa7\x79\xb5\xc8\xb7\x71\x2b\x97\x91\xf7\xfe\x8a\xc7\x6b\x0a\x8f\x4f"
      "\x4d\xbd\x92\x53\x01\xd7\xf5\x4e\x90\x14\x72\x1c\x19\xa5\x3d\x37\xf9\x85"
      "\x28\xff\x85\xcf\x3b\x6b\x6d\x4e\x06\xaa\x48\xf9\x4b\xaf\x1d\x42\x83\xcd"
      "\x02\xd4\x7a\x8e\xbc\xf8\xe9\xfd\xcc\xe8\x32\xa7\xa9\x23\xcd\x91\xe1\xaa"
      "\x96\x4d\xe3\x7f\xf1\xc7\x08\x00\x00\x00\xf8\x6f\xc4\xe5\xcc\x77\xbd\x21"
      "\xe7\x66\x71\x03\x93\x0c\x4b\xff\xd3\xef\xea\xfe\x5e\xff\x53\xfe\x55\xff"
      "\x7b\xfd\xff\x9a\x40\x20\x0c\xb3\xb7\x2b\x65\x7f\xd5\x79\x19\x53\x7b\x44"
      "\x43\xf4\xeb\x11\x5d\x4f\xd3\x37\xf6\x91\x2f\xe4\x3f\x69\x04\xd3\x1d\xba"
      "\x7a\x34\xce\xd2\x31\xde\xab\xf1\xbe\x3e\x1b\xb7\xf6\x4e\x8b\x0c\x8d\x4f"
      "\x3a\xab\x57\xb4\x09\x75\x8c\xaf\x67\xdd\xde\x8f\x1f\x1c\x10\x09\xfa\xe2"
      "\x11\x20\x19\xe1\x4a\x76\x4f\x7e\xce\xe3\xa0\xf3\x7c\x01\xab\x50\x63\xa4"
      "\xfd\xef\x15\xa3\x6b\x31\x23\x6f\x57\x6a\xd7\x55\x6c\xeb\xf9\xdf\x5f\xf2"
      "\x94\xbf\xe9\x98\x72\xc4\x3a\x4c\x22\xf1\xae\x7d\xee\xc9\xc1\x57\x6a\xec"
      "\x3e\x6f\x54\x52\x5b\x32\x67\xed\xf8\x2e\x2f\xaf\x75\xef\x27\x91\xe9\xce"
      "\xf6\x2e\x38\xf0\xe7\x6e\x83\xfc\x74\xe9\x72\xf1\xf7\x05\xe9\x9f\x7b\x1a"
      "\x26\xc9\x13\x59\x58\x5c\x3c\x4b\x75\x2a\x5e\x4b\xaa\x36\x98\x3d\x22\x12"
      "\x58\xfd\x64\xee\x5d\x67\x64\x5d\x22\xc1\x7c\x47\xe0\xd0\x69\xaf\x59\xe6"
      "\xb6\x8a\xdb\xe3\x9b\xb5\x92\x3e\x3f\x62\x03\xe3\xcc\x63\x48\x8f\x4b\x67"
      "\x3a\x5a\x5e\x34\xf6\xb2\x0c\x7c\x76\x48\x42\xb5\xe7\x4a\x48\x51\x42\x6a"
      "\xf7\x30\x1f\x61\x57\x62\xfb\x55\xdd\x7b\xe1\xe4\x1b\x8d\x3b\x43\x9b\xc5"
      "\x92\x8e\x3f\xbf\x42\xff\xda\xa7\x48\x33\x68\x7e\xd7\x15\x57\xd9\xe9\x40"
      "\xe7\xcb\x5e\x1d\x0e\x95\xcf\x88\x0f\xc8\x76\x86\xa8\xea\xbd\xfa\xb4\xe0"
      "\x6d\xf6\x92\x6e\x56\xb3\x62\xd0\x9b\xf7\xc5\xe7\x9a\xe4\x2b\xf3\x36\x54"
      "\x34\xb7\xb6\x3b\x82\x07\xe8\xdf\x37\x65\x9a\x2d\xad\x10\x34\x5a\x16\xf6"
      "\xea\x04\x13\x8f\x59\xb8\x3d\xea\xc9\x55\x6d\x52\x97\xd4\x24\x9a\x26\xaf"
      "\xed\xcf\x0a\x0b\x93\x2a\x0c\x5c\x0a\x34\xa1\xf6\xf5\xe0\xfd\xc9\xf3\xd5"
      "\x3f\x48\x49\x8f\x6a\xa1\xe7\x27\x89\x8d\xe4\x48\xea\xc2\xed\x54\xb1\xd9"
      "\x9e\xd6\xb4\xa4\x9b\xa9\xbd\x77\x8e\xb7\x7c\x21\xed\xa8\x71\xcf\x0b\x36"
      "\xbd\x72\xfd\xd9\x95\xb3\x11\x5d\x7b\x3e\xe6\x48\x24\x1a\xc6\xc5\x97\x1a"
      "\xa6\x7e\xb5\xc8\xca\x9b\x6d\x7e\x6b\xc1\x65\xd9\x39\x7e\xdb\x6f\x80\x3d"
      "\xc6\x6e\xc8\xb1\xd7\x27\x9b\x7a\x4b\xb5\xf5\x99\xa2\xb8\xd9\x78\xce\x83"
      "\x05\x7f\x1a\x5b\xb5\xf9\xd3\x87\x06\x9e\xeb\xdf\x36\x14\x0e\x1a\xa4\xbe"
      "\x67\xee\xb5\xd7\x7e\xb6\xee\xb2\x50\x64\xa0\xe5\x35\x91\x22\xd5\xa3\xc7"
      "\x54\x0b\x1e\xa4\xd8\xaa\x30\x19\xac\x1f\xfd\xb2\xac\xc7\x9f\xbf\x4b\x81"
      "\xa6\x85\xc1\x2c\xfe\x88\xf1\x7c\x7a\xfc\x55\xad\xfb\x96\xe2\xe2\x49\xa7"
      "\x73\x0c\xe8\x17\x4e\x24\x2c\x8f\x64\x98\xdd\x3e\xb0\x5b\xfc\xf5\xa2\x91"
      "\x41\x16\xe5\xee\xab\xa4\x93\x85\x4c\x3f\x02\x4e\xa7\x5f\xe2\x89\xd8\xda"
      "\x90\xac\x9d\x9b\x39\x7b\x81\x3c\xc0\x3b\x27\x86\x33\x23\xcd\xbb\x8f\x57"
      "\x31\x8d\xf9\x67\xd6\x13\x96\x1a\xb7\x9d\x2d\xac\xaf\xa4\x6e\x16\x33\x0d"
      "\x30\x1c\x7f\xd9\x2f\x51\xda\xc6\x74\xb6\xf8\xf6\x73\x99\xcf\x1f\xb8\x6c"
      "\xea\xae\x8d\x6e\xd7\x3d\xf1\x16\xc8\x74\xac\x6c\x75\xa7\x36\xd6\x23\x16"
      "\x2b\x90\xd3\xde\x19\xd2\x72\x4a\xf5\x82\x87\x4a\xcc\xc6\x1b\x26\xf7\xaf"
      "\xdf\x6e\xc6\x8e\x8d\x4b\x52\x08\xee\x9f\xd3\x21\xb8\x1c\x7c\x1b\x95\x6a"
      "\xe8\x9a\x9a\xac\xba\x79\x8d\x84\x85\xee\xfa\x9d\x4b\xe1\x35\xf7\xc3\xe7"
      "\x07\xac\x59\x39\x3f\x98\xb3\xa9\xbe\x6c\xdd\xf4\x3b\xe3\x5d\x5f\x13\x41"
      "\x42\xa4\x62\xdc\xc5\x3b\x35\x72\x6b\x83\xa2\xbb\x4e\x74\xc5\x62\x2a\x59"
      "\xf0\x55\x96\x96\xdf\x00\xdf\x9e\x31\xc2\x87\x90\x54\x77\xc3\x95\xa0\x1b"
      "\x94\x21\x8b\x9c\xd2\x89\xde\x5c\x65\xfc\x4f\xff\x24\xee\x26\xc8\xae\x7f"
      "\x0e\xdc\x3f\x76\xb0\xdc\xb4\xde\xc8\xc0\x42\xaf\x48\xe9\x9d\xe7\xeb\x61"
      "\x6f\x21\x92\x6d\xb1\x56\xdb\x95\x62\xab\x41\xdb\x90\xf9\x3b\x1f\x88\xbe"
      "\x1f\x3a\xe9\xfa\xac\xbb\xbc\xfa\xba\xbd\x5a\x51\x98\x61\xd6\xda\xcf\x3c"
      "\xdd\x99\xf8\xd0\x1c\xc7\x01\xaf\x31\xfd\x36\x96\xcc\x46\xcf\xd1\xac\x4b"
      "\xfe\x47\x45\xd5\xa7\x5b\x3f\xb4\x77\x8d\xf5\x87\xca\x32\xec\x4f\x66\xd6"
      "\x5d\xa9\x3e\xe6\xf1\x8b\x64\x4a\x8a\x57\x3f\x8a\x2b\xfa\xf0\x92\xff\x3d"
      "\x19\xb1\xf7\x37\xeb\x1c\x9b\x0a\x15\x5f\xe8\xae\xb5\x15\x2a\x4a\x51\xbd"
      "\x5e\x17\x48\x6c\x15\xf7\x0d\xeb\x7d\x9c\x52\xa7\x4f\xaf\x4c\xf6\x6c\xa0"
      "\x30\x78\xa3\x8d\xfc\xe6\x9e\x28\xf6\xfd\x63\x3f\x47\x05\x3b\x82\xdc\xaf"
      "\x6e\xac\x9f\x7d\x4a\x19\x3e\x20\xd3\xf5\x82\x2e\x8d\x9e\x8f\xf5\x91\xf0"
      "\x70\x99\x5e\xb1\xd2\x01\xba\x31\x79\x03\x73\x66\xbe\x86\x3f\xdf\x2a\xb3"
      "\x7a\x8a\x9e\xac\x3a\x10\xa9\x47\xef\x92\x34\x98\xfd\xa5\xf3\x22\x29\xf3"
      "\xce\xae\x14\x5f\x52\xcf\x63\x63\x94\x8a\x61\x93\x62\xa1\x06\x0b\x6f\x4b"
      "\x2a\x62\x64\xad\x6f\xd0\xee\x78\xf1\x5c\xe2\xbc\x49\x50\x65\xe4\xa3\x4b"
      "\x44\x2b\x5c\xf3\x69\x71\x8b\x2e\xce\xcf\x3b\x45\x16\x85\x35\xf6\x66\x8f"
      "\x2a\x8a\x72\x36\xe7\xea\xd7\xbf\xfb\xf3\x56\xa0\x91\x9b\xf9\xc5\xd8\x7a"
      "\xb1\xf6\x1f\xdb\xeb\x8d\x92\x7b\xcb\xa4\xc4\x69\x66\x6a\x1b\x5e\x2a\xa4"
      "\x51\x73\xad\xe8\xbd\x50\xa3\xfe\xb5\xe5\xb2\x32\xa1\xa6\x73\x34\x9a\x57"
      "\xb1\x2f\x7b\x6f\x4f\xe1\x46\xb8\x99\xd0\xa3\x2f\x65\x34\x54\x7c\x35\xeb"
      "\x56\x65\xfd\x1e\x6e\x22\x5f\xd9\x4f\x8a\xb1\x5d\x5c\xe5\x20\xe3\xdb\x69"
      "\xee\xc1\xcf\x9a\x4d\xca\x75\xd7\xf2\x4b\x83\x5e\xc7\x7c\x3b\x73\xf9\xd7"
      "\x2b\x3f\xa7\x7c\xc2\x2b\x4e\xe8\x0f\xbf\xda\x6c\xab\x1b\xc9\x35\x12\x8a"
      "\x30\xf0\x39\x39\xed\x2e\xde\x1f\x1a\xe7\x51\x2c\x44\x11\x7d\xf7\xa3\x8b"
      "\x62\x05\x6f\x6b\x6c\xd3\x48\x53\xae\x7b\x64\x5f\x74\xb2\x6e\xa0\xff\xae"
      "\x0d\x93\xdb\x27\xbb\x17\xbe\x69\x13\x9f\xf8\x7c\xde\xd7\x47\xa3\xac\xb3"
      "\xb5\xa8\xef\x56\x19\x53\x48\xc2\xf2\x41\x56\x05\x73\x27\x0a\xc7\xe4\x5e"
      "\xe3\x97\x76\x87\x07\x03\x6f\xf9\x1a\x1b\xd6\xe6\x1b\xec\xde\x7a\x22\xd2"
      "\xc7\x2c\x30\x6e\xe2\x22\xe8\xaf\xec\x28\x76\x5c\xf6\x2e\xb1\xc1\xe7\xa4"
      "\xd7\xde\x9e\xdd\x05\x75\x75\xb7\xfc\xb5\xcc\x16\xd2\xd9\xeb\x8e\x1d\xa8"
      "\x3c\x49\xf5\x55\x2a\xeb\x45\x46\xc3\x06\x87\xb1\x19\x8b\xe8\x86\xdc\x78"
      "\xa2\x6a\xf0\x90\x6d\x8c\xea\xc4\xeb\x01\xad\xa8\x94\x83\x0a\x63\x4f\x45"
      "\xeb\x26\xd2\x1b\xd8\x0c\x28\x0b\xe7\x5d\x0c\x97\x0c\xd7\xdc\x6d\xa2\xab"
      "\x7a\xee\xde\x52\xfd\xb4\xa5\xd9\x9f\xe8\x43\x3a\xa6\xce\x33\xb9\xfb\xbc"
      "\x81\x90\xf1\xf7\x13\x97\xf5\x76\x2b\x12\x59\x68\xae\x3c\xf9\x94\x44\xcd"
      "\xdb\xfe\x6d\xb0\x52\xf4\x61\x76\xc9\xcf\x71\x1b\xcd\xeb\x67\xd7\x7b\x22"
      "\x76\xf1\xfa\xe7\x7d\x99\x4d\xf9\xca\x75\x64\x78\x26\xc2\xfe\x59\x27\xd9"
      "\x29\xe6\xa1\xa9\x58\x1d\x6d\x72\x5a\xba\xbb\x9a\xf2\x27\x96\x97\xca\x85"
      "\x0a\x5a\xac\xca\x67\x7f\x9d\x51\x52\x69\xd7\x8b\x16\x91\x36\xf9\x18\xd1"
      "\xa1\x66\x69\xf2\xbb\x9d\x28\xb1\x2a\x78\xb0\x8d\xb4\xd0\x3f\x3e\xa6\xaa"
      "\xbc\xcb\xfd\xcd\xce\xbc\xbc\x88\x06\xcb\x04\xce\x2d\x0d\xe9\x21\x9d\xa6"
      "\xf5\x38\xcf\x13\x87\x64\xce\xf3\x78\x73\x5c\xe3\xca\x16\xd4\xe7\x0a\xdb"
      "\x29\xe0\x70\x8b\xc2\xeb\x89\xc2\xc7\x83\x9a\x52\xc5\x4d\x26\x65\xe4\x71"
      "\xbe\x76\x76\x5b\xfb\x34\x37\x03\x68\x65\x63\x4f\x6e\x77\x9f\xbd\x91\x7a"
      "\xbc\x80\xfd\x0f\xfb\xbd\x52\x97\x6c\x79\x8b\x2c\xb9\x9d\x43\xa9\xe6\x3c"
      "\x3a\x95\x23\x14\xfe\x03\x06\xcd\xc5\x49\x65\x94\x4e\x06\x53\x7f\xc4\x5f"
      "\xdf\xb1\x0b\x34\xd1\x89\x96\x26\xa4\x37\x5e\xbf\x93\x90\xa0\x6f\xb2\x21"
      "\x14\xdb\xe3\xf3\x8d\xc2\x75\xe8\x96\xaf\xfb\x9b\x17\xda\x2d\x23\x93\x0e"
      "\x41\xd6\xfb\x5e\xad\xec\x7c\x95\xf0\x8a\xf5\xb7\x30\xad\xee\xc0\x08\xfe"
      "\x1f\x1c\x00\x00\x00\xe0\xff\x71\x83\x8b\x91\x04\x02\xd1\xbf\xfd\x98\xcc"
      "\x9e\xc0\x2a\xf0\xf7\xfa\x7f\xc7\x5f\xf5\x7f\x5c\xff\x17\x7f\x4f\x20\x53"
      "\x9a\x76\xe2\x20\x9d\x53\xbf\x68\xa2\x41\x1c\x40\xf4\x55\xb4\xfa\x55\x97"
      "\xf3\xfd\xaf\x3a\x7c\x4d\x41\x1f\x12\x7c\x5c\xba\x46\x7b\xa3\x69\xe4\x38"
      "\xaf\x08\xdb\x6f\x88\xed\xfc\xc5\x61\xae\xff\x28\xcc\x5e\x70\xec\x84\xc7"
      "\xa9\x60\xc6\x9e\x64\xd3\xcc\x4a\x4d\x1b\xf3\x79\x05\xfa\x1e\x9e\x7d\x9e"
      "\x8c\xa3\x87\x4e\x7f\x30\x37\xda\x1f\x75\x78\x3b\xef\x6d\xa1\x52\x1a\x49"
      "\x8d\xc8\x97\xb3\xd9\x34\x0a\xc3\xb1\xce\xdc\xad\xef\x03\x1c\x2d\x1f\xdd"
      "\x63\x91\xee\x1d\x78\xbf\x76\x9a\xa4\x7c\x5b\x7a\xb9\xe8\x4f\x50\x40\xb7"
      "\xe3\x21\xdf\x2a\x42\xa5\xf8\x7e\x8b\xf3\x95\x37\x5c\x3f\x73\xdc\xe2\xdc"
      "\xac\xa1\x39\xd6\x7b\x24\xe5\x97\x5d\xa9\x68\xf5\x2d\x7d\x03\x69\x47\xaa"
      "\xf4\x17\x2b\x76\x4c\xc9\x26\x56\x6a\xd3\xe2\x1f\x5a\xd3\xac\xbf\x12\xdd"
      "\xaa\x14\x90\x8b\xfe\x7d\xf8\x17\xe7\xf6\xa5\x61\x53\x3d\xb7\xc3\xef\xc9"
      "\x39\x98\x25\xfb\xd3\x37\xfb\x37\x37\x85\x17\x22\xa7\xf2\xe7\x09\x1f\x2e"
      "\xab\x9f\x9d\xd0\xf2\xe4\xa4\x9e\x08\x7c\x1e\xd3\xf9\xdc\x4a\x42\x76\xf7"
      "\xdd\x52\x6d\x1e\x57\xd2\xdd\xed\xaa\xe6\x9f\x9c\xae\x16\x78\xee\x65\x67"
      "\x52\xb0\x3b\x50\x52\xd1\x2d\xfe\xfc\xe2\x63\xea\x54\x41\x13\x6a\xa2\xac"
      "\x32\xa7\x25\xdd\x4f\xdf\xde\x66\xf3\xba\xfe\x11\x79\xea\xe9\x11\x96\xc5"
      "\x62\x24\x31\x31\xae\xae\x30\xd7\x6d\x91\xc8\xb3\x83\xc3\xc9\xa5\xad\xbc"
      "\xe8\xb5\x3b\xf1\x1f\x9a\xa3\x8e\x06\x9a\x97\x88\x8f\x3d\x13\xe0\xa5\xca"
      "\x68\x6c\xe9\xca\xac\xe8\x95\x4e\xb3\xe1\xdd\xab\xfa\x30\xcf\x47\xf9\x14"
      "\xbb\xfd\xcb\x2c\xa5\xfb\xae\x63\xbe\x37\xcc\x66\x49\x2c\x1e\x5b\x13\x1d"
      "\xd7\x4d\x48\xe6\x9e\xaa\xa2\x9c\x94\xbb\x5b\xea\xe8\x59\x5e\xce\x9a\xa9"
      "\xb9\x49\xbd\x5c\xce\xae\x4b\x1d\x35\x70\x2d\x2f\xc4\x3e\xc3\xcc\xe1\xa9"
      "\xc5\xc8\x27\x69\x1f\x8d\xae\x5d\x4d\xeb\x7b\xdf\x52\x95\x8a\x4a\xb0\x27"
      "\xd0\xbe\xea\x6f\x5a\xbb\xb0\x7d\xab\x44\xbd\xc6\xf2\xc5\x40\x7f\x89\xf7"
      "\xb9\x2c\x17\x37\xcb\x32\xba\xc0\x62\xc9\xbd\xa1\xe7\x7e\x3c\xe9\xfa\x75"
      "\x49\x30\x51\xfe\xf3\x67\xa3\xa5\x2e\x57\x27\x96\x90\x6a\xc6\x67\x21\x7d"
      "\x99\xe2\x24\x12\x12\x9a\x1f\x6b\x2f\x93\xd6\xf2\x6e\xfd\x10\x34\x0b\x5c"
      "\x64\x4c\x3e\xe0\xad\xa9\xd9\xbc\x76\x4e\xa4\xc8\x79\xd0\x8d\x84\xe7\x86"
      "\xeb\x75\xba\xd0\x3d\xee\x07\x7f\xe8\x3e\x0f\xb1\x76\xae\x3f\xaf\xf7\xca"
      "\xa6\x61\x63\xb7\xa0\x67\x87\x03\x9d\xe6\x4f\x37\x07\xaa\x8c\xb1\x7b\x26"
      "\x3a\xc4\xc7\x16\x4f\x5f\xda\x6e\xcc\x9d\xcb\x53\xde\xa9\xcd\x51\xc4\xb1"
      "\x45\x1d\xc2\x28\x73\x62\x55\xd4\x73\xd7\x23\xfe\xd5\x7e\x95\x0f\xf7\xbd"
      "\xb2\xf7\x99\x1c\xcb\xa1\x6f\xd7\xc9\xbb\x77\x7c\x23\x4e\x84\x4e\x21\xee"
      "\xa1\xac\x1d\x4d\x94\x81\x7b\xd5\x5a\xad\xad\x4b\xd9\x8b\x8f\x05\xeb\xaf"
      "\x4c\x2a\x0f\x35\x32\xd8\x89\xfc\x2c\xf4\x92\x34\xba\xfd\xe5\xe1\x2b\xc6"
      "\x37\x83\x0b\xf7\x47\xad\xbe\x7c\x6d\x56\x96\x1f\x15\xf5\xba\xfe\xbc\x2f"
      "\x9e\x7e\xc7\x50\xf2\x11\xde\xc5\xf3\x69\x89\x63\x65\x0e\xde\x56\x01\xe6"
      "\x66\x99\x86\x3e\x19\xcb\x17\x83\xe5\x4f\xf1\xcf\x4f\x8c\xc7\xa7\x06\xb1"
      "\x9e\x66\xcb\x4e\x9e\x29\x52\x60\xa4\xd7\x15\x4e\x94\x28\xe7\x2f\xaa\x7c"
      "\x7c\x73\x32\x85\x92\x2f\xe7\xbd\x85\xe6\x52\xf6\x37\x91\x87\xd6\x6a\xdc"
      "\x03\x4c\xf3\x9f\xa9\x92\x4d\x36\x53\xaf\x77\x25\x4e\x35\x52\x3e\x5d\x91"
      "\x21\x6d\x90\xab\x98\xee\x7c\x53\xd0\xc6\x2a\x70\xde\x2e\x24\x61\x9d\x5d"
      "\x9d\x36\x64\xbc\x2d\xb4\xa4\xb7\xdc\xb6\x81\xa4\x5f\x3c\x5c\x5d\xb8\x33"
      "\x85\xea\x44\xc1\x17\xae\x00\xb5\xd2\xa5\xc2\xab\x33\x54\x4c\x0d\x2f\x35"
      "\x94\x0d\x59\x4a\xc7\x32\x1e\x6d\x85\x70\xb5\xb0\x90\x58\x90\xde\x90\x6d"
      "\xb0\x18\xca\x6c\x3b\xd0\xa0\x15\xd4\x1d\xce\x12\xf5\x7e\x36\xe1\xf2\x45"
      "\xfd\x23\xf1\x06\x46\x4f\x7a\x76\x74\x7f\x25\x13\xca\xeb\xf2\x10\xbc\xb6"
      "\x67\xc7\x96\xf8\x0c\x89\x70\xb8\xb4\x42\x88\xc2\xa2\xdd\xe7\xaa\x66\xef"
      "\x2a\xeb\x76\x33\xd7\x21\x39\xba\x24\x0a\xf2\xfa\x0b\xaa\x57\x8d\x07\x5f"
      "\xed\xad\x53\x74\x76\x4f\x48\xd2\xd5\xe5\x25\xf2\x7a\x3c\xb0\x1c\xd4\xb5"
      "\xf9\x93\xec\xc9\xf2\xf6\x53\x83\x53\x7b\x14\x78\x17\x86\x33\x3f\x75\x91"
      "\xdc\x35\x95\xd1\x33\x8b\xd3\x36\xe8\xba\xf3\x7b\x66\xf7\xfb\xf3\x4a\x3e"
      "\xe3\x77\x9f\xde\x15\xcd\x0f\x3c\xd9\x77\xd1\xda\xa5\x84\x63\xfc\xb0\xf5"
      "\x8d\xee\xf2\xb7\xe7\x5a\x6e\x5e\xa9\x76\x99\x25\xb1\xea\x1c\x91\x53\x18"
      "\xa4\x63\x0f\x79\x76\x75\xf4\x4a\xe5\xb0\x0e\x9d\x92\xe8\x74\xbf\xf4\x11"
      "\x9f\x8e\xc1\x95\xcc\x9e\x2b\x9f\xb4\xdc\x7e\xfd\x71\x66\x9e\x60\x8e\x36"
      "\x58\xbd\x7d\x7c\xda\xd8\x4c\xe8\x59\x88\xf2\x8c\xb6\x48\xea\xd4\x27\xad"
      "\xbb\xa1\xdb\xd7\x2b\x5e\x74\xaa\xfc\xf9\xa5\x72\x70\x69\xf4\xa4\x6d\xc0"
      "\x39\xab\xb7\xf3\x6d\xd3\x15\xbb\x9e\x12\x78\x82\xef\x05\x0f\x7c\x6e\xaa"
      "\x4a\x27\xeb\x54\xe0\xf9\x79\xb4\xc5\xe8\x59\xdd\xe2\x6a\x67\xba\xeb\xb7"
      "\xab\xa1\x82\xbf\x8b\x7f\x19\x1f\x2b\x3e\xe0\xee\x74\xe6\x63\x48\xd6\xb7"
      "\x4c\xfb\xb5\x82\x06\x9f\x1f\x46\x4f\x6f\xdd\x7a\xf9\xb0\x46\x8a\x8d\x6f"
      "\x6e\x36\xdc\x23\x86\x6d\xef\x00\x91\x42\xbd\x8a\x80\x74\xb0\xb9\x15\xab"
      "\x7f\x55\xf2\x90\xc3\xe1\x08\x4f\x8e\x15\xd6\x86\x38\x01\x21\xee\xbc\x96"
      "\x0c\x46\xe6\x18\xcf\x0f\xc4\xf1\x8c\xd4\x59\x4d\x6f\x5a\xb2\xaf\xd3\x1b"
      "\xc8\xef\xa9\x2d\x75\x7b\x41\xcc\x78\xec\xeb\xd9\x3b\xcb\x13\xe5\x67\xef"
      "\x1b\x31\xea\x75\x6c\x35\x07\x34\xde\xfd\xf8\x4b\x9f\x6a\xc2\x58\x51\xef"
      "\x50\x3a\xc3\xe9\xaf\x39\x94\x66\xbf\x75\x74\x35\x06\xf2\x26\xba\x23\xf7"
      "\x4e\x28\xd2\x7d\x6b\xec\x6a\xf2\xde\x3e\x1a\x1b\x78\xb2\xfa\xf3\x11\xc7"
      "\x28\x7d\x23\x89\xe9\x08\x6b\xe1\x29\x22\x81\xa5\xd6\xc9\xb6\xf9\xf3\xb4"
      "\x6e\x8b\xbd\x9d\xf5\x3b\x35\x3e\xed\xbc\xfe\xe7\xe0\xb8\xd1\x35\x15\x7b"
      "\xfa\x37\x25\x7d\x81\x0f\x28\x8b\x2b\xbe\xab\x78\xa7\xaa\x67\x54\xf1\x37"
      "\x14\x1f\xdd\x6e\xf8\x26\x27\xa4\xc4\x65\x3e\x4a\x9a\xed\x27\x1a\x40\x3b"
      "\x6e\xdf\x3f\xdb\x7f\xf2\xa0\xe8\x03\xc9\xf9\x11\x96\x7a\xf7\xed\x35\xb6"
      "\x3b\x31\xaf\xdf\x97\x98\x9e\x33\x14\x55\x2a\xfd\x5d\x40\xfa\x20\x8b\xee"
      "\xa1\xb2\x8e\x40\xe2\xb6\x2f\xf1\xc3\xa0\x80\x5b\xe9\xbb\x87\xce\x57\xad"
      "\x66\x8b\xf4\x19\xa7\x68\xd4\xa8\x3e\x5c\xa6\xe3\x3e\x7b\xc1\xe2\x72\xb2"
      "\xde\x4f\x2d\xfe\xf3\xf6\x0d\x7a\xe7\x88\x3f\xaf\x98\x1c\xeb\x3a\xfe\x55"
      "\x39\x99\x94\x6b\x79\xea\x4c\x9d\x93\x06\xff\x3e\x26\xe5\xf9\x25\xfe\x8a"
      "\x0a\xde\x94\x1a\x0f\xbb\x7d\x6f\x9f\x3e\xdb\x59\x1f\x16\xf2\x30\x83\xec"
      "\x91\x58\x83\xe2\xe3\x37\xc7\x1a\xe3\x26\x1e\xcd\xc4\xcd\xdc\x1f\x3a\x7a"
      "\xc3\xf8\x48\xec\x8f\xcf\x46\x81\x3e\x2c\x77\x03\xd4\x2f\x72\x0b\x73\xe6"
      "\x09\x1b\x19\x2f\xfd\x3e\x50\xab\x1f\xd1\xbd\xfc\x8a\xc3\xde\xc9\xa0\xd3"
      "\xeb\xbe\x79\xbf\x78\xea\x4a\x46\x58\xe4\xd5\xe1\x33\x75\x8e\x3f\xf6\x17"
      "\xbc\xbd\x28\xb4\x8b\x7f\x75\x4c\xeb\x40\xda\xe4\x7e\xbd\xab\x19\xd7\x22"
      "\xd4\x29\x1e\x67\xdf\xe1\xf7\x75\x59\xd0\xd3\x61\x32\x9b\xd1\x10\x26\xa3"
      "\xa5\x54\xaa\xaa\xe9\xa2\xbd\x7d\x9c\xa8\x33\xee\x5e\xc0\x4d\xd1\xb4\xb3"
      "\xe9\xf1\xef\x77\x25\xd8\x68\xb3\xad\x69\x9f\x33\xa6\x1a\xc9\xa3\x28\x2e"
      "\x23\xfd\xf2\x6d\x4f\xd8\xe4\x02\x4d\xc9\x2f\xdd\xfa\xe2\xa9\x0e\x11\x49"
      "\x72\x57\x12\x83\x2d\x26\x92\xc3\x02\x1e\xe2\xff\xd2\x37\x33\x00\x00\x00"
      "\x00\xf8\x4f\xb5\xac\x2a\xed\x64\xbc\xbd\x9a\x19\xe4\xfd\xe0\x5a\x45\xef"
      "\xc8\x83\xbf\xd7\xff\x54\x7f\xd5\xff\xfe\xfe\xbf\x46\x02\x81\x40\xe4\xe7"
      "\xda\x99\x4f\x79\x30\xeb\xc8\xa1\xfc\x6c\x9a\x03\x87\xeb\x0f\xdc\xc8\xbe"
      "\xe7\xba\x63\x69\xf3\xd4\x48\xbc\x4d\x7d\xa0\xa9\x69\x98\xce\x98\xc2\x87"
      "\xf7\xe1\x7d\xd7\x88\xb6\x28\x3d\x02\x78\x23\xc6\xc6\x74\x62\xd4\x13\x5b"
      "\xe8\x13\x9f\xdf\xe0\x93\xb7\xe1\x4d\x7c\x1d\xeb\xb1\xeb\xb1\xbf\x0c\x4d"
      "\xd2\x13\xb7\x5e\x36\x39\x46\xa6\x3f\xa7\xac\x78\x8e\x74\xf0\x7a\x52\x31"
      "\x3f\x3e\xc3\x3a\xef\x63\x26\x51\x57\x7c\x37\xf0\xb1\x76\x6f\x56\xe6\x49"
      "\x63\xf1\x38\x4a\xa6\x86\xac\xd3\x09\x6f\x12\xda\x72\x1b\xef\xc8\x18\x34"
      "\xcf\xa6\x05\x1b\x6a\xd4\xfa\xa9\x4d\xb7\x19\xbc\x5f\xa7\x0d\xf5\xb6\xce"
      "\x22\x0e\xb5\x38\xd0\xfc\x94\xab\xfb\x4b\xe3\x8f\x33\x1c\x4f\xa3\xc9\xcb"
      "\x4e\x05\xc6\x5b\x3c\x0b\x7f\x50\x35\x2f\x9a\xb7\x96\xc0\xb7\x39\x22\x28"
      "\x30\x4e\x55\x4c\x26\x9e\xe4\xce\xd1\x74\xf8\x39\x69\x98\xff\x8d\xb9\x8a"
      "\x0e\xfd\x02\x13\xc6\x26\x7f\x9e\x2b\x5a\x6b\xc1\xa1\x11\x4a\xf7\xaf\xb7"
      "\x90\xd9\x8d\xe6\x1d\x4e\xe0\x75\xae\xa9\xf9\xa4\x58\x70\xef\xf0\x3e\xf5"
      "\x5c\x43\xf9\xef\x6f\x5f\x95\x53\x5e\x18\x9d\x3e\x48\x4f\x19\x7e\xb1\x5d"
      "\xe3\x22\x69\xd5\x75\x57\xcd\xaa\xe4\xaf\x01\xda\xda\xe9\x7a\x3a\xd7\x5b"
      "\x6b\x1f\xbd\x4b\x72\xd3\xd8\x18\xde\x53\x50\xd3\xfb\x64\x44\xe3\x22\xa9"
      "\xc6\x47\xa9\xf1\x41\x9b\x6f\x8a\xec\x7f\x96\x48\xe3\x53\xe2\x8b\x2c\x4a"
      "\xfb\x3e\x8c\x64\x7b\xf8\x0d\x67\x8e\xf5\xad\xce\x18\xb3\x10\x7d\xbf\x99"
      "\x75\xf6\x8e\x37\x7f\x7a\x6f\xc3\xc0\xc3\x01\xb9\x93\x6b\xc3\x79\xa3\x77"
      "\x5f\xf1\x18\x92\xf2\xbc\x7b\x70\x98\xa6\xe1\xbb\x0e\xe9\xd5\x34\xe3\xf0"
      "\xe9\xde\xe6\x74\xea\xb4\x09\x9e\x9d\xc1\xd3\xcb\xfd\xdf\x88\xf7\x0e\x3c"
      "\x7c\x2f\x55\x7b\xd7\x68\x79\x47\x6d\xf9\xef\xa6\x64\xf2\xfb\x9c\xfc\x54"
      "\x27\xfd\x02\x9d\x2e\x5c\x11\x73\xfb\x58\x3f\x23\xdd\x4e\x36\xb0\xdd\x17"
      "\x94\xb8\xb0\xe7\xca\xa3\xd4\x88\x7d\x9b\x25\x0a\x1b\x76\x2c\x7d\xbd\x7d"
      "\x5a\x07\xee\x5b\x73\xf6\x97\x45\x48\x96\xac\x3f\x08\xb4\x37\x7f\xf8\x9a"
      "\x8b\x93\xee\x93\x60\x9d\xed\xcc\x7e\xf5\xd3\x89\x16\x29\xb7\x6b\xd5\xa7"
      "\x65\x78\x3f\xb2\x0c\x99\xc5\x1c\x77\x62\xed\xd2\x4b\x29\xe8\x78\x51\xa0"
      "\x67\x17\xfc\x40\x98\x7d\x4b\xdf\xe6\xf8\x49\x5d\xca\x72\x6f\x87\xf5\xc2"
      "\xbc\x4b\xd6\xbd\x3a\xdf\x86\x9d\x6d\xd9\xa6\x57\xdb\xda\x34\xb2\x1e\x5e"
      "\xdf\x79\x4f\x9b\x10\x17\x44\x97\xe8\xd8\x5d\x39\xc5\xfc\x87\x84\x25\x67"
      "\xed\xd6\x94\xdb\x8b\x21\x6a\xdb\xd5\xaf\x6a\x34\x31\x76\x6b\x1e\x7a\x53"
      "\x35\x11\x8c\x76\xc9\x15\x95\xcf\x52\xb3\x9e\xe6\x72\xf6\x37\x05\x6b\xe8"
      "\x1c\x16\xfb\x7e\xdd\xba\xed\xb2\x78\x34\xa5\x7f\xe1\x85\xc7\xf4\xbf\xe8"
      "\x09\x7c\x51\xf6\x39\x02\x4d\x2b\x77\xb6\x8d\xd9\xaf\x56\x14\x7d\x13\xe3"
      "\xef\x78\xab\x25\xdb\x58\xfe\x7c\x2a\x39\x4b\x80\xc9\x44\xb9\xe7\xc1\xd9"
      "\x1b\xf2\x77\x66\x95\x78\x7e\x0b\x68\x47\xe6\x1a\x96\xe6\x0f\xde\x7c\x71"
      "\xce\x2f\xf0\x7d\xf3\x76\xf0\xc5\x87\x07\x37\x5a\x73\xdf\x39\x14\x4a\x7d"
      "\x0c\x16\x96\x4b\xa7\x1b\x66\xbb\xfd\x8e\x8c\xa3\x79\xd6\x4b\xc4\x31\xa0"
      "\x60\x82\x89\x63\xbb\x70\x86\x38\x34\xf7\xb7\x6b\x4b\x37\x57\x6a\xb6\xbb"
      "\xe0\xa4\xd5\xc7\x79\xaa\x77\x47\xd8\x3b\x37\x95\xf6\x39\x44\xd1\x58\xad"
      "\xb5\xe6\xb8\x45\x85\x3f\x5d\x5e\x22\x1c\x99\xfa\x21\xd5\x2b\x2d\x1e\xdb"
      "\xf9\x60\xae\x7b\xd1\x3e\x48\x51\xf4\x9b\x71\xca\x9d\xe5\x7d\xac\xfb\xc5"
      "\x75\x94\x52\x85\x94\xf6\x1e\x2f\x6f\x8d\x96\x73\x0c\xbd\xa8\x1d\x7b\x6e"
      "\xf7\x3e\x79\xa7\xa6\x6c\x1f\x2a\xf1\x3b\x01\xac\x37\xbf\x50\x46\xf6\x86"
      "\xad\x45\x72\x56\x5e\x5b\x6b\x6a\x65\x28\xa1\xd2\xeb\xdd\x59\x70\x4e\x7e"
      "\x77\x2b\x6d\x43\x51\x62\x6b\x07\xbf\x4e\xde\x87\xa8\x9f\xe7\xc9\xaa\x59"
      "\x93\xd4\xce\xd7\x6b\x27\x1d\xf5\xac\x5d\x12\x38\x46\x75\xee\x81\xc4\xae"
      "\xda\x4b\xd2\xa4\xb6\x9f\xbb\x14\x2e\x51\x25\x88\x53\x7a\x49\xf5\x18\x04"
      "\xbd\xab\x6a\xdc\x28\x9e\xba\xaf\x3e\xfd\x7c\x87\x0a\xed\xaa\x4c\x60\xb1"
      "\x5b\xc6\x89\x6c\x35\x39\xe7\x87\x71\xf3\x37\xed\x2c\xd5\x2f\xdb\xfa\xfe"
      "\xa9\x38\xd3\x49\xc8\x31\xa5\x78\xf7\xe9\xc2\x0f\x8f\x9d\x12\x6f\x24\xdc"
      "\x7d\xcb\x5d\x15\xef\xa4\x3d\x4e\xb8\xa7\x43\xd8\x99\x5e\x4f\xf4\x90\x70"
      "\x56\xa9\xa1\x8c\x74\xff\xb1\x56\x3b\xb3\x01\xb7\xa9\xc4\x88\xeb\xc6\xda"
      "\xe9\x4d\xc7\xc5\xa2\x3e\x98\x98\xee\xfc\x59\xad\xcb\xbb\xac\xff\xea\xc9"
      "\xa5\xdc\x6d\x45\xaa\x57\xa6\x3d\x7e\x07\xb7\xa7\x13\x26\xd5\x16\x69\x93"
      "\x0e\xbb\x8a\xed\x4a\x39\x19\xd4\x38\x73\xff\xf8\x82\xe0\x93\xe2\x66\xee"
      "\x9b\x5b\x63\x1c\x5e\x9b\x21\x2b\xb5\x33\x6a\x3e\xd6\x63\x92\x06\xf7\xf7"
      "\x9c\x1d\x1f\x0f\x7e\x17\x79\x50\xf1\xdc\x7a\x4a\x68\x67\x0b\x6f\xd4\x95"
      "\x6f\xef\x4a\x38\x98\x25\x34\x7f\x26\xb6\x7d\x5d\x34\x0d\x12\x75\x5e\xb4"
      "\x0f\xf8\xac\xaa\x96\xb7\x9a\x97\x57\xb9\x36\xfb\x40\x32\x3e\x7a\x56\xc4"
      "\x33\x66\x21\xf6\xc7\xf8\xc3\xb7\x02\x4c\x41\x37\xd2\x13\x58\xbd\x17\x76"
      "\xf0\xbf\xb0\x16\x79\xcc\x2c\x56\xe4\xb5\x4a\x73\x6c\xc5\xe5\x9c\x6c\x90"
      "\xb7\xc5\x15\x75\x3a\xc3\xf0\xa1\xd7\x3e\x72\xdf\x63\x88\xa3\xce\x4d\x9e"
      "\x16\x31\x3c\x35\x56\xf5\xae\xed\x9b\xe8\x73\xfe\x50\xea\xe0\x32\x69\xe3"
      "\xfb\x4e\xb6\xb9\xe6\xa2\x6e\x06\x29\x82\xbd\xc3\xa2\xa7\x47\x09\x9e\x5c"
      "\xb9\x5a\x79\xc9\xb9\xbc\xa7\x5e\x3a\xd9\x58\xb4\xf0\x7d\x6a\xeb\xbf\xfa"
      "\xfa\xc2\x6f\xae\x2e\xdd\x01\xca\x89\xd4\xc1\x59\xf6\xed\x80\x40\xc3\xfa"
      "\x85\x66\x72\xee\x93\x67\x35\x55\x73\xf7\x2b\xed\x56\xcd\xdb\x57\x7c\xe0"
      "\xf6\xbd\x1a\x0a\x81\xeb\xbf\x03\x4e\x36\x46\x0a\x70\x5e\x12\x7c\x32\x2b"
      "\x6f\xd0\x5f\x73\xc8\x47\xbc\x4f\x31\x26\xb6\xdc\x20\x25\x29\xf8\xf0\x4d"
      "\xf9\xe5\xf9\xfd\x11\x4b\x14\xf5\xf1\x0a\xda\x3a\xda\x76\x9f\x2f\x05\xb0"
      "\x45\xd7\x9f\xcd\x9f\xa0\xe6\x0c\xd7\x08\xba\x71\x7f\x4d\xfd\xf4\x0d\xaa"
      "\x04\x8e\xd5\x6a\xe7\x89\x27\x86\x65\xa4\xb4\x67\xd5\xee\xeb\x74\x56\xed"
      "\xe8\x3b\xf9\xb2\xf4\xa4\x49\xf7\xa1\x8d\xbb\x3a\x3d\xf5\xf9\xa2\xab\xe9"
      "\xda\x21\x9f\x1b\xf7\xa9\xee\x1f\xdd\xe0\x14\x6b\x29\x6c\xaf\xbe\x35\xb8"
      "\xb6\x2b\x6f\x5d\x33\x72\x61\xd2\xee\xb7\xcd\x02\xd7\xb1\xe7\x4b\xab\x32"
      "\x2c\x03\x8c\x82\xbc\x86\xad\x89\xd7\x9a\x2f\x19\xf9\x25\x1c\xb6\xac\x75"
      "\x8f\x18\xa8\x7a\xf8\x59\x96\xeb\x5a\x91\xff\x83\x41\x26\xc9\x24\x95\xcb"
      "\x0b\x2f\x3f\x7e\xa7\xb8\x6b\xec\x1c\xd6\x2e\xe6\x72\x56\x56\xd0\xb7\xb1"
      "\x26\xff\xa8\x6c\xee\x3d\xd5\xfa\x4f\xfe\xa1\x17\x6e\xe8\x6c\x24\xb9\x90"
      "\x24\x8f\xf9\x1c\x0c\x1c\xc8\x9e\xec\xb4\xd4\xa6\xef\xd9\x49\xed\xc8\xc1"
      "\xda\x3e\x9c\xae\xaf\xfa\x3a\x99\xf9\xec\x6e\x7a\x59\x11\x89\x4f\xf6\x55"
      "\xb7\x5b\xd2\xb4\xc4\xca\x3e\x55\x9e\x59\xb1\xfc\x9e\x59\xc9\xf8\xc4\xff"
      "\x0e\xed\xa9\x10\xda\xed\x8b\x06\xa4\xba\xd5\xde\x0b\x73\x72\x35\x0d\xb3"
      "\x8b\x76\x62\xc5\xd1\xc6\x7d\x94\xb6\xa7\xbf\xe4\xc4\x8c\xe6\x8c\xd8\xab"
      "\x3b\xf1\x34\x14\x0c\xe7\xef\xef\x2d\x90\x32\x38\x7f\x53\x8a\xf8\xa4\xbd"
      "\x0d\x8b\x56\xd5\x33\x77\x5f\xd5\xef\x9a\x99\x9f\x67\x6c\x0c\xbd\xd9\x32"
      "\x8f\xec\x7d\xbc\x23\x63\x94\xc9\xf6\x87\x6d\x6a\x7b\xed\x84\x3f\xe5\x1c"
      "\xfd\xbd\x4b\xbd\x22\xc4\x06\x25\x63\x25\x13\xca\x31\x17\x69\x69\x8a\x7a"
      "\xc8\xe7\x73\x5b\x93\x6c\xe3\x35\x19\x0f\x74\x57\x6f\x95\xb5\xed\x88\xd4"
      "\x1c\x1c\xf8\x17\xbf\xad\x01\x00\x00\x00\xc0\x7f\x40\x39\xf9\x57\xef\xbe"
      "\x5b\x47\xc9\xba\xe3\xea\x65\x9d\x0b\x7f\xbd\x3a\x25\xce\x50\x3f\xa6\xfc"
      "\x4b\x48\x74\xdc\xdf\x4d\x81\xc6\xe3\xcb\xf1\x2f\x16\xb1\xdf\x39\x3d\x37"
      "\x12\x52\x8b\x7b\xc6\xee\x4a\xa7\x95\x34\xad\xdb\xfc\xb0\x48\x5a\x66\x7f"
      "\x5a\xf8\x72\x92\x27\xd8\xa6\xb0\x39\xbc\x9e\xb6\xc2\x3d\x3b\xdb\x4a\xf3"
      "\x0f\x7d\xfa\xf2\x0d\x15\x6e\xd7\x07\x0f\x47\xdf\x7c\xb9\x9e\xba\xdb\x34"
      "\xcf\x90\x27\xe4\xda\xe4\x09\x92\xb0\xd1\x5b\x31\xe1\x8f\x2e\xf5\xf6\xb8"
      "\xb9\x1c\x72\x20\xdf\x45\xa2\x1f\x1a\x67\xd8\x60\x20\x76\xa8\xfa\x0c\x79"
      "\xb7\x7e\x4a\xac\xc7\xa9\x9b\x7c\xa4\xbb\x38\xbf\x37\x09\x56\x0a\x2c\x89"
      "\x33\xf5\x64\x11\x97\x2a\x56\xec\xa0\x28\xd4\x2e\x09\x25\xd2\x77\xda\x54"
      "\xad\x2c\x68\x4c\xf9\x79\x52\x66\x94\xb6\xe8\xc6\xe0\x71\x5a\xbd\xf7\x6f"
      "\xa2\x05\xef\xe3\xef\x4c\x01\x00\x00\x00\x00\x00\x00\xfe\x0b\x6e\xdd\x13"
      "\xf0\x1c\xba\x12\xae\xed\xdf\x65\x4a\x66\xbb\xa5\x5d\xf1\xf7\xfe\x3f\xf1"
      "\x5f\x75\x16\xc2\xff\xdc\xff\xd7\x21\x26\x10\x52\xc4\x46\x64\x02\xdf\x2c"
      "\x9e\x1e\x6f\x71\x66\xb8\xf5\x72\xfe\xee\x6d\x9d\xf6\x06\x91\xf5\xb6\xd8"
      "\xb8\xb7\xcd\x2b\x4f\xec\xa9\x54\xc6\x2f\x8e\xca\x96\x2d\x4b\x99\x5e\xbc"
      "\x78\x7a\xfa\x46\x21\xe7\x8f\xf8\x8e\xf0\x0a\xc1\x6a\x41\xfd\xf7\xbe\x85"
      "\xfc\xf9\x64\xe6\x4b\x33\xa1\xf3\x7e\xb4\x37\x84\x7a\x6b\x84\xa8\x1f\x9c"
      "\xd1\x9c\x4d\xf7\xbb\xd1\xa3\x61\x79\xea\x8c\x60\x9c\x7d\x49\xb5\xc4\x55"
      "\xa9\xa8\x0f\xa2\xe2\xea\x95\xc5\x22\xf1\xe2\x55\x67\x9a\x03\x96\xbe\xdc"
      "\xeb\xd0\x17\xbb\xe5\x2a\xdb\x25\x92\x39\xc4\xa0\x7a\xe6\xa8\xc5\x78\x83"
      "\x1a\xb5\x6f\xef\x03\xbd\x3d\xf7\x0b\x58\x1b\xfe\x10\x2b\x4d\x76\x7c\x15"
      "\x6b\xfe\xc4\x15\x62\x75\xc5\xa4\xff\x62\xb6\x52\x47\x76\xc2\xca\xe7\x89"
      "\xda\x24\xa6\x7a\xb3\xf4\x51\x8d\xfc\xb5\x42\xf2\xc8\xd6\xbe\x28\x3a\x97"
      "\x0e\xbd\x8e\x54\xba\x9f\x69\xef\xed\x16\xed\x03\x28\x1f\x77\x67\x4c\x9a"
      "\x5e\x1a\x7b\x44\x3f\x77\xcb\xf3\xf7\xc4\x97\x92\xb8\xb9\x87\x94\x57\x44"
      "\x26\x57\x73\x5a\x62\x38\xd7\xda\x5c\xb5\x8f\x79\xd3\x9e\x8f\xa3\x97\x8b"
      "\xde\x7b\xec\x42\x76\x22\x71\x63\xfd\xae\x77\xb7\x4b\xae\x0f\x7c\x28\x2d"
      "\x64\xeb\x36\x65\x50\x20\xbc\xa0\xd3\x79\x51\x25\xbe\x97\xa1\xd0\x74\xf7"
      "\xdb\xe9\x27\xef\xca\x32\xe6\x9f\x4b\xfe\xe0\xd3\x99\x89\x4d\x4a\x1b\xe9"
      "\xae\xbf\x74\x35\x94\xe3\xad\x01\x09\x87\x1a\xbb\xc0\xa5\x98\xdc\x05\xb1"
      "\x5f\x19\x67\xe6\x69\xce\x17\xc7\x3a\xf9\x6d\xc5\x68\x9c\xac\xb4\x09\x33"
      "\xd2\x69\x72\xfb\x96\xbc\xdf\xa9\xae\xe3\x14\x6b\xcb\x9a\x0a\xd3\xed\x9f"
      "\x25\x6f\x2a\x36\x98\x73\x49\x4f\x3b\x7d\xad\x91\x64\x12\x4f\xdd\xfb\x7c"
      "\x46\x98\x8a\xdb\x59\x4f\x54\x59\xe9\xdb\x9f\xe4\x49\xdf\xa7\x9a\x7c\x6a"
      "\x69\xde\xba\x4b\x94\x81\x74\xbb\xd9\x0e\xa8\xbd\xda\xf5\xac\x53\x37\x2a"
      "\xe7\x19\xb3\xdd\x9e\x57\xab\xd3\x1c\x8d\x5b\x13\xa3\x37\xcd\x38\x27\xb4"
      "\xf7\xb7\x32\x17\x29\x74\x99\xbc\x2f\xfa\x71\x7f\x2d\xb7\x35\x69\x89\xe6"
      "\xdd\xf8\xba\xd4\x4b\xcd\x28\x3d\xa5\x91\x08\xae\x92\xd5\x86\x2f\x27\xc2"
      "\xe8\x4e\x55\x6c\x70\x2c\xea\xf8\xbd\xb8\x47\xa3\xec\xd7\x10\xd1\xc0\x93"
      "\x7e\xe2\x36\xa3\xcc\xa6\xae\x15\xab\x40\x46\xee\x6b\xad\x41\xe7\x3a\xa9"
      "\xc5\x9f\x5f\x34\xf4\x1d\xf4\xbb\xff\xe8\x7f\xf5\xac\x6c\x9e\xdc\xff\x3d"
      "\xcf\xa8\xe3\xfe\x85\x48\xb9\x6d\x77\xff\xa4\xbe\x49\xe1\x0f\x5a\x43\x5a"
      "\x0e\x52\xa7\x3a\x2f\x71\x94\xaf\x92\xf9\x19\x5f\xef\x15\x14\x1a\xf7\xa6"
      "\x39\x28\xfd\x43\x8e\xaf\x40\xe8\xb6\xbe\x8a\x77\x13\x83\x1d\x39\x21\xdb"
      "\xaf\xdd\x23\x95\x32\xdb\xf4\x06\x69\x0e\xb3\xee\x8b\x23\x92\x9e\xd5\x16"
      "\xac\x74\xed\x6b\xd6\x77\x4c\xb9\x65\x3e\xb9\x9f\x11\x93\xc9\x9f\x33\x2b"
      "\x5b\x11\x8e\xc8\x0c\x8e\xb1\x53\x23\xb1\x22\xa6\x7e\x57\x6c\x3a\xfd\x4c"
      "\x97\xbf\xbc\x48\x30\xf5\xee\x35\x16\x13\x87\x3c\x6d\xbe\xd2\xa2\x4b\x3c"
      "\x3a\x8e\x96\x27\x3e\xb2\x34\x29\x97\x2e\xe4\x3d\xb8\x7b\x3b\x48\x92\xf9"
      "\x23\xaf\x2c\xf7\x99\xe3\x9f\x49\x73\x76\xe5\x1b\x47\xbe\x4e\xb8\xe0\xd3"
      "\x4d\x1b\xaa\xc1\x1d\x17\x76\x93\xba\x88\x73\xf9\xb3\x1c\xe7\x87\x2f\x4c"
      "\x17\xb4\xa5\xb7\xb8\xf9\x3c\x96\x0c\x9f\x2a\xda\x25\x5b\x57\x5e\xcc\xd0"
      "\x53\x9a\x4f\x6f\x32\x2f\xf6\x3b\xe0\x38\xb0\x2e\xee\xf3\xdd\x8f\xa5\x37"
      "\x69\xec\xee\x93\xd8\xb3\x7b\xf7\xb2\x16\xf2\xf6\x86\x36\x79\x07\x8a\x9a"
      "\xb5\x5f\x7d\xfe\x70\x6e\xe8\xbd\x77\x54\x10\xd5\x1f\x87\xdb\xd7\xb2\xc9"
      "\xcb\xde\x4a\x68\xb2\x51\x9f\x2f\xb4\xad\x16\x7d\x75\x7c\xa0\x6e\x8f\x06"
      "\x6f\x4a\x96\xd6\xf3\xc1\x0b\x9f\x58\x4f\xba\xcc\x0b\xfb\x6a\xb4\xc7\x8c"
      "\xc9\xd6\xb9\x0a\xfa\x09\x68\x68\xec\xfb\x7d\x92\xfc\x60\xe4\x75\x4a\xf9"
      "\xb1\x0a\xe5\xee\x1b\x87\xee\xc9\xe6\xe9\x08\x7d\xdf\xf9\x45\xe1\x19\x9d"
      "\xae\xb4\xcd\xd1\x12\x96\x41\xe2\x7b\x97\xd5\x84\xcd\x5a\xd8\xf9\x6d\x6c"
      "\x1b\x69\x52\x1a\x16\x8d\x8d\x72\xd5\x6f\xd2\x36\x66\xd6\x54\x24\x37\xc7"
      "\xb3\xba\xf0\x36\xdd\x48\x77\x74\x7f\xbb\xba\x34\xf1\xbd\x4d\xde\x8e\x31"
      "\xc1\x3c\xf5\x6d\xc9\xd3\xa1\x8c\x7a\x51\x5f\x5d\xcf\x3d\xce\xeb\xe3\xe4"
      "\xd9\xd4\xe9\xd2\x0e\x74\x35\xd5\x13\x43\xa2\x6d\xc9\xbb\xaa\xc8\x52\x8a"
      "\xfc\xad\x88\xad\xe5\xbc\x57\x16\xcf\x8e\x59\xb6\xec\x96\xb6\x95\xf6\xca"
      "\xff\x69\xa0\x48\x78\xc4\xc2\x3f\xac\xe2\x1a\xee\x2a\x47\xe7\x34\xe7\xb7"
      "\xd6\x7f\x3b\xca\x7e\x2e\x39\x44\xce\xba\x88\xfb\x96\x12\x7f\x82\xa8\xf8"
      "\x87\xfa\x23\x45\x69\x4c\x0d\x0a\xb9\x87\xd2\xe8\x87\x9c\xe8\xc9\xb9\x85"
      "\x87\x75\xba\xa5\x58\x69\x8d\x3f\x4a\xd8\x8e\xfb\x68\xc4\xae\xa5\xb0\xf3"
      "\xe5\xd2\x14\x46\x67\x34\x1f\xd7\x3c\xd3\x36\x2a\xb4\xe7\xd2\xf2\x6d\x35"
      "\x85\xfc\xdf\x51\x26\x2f\x32\x0f\x0c\x25\x58\x49\x87\xd7\x0d\x5b\xaf\x0d"
      "\xbe\x36\x3e\x17\x64\xc1\x66\x31\x57\x20\xf2\x55\xa8\x83\xad\x9f\x72\xd4"
      "\x78\xff\xbe\x80\x34\xa1\x1a\x01\x76\xb1\x15\x89\x3d\x9a\xbf\x4d\x86\xd4"
      "\x75\x58\x6c\xe4\xce\x9d\xa9\xb0\x78\xae\xf5\xc7\x43\x4e\xfb\xfc\xcd\x2b"
      "\x13\xc4\xfd\x97\x94\xa3\x38\xaa\xf8\x4a\x69\x9e\x30\x8f\x94\x59\x7b\xab"
      "\x05\x7f\x5f\xa8\xe9\xf1\x7a\xc1\x5c\xd3\xe6\xa0\x98\xf9\x55\x99\xb2\x5e"
      "\xc2\xd2\x42\xab\xfc\x74\xdb\xfe\xce\xe7\x9f\x5d\xce\x09\xec\x53\xed\xad"
      "\xbe\x69\x9a\x5a\xe1\x52\x7b\xba\x8f\x4d\xe5\x4a\x62\xda\x1d\x52\xfa\x67"
      "\x7d\xbc\x0a\xde\xde\x67\x24\x92\xb7\xcc\xa9\x35\x18\xd3\x7b\x1e\x75\x08"
      "\xb1\x07\x36\xe9\xf9\x9d\xdc\x60\xef\xeb\x31\xeb\x09\xef\xe4\x21\x7c\x8a"
      "\xfc\x21\x7c\x8e\xd0\x9e\x3a\x53\x64\x40\x2a\x70\x50\x3d\xbb\x39\xce\xd2"
      "\x78\x96\xdc\x72\xf2\xb8\xd7\x2b\x52\xab\x13\x1b\x62\x1d\x5b\x8c\x5c\x4a"
      "\xfe\x81\xf5\x24\xeb\xc3\x54\x7c\xd5\xfe\x6f\x35\xaa\x3e\x27\x38\x3f\xb6"
      "\x38\x1a\xaa\xd2\x21\x5e\xe0\x47\x1c\x7b\xa2\xfa\xe0\x8e\xaf\x5f\xce\x31"
      "\x70\xfd\x59\xad\x37\xdf\xbe\x6f\xa3\x61\x7e\xb9\x8e\xfe\x66\x16\x3f\x83"
      "\xdd\x60\x3a\x6b\x79\x4f\xd0\x60\x68\x6b\x7d\x54\x64\xcf\xf1\x31\xd2\x89"
      "\x2e\xbf\x23\x7b\x9f\x52\x1c\x58\xfb\xb3\xf8\x3c\xfb\x21\x77\x96\x93\xc0"
      "\xcc\xaa\xee\xf5\x7e\x45\xd5\xef\x8c\x9c\xd3\x87\x1a\x76\xe8\xbe\xe7\xb9"
      "\x56\xbb\x9b\x27\x6c\x9d\xf1\x55\x0a\xd9\x05\x21\x4f\x0f\x7e\xa6\xa4\x61"
      "\xd5\xb3\x75\x79\xf4\x3f\xd2\x4e\x69\xe6\x54\xeb\x0f\x9e\xe2\xd9\x48\x4a"
      "\x71\xf4\xaa\x0c\xa4\xec\x91\x12\x2a\xff\x54\x71\x99\x5a\xcd\xa3\xa5\x97"
      "\xcd\x6b\xdf\x4b\x5d\xed\xb4\x5a\x69\xa2\x60\xda\x78\x4d\x3f\xa7\xf8\x2e"
      "\x3e\x21\xe7\xe1\xa7\x21\x0a\x3d\xf5\xcf\x93\x93\xdb\x0b\x0f\x74\x89\x65"
      "\x5d\x76\x8b\xb4\xa9\xe5\xf2\xbb\x57\x7d\x40\xb5\xa2\xdc\x6c\x7c\x97\x15"
      "\xff\x08\xd7\x97\x84\x95\x75\xdf\x80\x80\xfc\xa8\xcb\x2f\x6f\xb0\x52\x31"
      "\xe6\x3d\x16\xeb\x55\x3e\xed\xa3\x2d\xf1\x7b\x7f\xc0\x05\x16\x8b\xc7\xf7"
      "\xad\xa2\x0c\x8f\x38\x86\xdd\xf9\xee\x15\x6e\xa6\xfe\xd2\xe7\xa8\x7c\xd8"
      "\x07\xb1\xdc\x53\x6f\xe9\x06\x2f\x52\xb9\xd2\x37\xd7\x88\xbb\x70\xf3\xbd"
      "\x4f\x5f\xa2\x12\x77\xcf\x72\x5a\x2e\x32\x3b\x44\x1b\x3b\x7c\x2f\x24\x97"
      "\xde\xa3\xcd\x55\xef\xaa\x6c\x93\x85\x89\xef\xe7\xfe\xd3\x35\x62\x8f\x1c"
      "\x5d\xbc\xd9\x4e\x49\xe7\x27\xbe\xc9\x3c\x65\xf6\xa6\xf0\xce\x7e\x6f\x25"
      "\x23\x85\xab\xd2\x25\x34\x2e\x4d\x91\x97\x5a\x8e\x90\x70\xbd\xef\xe8\x69"
      "\x63\xcb\xf1\x36\x28\x10\x75\x1c\x4b\x8e\xbe\x2e\xd8\x16\x95\x3e\x61\xbb"
      "\x93\xb5\xb8\x54\xe7\x72\xca\xae\x00\xb9\x90\xf8\xdb\x17\xf6\xb9\xab\x75"
      "\x6f\xb1\x68\x1c\x1b\xb2\x15\xa3\x6e\x3f\xcd\xcb\xc8\x47\x11\x49\xc2\x60"
      "\x5d\x94\x96\xfb\x79\x53\xbc\x3d\x7a\xc7\xd9\xb7\xf6\xc7\x5d\x33\xd4\x9e"
      "\xd0\x2f\x94\xfb\xa7\xd2\xd0\x6a\xf1\x9c\x9d\xb4\xdf\xee\x39\x73\x58\x4b"
      "\x2d\x5f\xfc\x19\x79\xb8\xd1\x6a\xb7\x7f\xcd\x0d\x6e\x9d\x52\x49\x1e\x62"
      "\xae\xc2\xbd\x23\x0f\x05\x9f\xf0\xe8\x3e\xbb\x3e\x92\xa2\xb6\x3f\x6d\x7b"
      "\x7c\xba\xcf\xf5\x08\xfb\x35\xca\x20\x8e\x07\xa7\x2f\xff\xd6\xcf\x5b\x91"
      "\x65\x4d\x1f\xb8\xe0\x59\xe4\xa7\xca\xed\x72\x70\xe5\x8a\xa9\xf8\x1a\x9b"
      "\x69\xa8\xc6\x77\x2b\x61\xeb\xec\xc0\x2c\xa9\x2b\xdf\xba\xb2\x69\x2a\x27"
      "\x98\xfb\xed\x8f\xe6\x84\x7e\x14\x98\xd1\xd0\xe2\x5b\x26\x8a\xd7\x99\x74"
      "\x2b\xf5\x90\xf9\x7e\x75\xe6\x86\xf7\x95\x21\xf7\x6d\x87\xe3\x29\x47\x82"
      "\xd9\xe3\x95\x95\x3f\x93\x6c\xf0\x7d\xb4\xd9\x70\xe6\x31\xd2\x7a\x15\x43"
      "\xcb\x4c\x34\xb1\x3b\x7f\xe9\x72\x4e\xe9\x4b\x19\x92\x93\xbf\xdf\xd9\x5c"
      "\x3b\xbc\xe6\x91\x5b\x18\x29\x23\xc1\x4e\xf2\x92\x2d\xfc\x03\xcb\x4b\x66"
      "\xc3\x4d\xb5\x95\xce\x66\xb3\xab\x7e\xd3\x01\xd9\x65\x97\xef\xb4\xd3\x8c"
      "\xab\x54\x9a\x57\x17\x9d\x57\x8c\x7c\xe5\xa2\xe5\x42\xb1\x3f\xb0\x9e\x78"
      "\xdd\x7b\x6a\xc8\x26\x5b\xd3\x58\xa4\x31\xf9\x4f\x31\x83\x91\x7e\xb5\xdf"
      "\x95\x68\xc9\x53\x06\x4d\x56\xeb\x97\xfa\xd6\x68\xee\x1f\xd8\x30\xd8\x1b"
      "\xfc\xfc\xae\xf2\x92\xcf\xab\xe7\x35\x2a\x32\x25\x05\x63\x69\xac\xd4\x72"
      "\x4a\x4f\xb5\xd8\x47\x05\x7f\x69\xe4\x5b\xd8\x9e\x33\x0a\x7e\xfe\xdb\xf7"
      "\xe5\xa9\x27\x31\x54\x27\x05\xa5\x26\xb6\xe6\x0c\xdc\x06\x95\x33\x23\x9f"
      "\x25\x0d\x2e\x6a\x9e\xf4\xa5\x3f\xf8\x68\x52\xa2\xe6\x1c\xeb\xd4\x67\xf6"
      "\x0f\x0d\x93\x87\xdd\x05\x02\x3a\x5e\x74\x53\xac\x6b\x8c\x68\xbc\x58\x39"
      "\x75\x57\x8d\xf5\x66\xc0\xd0\xd1\x9f\x32\xdc\x52\x79\xe3\xbc\x25\x42\x4f"
      "\x62\x4a\xed\xc4\x77\x5c\xd0\x3d\x26\x36\x1e\xfb\xba\x6f\x39\x4e\x54\xe0"
      "\x68\xc1\x25\xa5\xf6\x1d\x1b\xf7\x1f\xd9\xde\x6f\x54\xa1\x64\x92\xf8\x52"
      "\x22\xda\xf1\xf6\xb2\x50\xe3\xa9\x5a\x4d\x8d\x66\x5f\xd5\xd1\x27\xb7\x7a"
      "\xd4\x6a\x1f\xc9\xef\xb5\xb6\x8d\xdb\xa0\xe6\x16\xa3\x34\x37\xf6\x4f\xeb"
      "\xa0\x9f\xbd\xff\xea\x23\x9f\x6c\x7f\xfa\xa4\xda\xd3\xbc\xe9\xf4\x8e\xa8"
      "\x89\x27\xe4\x23\xcb\xd7\xb7\x92\x77\xdd\x67\xb2\x58\xf7\x55\x9a\xca\xcd"
      "\xcf\x89\xca\xe2\xe0\x72\xf8\xae\xb0\x71\xef\x57\xf2\xef\x57\xd9\xbf\xdc"
      "\xbe\xa8\xd0\x24\x47\xb6\xcc\x08\x1b\xe9\xe7\xb1\x72\xd1\x2d\xf7\x32\x04"
      "\x6a\xce\xfa\xd6\xb0\x7d\xd0\x08\x32\xb8\x12\xa4\x72\xdd\xf4\xda\x9b\xdd"
      "\xbf\xaa\x2e\x47\xaa\x7f\xbc\x3c\xfc\xe6\x69\xee\xa7\x23\x9b\xf4\x66\x66"
      "\x8b\x76\x61\xb9\x41\x71\xee\x6d\xad\x7c\xfb\xc2\x33\x05\x84\xdc\x3a\x09"
      "\x25\x42\xae\x0f\xe6\xaa\x97\xe3\xfd\x0d\x63\x8d\x8d\x7d\x33\x8c\x1a\x02"
      "\xa8\x42\x4f\x3c\x2d\xf8\xf1\x53\x41\x6e\x2a\x63\x42\x7e\x47\xfc\xe1\xef"
      "\x9e\x5e\xae\x63\xcf\x18\x2b\x42\x13\x23\x1a\x2a\x55\x45\x9b\x66\x7e\xe6"
      "\xd9\xc9\xea\x7c\x2b\x8d\x77\x55\xf5\xab\x66\x3f\x5b\x1e\x9d\xf6\x8b\x7a"
      "\x81\xf3\x6b\xb0\x70\xa4\xdd\x1f\xe2\x1f\x0e\x3d\x54\x74\x27\xa3\xee\xdd"
      "\x3a\x60\x4a\xb3\xe5\xb7\xdc\xb1\x90\xeb\xe3\xf8\x96\xe1\xd4\xd6\xb1\x5d"
      "\x22\x69\xf7\xe3\x2f\x70\x79\x0b\xf8\x16\x84\x7e\x93\xa6\x0e\x2f\x4b\x2b"
      "\x6a\xb3\xf2\x8b\x92\x75\xb6\x73\xdb\x6b\x26\xdf\xe7\xf1\x89\xef\xcf\xb1"
      "\xac\x62\xad\xcc\xfd\x53\x87\xbc\x3f\x3c\xbf\x30\xcb\x97\x75\x21\x9f\xfe"
      "\x6a\xcc\xc6\x6d\xe7\x98\x78\x93\xdd\x57\xaf\x07\x4b\xe6\xf6\x6c\x2b\x3f"
      "\xfe\x59\xad\x9c\xbc\x1d\xd3\x9d\xdf\x6f\xd3\x1d\xcd\x63\xde\xa7\x77\x45"
      "\x52\x5d\xc4\xeb\x4f\x34\x49\x10\x5b\x91\x56\xd2\x90\x82\xee\x3e\xa1\x13"
      "\x41\x0f\x39\xcd\x07\xd7\x35\xfc\xc3\x66\x2d\xc7\x3b\xf5\xeb\x04\x29\x5b"
      "\x18\x3e\xa9\xd0\xf0\x0e\x13\x9e\x0f\xed\x63\x8f\x98\xba\x2b\x7f\xa7\x8a"
      "\x41\x30\x6d\xe5\xa7\xd8\x1e\xb9\x69\x76\xe1\x2a\xbe\x83\x1f\xca\x34\x0b"
      "\x94\xeb\x6d\xc6\x1e\x84\x0b\xfa\x7b\x84\xeb\x4d\xc6\x4d\xf7\x54\xf4\xb6"
      "\x68\x3f\x4c\x48\x7d\xff\x74\x9f\x7e\xa9\x61\x8d\xe0\x35\x36\xeb\x57\x3a"
      "\xaf\x1e\x28\xc4\x4b\xd2\xc6\x59\x26\xdc\xbd\x29\x1d\xa2\x98\xe7\x49\xb7"
      "\xb5\x3f\xbc\x53\xbb\xe3\xf5\xc0\xa1\xdc\xa3\xfe\xad\xbe\x09\xf3\x3e\x31"
      "\x1f\x15\x35\xf4\xa5\x76\x34\x31\x59\x3d\x11\x29\xbe\x33\xba\xb9\x47\xa0"
      "\xa6\xd0\xfc\x31\xb5\xa4\x96\xa8\xdf\x74\x2c\x43\xa7\x2a\x3d\xb7\x2b\x69"
      "\x84\x50\xed\x8d\x91\x8a\xb9\xe8\xa3\xed\x43\xc9\x16\xfb\xbc\x0f\x54\x75"
      "\xb5\xcd\xec\x98\x9a\xcf\x88\x3c\xca\x9a\xc8\x67\xf7\xe7\x88\xde\x30\x5d"
      "\x80\x60\x7a\xed\x97\x57\x64\xaf\x87\x0f\xba\xc8\x1e\x55\x3e\x7f\xae\xba"
      "\x98\x71\xdd\xdd\x9a\xa9\xe6\xb1\xd9\x9a\x6f\xae\x76\x49\x5d\xba\x84\x84"
      "\xba\x4b\x7d\x73\x49\x65\x47\xe6\xd4\xd7\xe4\x54\xda\xe4\x64\x69\x5f\x2f"
      "\xaa\xc3\x0a\xdf\x88\x0d\x0e\x5d\xaa\x6f\xcf\x2a\x14\xe2\x58\x9b\x4c\x1b"
      "\x8b\x0a\xd3\xdc\xe2\xbd\x60\xa7\x6c\x16\x68\x72\x46\x69\xf2\x9e\xad\x72"
      "\x80\x46\xe0\x8e\x2b\x44\x5f\xdf\x0a\x0a\xbf\xb2\xde\xcb\xd7\xd2\x54\x20"
      "\xcb\xc6\xc2\xcf\xa8\xa2\xec\x48\x20\x39\xd6\x32\xe6\xf5\xf8\xf0\x89\x02"
      "\xe3\x13\x16\x2c\x85\x44\x6c\x49\xec\x7a\xf9\xfc\xa7\xcd\xcd\x8b\x33\x18"
      "\x02\xd7\x29\xc9\xca\x4e\xbe\x9e\x32\x10\x26\xd2\xf1\x2c\xb5\xcf\xd4\xef"
      "\xdb\xf9\x81\xbd\x2a\xa3\x46\xb3\x97\x9e\x97\x24\xee\x9b\x67\x66\x9a\x03"
      "\x9f\xf4\x07\xbb\x85\xd6\xb8\x67\x2d\x36\xe9\x51\x1a\x52\x4b\x0d\x11\xdf"
      "\x6f\xac\x4c\xfc\x34\xa9\xeb\x9a\x66\x9d\xe7\x63\xd0\x98\x89\xfa\x5c\x7b"
      "\xee\x81\xfe\x97\xe6\x92\x54\xef\xe6\xa8\x44\x75\x16\xd6\xef\x93\x6e\xc1"
      "\xbf\xc9\xb9\x3f\x5e\xe2\x3a\x36\xf2\xce\x3e\xce\x80\x4e\xe5\xd6\x83\x6a"
      "\xb7\x23\x77\x68\xaa\xf7\xc9\xd6\x46\x92\x9f\x52\xfc\x6c\xf9\xb0\xb5\x38"
      "\xd3\xb5\x2f\xcb\xa5\x99\xc5\x92\xf9\x84\xe2\xcd\x5b\x9d\xd4\x4b\xf2\x27"
      "\x8f\x2b\xfb\xe6\x2c\x96\x9c\x2c\x19\xcc\xf0\x20\x95\x51\xfe\x98\x1d\x43"
      "\x34\xf4\xe7\x17\xa5\xdd\xbd\xeb\x06\x1f\x33\xa2\x07\xad\x6d\x6d\xfc\x0a"
      "\x88\xbe\xa6\x5a\x0b\x5e\xf2\xa9\x8c\xd8\x9a\x24\x11\x59\x34\x59\x68\xc8"
      "\x26\xbb\x34\xe1\xd2\xb5\x1a\x31\x99\xff\x3b\xe6\x22\xa1\xc1\xea\xde\x0b"
      "\x9b\x45\x13\xdd\xc6\x58\x81\x7d\xdb\xb2\x92\x2c\x57\x86\xf6\x87\xaa\x0e"
      "\x38\x8b\xdb\xba\xe4\xb5\xbe\xec\xbc\xb6\xc7\x2d\xf6\xd8\xe3\xb3\xa7\x94"
      "\x85\x4f\x14\xe5\xb1\x0b\x93\xbc\x6e\x9b\xe0\xf6\x33\x7f\x76\xc4\x5f\x83"
      "\x77\xae\x8e\x77\xa4\xc3\x24\xbb\x97\x91\xd5\x51\xfc\xaa\x57\x87\x2e\x6b"
      "\x18\x95\xc7\xb8\x64\xff\x6f\x3a\x97\x61\xd9\x9c\xfc\x2f\xac\xa2\xf4\x06"
      "\xf7\x7f\xd6\xfc\xea\xd1\xd9\x90\x30\x54\x96\x5a\x9d\x2c\x92\x94\x32\x9c"
      "\x0b\xb5\x3b\x4b\x11\xf7\xcc\x3c\xf7\xd2\xa0\x59\xd7\xaa\x59\xb7\x9c\x77"
      "\xd2\x2f\xf2\x54\xfe\x3d\x7a\x49\xab\x8a\x47\x9f\x16\x68\xb5\xdd\x1d\xb5"
      "\xdd\x93\x7e\x7b\x7c\x60\x3f\x6b\x11\x59\xb7\xd9\xc4\xf3\xd3\xdc\x0b\xea"
      "\xd6\xda\xd3\xf9\x3d\x59\x53\xb7\xba\xbf\xab\x30\x1d\x7b\xca\x63\x3f\xce"
      "\xa8\xd7\x55\x21\xbe\xb7\x6f\x72\x3b\xdd\xac\xee\xae\xca\xe3\x93\xfd\xf5"
      "\x3f\x4c\x0e\x47\xa9\x84\x9e\x79\xf8\xf3\x4d\xaa\xf2\x71\xcd\x54\x93\xed"
      "\x27\x0b\x92\xcc\x3d\xe3\xb9\x32\x8a\xcf\x4a\x98\x96\x9f\x73\xd7\x06\x86"
      "\x87\x6a\x56\xa9\x1c\x4f\xe8\x8e\x1f\x78\xcf\x96\x39\xb6\xc5\x1d\xc9\x5f"
      "\x9d\xef\x92\x18\x76\xe0\x8c\xc4\x4e\x1e\x49\x76\x27\x65\x87\x55\x99\xc4"
      "\x96\xc7\xa7\x95\xd7\x6e\x1a\x29\x32\xf7\x8f\xed\x0a\xce\xb0\xde\x1d\xcd"
      "\xa6\x76\x8e\x47\xc7\x66\xbe\x33\xd4\xe9\x82\x9d\xd2\xcb\x6f\x7b\x15\xdb"
      "\x84\xe6\x0a\x79\xf3\x63\x24\x17\x03\x8a\x3a\xea\x9f\xeb\xec\x21\x4c\x26"
      "\x4a\x5c\xa2\xd7\xef\xa6\x15\xa1\x39\x9a\x23\xa9\x3f\xb4\xbf\xcb\xa2\x2a"
      "\xae\xc9\xfe\xb2\xb6\x42\x7e\x50\x54\x54\xb7\x4f\xa6\x86\xe9\xb7\x1f\xfb"
      "\xf8\x1e\xaf\xbd\x8d\xbd\xbb\xa1\x5e\x92\xd4\x32\x4c\x71\x7f\xc4\xe8\xdb"
      "\x68\x22\xf7\x3c\x79\xc1\xcf\xa4\xb2\xce\x67\x9d\x79\x59\xbf\x5e\xa9\xb7"
      "\xbc\xa8\x6e\xfa\x78\xae\x81\x33\xf3\x74\x9b\x30\x55\xe5\x4b\x8f\xef\x84"
      "\xfc\x45\x7e\xce\xf6\xa3\xaa\xba\x59\x12\xf5\xd9\x2b\x16\x11\x6a\x66\xd4"
      "\xb1\x72\xaa\x95\x47\xc7\x5a\x3e\xaa\x68\x04\x0c\x54\x34\xf9\xd4\x51\x92"
      "\x7f\xf8\xf8\x7a\x41\x5b\x65\xc9\x54\xdb\x7e\x95\x5b\xdb\xe7\xf2\x81\x0c"
      "\xfe\x04\xaf\x9e\xb7\xfd\x65\xe4\xc2\x61\xf9\x3d\x25\xce\xce\x6c\x0c\x0f"
      "\xa4\x62\xec\x14\x66\x87\xf2\x86\x4a\x3e\xb5\x5d\x73\xb8\xcc\xb0\x68\xc8"
      "\x41\xa4\xf2\xcb\x32\xed\x09\xfb\xe9\xe7\xd5\xc2\xa4\x9c\x34\xa6\x97\xb7"
      "\x0a\x43\xc2\xf7\xb1\xf4\xdb\x0c\x24\xda\x0b\x3d\x96\x0f\x2c\x7d\xae\xe1"
      "\x46\x48\xe4\x51\xa8\xe4\xce\x4e\x9d\x2b\xa0\xeb\x1d\xa1\x67\x6f\x99\x15"
      "\x78\x1c\x1b\xd2\x9e\xc6\xe2\xbd\x77\x50\xc1\xb5\x34\x63\xf8\xf7\x82\xe8"
      "\xdc\x47\xf5\x5d\x23\x97\xa6\x6e\x86\x39\x72\x9c\xb2\x1e\xef\x7a\x10\xf2"
      "\xce\x2a\xf2\x8d\x51\x7a\xc4\x99\x4f\xaf\xad\xde\x25\x9c\x24\xd7\xa1\x18"
      "\xf3\xae\xae\xb2\xdb\x17\x39\xeb\xfa\xad\x39\x8b\xd1\x6f\xf5\x98\xee\x07"
      "\xee\x91\xfe\xba\x81\xc3\xbd\x3d\x39\x8f\x48\x4a\x87\xcb\xd4\xdd\x6e\xb5"
      "\x3e\x29\x98\xb0\xef\x93\xf6\x4f\x98\x0a\xac\xea\xb6\xbc\x53\x19\x66\x95"
      "\x1e\xa3\xf1\x7d\x23\x9d\xf6\xc7\x90\xd2\xe9\xa6\xa0\x72\xaf\xa9\x9d\x0a"
      "\xc9\x32\x89\xc6\x73\x9a\x63\xd2\x92\x6f\x96\x66\x69\x63\x23\x05\x8e\x28"
      "\xaf\x1b\x4d\x47\xb5\xf3\x25\x0c\x5b\xd7\xf7\x2b\x4e\x4e\xb4\x38\x9a\xf6"
      "\x1a\x7d\xef\xa5\x58\xea\x3d\xb8\x8f\x89\x3c\x68\x3a\xf7\xd0\xa6\x73\xa2"
      "\x21\x0d\xc9\x8a\x2d\x59\xb8\x8b\xe3\x1d\x23\xd5\xe6\x11\xee\x08\xc6\xc0"
      "\x36\x99\xe9\xdc\x3b\xed\xe5\xd3\x8b\x4d\x47\xb9\x16\x65\x2a\xdf\xcc\x04"
      "\x5a\x94\xff\xd2\xfc\x58\x25\x22\xe3\xdf\x75\xb1\x50\xc1\x2a\x60\xad\x58"
      "\x2a\xf3\xcd\xa4\xf4\x77\xb6\xdc\x64\x7f\x19\x89\x1e\x91\x3d\xc1\x15\x17"
      "\x72\x98\xf7\xa4\xad\x73\xc4\xbc\xbc\x97\x78\x40\x70\xcf\x89\x31\x93\xf5"
      "\x02\xb6\x33\xc5\x84\xef\xac\xbc\x3f\x3b\xba\xfe\xb0\xdd\x3d\xa3\x54\x68"
      "\x79\x41\x63\xfa\xbe\x8a\x36\x6f\x95\x56\x86\x79\x43\x7d\xd3\x0e\x82\xd5"
      "\x83\x97\x5b\x14\x3e\x3c\x96\xe7\xe9\x9f\x9e\xdc\xff\x26\x7d\x58\x2b\x22"
      "\x73\x2f\xe5\xbc\x83\x20\xb3\xd2\xac\xdc\x75\x4f\x77\x9d\x2b\x1c\x4e\x59"
      "\xd7\x9f\x3a\x9d\xe1\xa1\xc9\xfe\x69\x59\x2e\x11\x46\x73\xa9\x25\x72\xc1"
      "\xf2\x8f\xfe\x17\xfe\xc2\x9d\x6f\x1c\x38\x22\xe3\x62\xcc\xae\xf2\x74\x56"
      "\x30\xb2\x57\x9c\xe8\xca\xd9\x15\xab\x3e\x40\x27\x11\xcd\xc0\x3a\xf7\xe3"
      "\x34\xbb\xfc\x39\x8a\x60\x99\xbd\x12\x17\x1f\x5a\x2a\xfa\x7d\x6a\x7a\x9e"
      "\x7e\xba\xe8\x6c\x9a\x47\x57\xdd\xc8\x4f\x23\x89\xc5\xc8\x9e\xfd\x9b\x79"
      "\x01\xc3\xee\x4c\x51\x56\x9f\x59\x75\xf5\x1c\x3c\x79\x13\xbf\x84\x50\x5f"
      "\x73\x1f\x28\xd9\x7d\xfb\x9e\x33\xeb\x32\x85\x35\x77\x82\xd7\x44\xaf\xc0"
      "\xe9\xf2\x4f\x1f\xfa\x19\x36\xf9\x1f\x52\x5c\x66\x3e\x4c\xc9\x92\x96\x7c"
      "\x88\xa8\x8d\x89\x32\x70\xf7\xd8\x19\x6f\xcb\x1b\xd9\xb5\x7e\xef\x47\x73"
      "\x96\xad\xfc\x52\x5d\x37\x26\xea\xb7\xf6\x39\xc6\xc7\x1e\xe6\xcf\x97\xd5"
      "\x23\xda\x79\xa8\x58\xd5\x44\xa1\x28\xf1\x48\x22\xd7\x89\x5d\x1e\xfd\x37"
      "\x9a\x98\x73\x6d\x7d\x33\x9f\x53\x92\x1f\x90\x22\xb4\xa9\x4a\xce\x67\xc8"
      "\xb7\x5c\x75\xd0\xe0\xf2\xc9\x63\xd4\x9c\x56\x57\x39\xcc\xba\xe7\x8f\x7b"
      "\x9c\x7d\x9e\xf5\x58\xc5\xe7\xfb\x3c\x16\x0e\x4f\xbd\xc8\xf9\x0f\xa8\xf7"
      "\x1d\x62\xe9\xbc\x11\xa4\x77\xd7\x59\xa4\x70\x98\x4d\xf3\x0e\x3f\x7f\xb8"
      "\xb0\xa3\xc3\xec\xac\xd8\xd7\x40\xf6\x14\xb6\x0e\x4b\xcb\x48\x16\xae\x3d"
      "\x02\xc7\xfa\x1a\x6e\x59\x99\x4a\xcd\xb1\x51\xbf\x7f\xdf\x64\x30\x4b\x61"
      "\xe8\x1c\x1a\x76\x8f\xfc\xf5\x60\xe9\xbb\xb6\x23\xb2\x7c\xfa\xbf\xeb\xeb"
      "\x32\xbc\x2e\x7c\xd2\x59\xd1\x9c\x9c\x4e\x15\x49\xe7\x3b\x40\x91\x95\xe7"
      "\xcd\xb8\xb7\x50\xa0\xea\xc9\x76\xb7\x9a\x97\x78\xc8\xe1\x1b\xa3\x15\x4e"
      "\x47\x0e\xd5\xbc\x8c\x36\x4f\x19\x9b\xf3\x7c\xd0\xcc\x3e\x4b\xf8\x3e\x43"
      "\x59\xb4\x29\xaf\xfe\xb0\xb6\xa4\x3e\xc1\xee\x15\x93\xc2\xd1\x07\xf3\xf2"
      "\x17\x8b\x44\xf7\x77\xf1\x70\x30\x54\x71\x55\x26\x89\xdb\xed\x32\x3d\x61"
      "\xd7\x3f\x4b\xcd\xcb\x5a\x77\x70\xee\x5c\xfa\x39\xd2\xdf\xe4\x2a\x81\x0c"
      "\xcb\x9b\x57\xb4\x15\xc6\xae\x3a\x26\xb7\xb9\x55\x3e\x6a\x3f\x93\x33\x4a"
      "\xce\xfa\xd1\xea\xd8\x4d\x8a\x7e\xab\x77\x1b\xea\x4e\x67\xa4\xfd\x1f\xb9"
      "\x0b\x29\x92\xe5\x66\xcf\x3f\xec\x0a\x79\x97\x52\x33\x90\xb0\x27\x2d\x58"
      "\xb1\xf1\xb5\xb5\x42\x83\xf3\x0e\xdb\x7b\x2c\x8d\x37\x8a\x79\x13\x18\x5f"
      "\x18\xd8\xb6\xd9\x1f\x2c\xe5\xa3\x34\xfc\x7a\x99\x2e\xc7\x3f\x35\x84\x67"
      "\xf6\x42\x91\xf5\x32\x67\xf2\x2f\xde\xcb\xef\x42\x53\x8d\x2f\xad\x76\xaa"
      "\x53\xcf\xb1\xd3\x9e\xbb\x7b\x66\x45\x54\x71\xdd\xf2\x6a\x6f\xf7\x9c\x06"
      "\x65\x9d\x44\xc2\xcb\x67\x1a\x47\xb7\x2b\x7c\x5e\xd6\x54\xef\x51\x73\x96"
      "\x94\x88\x3f\xf2\x80\xe2\xd4\x4d\xc2\xe5\x15\xea\x61\x2d\xeb\x95\x8e\x5b"
      "\x3b\xf6\x38\x7b\xf7\x74\x74\xf2\xe6\xa4\xea\x6b\x57\x13\x35\x77\xf0\x9e"
      "\xf9\x65\x5e\x78\x26\xd6\xca\xf1\x85\x46\x5b\x4a\xa7\x8f\x90\x9c\x22\xc9"
      "\x6d\xe2\xb6\x8b\xea\x4b\x0f\xab\x98\xa4\x4a\xde\xaf\x47\x90\x7e\x18\x14"
      "\x12\x2b\x5d\xf2\x91\xcf\xf9\x49\xe1\x64\x6c\xda\x15\xad\x5b\x79\x41\x2e"
      "\xfa\xc9\x6a\xce\x86\x45\xdb\xa4\x3a\x05\x99\xdf\x9c\x5b\xb4\x60\xb3\xa1"
      "\x25\xff\x62\x48\xa2\x57\x59\xe6\x87\xe1\xf3\x43\x1c\xf3\xf5\x0e\xa7\x4f"
      "\x05\x58\x24\x30\x79\x9f\xbc\x5c\xae\x99\x7a\xb2\x21\x6f\xa7\xca\xc5\x8c"
      "\x93\xfc\x37\x76\x5e\x16\xd2\x8f\x7b\x5a\x3f\xe5\x37\x36\xbf\x47\x6d\x50"
      "\xc0\x22\x8e\xfb\xca\x56\xab\xe3\xb4\x9f\x65\x1f\x23\xa7\xee\xb7\x45\x8d"
      "\x4d\xb5\xca\xb3\xd7\xef\xd7\x46\x9f\xbe\x2f\x6f\xf8\x88\x52\xf8\xd6\xd8"
      "\xa6\xdc\x32\xe7\xec\xe4\xf3\x94\xbb\xca\x61\x87\xc7\x36\x3f\xe4\xd7\x8b"
      "\x49\x9f\x93\xa7\x23\xfe\x39\x5f\x3c\x3f\xb0\x15\xd5\x62\x34\xa7\xd4\xca"
      "\x79\x65\x54\x94\x26\x63\xd3\xb2\xf4\x52\x57\x92\xb2\xcd\xaf\x21\x26\x79"
      "\xf1\xf0\x27\x0e\x47\x1f\x8e\x7b\x92\xa9\xdd\xaf\xd9\x2b\x68\x55\x40\x1e"
      "\xef\x64\xf3\xb3\x60\x97\x0a\x63\x82\x5d\x17\x99\xda\x69\xd9\x98\x29\xda"
      "\x65\xa6\x87\xb7\x77\x1e\xd1\xcf\xee\xda\x75\xd8\xea\x53\xe7\x6d\x1b\x81"
      "\xe7\xfd\x96\xec\x51\xc2\x32\x3f\x75\x9e\x4d\xa7\x9e\xbd\x72\x33\xa6\xa9"
      "\x70\x37\x8b\xb4\x6e\xc6\x9d\x33\xea\xd4\xb5\x09\x67\x15\x25\x19\x74\x9a"
      "\xde\x87\x04\x4d\x4e\xbf\xfc\x71\x30\xa8\xd2\x70\xaa\x4f\x97\xc2\xd1\xdb"
      "\xc3\x70\xb2\xe3\x93\x6c\x67\x6e\xbf\xa9\x41\x50\x53\x03\x7d\x40\xf7\x15"
      "\xd5\x7f\xf1\xaf\xcf\x00\x00\x00\x00\x00\x00\xfe\xdb\xe8\xef\x99\x3c\xe2"
      "\x94\x19\xf6\x42\x45\x3d\xf2\x69\xea\xe3\xf8\x67\x7f\xef\xff\x93\xfc\x55"
      "\xff\x7b\xff\x3f\x9c\x40\x20\x1c\xce\x3e\x4b\xbb\xa3\x86\xe7\x90\x72\xef"
      "\x87\x9c\x1a\x93\x0b\xb7\x9b\xed\x97\xdb\x38\xde\xa5\x51\xe6\x16\xc5\xd5"
      "\xb4\x86\x6f\x6b\x0e\xf4\xaf\xdf\x3e\xfe\xe3\x4a\x10\x83\x51\xa1\x98\xd8"
      "\x50\x94\xc8\xc1\xda\x64\xeb\xe5\xa4\x35\xb6\x03\xbd\xd3\x5f\x1a\x0b\x46"
      "\x66\xc9\x7b\x22\x8a\x5d\xe7\x53\x7f\x87\xe7\x7e\xde\xf3\xf1\x69\x17\x4b"
      "\x7b\x77\xe5\x5b\x4f\x8a\xb7\xc2\x9e\xae\x3e\xf2\xb7\xe9\x15\x9c\x7e\x74"
      "\x9f\x7c\xb4\xc6\x14\xbf\xd8\xe5\x7c\xf8\xe1\xa0\x32\xd3\xe5\xb4\x3f\x86"
      "\x8e\xca\x37\x96\xce\xd3\x98\x1c\x79\xd6\x4d\x37\xc7\xa6\x17\xfc\x7e\x69"
      "\xa6\x26\xb6\x74\xd2\x28\x84\x3f\x2f\x7a\x8a\x55\xbf\x3c\xca\x72\xb3\xe0"
      "\xd3\xf9\x6b\x1d\x2f\x4f\xaf\xab\xba\xfb\x15\xbc\x22\x6b\x75\x5a\x78\x9a"
      "\xcc\xac\x14\xb7\x32\x51\x31\xf4\xae\xec\x62\x8d\x76\x6c\x2f\xd7\xb3\x4b"
      "\x47\xc4\x7b\x4e\x70\x34\xae\xc9\xbe\x48\x6b\x98\x5c\xdc\x23\x44\x62\x20"
      "\x51\xb5\xd7\x9c\xe5\x79\xc3\xfa\x33\xf6\xfd\x69\xd2\x22\x1b\xfb\xdf\x8d"
      "\x52\x93\xff\x72\x32\xd3\x4f\x0f\xe4\x51\x55\xd8\x97\x68\x71\x2a\xe6\x8d"
      "\x08\xa5\x4b\xf7\xfd\xf3\x0e\xbf\x49\xe9\xba\xaf\x7d\x30\x3c\x2e\x48\xca"
      "\x4f\x28\x2b\xba\x3c\x79\x25\x44\xca\xce\x8b\x8f\xa9\xb8\xdd\xd5\x41\x36"
      "\x54\x91\x67\x4d\xdf\xf2\xdd\xdb\xb8\xda\xf8\x28\x0e\x22\x53\xad\x83\xbf"
      "\x2d\xe8\xa2\x8f\x53\xb1\x96\x25\x88\xbb\x18\x0f\x2d\x4a\x35\x28\xb1\x3f"
      "\x21\xfb\xa3\xfb\x80\x6c\xd5\x20\xe0\xa2\x9c\x90\x47\xe0\x52\x7e\x7f\xcb"
      "\x83\x53\x0e\x2a\xed\xac\x8a\xba\x83\x8f\xe2\x0e\xd9\x1f\x24\x22\x3b\x97"
      "\x4c\x97\x61\x3a\x52\xa8\xba\x9d\x14\x90\x94\x98\x7b\x94\x8c\x8f\xb3\x74"
      "\xf4\xf8\x72\x80\x85\x55\xbf\x81\xcc\x6c\x5a\x64\xd6\x7d\x81\xa0\x1b\x31"
      "\x3a\x3a\x96\xfc\xaf\xf4\xdd\xf4\x0c\x92\x46\xd8\x52\x83\xce\x27\xc7\xf7"
      "\x70\xc5\x1b\xb7\xd8\x37\x5e\xd4\x2e\x8d\xdb\x8e\x0f\x16\xad\x12\x0f\x4b"
      "\xb2\x60\xbe\x38\xe5\xeb\xdc\x97\xc7\x34\xc2\xa5\x68\x4c\x7a\xe2\xea\xe3"
      "\x77\xb3\x59\x89\xc6\x7f\xe4\xab\xaf\x08\x10\xcc\x0a\x76\xde\x7a\x11\xcf"
      "\xc2\x46\x63\xff\xd3\xaa\xda\xc1\xdc\xf4\x4e\xcc\x47\xf5\x42\x75\xf2\x0e"
      "\x12\x5f\x0a\x2a\x7f\xfa\x6c\xa5\xf1\x78\xe2\xee\x29\x0e\x6f\x4f\xc5\xeb"
      "\x0c\xc4\xd7\xf6\x27\xba\xcc\x12\x2b\x0c\x3e\x7f\xf0\xd9\xfd\xa9\xd0\x0c"
      "\xb1\x46\xf2\x1c\xc3\x6a\x03\x93\x9f\x48\xb4\xff\xfb\xa0\xce\x73\xc5\x17"
      "\xe8\x16\x3a\x5f\x38\xa8\xf3\x56\x49\x3c\x0b\xa8\x16\x64\x7e\x6a\xeb\xfb"
      "\x29\x5b\xd7\xb4\xbb\x53\xfc\x89\xfa\x7e\x12\xe1\x76\xbf\x9b\xe9\x5c\xf4"
      "\xfa\x55\x6b\x62\x3c\xdc\x45\x33\x15\x94\xf1\xbf\xeb\x7b\x9d\xa2\x94\x7d"
      "\x82\xb2\x37\xda\x85\x9f\x8c\x99\xf3\x6a\xdd\x5a\x7a\x9d\x38\x7f\xe5\xb2"
      "\xaf\xd1\x9f\x81\x0f\xd4\xad\x0d\x0c\x82\xa6\x49\xea\x3a\x77\x63\x22\x19"
      "\x0a\xca\xaf\x53\x9a\xb5\x3e\xe3\x50\x7e\xc2\xd8\x48\x59\x35\x7c\x48\x60"
      "\x74\x83\x62\xff\x54\xa8\x4e\x61\xa9\x0a\x49\xd5\x3e\x79\xb7\x13\x97\x5a"
      "\x64\x7a\xc8\x6d\xfc\xcb\x04\xf6\x65\xe7\x5e\x60\x09\x3d\xaf\xbd\x58\x43"
      "\xba\xfb\x9b\x4b\xd2\x8e\x99\xce\x7c\xc9\x89\xda\x10\x7e\xe9\xd0\x0c\x5f"
      "\x5d\xe1\xbb\x3b\x1c\x84\x2e\x26\x10\xa4\x9e\xb6\x89\xc9\xcd\xad\xb3\xf4"
      "\x45\xbe\x23\xef\x09\xdf\x5a\xb9\x36\x7b\xa9\xfa\xb7\xe2\xae\x79\xf9\x55"
      "\x72\x4b\xb7\xdf\x3b\x36\x28\xd7\x76\xbe\xf1\x55\x11\xc8\x22\x34\x85\xeb"
      "\x6d\x5c\x3a\x91\xa9\xd6\x14\xfc\xb5\x40\x30\x30\x38\x23\xe7\x1e\xf3\x3d"
      "\x43\x25\xa9\x53\x95\x4a\x19\x1a\xd5\x74\x8d\x8f\x72\xc2\xbe\x1a\x4b\x1d"
      "\x26\xdb\x7c\xb9\xb8\xcc\x2f\x93\xb3\x27\x85\xbc\x8c\xf5\xd4\xfb\x1e\x99"
      "\x65\x8e\x26\x41\xe3\x2d\x59\x2d\x72\xf1\x43\x19\x12\xb2\x5b\xc1\x45\x9e"
      "\xf2\xbb\x9e\x0a\xb8\x74\xe4\xaf\x0b\xf4\xb0\x7b\xc8\x39\xc8\xcb\x33\x89"
      "\x26\xb8\x85\x1d\xda\xfc\x91\x52\x32\x63\x69\xd3\x6e\xce\xac\x50\x30\xc4"
      "\x7f\x30\x80\x8a\xd3\xdc\x7b\x33\xc2\x69\xfa\xce\x75\x8b\x23\x52\xf5\x3b"
      "\x74\xac\x6e\xe4\x2d\x15\xde\x69\x3f\xea\x42\x60\x35\x2d\xdb\xda\x6d\xe5"
      "\x72\xf8\xcd\x4e\xef\x9d\x33\x07\x12\x45\x03\xc3\x72\x3b\xae\xce\x1c\xd7"
      "\xff\x2d\xb2\x7b\xaf\x3d\xc9\x12\xdf\xdb\x06\x9d\x88\x8a\xcd\x3c\xc3\x85"
      "\xef\xc4\x8e\xe4\xfd\x02\x22\x32\x6e\x52\x1a\x31\x73\x94\x0d\xc2\x21\xed"
      "\xa4\xe7\x7e\x68\x56\x0a\xeb\x32\xb8\x2c\xbf\xd8\xc7\x3e\xca\x71\x7a\xec"
      "\x4d\xf6\x8e\x08\xc6\x2b\x97\x92\x24\xc3\xef\x07\xb4\x66\x9e\x58\xfd\xf0"
      "\x8e\xf8\xa8\x31\x69\xb8\x17\x3d\x91\xf0\x9b\xcd\x80\x88\x3b\x66\xac\x7f"
      "\xce\xe4\xd7\x1e\xfa\xfd\xe9\xfd\xd3\xdd\xed\x0e\xc1\x94\x05\x9d\xac\x84"
      "\x38\x6b\x87\xe3\x95\x8d\x75\xda\xe5\xf5\xeb\x1f\x02\x23\x3a\xf7\x05\x0a"
      "\xe6\x27\x6a\xa5\x58\x1d\xae\x3e\xb4\x22\xb6\x2b\xd7\x86\xec\xed\xa1\xf7"
      "\x01\x5a\xfd\xcd\x56\xfd\xae\x16\x72\xaa\xdc\x85\x7b\x58\x7e\x74\xf2\xed"
      "\xda\x7b\xc2\x61\xef\x61\xad\xb6\x37\x9e\x9a\x7b\x5f\xfa\x5d\x73\xd0\xd2"
      "\xb9\xec\x93\x75\x51\xfc\x87\xcd\x3d\xd5\x0f\x5d\x1d\x3b\xf6\x24\xd7\x33"
      "\x2f\x8c\xad\xb0\x0f\xdd\xd3\xda\x79\xa4\xfb\x4b\xe5\xcf\x49\x71\xf7\x6d"
      "\x81\x43\x25\xbb\x5e\xf9\xdd\x21\x1b\x8a\x7a\xd6\x2f\x7b\x25\x4d\xea\x2b"
      "\xc3\xec\x93\xad\x88\xdd\x31\xd1\x32\x3b\xeb\xfe\xc5\xb7\x43\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x80\xff\x67\x51\x90\xb2\xfc\x5b\x6c\x0e"
      "\x72\x5a\xd1\xda\xab\xd2\xea\x6f\xb1\xec\x73\xaa\xca\xd6\x2f\xc3\x56\x4d"
      "\xa5\xd3\x4f\x45\x3d\xea\x4f\xfa\xe5\xc7\x25\x76\x69\x14\xd6\x2c\xe2\xe6"
      "\x76\xda\xb2\x45\x72\x25\xe3\xd7\x18\xb5\xb6\xfe\xd3\x8e\x77\xfd\xcf\x70"
      "\xf0\xaf\x94\x92\x40\x20\x5a\x26\x22\x10\x2c\x1f\x7c\x19\x0e\x69\x6a\x63"
      "\xfe\x1f\x6d\x44\x04\x02\x81\x84\x68\x97\x2f\x81\x40\x4f\x44\xdc\x44\x4f"
      "\xf4\x4f\x3d\x88\x6e\x10\x08\x04\xf3\xff\x75\x9d\xff\xbe\x58\xb1\x2c\x71"
      "\xed\x7f\x44\xdf\x70\x8a\x7f\xd7\x4e\xf7\x4f\x9d\xfc\xf3\xb8\x08\xd4\x24"
      "\x7f\x5f\xcf\xbf\xbb\x4e\x82\xdb\x7f\x3a\x22\xf8\x6f\x88\xf2\xaf\x79\x96"
      "\xc4\xf7\x63\xce\xda\xfe\x74\xdb\x7d\x7d\x21\xd5\x83\x7b\xdd\x8c\x7d\xff"
      "\xf7\x21\x44\x94\xff\x30\x9f\x08\x04\x5a\x93\x7f\x7e\x3e\xf1\xff\xa1\x5f"
      "\x53\x33\x4b\x41\xc1\x1b\x16\xee\x2c\x86\xde\x0e\x0e\x4c\x33\x79\xa4\x03"
      "\x21\x06\x82\xdd\x8f\xc7\xbe\x58\x8c\x73\x86\x85\x75\x12\xcf\xcf\x1e\xd3"
      "\xe8\xea\xf3\x76\x24\x23\x10\x08\x3b\xfe\x7a\xfc\x0f\x7f\xcf\x56\x96\xbf"
      "\x4f\xfe\x57\x3c\x4b\x20\x10\xa8\xfe\xa1\x7f\xe9\xff\x64\x5c\x3c\xff\x97"
      "\xe3\x3f\xfc\x1f\xe4\xec\x7f\x45\xf2\xbf\x22\xf5\x7f\xd2\xcf\xdf\x75\xee"
      "\xff\xcb\xe3\xff\x19\xe9\x3f\x45\xaa\xff\xe2\xf3\xff\xab\xfe\x4f\xaf\xd9"
      "\xff\x3f\xd1\xfc\x7f\x7c\xbe\xbf\xfd\x3d\x4e\xda\xbf\x62\xd5\x5f\xf1\xe0"
      "\x7f\xb1\x1f\x92\xbf\x1f\x44\x04\x62\x22\x02\xe9\xff\xba\x17\xdb\x10\xfd"
      "\xef\x39\x42\xf8\x87\xd7\x8d\x88\x40\x44\x20\xfb\x87\xfb\x28\x11\x81\xf8"
      "\xdf\x72\xe2\xff\x95\x13\xfe\x2d\x27\xfc\xef\x9c\xe8\x9f\x72\xe2\x7f\xca"
      "\x49\xc8\xfe\x69\x5c\xff\x76\xde\xbf\x26\x1a\x09\x11\xd1\xbf\x6f\xff\xfb"
      "\xb8\x7f\x6a\xe7\xfa\xab\x9d\xf4\xaf\x76\xee\x7f\xbc\xd7\xff\x1f\x9c\xff"
      "\x0f\xda\x59\xff\x8a\xff\x3f\xf6\xeb\x02\x48\xca\xfb\x8d\x13\x7c\x03\x83"
      "\x13\x82\xbb\x04\x77\x97\xc1\x82\x06\x0b\x96\x00\xc1\x1d\x82\x6b\x48\x70"
      "\x06\x82\x0e\x04\x77\x77\x02\x04\x77\x09\x4e\xb0\xe0\x1e\xdc\xdd\x25\xb8"
      "\x5c\xd5\x6d\xb8\xda\xda\xdd\x5c\x5d\xe5\xee\x36\x7b\xff\xfb\x7c\xaa\xa6"
      "\xaa\xbb\x9f\x9a\xef\x3c\xbf\xa7\xdf\xe9\x7e\x9f\x48\x7f\xfd\xa3\xbe\xfc"
      "\xf8\x3c\xf0\xdf\x3e\xf8\x2f\xa2\xfe\x77\x0f\xfe\x8f\x73\xfd\xef\x3e\xf6"
      "\x75\xe9\xff\xa4\x97\xff\x19\xc2\xfe\x57\x9f\x41\xff\xa3\xd7\x3f\xf6\x9b"
      "\xef\xaf\x37\x23\xea\x5f\xaf\x45\x0d\x13\xeb\xbf\xfb\x9d\x0f\xff\x03\x1f"
      "\x6b\x9b\x5b\x87\x36\xdb\xd7\xae\x78\xdf\x18\x7f\xd3\x47\x98\x65\x61\xfe"
      "\xca\x0f\xf3\x8f\xf2\x0b\xb6\x4f\xbc\x3a\x6a\x68\x96\x59\x09\xfe\x2e\xbf"
      "\x41\xd8\xbf\xf2\xc3\xfe\xa3\xfc\x43\x8f\x0b\x24\xbe\x16\xe9\xe4\xea\xbf"
      "\xcd\x1f\xf1\x31\x3f\xdc\x3f\xca\x8f\xb4\xaf\xfd\xb0\xee\xf7\xb6\xa7\xfb"
      "\xdb\xf9\x3c\xfa\x38\x9f\xa0\x7f\x94\xbf\x63\x44\x97\xd1\x71\x8a\xdf\xaa"
      "\xf4\xd9\xdf\xe5\xcf\xf8\x98\x1f\xe9\x1f\xe5\x3f\x0e\xaa\xbd\xff\x43\xef"
      "\xe5\xa3\xfe\xb6\xff\xec\x1f\xe7\x13\xf9\x1f\xe5\x2f\xab\xb9\xbe\xe2\xcb"
      "\x5c\x4b\x06\xff\x6d\x7e\xe0\x63\x7e\x94\x7f\x94\xff\x59\xe8\xae\xf5\x3f"
      "\x0f\x8c\x3f\xf3\x6f\xf3\xb7\x7e\x9c\x4f\xd4\x7f\x94\x9f\x2a\xcb\xb2\xd0"
      "\x3d\xa1\x1d\xcb\xfc\xed\xfc\x0f\x7f\xcc\xff\xe4\x1f\xe5\x5f\xfa\x90\xf3"
      "\x69\xfc\xfd\xbb\x96\xfe\xed\xf5\x59\xf4\xe3\x7c\x62\xfc\xa3\xfc\x58\xcd"
      "\xd2\x25\x89\xd1\xb9\x47\xa6\xbf\xfb\xec\x0c\xd3\xfb\x7f\xf6\x37\x2c\xc0"
      "\x7f\x96\xd8\x7f\xdd\x63\x85\xfe\xf5\xfc\x9f\xee\xa9\xff\x77\xfd\x57\xfb"
      "\xc2\x84\x18\x61\xfe\xcb\x3d\x5f\xb4\xbf\x7e\x3e\xf9\x7f\xf2\x0f\xfd\x37"
      "\xc2\xfc\x57\xbb\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xb9\x2a\xb4\x7d\xd4\x6e\x66"
      "\xaa\x95\x83\xf2\x7f\xbb\xb7\x5d\x99\x65\x0f\x22\x54\x6f\x79\xfa\xed\xda"
      "\xf3\xd5\xce\xdc\x9c\x72\xef\xcd\x96\xb7\x6b\x0a\x66\xcd\x3f\xf9\x4c\xa3"
      "\x53\xc9\xb3\x64\x38\x78\x74\xfb\xd1\xe8\x29\x6e\xd5\xbf\xd6\xb3\xec\xc1"
      "\xed\xe7\x6a\x7e\x97\xb5\xf6\xd8\xac\xeb\x6f\x0c\xca\xfd\x5d\xb8\xfa\x7f"
      "\xf4\x28\xd9\xa4\xc2\xfd\x63\xb1\x2e\x47\x78\x7a\x24\xe1\x9d\x78\x6d\xa6"
      "\x8f\xc9\xba\xf0\xce\xfb\xe4\x33\xfa\x4f\x1e\xf1\x45\x9d\x13\xa7\x3e\x8f"
      "\x97\xb3\x6d\xa7\x49\x85\x06\x6c\x5e\x32\xa8\xee\xc4\xe6\xf5\x2a\xbf\x38"
      "\x39\xa0\x5c\xe8\x99\x96\x81\x6b\x57\x4b\xad\x1d\x30\xe5\x64\xfc\x63\xcb"
      "\x4f\x9e\x0e\xec\x18\xd1\x65\x74\x9c\xe2\xb7\x2a\x7d\xec\x2b\x28\x10\x08"
      "\x24\xf8\x77\x47\x03\x00\x00\x00\xff\x31\xaa\xbd\xdc\x79\x3e\xee\x85\x4b"
      "\x8d\xd2\xa6\xeb\xd2\x3c\xeb\xe6\x67\x47\x3f\xee\xe1\x61\xff\xaa\x07\x05"
      "\x22\x05\x12\x04\x3a\x87\x19\xd3\x3e\xe7\xc5\x09\xf1\xbe\xcf\xb3\x70\x7c"
      "\xef\x17\xef\xdf\xd7\x6c\xfa\xea\xf6\xee\x78\x0b\x4a\x0e\x2e\xda\x72\x60"
      "\xa1\x71\x11\x6f\x56\x89\x9c\xfb\xf9\xd4\x4c\x87\x86\xac\x4a\xb9\xf3\x9b"
      "\xad\x53\xc2\xde\xad\x10\xef\xcf\xae\xa3\x9a\x0e\x6f\x93\xfb\xdc\x80\x91"
      "\xe5\x4a\xac\xdb\x7f\xbb\x5c\xfa\x38\xcf\xcb\x56\xab\x95\xaa\x54\x9b\xf1"
      "\xd5\x67\x4f\x4e\x54\x3c\xf2\xb6\x75\xc9\x76\x5c\xc8\x7a\x3b\x65\xec\x69"
      "\xa9\x5b\x5e\x2a\x39\x67\xef\xb5\xf5\xf1\xdb\x57\xb9\x52\xfc\xc9\x93\x1b"
      "\x4d\x0a\x76\x2c\x59\xe7\x72\xf0\xee\x16\x4b\x7b\x0c\x5d\xb7\xe3\x7c\x50"
      "\x92\x39\x67\x96\xb6\xad\xda\xb6\xee\xa8\xcf\x56\xbe\x9e\x50\xf3\x49\xbb"
      "\x53\xef\x4f\xd4\x2d\xb6\xb8\xf0\x84\x2c\xcd\x7f\xc8\x70\xfb\xca\x2f\x07"
      "\xcf\x9d\xb9\xb3\xed\x56\xb6\x43\xbd\x66\xfc\x11\xbd\x6d\xc3\x79\xc7\x6f"
      "\x55\x4f\x72\x30\xed\xb9\x4d\xb7\x0b\x7d\x39\x3d\x69\xff\x8e\xf7\x72\x6e"
      "\xbb\xf9\xe8\x5d\xfb\xc3\xbf\x24\x7b\x95\x28\xd7\xd3\x35\xd3\x52\x66\x79"
      "\xf8\x73\x87\xa4\x59\x63\xa4\x4f\x9c\xa8\x64\xc1\x84\xed\x3f\x4b\x1e\xb1"
      "\xc1\x88\xc6\xa9\xce\x15\xaa\x93\xff\xd2\xb3\xfd\x55\x16\x37\x1d\xfc\xfb"
      "\xd6\x24\xf3\x5f\x76\x7e\x5c\xe0\xf2\xbc\xf6\xd1\x56\xe7\x68\xdd\xfe\x59"
      "\xdc\x0c\x91\x66\xf5\xde\xfa\xd9\xd0\x4b\x5f\x3f\xda\x33\xfd\x5c\x84\x27"
      "\xc1\x2b\x7e\xea\x30\xb5\xd1\xe9\x47\xc3\x43\xbf\x28\xdf\xf2\xd3\x84\xbd"
      "\xcb\x8c\x1e\x91\xb1\xee\xe3\x57\xb7\xb6\x3d\xb8\x50\x22\xe8\xca\x8a\x65"
      "\x4b\x16\xcd\x38\x90\x71\xdb\xbc\x9e\x77\xe2\xf6\x4a\x9e\x6a\xdc\xb8\xb9"
      "\x59\x83\x82\xbb\xfd\xdc\xac\x4f\xfc\x3f\xde\x96\x3d\x1b\x29\x62\xbc\xa2"
      "\xcd\x72\x47\x18\x9e\x70\xdc\x92\xce\xb9\x6e\xe4\x3d\x18\x27\xc3\xc5\x36"
      "\x67\x6f\x3c\xf8\x7e\xce\xfa\xb0\xa1\x79\x4f\xed\x1e\xd1\xf5\xca\xbb\x81"
      "\xc7\xce\x64\x8c\x9e\xec\x62\x87\x18\xe3\x5e\xf5\x7e\x1b\x32\x36\xcb\xe0"
      "\x3f\xaf\xac\xab\x5d\xa8\x51\xac\xfc\x0f\xf3\x94\x9c\xfe\x79\x95\xfc\x1b"
      "\xca\x34\x99\x36\x70\xc0\xc4\xe5\xc5\xab\x7f\x88\x5f\xfa\x50\xce\x39\x23"
      "\xd7\x84\xbf\x9a\x36\x55\xbb\x59\xf9\x56\x4c\xdd\xf5\xf5\x89\xa5\x31\xc3"
      "\x2c\xaf\x1f\xff\x72\xc9\xd9\x5f\x3f\xc9\x79\xf8\xe0\xe2\x66\x05\x4a\xbc"
      "\xa9\x37\x36\x4d\xa1\x08\xd5\xa7\x0d\x4d\xdf\x2f\x4b\x8a\xc7\x0d\x47\xa7"
      "\xd9\x91\xf4\xd7\x6f\x0e\xff\x51\xf0\xb7\x7a\x87\xd6\x5d\x5f\x30\xf8\x78"
      "\xd2\x9f\x0b\xbf\x48\x79\xb1\x42\xee\x99\xbb\x53\x57\x9d\x9d\x68\xf8\xb5"
      "\xdc\xbf\x55\x8e\xb1\x2c\xf4\x97\x41\xd1\x0b\x15\x9d\x50\x3f\xe4\xe2\xc9"
      "\x24\xe1\x1a\xbc\x48\x3e\xa6\xe9\x9b\x58\x83\x57\x6e\x4a\x7e\xec\xd7\xc5"
      "\xd1\xae\x56\xab\xd7\x3a\x6c\xb9\x62\xb3\x36\xdd\x28\xf3\x3e\xc2\xfb\xa2"
      "\x79\xab\x16\xcc\xfd\xf0\x78\xd8\x06\x19\x97\xb5\xc8\x9d\xa2\x60\xf5\x4e"
      "\xd5\xe2\x46\x99\x3c\x75\xe0\xec\xde\x4d\x92\xa4\xdb\x36\xad\xe3\xa2\xf1"
      "\xd3\x22\xbe\xeb\x39\x28\x6d\xd7\xab\x43\x8b\xd4\xcf\xdc\xf8\xbb\x49\x41"
      "\x4d\xb3\x75\xab\x9d\xac\xdd\x83\xa6\x5f\xee\x1a\x3d\x20\xda\xe8\xbe\x4b"
      "\xaf\xde\x18\x39\xf7\xc5\xf1\x2a\xf9\x0f\x7d\xfa\xfa\xcf\xc4\x3b\xf6\x17"
      "\xf9\x3e\xec\xec\x26\xd7\x27\x3d\xaa\xd5\xec\x7c\x50\x83\x78\x11\xf7\xc6"
      "\xb9\x3b\xfc\x74\x85\x0d\x0b\xda\x55\x2a\xf1\xc9\x92\x70\xcd\xa2\x07\xf6"
      "\xc4\x9f\xb8\xf5\x8b\x6c\x0b\xbf\xca\x92\xe6\x42\xcf\x02\xed\x13\x5c\xe8"
      "\xb1\xb3\xd6\x98\xbb\x93\xeb\xd6\x6b\x30\x65\x68\xc7\x19\x73\x66\x0f\xfb"
      "\x70\xa7\x74\xf3\x4f\x1e\xee\xc9\x79\xf7\xf8\x87\xe6\xc9\xbe\x0e\xcd\x78"
      "\x21\xd6\x95\xee\x63\x7b\xf5\xeb\x9e\x21\x68\xf6\xfe\x68\x67\x9e\x5d\x7c"
      "\xd5\x77\x73\xa9\x61\xa3\xc6\xc7\x0d\xee\x30\x6a\xd6\xf5\xce\x67\x47\x1c"
      "\xbd\x75\xfc\xe7\x27\x1f\xe2\xc6\xcc\x92\xa1\xee\xd9\x66\x2d\x4e\x5d\x98"
      "\x3b\xec\x40\xcd\x2c\xe3\x4a\x77\xff\x62\xdb\xee\x52\x5b\x62\xb6\xf9\x71"
      "\x5b\xe7\x9f\xb3\x56\x78\xfb\x5d\x93\x96\xd7\x3b\x96\x8b\xf2\xa1\xc8\xbd"
      "\xac\xd1\xff\x18\x14\x7d\x42\x8b\x7b\x0f\x96\x3d\x0a\x79\x98\x39\xcd\xe8"
      "\x2a\xab\xf3\xfe\x9e\xa4\x7e\x9e\x99\x5b\xda\x14\x2e\x7e\x7a\xc1\x8d\xdd"
      "\x27\x33\xcd\x89\x7f\x71\xcc\x94\x72\x79\xee\x8e\xdc\x9a\x3c\x5c\xd6\x0b"
      "\x59\xbe\x99\x95\x6a\x50\x8c\x8a\x41\xe9\xdb\x2c\xb8\x3b\xea\xf7\x8c\x11"
      "\x07\xd6\xfa\x72\x7c\x81\x95\x53\xbb\x3c\xd9\x5b\xe8\x64\x95\xad\x79\xc7"
      "\xc7\x2c\xb9\xb5\x44\x98\x7b\x0f\xbb\xac\xef\xf4\x2a\xeb\xa1\xea\xbb\x0f"
      "\x2f\x68\x5e\x2d\xf0\xb0\xcc\xd0\xfe\xa9\x9b\x1c\xec\xb5\xeb\x61\x91\xc7"
      "\x2b\xf3\xce\x1c\x5e\x75\xcb\xe7\xdd\x76\xdd\xaf\xf3\xbe\x4e\xfe\xe0\x39"
      "\x4f\xc6\xed\x2f\x3c\x6c\xf9\xcf\x11\xb7\x9c\x7d\xff\x65\xdb\x0e\xa9\x0a"
      "\xfd\x72\xe6\x68\xe6\x41\x49\xc7\xdc\xee\xd4\xf0\xf5\xfb\xa1\xbf\x5d\xd9"
      "\x3f\x21\x6e\x8e\x31\x95\xbf\x49\x5c\xf3\xd4\x8b\x3f\xa2\xdc\xe9\x3f\xa4"
      "\x47\xfa\xd1\x3d\x9a\x77\xcb\x74\x64\xc1\x8b\xaf\x6b\x97\x1c\x3b\x3a\x52"
      "\x89\x32\x2d\x33\x4c\x4f\x96\x2d\xde\xee\x9d\xf3\xde\x05\x07\xc7\xeb\xff"
      "\xdd\xb9\xee\x99\x22\x2d\x8f\x7f\xb1\x5d\xc1\x4d\x39\xd3\x1d\xbb\x7c\xe2"
      "\x58\xb2\xcc\xe5\x5f\xf6\xaa\x5e\xf4\x93\xe7\xcf\xf7\x8e\x3e\x7b\xfe\xbb"
      "\x0f\x39\x97\x96\xbd\x7a\xf2\xc9\xf2\x8e\x21\x73\xc7\x8d\xbb\x5c\xbb\xcc"
      "\xf4\xc1\xd1\x56\x76\x8f\x92\xbb\x6b\xa3\x23\xa7\x83\xaa\x4e\x2a\x59\x36"
      "\x45\xd0\xb6\xfb\xf1\xc3\xcc\xdd\x56\x6f\xf5\xd0\xdd\xc1\x3b\x4e\xf7\xf9"
      "\xbe\x46\x8c\x8c\x11\xee\xb7\xde\x9e\xff\xcd\xbb\x8a\x95\x17\x35\xa9\x36"
      "\xaa\x56\xc9\x84\xe5\x86\xdd\xb9\x5b\x36\x5a\xdb\xc5\x53\x9a\x7e\xb2\xea"
      "\xc9\xf9\xcc\x61\xe2\x56\xfa\x21\xf6\xd9\xe2\x7d\xcf\xdf\x98\x59\xba\x79"
      "\xae\x2f\x82\xfb\x1d\x79\x10\x2f\x72\xf7\xef\xd6\x14\xcb\x1b\x6b\xee\xbd"
      "\xcd\x89\x33\x37\xce\x78\xf8\x45\xc3\x45\xcd\x8e\x6c\xde\x7a\xb8\xc7\x2f"
      "\x05\x9f\x14\xe9\x5c\xf7\x49\xf3\x8b\xe7\x2a\xce\xba\xb9\xfb\xfd\xae\x45"
      "\xb5\x5f\xcf\x88\xb0\x71\x55\x8d\x29\xdd\x92\xd5\x59\xb3\xb9\xd2\xd8\x30"
      "\x5f\x9e\x4e\x91\xf7\xdd\xe8\xfc\xb3\xca\xee\x7e\x5f\xf8\xc2\xf0\xa2\x85"
      "\x8e\xd7\x0f\x3b\x2b\xc6\xbd\x95\x63\x73\xf5\xcb\x56\x26\x5b\xb6\x8a\x3d"
      "\x63\xdf\xfc\x3e\xc1\xb6\xac\x9b\x2e\x95\x5f\xd0\x61\xc2\xfc\x3e\x49\xd2"
      "\x0d\xf8\x7c\xd4\xc9\x4a\x4f\xd6\x8c\x9d\xb1\x61\xf4\x83\x55\x35\x62\x14"
      "\xe9\xbb\x67\x7a\x86\x95\x53\x12\x17\xf9\x61\x4d\xa1\x7c\x27\x76\x84\x2f"
      "\xf3\xa6\x76\xb3\xfc\x61\x63\x5c\x5a\xbc\xf9\x7a\x8e\x6b\x25\x6f\x8d\x09"
      "\xf9\x32\xfc\x8a\x23\x2d\x6b\x15\xba\x36\xaa\x59\xbe\x54\x6d\x93\x9c\xfb"
      "\xa3\x5b\xd0\xe7\x71\x6f\xa4\xaf\xfe\x2a\x4c\xf0\xd2\x89\x85\x42\xce\xbe"
      "\x7b\x72\x38\xcd\xf5\x83\xdf\xbc\xaa\x39\x33\xf1\xfe\xd3\x5b\xae\x8f\x5d"
      "\x95\x21\xa4\xdf\x85\x22\xc5\x26\x1c\xfd\x69\xf9\x97\xef\x76\xf5\xb9\xd1"
      "\x7c\xdc\x86\xb7\x97\x22\x94\x8d\xff\x75\x8b\x45\x35\xf3\x66\xc9\x95\xa6"
      "\xd8\x77\xe1\xce\xfd\x72\x31\xd5\xce\xe0\xa1\xdb\x22\x8f\x9d\xdc\x71\x4d"
      "\xa9\x51\x33\x6b\x97\x6d\x7c\xb1\x55\xef\x52\xeb\xd3\xcd\x99\x9d\x77\xfb"
      "\xb3\x92\x9d\x7f\xcf\x73\xa2\xe3\xa7\x77\x3b\x0d\x4f\x9c\x35\x47\xaa\x40"
      "\xd3\x71\x3f\x6d\x78\x77\x24\xf9\xfe\x5e\xa3\xaf\xdc\x0a\x6a\x73\x7b\xd2"
      "\xc4\xa1\x3f\xf6\xc8\x77\xa9\x41\x93\xa2\x33\x37\x65\x2e\xf2\x55\xce\xdb"
      "\xb5\xda\x34\x79\x1b\x79\xf2\xfb\x52\x3d\xef\xd4\xda\x74\x67\x76\xaf\xdd"
      "\x63\xcb\x86\x3f\x11\x7e\x49\xca\xa6\xfb\x12\xde\x6b\x55\x2b\xc1\xf2\xaf"
      "\x1b\xc6\xdf\x90\x68\x5d\xbf\x0e\xe7\x57\x4d\x1b\x1c\xf8\x63\x50\xf0\xa1"
      "\x63\x99\xa2\x5c\xad\xf9\x4b\x98\x27\x91\x47\xb4\x1c\x9c\xe0\x68\xe3\xd1"
      "\x09\x4e\x4e\xef\xba\x29\x7f\xe0\x76\xf3\x23\xd7\x0e\x0e\xf8\x75\x6d\x9f"
      "\x5e\x87\x52\x8e\xef\xdd\xfc\xf7\xd6\x99\x46\xc7\x2a\x1a\xad\x72\xce\x11"
      "\x13\x1b\x15\x8a\x1d\xb6\xf3\xfc\x59\x77\x4a\x8c\xef\xd2\x21\xef\x9e\xe5"
      "\x7f\x94\x8f\x1e\x79\xe7\x91\xc3\xcb\x22\xa4\x6e\x37\x74\x4f\xc8\xa5\x8b"
      "\xb1\xf2\x5e\x1a\xb3\xe7\xd3\x33\x95\xda\x97\x0c\x9d\xb6\x26\xc1\xb0\xe4"
      "\xb9\x4a\xf7\x58\x78\xe3\x45\xe7\x2a\x07\x07\x96\x2f\x9c\xff\xf1\x9d\x95"
      "\xfd\x22\x8c\xf8\xee\xda\xf0\x56\x71\x9b\x14\x3d\x91\x7b\xc8\xd4\x4a\xfb"
      "\x27\x47\x0b\xbb\x77\xc5\xa4\x91\x95\x22\x5e\x4a\x51\xf9\x59\xfb\xea\xd7"
      "\x97\x85\xe9\xff\xb8\x56\xaa\xd9\x5b\x3a\xdf\xf8\xb6\x66\xaf\x74\x65\xa2"
      "\x4e\xef\x35\x3b\xf6\x0f\x7b\xe2\xc4\x3a\x70\x66\x6f\xe4\x90\x97\xeb\xd3"
      "\xd4\x8e\x11\xf2\xc5\xbd\x53\xbb\x8f\x75\x6e\x98\x61\x57\xc7\x73\xb1\xef"
      "\x34\xbc\x39\xed\x55\xcd\xe1\x05\x3b\xdc\x0b\xc9\xb8\xbd\x68\x60\xc4\xe8"
      "\x30\x49\x8b\x4e\x58\x5f\x20\x6e\xe0\x61\xf2\x4b\xfb\xef\xbc\xab\x97\x26"
      "\xc7\xec\x8d\x9f\xd5\x2f\xb0\x71\xc9\xd6\x17\xd7\x52\x15\xfd\x24\x75\xc6"
      "\x1f\x1a\x74\x9f\x3d\x61\xc8\x91\x26\xe7\xcf\x8f\x68\x79\xa0\xc9\xd8\xcb"
      "\xdb\x6a\x87\x2f\x75\x36\x38\xfb\xe3\x2e\x71\x92\x64\xbe\x91\x73\x55\x9d"
      "\x52\x45\x67\x56\x9b\x90\xe2\xca\xee\xce\x99\x1b\x25\x59\xb6\x61\x46\xa4"
      "\xd7\x9d\x6a\x1d\xaa\x50\x38\x5d\x9e\xcf\xf2\xef\x2f\x57\xfb\x45\xa5\x0e"
      "\x19\xc3\xcc\x0c\xce\x56\x64\xea\xf0\x7c\x11\x13\x3e\xec\x5f\xf3\x46\x95"
      "\xa9\x55\x92\x0e\x4c\xb9\x6b\xfb\xf0\x41\x7d\x2f\xc5\xec\x76\x70\xf0\x9c"
      "\xed\xc7\x1f\x4c\x6e\xd3\x7a\x5e\xfc\xd3\x6d\x0a\xe5\xa8\xf4\x67\xc7\xb1"
      "\xb5\xf3\x4f\xce\xd0\xec\xc4\x57\xed\x2b\x0f\x1a\x5f\xb5\xf7\x9e\xd4\x41"
      "\x9b\x9f\x5f\x1f\xde\xbf\x63\xdd\xfc\x91\xdf\x4e\x98\xf3\x72\x5f\xe2\x1b"
      "\x9d\x1e\xa4\x9f\xb4\xe1\x6d\x98\x0a\xe7\x46\x64\x7b\x93\xf2\xc7\xc2\xfb"
      "\x63\x0d\xec\xf7\xf6\x65\xc7\x6a\x83\xf2\x6d\x7f\xb0\xae\x41\xf3\xfc\xc1"
      "\xcb\x97\xaf\x8e\xfe\x3c\xf6\xc9\xdb\x85\x52\x9c\xde\x3d\x6f\x42\xcf\x79"
      "\xb9\x5e\x9f\x69\x39\x37\x6a\xf2\xc1\x7d\x02\xcb\x7f\x59\xfb\x5b\xc9\x5f"
      "\x5f\x14\x2b\xbd\x6c\x7e\x9e\xce\xbf\x2e\x5a\xb0\xe4\x8f\x84\x57\x62\x15"
      "\xbf\x39\xed\x78\x87\x85\x2f\xae\x85\x59\x5a\x36\xda\x84\x33\x6f\x8b\x4d"
      "\x8b\x15\xbd\xdd\xd3\xc2\xc7\x33\x7e\x97\xa3\x43\x99\x49\x97\x46\x47\x9d"
      "\x35\xe6\x6c\xd7\xa9\xa5\x27\xb5\x5d\x97\x21\xd3\xad\x91\xd3\xa3\xff\x34"
      "\x76\x44\xee\x18\xf9\xa6\x6d\xc9\x55\xab\x40\xa0\xcb\xc2\x23\xc3\xf7\xd5"
      "\x0d\xdb\x6b\xea\xf8\xbe\x9d\xd2\xfd\x5a\x20\x6d\xbe\xc4\x5b\x2b\x36\xbe"
      "\xf5\xe1\xcf\xcb\xc7\x76\x15\x1f\xf7\xec\xdb\xaf\xa2\x9e\xa8\x77\x7f\x75"
      "\xf0\xb2\x0e\xab\x56\x74\xd9\x52\x77\xee\x9b\xd9\x71\x3a\xc7\xfc\x6a\xd9"
      "\xe1\x88\xc5\x92\xbc\xdc\x3f\xf8\xd5\xb0\xfb\xdd\xa2\xde\xa8\xfc\xb4\xfa"
      "\xd2\x46\x7d\x46\xa5\xbf\x31\xfd\x62\xd4\xcf\xbe\xd9\xb1\x6f\x40\xc2\x72"
      "\xd7\x16\x4f\x4d\x1d\x3d\xed\xf2\x9d\x75\x86\xef\xbe\x96\x33\x4f\xd6\x42"
      "\x1b\x57\xd7\x4a\x58\x7f\xe9\xeb\x3c\x11\x83\x4e\x36\x3a\x35\x24\xe4\xd6"
      "\xa3\x6f\x43\x0b\xe5\xad\xf7\xd3\xc2\xa5\x71\x3b\xa6\xd9\xb7\x61\xf9\xf6"
      "\xaf\xb7\xcd\x7e\xd3\xf6\x6e\xdc\xa0\xf3\xad\x96\x4d\xce\x1c\x3f\x6d\xb4"
      "\xe9\x61\x5f\xfe\xdc\x35\xa8\xdb\xfa\x61\x1b\xf2\x36\x2a\x72\x26\x51\xe8"
      "\xf4\x02\x55\x5a\x4c\x48\x14\xbc\xe0\x50\xbf\x73\x4d\xf6\x4f\xf9\xa1\xe4"
      "\xe4\xe6\xcb\x2a\x85\xfe\xd2\xa6\x72\xe9\x77\xc9\xae\xf7\x8a\x39\x7c\x50"
      "\xf6\x18\x2f\x62\x65\x6a\x5e\xfa\xca\xd9\x2f\xa6\x6f\x3e\x17\xf9\xf1\xc3"
      "\x72\x25\x07\x27\xff\xf5\x6e\xfd\xe3\x89\xf3\x6c\xdc\xb2\xb5\x57\xc4\xe8"
      "\x3b\x4f\xad\x5c\x9b\x75\xfe\xfe\x9a\xa1\x09\xaf\xb5\x48\x7e\xff\x4e\xfb"
      "\xf9\xab\x63\x4d\xa8\x3e\x6b\x5e\x94\xca\x43\xde\x67\xa9\xdd\x76\x57\xde"
      "\xac\xc9\x6a\x3e\xda\x13\xd2\xfa\x44\xd4\x9c\xd3\x47\x0f\xaa\x1a\x69\xe2"
      "\x9a\x08\x57\xa7\x9d\x6e\x16\x73\xd1\xc3\x17\xc7\x62\x26\x8c\xdd\xa1\xe8"
      "\xa0\x45\x37\xcf\x8f\x4e\x57\x30\x64\xd2\xa4\x90\x0b\x8b\x1e\x65\xaa\x31"
      "\xb6\xdb\x80\x99\x59\x02\x8f\x77\xb5\x49\x32\x73\xcc\xed\x77\x8f\x1b\xa7"
      "\xec\xb2\xb0\xd4\xfc\x96\xad\x7f\x4c\xdd\xb5\xc5\xab\x4f\x22\xc7\x1a\xfd"
      "\xa8\x7f\xc7\x8b\x97\x1b\x97\x0d\x1f\x7b\xee\x86\x52\x27\xc6\x67\xba\x7b"
      "\xba\x69\xad\xbe\x0b\xef\xac\xef\xf1\xdd\x91\xda\xf7\x87\x9f\x1b\x38\xe9"
      "\x7e\xc3\x8c\xc9\xdb\xde\xdf\x72\xad\x4c\xbc\x6d\xbb\x0a\x26\x49\x71\x7c"
      "\x6c\xed\x33\x3b\x22\x95\xb8\xd8\x79\x59\x85\x24\x53\x32\xec\x9e\x9c\xbf"
      "\xdf\x98\x86\xc9\xc7\x75\x2b\x18\xda\xa8\xfc\xa9\xeb\x3d\x92\x8c\xc9\x71"
      "\x3f\xea\xbb\xa6\xd1\x62\x3c\x79\x57\x67\x51\x9d\x61\xab\xaf\xce\x7a\xd6"
      "\xb8\x53\xf7\x21\x7d\x7b\xaf\x2b\xb8\xe6\x6a\x89\xd4\xf7\xcf\x9e\xaf\x99"
      "\x62\x7f\xb7\xd0\x16\x2b\xc2\x0c\x1d\x9c\x78\x69\xfc\xf7\x17\x4b\xb7\x9d"
      "\x7b\x2c\x6d\x89\x1c\xdb\x42\x8a\x25\x58\xdb\x20\x7b\xf5\xc6\xb9\x86\xc6"
      "\x1c\xdb\xe5\xdb\x6d\xfd\x72\x75\xcf\x34\x68\xfb\xad\x33\x73\x96\x5e\xda"
      "\xf1\x7d\x60\xee\xc0\xb6\xab\x92\xce\x6e\x71\xef\xe5\xc8\x67\x33\xa7\xae"
      "\x1b\x13\x2f\x77\xe6\x37\x89\xef\x7e\xfb\x61\xdf\xcc\xf0\x47\x7f\x3c\x71"
      "\xe5\xf9\x9e\xd3\xef\xc3\xd6\x4a\x11\x3c\xa0\xfa\xf5\xe0\xbe\x5b\x26\x1d"
      "\x7a\x74\x6f\x78\x99\x23\x3f\x46\x2e\xbc\x34\x7d\xa9\x72\xe5\xbf\xfe\x10"
      "\x67\x76\x91\x13\x4f\x9e\x36\x79\xb4\x20\x66\xfe\xe6\x79\xc6\xa4\x29\x17"
      "\x61\xe5\xfb\x4a\x45\x12\x96\x48\xd1\xf2\x93\x3b\x11\x5f\x1c\x9c\x38\xea"
      "\xcc\xd1\x4b\xeb\x63\x7e\x08\xb3\x33\xa8\x7d\x48\xe5\xba\xe1\x16\xfc\xda"
      "\xbc\x78\xec\x64\xc7\xbe\xba\x73\x32\xe7\xe8\xee\xcf\xa3\xb5\xdb\x11\xb5"
      "\x49\xd4\xab\x05\x6e\x36\x98\x72\xb1\xff\x92\x70\x9b\x13\x7c\xd1\x60\x66"
      "\xd6\x94\xe5\x5f\xdd\x4b\xb1\xb1\xd2\x80\x15\xbb\x0b\x26\xbe\x3b\x2d\x4c"
      "\xc9\xb0\x0d\xe6\xb6\x2b\x5f\x67\x78\xab\x1a\xb3\xee\x2d\xdb\x93\xfd\xab"
      "\x89\x95\x47\x95\xba\x35\xb4\x70\x9b\xa6\x9b\x8a\xdf\xcd\x57\x68\x50\xbe"
      "\xd3\x77\xf3\x9d\x4f\x72\x2b\x6a\x84\x54\x03\x73\x7d\xba\x75\xc7\xb7\x89"
      "\x16\xee\x0b\xf7\xe4\x4a\xe6\x1a\x43\x2a\x8d\xec\x9b\xe1\x54\xd1\x5b\xeb"
      "\x33\x26\xb8\x54\xb0\xda\xe1\xc9\xf7\x8a\x95\x7e\xd5\x74\xf5\xd5\x8b\x15"
      "\x1e\x5c\xf9\xb5\x7b\x92\x2d\x57\x7e\xb9\x39\x7c\xe0\x82\x6f\x1f\xa7\xcc"
      "\x1c\x32\x31\xd6\xa4\x4c\x67\x8f\x75\xd9\xd3\x37\x4a\xbe\x41\x9f\xe6\x8e"
      "\x15\xf2\x24\x4a\xc8\xfb\x0e\xb9\xb2\xb5\xee\xf9\x67\xab\x5f\x97\x1c\x3e"
      "\x53\x64\xf1\xc3\x0f\x2d\xd2\x57\x79\xb7\xa6\x48\xd3\x35\x9f\xf5\x5e\x37"
      "\x6e\xc6\xd6\x88\x39\xae\xf4\x9c\x5c\x71\x5d\xbb\x29\x2f\x12\xc4\x2b\x7e"
      "\xfb\x48\xec\x65\x53\xcb\x2f\xce\x74\xf8\xc5\xe0\x2a\x23\x17\x06\xd7\x79"
      "\xd4\xf1\x61\xd9\x11\x19\xfb\xf7\xef\x34\xac\xe7\xd1\xe9\x43\x8e\x6e\x4b"
      "\x34\xe8\x72\x91\x31\x2f\x5a\xaf\x98\x9a\x2f\xf9\x9e\x3c\x3d\x77\x2e\xfa"
      "\xb6\x7c\xaa\x7e\x69\xae\x1c\x08\x93\xf6\x69\xb8\xad\x61\x0b\x84\x3e\xba"
      "\x3b\xf3\x7a\xbe\x6e\x77\x5e\xd5\x8c\x73\xe2\x58\xdd\x56\x5d\x9a\x9d\x18"
      "\x59\xf3\xd1\xb1\x5b\x17\x7f\x1b\xd4\x26\x4d\x97\x1e\x57\x6f\x05\x45\x8a"
      "\x3c\xef\x48\x9f\x83\x0d\x86\x15\x2c\x36\xbe\x78\xc9\xfa\xdb\xbb\xb4\xdc"
      "\x9f\xf4\xe4\xe4\x02\xc5\x7e\x3a\xbe\xaa\xe0\xb1\xd8\x37\x9e\xd7\x1f\x5a"
      "\xa2\xdb\x81\x41\x97\x36\xce\x4c\xd0\x76\xc0\x93\xa7\xe7\x46\xa4\x3c\xd5"
      "\x3c\x55\x81\x9a\xc5\xbb\x5e\x28\xb0\xbf\xd1\xe4\x1f\x3b\xc7\x3c\x7e\x2e"
      "\x5b\x96\x0b\x53\x56\x4c\x4c\x13\xb4\x26\xcf\xa9\xe0\x3c\xc5\x6f\xbd\x68"
      "\xd3\x2a\x4a\xd0\xce\x7f\x79\xbd\x00\xfe\x17\xf6\xb8\xc1\xb7\xa5\x5e\xde"
      "\x3e\x11\x12\x79\xde\xd1\x47\x11\x6e\x4f\x88\xf9\x71\xff\x8f\xf0\x57\x3d"
      "\x28\x10\x23\x10\x31\x28\x67\x60\x4c\xbe\xf4\x99\x23\x94\xdb\xf3\xe5\xe3"
      "\xd8\xc7\x4f\x5d\x8e\x95\x64\xd1\xe5\x7c\x13\xda\xfc\x3a\x2c\xc6\xda\x28"
      "\x6b\x5e\xec\x6e\x93\xe4\xea\x89\x3d\xb7\x23\xd4\xdc\xbe\xf5\xcf\x3e\xe5"
      "\x06\xe4\xde\xd4\x7b\x7d\x8b\x3b\x71\x7e\xb8\xdb\x68\x5f\x8b\x0c\xdb\x0a"
      "\x55\xfe\x2e\x59\xb4\x32\xdf\xa4\x5b\x31\xf2\x55\x92\x44\x73\x2f\xe4\x4f"
      "\x7e\xe2\xb3\x2c\xd7\x8b\x5f\x2e\x51\xb6\x6e\x9d\xb6\xd9\x2b\x2f\x3f\x36"
      "\x64\x54\x70\xe5\x36\x37\x67\xb4\x2f\x52\xed\x76\xe6\x4f\x6f\x5f\x0f\x04"
      "\xca\x35\xeb\x57\xf6\x50\xda\xcb\xe3\x56\xc4\x4b\x35\x79\x58\x9c\xee\x05"
      "\xee\x17\xdc\x19\x7c\xa7\xd6\xa0\xec\xf1\x5a\xad\xfe\x66\xd4\xd9\xea\x71"
      "\xb6\x27\xd9\x92\xa6\xf4\xba\xd0\xcd\x11\x1a\x56\x5c\xbc\xf2\xc0\xa1\xc1"
      "\x51\xc2\xd4\x9e\x94\xf9\x8b\x86\xc1\xdf\x8c\x3b\x9c\xab\xf8\xde\x22\xc5"
      "\x7e\x1d\xfc\x49\xca\x66\xc5\x3f\xbf\x38\xec\xd4\xcb\x26\x5f\xb5\xd9\x72"
      "\x2a\xd0\xaa\x6c\xdc\x2f\xea\x2f\x2a\xfa\x2c\x76\xa4\xba\xdb\x13\xc7\xdf"
      "\x5e\x37\xca\xd8\x6e\xa3\x27\x9f\xab\xd3\xa4\xe7\xd1\xc8\x19\x63\x27\x8b"
      "\x96\xbd\xcf\xda\x38\x69\xdb\x96\x7f\x38\xe2\x59\xd2\x44\x3b\xda\x0f\x7e"
      "\x32\xb3\xc3\xc2\x85\x6b\xf2\xbc\xa8\x99\xa9\xef\x93\xf7\x43\x9b\x8e\x7b"
      "\xbd\xbf\xe3\xb0\x64\x5f\x4f\x68\xdd\x6c\xda\xea\x61\x5d\x2e\x3d\xef\x17"
      "\x27\xd1\xb1\xad\x99\x26\x7e\xdd\xf7\xe9\xe7\x8d\x83\x1b\x77\x49\x10\xbc"
      "\xfd\xdd\xee\xd1\x87\x8a\xe6\xba\x37\xb0\xd5\xcd\x19\x13\x5a\xfc\x59\x75"
      "\x6e\xf9\x96\x25\x4f\x35\xce\x1f\xb3\x63\xc1\x84\x9d\x4b\xde\xbe\xf9\x66"
      "\xc6\x85\x4e\x53\x7e\x9a\xd5\xbf\xc5\xbe\x1c\x83\x8a\xa6\x5d\x78\x35\x69"
      "\x87\x21\x5d\xc7\xd7\xda\xbd\x2f\xea\xe9\x19\xcb\xee\xbd\xd9\xb2\xbf\xff"
      "\xb5\x6d\xa1\x65\xda\x15\x9b\x7e\xbc\xc1\x95\x56\x89\xcb\xbe\x7c\x15\x36"
      "\x52\x85\x67\x29\xae\xae\xae\x9c\x33\x7d\x95\xa7\xad\x8a\xad\x49\x7b\xad"
      "\xf3\xde\x4e\xe1\x76\x87\xd6\x4a\xb1\x2c\xea\xa1\x4b\x8b\x9b\xbf\x3c\xb1"
      "\x62\x67\x9a\x3d\xbb\x4e\x3f\xed\xf0\x2f\x5f\x36\x00\x00\x00\xfc\x7f\xcc"
      "\xd1\x03\x7b\x2f\x0e\x5e\xfb\x53\xe3\xce\x35\x5b\x36\xdc\xfb\xb2\xf5\xbe"
      "\x8f\xfb\x7f\xc4\xbf\xea\x41\x81\x04\x81\x88\x41\x51\x02\x21\x13\x2f\x17"
      "\xc8\x5a\x75\xff\xee\xd4\x31\x93\xe7\xaa\x71\x35\xce\xce\x31\x13\xdb\x5d"
      "\x3a\xfb\xb8\x70\xdc\x59\x47\x77\x0c\x18\xd6\xad\x64\xef\x27\xcd\x37\x76"
      "\x8d\x90\x6d\x63\x8d\xc8\xa1\x77\x5f\xac\x6d\x7c\x20\x73\xac\xd3\x03\x06"
      "\x9e\xbe\x95\xf7\xc3\x82\xf9\x09\x67\x57\x9d\x9c\xa7\xc4\x80\xa2\x25\x3a"
      "\x0d\xbe\x5f\x62\x47\xb3\xe2\x43\x23\x85\x2d\xfc\xf0\xfb\x7f\xf9\xd8\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\xc0\xbf\x20\xe4\xfc\xf9\xea\x4b\x9a\xfe\xf9\x43\xcf"
      "\xd6\x85\x4b\xfe\xb9\xfe\xda\xe0\xea\x2d\x4f\xbf\x5d\x7b\xbe\xda\x99\x2a"
      "\x2f\x82\x07\x37\x7c\x98\xb1\xc8\xdd\xd2\x65\x8a\x25\xab\xd1\xbc\x77\x91"
      "\x7c\xb3\x9e\xcf\x7a\xfb\x5d\xf3\xd8\x6b\x37\xd4\x39\x5c\xa6\xc6\xb7\x65"
      "\xd2\xd7\xf8\x6d\x4b\xae\x3e\x53\xe2\x1e\x6b\x97\x7d\xec\x9d\x29\xd1\x57"
      "\x0e\xf9\x7c\xcc\xa4\x3b\x8d\x06\xdd\x79\x17\x39\x75\x83\xe0\x6a\xb9\xa7"
      "\xbe\x3f\x17\x66\x52\xfd\x61\x8d\xdb\x2f\xc8\x51\xfa\xcf\x7b\xbf\x96\x9e"
      "\x13\xf9\xf8\x2f\xab\xa3\xe4\x6e\x35\x61\xd0\xb2\xbd\xbb\xc2\xae\x2a\xb2"
      "\xf1\x8b\x3c\x5f\xf7\x98\x7f\xbd\xe5\xc9\x2e\xdd\x97\x2c\xca\xba\x74\xd3"
      "\xe6\xd6\xa1\xcd\xf6\xb5\x2b\xde\xf7\x63\x5f\x41\x81\x40\x20\x62\xd0\xbf"
      "\x3b\x1b\x00\x00\x00\xf8\x4f\x51\x60\x69\x98\x52\x0d\xf3\x96\x5c\x59\x63"
      "\x5f\xea\x5e\x49\x92\xae\x5a\xf7\x71\x0f\x0f\xff\x57\x3d\x28\x10\x29\x10"
      "\x31\x28\x57\x60\x4d\x83\x88\x63\xef\xbd\x7d\x95\x26\xda\x1f\x49\x7e\x8d"
      "\x5e\x3e\xf6\xd9\xd9\x45\x32\x2d\x2c\x3e\xbf\xdd\xc4\x4c\x6d\xcb\xb6\x7d"
      "\xd1\xf9\x4e\xff\x53\x15\x13\x65\xc8\x1c\xe9\xcc\xec\x04\x4d\x66\xac\x9c"
      "\xb7\xb6\x72\xf4\xb6\x29\xd2\x17\xbe\xd8\x69\xfd\x94\x27\x3f\x1c\xaa\xb2"
      "\xa0\xdd\xfa\x12\x07\x77\x7d\x5e\x29\x6a\xd4\xb2\x29\xaf\x0c\x6e\xfb\x6d"
      "\xe1\xd9\x9f\x37\xaf\xf0\xe0\xd0\xd0\x6a\x65\x53\xfd\x5c\x30\x6d\xd2\xe8"
      "\xc5\xf7\x8d\x6c\xdc\xe6\x7e\xa3\xb4\x07\x1f\x54\x8a\x5e\xfb\xc0\xb9\xd7"
      "\x3f\xe5\x99\x95\xf9\x51\xdd\x67\x47\x62\xbf\xcd\xf2\xe7\x8d\x27\x9f\xc4"
      "\x7c\x16\xbe\x4c\x8c\x5b\x51\x66\x45\x0c\x33\xa7\x5b\xca\x9a\x81\x2f\x7b"
      "\x57\xee\x9f\x39\x5f\xea\x3f\x8a\x8e\x7a\xf3\xf0\xfe\x37\x25\x0a\xc7\xea"
      "\x52\x37\x73\xb6\x7c\xad\xdb\xa4\xff\x7c\x5e\xf6\x7e\x23\xfa\xcf\xcd\x98"
      "\x23\xcd\xa2\x94\xf3\x1a\x7e\x1e\xba\x7b\x6d\x87\x51\x95\xcb\x7e\x12\x66"
      "\x51\xaa\x9c\x07\xab\x6c\xef\x3c\x35\x4b\xbc\xfc\x49\x73\x67\x69\xdb\x62"
      "\xef\xb8\x01\x3b\x8b\x5d\x89\x79\x32\x7d\xa2\x73\x53\x5a\x85\x66\x89\xfd"
      "\x74\x52\x97\x4d\x2d\x32\xb6\xab\x36\x75\xed\xb3\x88\x5b\x5f\x5f\x7c\x35"
      "\xf4\x61\xe5\xf2\xd9\x32\xbd\x2e\xf7\x73\xaa\x79\x1b\x92\x47\xb9\x55\xfc"
      "\xce\x8c\x52\x57\x23\x7e\xd6\x77\xcf\xea\x75\x61\x22\xaf\x1c\x52\xea\x76"
      "\xf9\x6a\x5f\x56\x6a\xb1\x7e\x6d\xf7\x82\x13\xf6\x45\xa9\xdf\x70\x61\xca"
      "\x45\x3d\xf6\x15\x6d\x19\xbb\xe4\x77\x9d\x5a\x85\x0c\x5e\x14\xed\xe0\xc4"
      "\x0d\xab\xaf\xaf\x79\xb6\x6d\xe5\xc4\x2e\x1d\x83\x0f\xec\x9c\x7e\xe7\x9b"
      "\xef\xb3\xde\x1b\x75\x22\x52\xad\x93\x03\x9e\xe7\x69\xb1\xf7\xca\xb1\x21"
      "\x9d\x17\x85\xb4\x3d\x56\xe4\xfb\x03\x49\x57\xa7\x3c\xb8\x62\x55\x60\x74"
      "\xcf\x8b\xe7\x5a\x9d\x4f\xda\x32\x75\xd2\xdd\xdf\xfc\x3e\x25\xf9\xdd\xee"
      "\x8b\x6b\xef\x7a\x96\xbd\xf8\x0f\xd5\x2a\xa7\x7e\x1a\x21\x69\xfb\xda\x3b"
      "\x5a\x9d\x98\xda\xaf\xdd\xfa\x3e\xeb\xb6\xdc\xdc\xd7\xbe\xec\xb5\x39\x15"
      "\x23\x0d\xf8\x62\xeb\xd5\x64\x63\xc3\x77\xa9\x92\x26\x7a\xd6\x7f\xf9\xf2"
      "\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xff\x67\x86"
      "\x14\xaa\x79\x33\x52\xd0\x8c\xbd\x9b\xe6\x74\x8e\x53\xe5\xe0\xf3\x0d\xd5"
      "\x5b\x9e\x7e\xbb\xf6\x7c\xb5\x33\x05\xc3\x0d\xda\xf8\xfa\xfb\x56\x95\x2e"
      "\x9f\x2d\xfc\x26\x5d\xa3\x77\x83\xea\xbf\xdf\x53\x6d\x4a\x8a\x43\x09\x33"
      "\x77\xe8\x76\xa3\x75\xb2\x4b\xa5\x93\x2e\x79\x97\xab\xfb\x86\x86\x57\x5e"
      "\x1d\x19\x14\x26\xf5\x83\xad\xc7\x5e\xbe\xcc\x98\x35\x78\xc8\xe0\x0e\x69"
      "\xce\x9d\x6a\xd0\xe2\xde\xce\x8a\x2f\x26\x9f\xda\xb3\x3a\xfa\x89\x2b\xf3"
      "\x66\xb4\x29\x71\x62\xe3\xad\x1e\x77\xbe\x8e\xf1\xd5\xd9\x5d\x83\x07\x16"
      "\x3d\xb4\x7b\xd2\xdd\xf2\x11\xcb\x4f\x3f\x17\xbf\x45\xf3\x78\x11\x42\xca"
      "\xbd\x5d\xf9\x70\xfb\xb0\xde\x59\x3f\x0b\xdd\xb5\xfe\xe7\x81\xf1\x67\x7e"
      "\xec\x2b\x28\x10\x08\x44\x0c\xfa\x77\x67\x03\x00\x00\x00\xff\x29\x42\x0e"
      "\x65\xcb\x13\xe1\xdd\xec\xfc\x95\x0b\x96\x3c\xb0\x65\xdf\x81\x4d\x1f\xf7"
      "\xf0\xf0\x7f\xd5\x83\x02\x91\x02\x11\x83\xc2\x05\x22\x5e\x8f\x1e\x98\x19"
      "\x94\xff\x5a\xbd\xd9\x8d\xaf\x55\x7b\x9e\xb7\xc5\x83\x82\x6b\x33\x7c\x7b"
      "\xf2\x55\x94\x7f\xb9\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\xe0\x7f\xa2\x49\x7b\x4b\x7d\x7e\xa2\xd4\xcc\x62\xbd\xef\x77\xea"
      "\xb6\x78\xca\xfe\xc7\xd5\x5b\x9e\x7e\xbb\xf6\x7c\xb5\x33\x35\xe7\x36\xad"
      "\x98\x3a\x75\xcd\xdc\xd3\xcf\xb7\x6a\xb1\x36\xda\xf5\x29\xbb\xc6\xfc\x36"
      "\xfc\x93\x99\x23\x77\x9d\xf8\xad\x6c\x8c\x40\xee\xb3\x83\x8b\x7c\xd8\x58"
      "\xf1\xf7\xe7\x33\x76\x95\xbf\xbe\x3f\xdf\x99\x32\x71\xb3\xcf\x1c\x1b\x2e"
      "\xd6\xdc\x37\x8b\xc6\x1d\x68\x3c\x76\x7d\xb2\x87\x6f\x46\xdf\xb9\xf3\xe7"
      "\xce\xdf\xcf\x6d\x68\xf2\x4b\xfe\x55\x69\x0e\x87\x66\x2a\x14\x76\x76\xcb"
      "\x1a\x73\x22\xf5\x6c\x3a\xa0\xee\xad\x92\xb9\xe7\x77\x8e\x70\xbd\xd2\x82"
      "\x4f\xc3\xd4\xc8\x58\x65\xf3\xfc\x1b\x3b\xff\x98\xb4\x23\x65\xaa\x2c\xcb"
      "\x42\xf7\x84\x76\x2c\xf3\xb1\xaf\xa0\x40\x20\x90\xe0\xdf\x1d\x0d\x00\x00"
      "\x00\xfc\xc7\x98\x1c\x23\xeb\xf6\x95\x0f\x86\xa5\x79\xf5\xc3\xf2\xa2\x25"
      "\x72\x14\x3b\xf7\x71\x0f\x0f\xfb\x57\x3d\x28\x10\x29\x90\x20\x90\x2a\xd0"
      "\xbe\xed\xb0\x67\xdb\xbf\x69\x7b\x34\xb4\x42\xff\x7a\x2b\x46\x36\x8b\xf6"
      "\x34\x7c\xf8\x13\x19\x4a\x65\x9a\x93\xe7\xc6\x8b\x5a\xed\x52\xa6\x89\x3a"
      "\xbe\x5f\xd1\xf5\xaf\x73\xc5\xdc\xb3\x27\xe3\xf4\x86\xf1\xb7\x2d\xd8\xbd"
      "\xfe\x44\xcd\x87\x4b\x9a\xfe\x91\x62\x7e\xf3\xa6\xc3\x0b\xdc\xba\x97\xa7"
      "\x4b\xb4\x81\x95\x3b\xae\x9a\xf2\xba\xd5\xcb\xaa\xf3\x6f\xce\xaa\x5e\x63"
      "\xf2\xa7\x99\x67\x8c\x0d\xff\xe9\xf7\x5b\xbf\xbd\x5b\xb2\x52\xe6\xf3\xe9"
      "\xc7\xbf\x9c\xfa\x4d\xdc\xcf\xfa\x7e\x1a\xe1\x49\xe1\xd9\xad\xc2\x1e\x3d"
      "\x3e\x24\x43\xe1\xfb\x4f\xfa\xaf\xfb\xa1\x4a\xd9\x84\xb3\xcf\x6f\x1c\x7f"
      "\xfc\xe0\x9b\x89\x21\x39\x63\xf7\xcd\x15\xbb\x5e\xd8\xc4\x59\x7e\xda\x59"
      "\xad\x7e\xa9\x26\x59\x6e\x0d\x29\xb6\x70\x77\xad\xad\xb5\xca\x54\xf8\x3e"
      "\x68\xce\xe9\x96\xf7\xfb\x9c\x8d\x18\xef\xab\x75\x93\xcb\xc6\xdd\x3a\xbe"
      "\x72\xc2\x72\x35\xbe\x1c\x1d\xfe\x55\xf1\xed\xd9\x0b\x8c\xea\x39\x75\x73"
      "\x95\xae\x3b\xd3\xa6\x99\xd4\xba\x60\xbf\x42\xdf\x86\xef\x10\x73\x58\xce"
      "\xd4\x91\xdb\xad\xcb\x96\x3b\xf1\xbb\xaf\x12\x0e\x5c\xd0\x6a\x4c\xe4\xee"
      "\x95\xbe\x4b\x1c\xbd\xcd\xc8\xee\x27\x06\x64\xae\xd9\xb7\xf4\xe3\x02\x53"
      "\xde\x77\x8e\xf1\x34\xc1\xf3\xee\xef\x1b\x9c\xbb\x9b\x2a\x4d\xb1\x9e\x23"
      "\xf2\x56\xce\xd6\x7e\xe8\x99\xd3\x9b\xef\xf4\x2f\xf6\xa1\xf0\xa9\x08\x91"
      "\x5e\xd4\xee\x3d\xea\xf3\x5e\xc1\x27\x6f\xfe\xcb\x6f\x1f\x00\x00\x00\xfc"
      "\x5f\xf2\x6d\xec\xc1\x49\xc6\x85\x5f\x9b\x76\xe8\x9b\x69\x87\x6a\x27\x6c"
      "\x99\xed\xe3\xfe\x1f\xe1\xaf\x7a\x50\x20\x46\x20\x62\x50\x82\x40\x94\xd7"
      "\xf7\x0e\x55\xeb\x98\x28\xdc\xc5\xcc\xdb\xf3\x9d\xfb\x7d\x70\xd6\x36\x55"
      "\x0f\xf6\xba\x5d\x77\x7a\xad\x0f\xa9\x27\x26\xbb\x7c\xbd\x54\xab\x96\x47"
      "\x1f\x64\xdf\xd5\xec\xc7\x57\x29\xb3\xe4\x6b\x3b\xa8\x43\x81\x66\x73\x9b"
      "\x94\x3a\x5a\xba\xf4\x8e\xbd\x93\x2b\xf4\x2c\x3c\xb0\xe2\xba\xd7\x35\x46"
      "\x1c\x1f\x3a\xfa\x56\xe9\xa6\x27\xf6\xc7\x4a\x52\xba\xde\xdd\x88\xd9\x73"
      "\x57\x4b\x19\x5a\xb2\x78\xdc\x39\x2f\xaa\xad\xaa\x58\x65\x47\x99\xa4\xdd"
      "\xc7\xa6\x38\xf0\x79\xcc\xe5\xe1\xab\x0f\xdb\x35\xb2\x74\xed\x26\xad\x5f"
      "\xc4\x2e\xdc\x3f\x5c\xdd\xae\x77\x6e\x16\x1b\x9d\xab\x58\xf9\x8d\x33\x76"
      "\xe6\x19\x19\xbd\x6f\x92\xec\xdd\x53\x87\xbc\xfe\x70\xf0\x65\x86\xb7\x23"
      "\xd3\x5d\x9d\x35\xfb\xd4\xc5\x5e\x23\x6b\x67\x19\x57\xe4\xed\x88\x78\xa7"
      "\xa3\xe7\xcf\x39\xad\xc3\xd3\x65\xed\x8e\xed\x8f\x5c\x2c\xf1\x8d\x1d\x61"
      "\x5b\xe6\xd9\xfd\xfe\x7d\xfd\x4f\x93\x27\xbe\x3b\xb6\xcc\x95\xd7\xff\xf2"
      "\x98\x01\x00\x00\xe0\x5f\x55\xeb\xd0\xfa\xc8\x49\x5a\xf6\x0d\x9b\xab\x42"
      "\xfb\xc5\x8b\x93\xfe\xf6\xc5\xc7\xfd\x3f\xe2\x5f\xf5\xa0\x40\x82\x40\xc4"
      "\xa0\x48\x81\x05\x0b\x12\x97\xc9\x57\xe5\x42\xa2\xdc\xc3\x63\xff\x9c\x6d"
      "\x61\xc8\xa6\xa7\x63\x2e\x56\xb8\x17\xaf\x7a\xbd\xa5\x05\x62\xe7\xfc\x3d"
      "\xfe\xbd\x5b\x43\xba\xc7\x99\x94\x6f\x44\x82\x34\xa1\x6b\xb6\xbd\xcb\x10"
      "\xeb\xed\xae\xd0\x96\x09\xfb\xc4\x4c\xfd\xf9\xfe\x01\xe7\x7e\xac\x3d\x7d"
      "\xd8\x37\x9f\xfd\xcb\xc7\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x17\x52\x6b"
      "\xd2\xd3\x9e\x63\x33\xf4\xab\xba\xef\xb7\xb0\xc9\x1e\xe6\xed\xb7\xa3\x7a"
      "\xcb\xd3\x6f\xd7\x9e\xaf\x76\x66\x7e\xff\xf5\xd3\x57\x4c\x9b\x1a\x63\x74"
      "\xf6\xeb\xcb\xba\x74\xcb\xb7\xac\x50\x89\xae\xdb\x6a\xc5\x18\x75\xa3\xd7"
      "\xfa\x15\xfd\x87\xb7\x89\x19\x2d\x6b\x92\xfb\xc7\x2e\x37\x9b\xff\xc9\xc8"
      "\x48\x67\xbb\xaf\xa9\xfd\xfc\xee\xa4\xab\xaf\xcb\xbf\xef\x74\x6a\xfc\x80"
      "\xb8\x7f\x9c\x29\xf1\x73\x9f\x84\x6f\x7e\x78\xf9\xdb\xbe\x9c\xdd\x6f\x46"
      "\xa9\xba\xe0\x52\xac\x3d\xd3\xe7\x57\xfb\xaa\xd2\xa3\x9e\x9d\xab\xcd\xdc"
      "\xf3\x22\xdf\xe1\xa1\xf9\xe3\xce\xcb\xd2\xb6\xd9\xeb\x6a\xaf\xeb\x3c\xbb"
      "\x72\xad\xeb\xe4\x57\x6d\x92\xc7\x8a\xb4\xaf\xfd\xb0\xee\xf7\xb6\xa7\xfb"
      "\xd8\x57\x50\x20\x10\x88\x18\xf4\xef\xce\x06\x00\x00\x00\xfe\x53\xf4\xfa"
      "\x2d\xee\xb5\x86\x81\x2b\x63\x96\xbd\x7b\xfe\x66\x5f\xe9\x76\x99\x3f\xee"
      "\xe1\x1f\x57\xef\xa0\x40\xa4\x40\xc4\xa0\x28\x81\x18\xdf\x7f\x36\x61\xfa"
      "\xf8\x43\x5f\xe7\x29\x5f\xaf\x6c\x99\xc2\x23\x0e\xdf\xdc\x93\xb3\x53\x48"
      "\xc3\x7b\xcf\x67\x27\x9a\x7b\xb3\x79\xf9\x5a\x25\xb3\x5e\x7a\x37\x7c\x64"
      "\xea\x2e\x7d\x6e\x6f\xb8\x3e\xa2\xc8\x99\xb4\xb7\xf6\x55\x3e\xdd\x24\x64"
      "\xf2\xce\xdb\x89\x96\x95\xae\x1b\xeb\xd5\x8e\x25\xe5\xab\x8c\x0b\xb4\x9f"
      "\xb4\xb7\x7b\xb9\xa3\x89\xba\xc4\xc8\xd7\x2e\xe4\x5f\x3e\x36\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x0f\xd4\xdc\xd5\x7b\x78"
      "\xb4\x98\xe5\xc6\xad\x1d\x7a\xfd\xb7\x9c\x83\xcf\xcc\xad\xde\xf2\xf4\xdb"
      "\xb5\xe7\xab\x9d\xa9\x91\x3b\x4b\xc6\xd6\xb7\x7b\x2d\x9c\x5c\xe8\xdc\x8d"
      "\x95\x57\xa6\x57\x6b\xfe\x74\x66\xfd\xc3\x7d\xc7\xae\xff\x33\x74\x72\xf9"
      "\xf3\x37\xab\x76\x3d\x3b\xab\xe4\xd3\x01\x31\x6a\x6c\x4d\x7d\xb7\xf9\x92"
      "\xac\xe5\x0f\xf7\xbe\x3b\x60\x42\xcd\x0a\x0b\x8f\xcc\x79\xfd\x24\xde\x94"
      "\xa7\x1b\x73\xec\x6e\x3d\xa7\x63\x83\xe1\x93\x16\xcf\x6b\x9c\xa4\x7f\xda"
      "\x47\x49\xce\xac\xad\x57\x7a\xf1\xaf\x75\x8b\xe6\xce\xd9\x79\xf1\xe6\x1d"
      "\x05\x07\x6f\x4e\x7d\x62\xd7\x9a\xaf\xaa\xd7\xbb\x99\x7b\x76\xfb\xd8\x71"
      "\x2f\xb4\x8e\x1d\x61\x59\xcd\xf5\x15\x5f\xe6\x5a\x32\xf8\x63\x5f\x41\x81"
      "\x40\x20\xc1\xbf\x3b\x1a\x00\x00\x00\xf8\x8f\x71\x2a\x42\xac\x8a\x3f\x6c"
      "\x1b\x5a\xf6\xf1\xac\xd5\x9b\x0f\x64\x3c\x7a\xf8\xe3\x1e\x1e\xe6\xaf\x7a"
      "\x50\x20\x52\x20\x41\x20\x42\x20\xde\x6f\xdf\x6e\xa9\xb0\xbe\xc3\xf0\x68"
      "\x11\xde\x47\xd9\x78\xa5\xee\x94\x9b\xa5\x6f\xc7\xaf\x9b\xb0\x75\xd5\xf9"
      "\xf1\xeb\x8c\xbf\x17\x3e\x66\xe5\x6b\x37\x22\x95\x0f\x3f\x3b\xed\xf6\x66"
      "\x1d\x63\x6c\x69\x38\x69\x63\xaa\x7f\xf9\x58\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xff\x8b\xa2\x6c\x1f\xd7\x65\xc3\xb9"
      "\x7d\x33\x07\xac\xee\xdc\xe3\x49\xf3\xe3\xcd\xf3\x1d\x9a\x99\x62\x56\xbe"
      "\x31\x9d\xae\x37\xe9\x10\x3a\x25\xe4\xcf\x8a\x3d\x1a\xc5\xe9\xd0\xef\xf8"
      "\x90\xac\x3f\x5e\x2d\x3a\xef\xab\x74\x6f\xdb\x0c\x4c\x73\xe3\xeb\xeb\x29"
      "\x1e\xd6\x6c\x58\x2f\x50\x62\xe6\x98\x0e\xc5\x0b\xf6\x7d\x78\x36\x6e\xf5"
      "\xe3\xa5\xba\xc5\x79\xd4\x38\xf1\xeb\x0d\xe3\x73\x4d\x0c\x17\x12\xe5\xc3"
      "\xe0\x0a\x3b\x2f\x5f\x5e\xfc\x75\xcf\x41\x13\x8b\xbe\x6e\xbe\x63\x46\x81"
      "\xe2\x7f\x16\x6d\x74\xfe\x5c\x95\x93\x71\x76\x57\xe9\x77\xf7\xd4\xa5\x98"
      "\x03\x1a\xc7\x4a\x94\x7e\x73\xd6\x7b\xdb\x1e\x27\x18\x7b\x2b\xf9\xeb\xc1"
      "\xd3\xf3\x5f\xee\x1e\xb6\x69\x85\x68\xdf\x95\xc9\xfa\xfc\xe8\xee\x28\xe7"
      "\x56\x5f\xc8\x7f\xb9\xd6\xfb\x26\x1d\x5b\x2d\xfa\x90\x25\xde\xb2\x8b\x59"
      "\xef\x3c\x2f\x54\xad\x73\x93\xaa\x21\xd7\xa3\x7c\xd7\xf6\x43\xc6\x2b\x67"
      "\x1b\x75\x6f\x30\xad\xe8\xdb\x4f\x6e\x2e\x29\xf8\x7d\xa1\x36\x6f\x63\x5c"
      "\x78\x1e\xdc\x6e\x73\x9f\xc3\xbd\x47\xdd\x08\xea\x5a\x3f\xef\xc2\x83\x6b"
      "\x3a\x3c\x9e\x9a\xfe\x56\xb8\xa4\xc3\xbf\x5c\xf9\x3e\xdd\xa0\x94\xe3\x3a"
      "\xa4\x3b\x78\x76\xf9\xc2\x97\x73\x77\x37\x5f\x71\xe7\x6d\xbd\xaa\xd7\x3b"
      "\xe6\xfb\xe5\xfb\x91\x1d\x96\xb5\x29\x96\x6d\x75\xc6\xdb\x1b\xae\x3d\x1b"
      "\x3a\xac\x5d\x92\x5f\x57\xa5\x18\x15\xfd\x6c\xce\xb8\x05\xb6\x4c\x2c\x71"
      "\xa2\xda\xb3\x1d\xf5\xce\x46\xff\xf4\x78\xc4\xfb\x59\x03\xfd\xeb\xd7\x6f"
      "\x97\x78\xc3\xc3\x95\x29\x4b\x5d\x69\xd6\x70\xd3\xd0\xa8\x0d\x92\x3d\xce"
      "\x3f\x20\xed\xb2\x28\xed\x1b\xe7\x3b\x15\x52\x3b\x64\xfa\x94\xae\x93\xf6"
      "\xc5\x0b\x9e\xb2\xb9\x55\xca\xae\x8d\xae\xee\x8b\x19\x1a\x69\xee\x4f\x03"
      "\x86\x56\xef\x93\x35\x43\xde\x3b\x65\xd3\xd5\x7d\x5e\x23\xec\xf0\xd7\x29"
      "\x06\x0f\x89\xff\xf9\xfd\x18\x5f\x95\x3f\x98\xb7\xe7\xa7\x15\x26\xe5\xdb"
      "\xf1\xf4\xe5\x37\x5b\xeb\x5c\x9f\x7e\x79\x49\xcb\x32\xef\xaf\x77\x8e\x90"
      "\xa6\xe3\x88\x6e\x8b\x73\x2f\x19\xd2\x3b\xe8\x6a\xbe\x04\xed\xea\xd7\xad"
      "\xfc\xe5\x92\x32\x23\xdf\x24\xee\x9b\x7e\x75\x96\x47\x91\x7f\x6a\xdb\xa8"
      "\xc2\xdc\x28\xdd\xdb\xd7\x78\x57\xae\x6d\x91\x7d\xe1\x66\x0f\x6c\x7a\xb7"
      "\xf6\xef\xbb\xa3\x8f\x8a\xf5\x64\xf1\xd8\x78\xef\x6b\x26\xce\x1d\xa9\xc8"
      "\xe9\x34\xb9\x7a\xc4\xfa\xe2\x87\x92\xc1\xc1\xe5\xfb\x55\xf9\xa3\xd0\xb5"
      "\xaf\x4e\x0f\xcc\x5e\x71\xd5\xc1\xf7\x83\xc7\x7c\x73\xa7\xd7\xca\x8b\xcb"
      "\xdb\xb5\x6e\x3c\xf6\xec\xe4\x66\xf5\x5b\x56\xab\x1e\xe7\x61\xa4\xf2\xfd"
      "\x4b\xc7\x58\x5e\x7f\xc2\xdb\x0c\x87\xae\xd6\x78\x7b\x76\xd1\x87\x86\xc1"
      "\x9f\x46\x7b\x33\x69\x61\xb1\xeb\xfd\x2b\xdc\xfc\xf9\x74\xf0\xde\x8a\xe1"
      "\x82\xd3\x36\x7c\x7e\x3a\xfd\xbe\x3c\xe5\xbe\xdf\x72\xf0\x74\xe1\x22\x1d"
      "\x37\x0e\xca\xbc\x2b\xf9\xe9\x90\x54\xa7\x7e\x8a\xdb\x65\x7a\x48\xe9\xd9"
      "\x11\x06\x6c\xf9\xb6\xfc\xfa\xa8\xc3\x97\x2e\xae\x10\xe6\xec\xde\x9f\xab"
      "\x76\xf8\xb9\x7e\x93\xce\x75\x8f\x87\x1e\x59\xbb\xf7\xf8\xc1\x0e\x9f\xc6"
      "\xea\x93\xb4\x55\xaf\xd1\xf9\x73\x25\x08\x97\xe0\xc1\x2f\x77\x1a\x36\x9a"
      "\x3e\xaf\x5a\xe4\x3f\x2e\x27\xea\x93\x2e\xea\xf2\xfb\x85\x22\x9f\xd9\x72"
      "\x73\x62\x8e\xea\x83\x96\x8f\x4e\x3a\xaa\x63\xad\x35\x19\x7a\xe6\xbe\xdc"
      "\xe2\x76\xcf\xb5\x5f\x1f\xc9\x9f\xb5\xf2\xb1\x8c\xc9\xd3\x14\xbd\x58\x31"
      "\xfa\x9c\x36\xe5\x7f\xce\xd1\xa9\xe7\x57\xc5\x5a\xee\xfd\x65\xe1\x93\x8e"
      "\x9f\x75\x3c\xf4\x4d\x87\xdf\x4a\x5d\xad\x95\x3a\xe5\x6f\x1d\x13\x95\xd8"
      "\x55\x77\xc8\xf5\xd9\xd1\x82\x77\xcc\x6b\xfc\xf4\xe0\xc5\xa8\xd5\x96\x47"
      "\xbe\x95\xba\xea\xbd\x8d\xcb\xfa\xb4\xda\x1c\x36\xee\xda\x66\x73\xdf\x4f"
      "\xea\x7f\xaf\x4c\xbb\x96\xd1\x9e\x8f\x18\xdb\x74\xeb\x84\x1f\xbb\x27\x39"
      "\xd1\x30\x5f\x8e\x4e\x43\x9b\xad\x3a\x1a\x3f\xcc\x93\x99\x49\x5a\x3c\x6e"
      "\x91\xf8\xc1\xf6\x3f\xa2\xde\x58\x33\x3d\x4e\x86\x6e\xb9\xd3\x7c\x36\x76"
      "\xc5\xb2\xd8\xcb\xbe\xbe\x3a\x31\xe3\xf6\x75\x0b\xc2\x9e\xca\xd1\x3c\x43"
      "\xc6\x2f\x52\x2f\x39\x39\x66\xfb\xec\xc8\x29\x7e\xcb\x92\xe2\xfb\x8b\x97"
      "\xcb\x7d\x7f\x3f\x52\xd4\x70\xf9\xfb\x26\x0d\x84\x6b\xfd\xeb\xa0\xb1\x95"
      "\xe7\xc7\x79\xda\x7e\xd3\xb3\xc3\xa1\x19\x86\xe4\xcd\x37\x7a\x7b\xa9\x0a"
      "\x8d\xce\xfe\x9c\xbc\xc3\xac\x3a\xef\x76\x56\x4a\xd1\x6a\xff\xab\x24\xd7"
      "\x1e\x46\x4d\xd3\x7c\x45\xf6\xcf\x4e\x9f\xec\x1e\xb7\x4f\xbc\x1f\x62\x56"
      "\x7f\x9c\x34\xd2\xda\x86\x61\x47\xe6\x78\x5a\x7f\xd2\xab\x13\x55\x7e\x89"
      "\x95\x7a\x46\xea\xf8\x2f\x9b\x36\x9a\xfa\x4b\xcb\x93\xc5\xaa\xdd\xec\x9a"
      "\x6f\x43\x8e\x1a\x4f\x17\x44\xdf\x54\xe1\x87\x58\xbd\xce\x5c\x9d\xfd\x79"
      "\x93\x6d\xbf\xf6\xb9\x51\x36\x90\xad\xf6\xd4\x5c\x17\x1e\xbe\x0b\x3a\x94"
      "\x3a\x4d\x9c\xaf\x0e\x7f\x7d\xa5\x5f\x98\xc8\x2b\xf7\x57\x5f\xbd\xe7\xeb"
      "\xbd\x1d\x3f\xe4\xda\xf1\xba\xfd\x8b\x1b\xcd\x07\x5f\x58\x3f\xa9\x4d\xf5"
      "\xa1\x9f\x16\x1f\xdb\x2d\x70\x2e\x6c\x86\xbd\x7b\x0b\x27\xda\x92\x63\x61"
      "\xf9\x31\xb5\x7a\xf4\x6e\x5f\xaa\x6a\xb4\x8c\x67\xd3\x2f\x5d\xb0\x6e\x44"
      "\xb7\x1f\x63\x74\x6b\x91\x2e\x63\xe0\xee\x98\xf2\xdd\xdf\x26\x5f\x94\x7f"
      "\xdb\xae\x90\xce\x67\x56\xc7\xef\xf0\x65\x8f\xb7\x65\xe3\x94\x29\xfc\x2c"
      "\xdc\xbb\x02\x99\xef\x6c\x3a\x9d\x29\x75\xbb\x62\x33\x46\xbf\xce\xb9\x35"
      "\x6d\xf8\xa4\x75\xee\xec\xcd\xbe\x6d\xed\xcf\xd7\xbf\x6b\x99\x73\xfc\x95"
      "\x81\x9b\x9e\x0c\xca\x78\xfe\xee\xa5\x89\x51\x8e\x37\xbb\x57\xbd\x4c\xc5"
      "\x4e\x9f\x37\x6b\xbd\x6d\x60\xdd\xd2\xf7\x7e\x3c\xd6\xa5\x47\xf3\x94\xd9"
      "\x87\xc5\x19\x78\x64\x78\xe3\x0c\x11\xb6\x27\xfc\xe4\x8f\xa6\x33\x4e\x5c"
      "\x1c\x1d\xf6\x87\x5e\x89\x22\x26\x88\xdd\xf2\x50\x9a\x99\x1f\x7e\x9f\x57"
      "\xf2\xb7\x59\xdb\x66\x55\x3a\xb9\xf0\xfc\xb3\x34\x1f\x86\xdf\x8d\x5b\x20"
      "\xe9\x86\x77\x9b\x26\x24\x69\xd1\x2a\xd1\xb2\x98\x07\x1e\xe4\xf9\x61\xfe"
      "\x77\x49\x77\xf6\x1c\x3e\xe9\xab\x35\xa1\xc5\x7b\xdc\xed\x10\x3e\xd7\xc8"
      "\xb2\x61\xc3\xa4\x8c\xbb\x23\x74\x51\xf2\x29\x71\x7f\x2c\x56\x6b\x6d\x9c"
      "\x37\x8d\xaf\x9e\x88\x74\x73\x45\xe7\xc9\x8b\x4b\xed\xb8\x58\xe4\x52\xc4"
      "\x5f\xde\x0f\x2c\x98\x25\x69\x81\xf9\x07\xe2\x2d\x0c\x39\xf1\x6d\xa3\x84"
      "\x9b\xcb\xcc\x09\x5b\xea\xd3\xdd\x91\x8a\xcc\xad\x1d\x65\xda\xf7\xd9\x4e"
      "\x3e\xcf\xdc\xff\xd0\xf0\xf0\x37\xaf\xad\x49\xf8\xee\x58\xa6\xc1\x59\x52"
      "\x25\x8f\xbf\x72\xc9\xba\xd1\x8f\x2e\x14\x88\xb2\xa7\xdd\xdb\x59\x61\xe7"
      "\x75\xde\xd2\xba\x52\xbe\xb6\xed\x9b\x8f\x9e\x90\x33\x7e\xce\xb4\xbd\x3a"
      "\x0f\x1b\x7f\xee\xf7\xa5\x07\x26\x5d\x9c\xb5\xf5\xe4\xde\xa6\xef\x2a\x1c"
      "\xba\xd1\x20\x24\xeb\xb8\xb4\x03\xae\xfe\x76\xf3\xc1\x9b\xdc\x4d\xf2\xaf"
      "\x6a\x53\xee\xc9\xac\xff\x8d\x9d\xbb\xe8\x0a\xc2\x71\xde\x40\x4f\x77\x89"
      "\x20\x22\x2d\x0d\x02\x52\xd2\x5d\x2a\xdd\x0d\x4a\x4a\x4a\xa3\x74\x97\x74"
      "\xf3\xa5\xbb\x11\x50\x04\x41\x5a\xba\xa5\xbb\xa5\xbb\x94\x90\xbb\xb9\xbf"
      "\x97\x70\xcf\xff\x9c\x7b\xe6\xb3\x9d\xcd\x33\xb3\x9b\xcd\x43\x5e\x4c\xbc"
      "\x60\xf2\xc3\x72\x3e\xcb\x58\x88\x75\x45\xb6\xcd\xac\xc1\xd2\x9c\xaf\x93"
      "\x70\xf9\x11\xfb\x00\x1d\x6f\x76\x73\x82\x7c\xd3\x1b\xac\xbf\x3e\xd4\xde"
      "\xed\x8d\x1c\x9e\xbc\xf4\xb4\x39\x38\x38\x04\x7e\xa5\xaf\x92\xaa\xd2\x16"
      "\x36\x43\x2d\xdc\x26\xa7\x91\x07\x6e\x04\xcd\xbe\xa0\x14\xfa\x15\xbf\xa0"
      "\x8b\x6e\xb3\xf8\x64\xe8\x2a\x66\x41\x44\x3c\xa5\x90\x17\xa3\x6c\xf9\xf3"
      "\x9e\x39\x14\xa5\x9c\x1b\x99\xb4\x09\xe5\xc7\x8e\xe2\xae\x7a\x00\x87\x51"
      "\x0f\xdd\xb9\x38\xa3\xe5\x8c\xe6\x7c\x8b\x81\x41\xfb\xca\x22\xbb\x11\xb5"
      "\x2e\xd9\xbc\x2c\x19\x91\x3d\x75\xf6\xbb\xdc\x4c\x17\xfe\x9d\xd0\xdf\x92"
      "\xda\xa9\xae\x16\x33\xcf\x24\xc7\x0f\x84\xda\x3e\x28\x04\xb6\x0d\x12\x7c"
      "\x1e\xf7\x5e\xaf\xe9\x7a\xd9\x90\x30\x7a\x51\xa3\x8a\xf3\x28\x20\x7e\x51"
      "\x98\x7e\xcb\x44\xfe\x23\xa7\x88\x5b\x78\x7d\x51\xf9\xcc\x93\xbf\xc2\x01"
      "\xe7\x95\xc8\x82\xa5\xcd\x7b\x5e\x8f\x8c\xa4\xb5\xb2\xc4\x84\xd5\x27\x70"
      "\x15\xa8\x1b\x59\x32\x8e\xe3\x36\xb1\x5b\x36\x15\x08\x7a\xba\xc6\xd0\xdb"
      "\x7f\xa1\x15\x8e\x96\x23\xfe\x47\xae\xae\xe1\x61\xe6\xf5\x55\x85\x6c\x43"
      "\x6e\x62\xa3\x7b\xa5\x55\xb5\xe1\xd7\x4e\xd0\x24\xfd\x8f\xd1\xe0\xb8\xec"
      "\xc5\xa0\x47\x85\x56\xec\xef\xa7\x68\xda\xf1\x5e\xf2\x2b\xff\xc1\xd2\xf9"
      "\x3e\x27\xc4\xd3\xfa\xc3\xc4\xea\xec\x2f\x83\x2c\x5e\xce\x0c\xb9\x9c\x79"
      "\x00\xf7\x13\xcb\xa0\xb5\x1c\xaf\x95\x95\xd8\x32\x2a\x7a\xfd\x7b\x5f\x3c"
      "\xdf\xcc\x86\x37\x88\xa4\x8d\x81\x65\xe6\x9e\x8f\xed\xd4\x06\x8b\x2a\xca"
      "\x3e\xc4\x20\xc7\x1e\xa9\x49\xf1\xa7\xaf\x75\xb1\x1a\xb9\x98\x7f\x6d\x09"
      "\x5d\x66\x51\x63\x2f\x9f\x8b\x76\x7a\x47\x2d\xa0\x1e\xc0\x6b\xd7\x1f\xa8"
      "\xe7\x47\xeb\x99\xf1\x53\x6d\x27\x2c\xde\x01\x17\x8b\x2c\xfe\xce\xf5\xf5"
      "\x3f\xa4\x95\xef\x8d\x85\x2d\x11\xe6\x93\x2d\xe9\x9b\x42\x25\x4f\x7e\x8a"
      "\x65\x6e\x5a\xe6\x70\x04\xc9\x79\x77\xea\x3a\xbe\x52\x5f\x0a\x79\xff\xe8"
      "\x22\x41\x72\x3f\x5d\xa8\x0f\xa1\x92\x9f\x24\xa1\x31\xfd\xa1\x70\x2f\x23"
      "\x56\xd7\xcb\xa3\xf7\xb9\x4d\x3a\xf5\xe7\xc8\xea\xd6\xf2\x89\xf7\xb6\x7b"
      "\x95\x72\x6f\x3e\xda\xa6\xe8\x46\x7e\x28\x10\x58\x51\xb5\x09\x98\xbe\xd1"
      "\x8d\x60\xfc\x4b\xb3\xf8\x8e\xe5\x23\x95\x87\x7e\xb4\x7a\xf6\xa7\x93\x57"
      "\x98\x46\x44\x04\x12\xd4\xb6\x6f\x44\xf0\x7b\x30\x50\x8e\xef\xba\x29\x19"
      "\xa6\xd2\xbe\xb0\x6c\xca\x44\x3a\x1b\xab\x7a\x0c\x0e\xd4\xb1\xa2\x9b\x2c"
      "\x04\xe4\x6b\x5a\x8d\xd7\x4f\x9f\x3d\xfa\xe4\xad\xfa\x4c\x5e\xb0\x89\xaa"
      "\xab\xdb\x31\xc8\xef\x42\xfd\x89\xf9\x38\x13\x0a\xb7\x03\xee\xcd\xcb\xfa"
      "\x29\x77\x5b\xec\x5d\x12\xa9\x54\x57\xf6\x8e\x3f\xeb\xf2\xcb\x0f\x10\x62"
      "\x42\xc3\x3e\xd2\x31\xed\x4b\x15\x96\xea\x72\xc9\x75\xaa\xa6\x91\x45\x63"
      "\xdb\x6f\x63\x87\x4b\x52\xd4\x51\xf7\xd8\x69\xab\x6f\x4f\x6f\x73\x69\xe0"
      "\x89\x98\x3b\xa3\xd7\x3f\x50\xce\xca\x7c\x7b\xe3\x95\xb0\xd1\x69\x79\xa3"
      "\xa7\x6b\x5d\xe7\xd0\x52\x3e\xa9\xf3\x4b\x31\x4d\x32\x77\x48\x28\x74\x96"
      "\x63\xf8\x7d\x4f\xeb\x8b\x11\x69\x2b\xfc\x77\x9d\x32\x95\xde\x4a\x97\x2a"
      "\xf7\x8d\x67\x5d\x99\x0d\x06\x5d\x0a\x83\x5e\x87\x3e\xb1\x7f\x39\x55\x85"
      "\x6c\x3e\x3c\xe7\xff\xb4\x70\x3f\xf4\xdd\x6e\xa3\x9a\xa7\x0e\x53\x67\x72"
      "\xfa\xa2\xeb\x4e\x08\x45\x52\x6b\x87\xfe\x19\x89\xd2\x9c\xb1\x08\xea\x6a"
      "\x91\x93\xfa\x00\xd7\x6b\xd3\x45\xfb\x86\xaa\xe9\x25\x83\x64\xac\xbf\x5b"
      "\x0c\xe3\xbd\x21\x74\xfe\x6f\x66\xb4\x1c\xa8\xbb\x7f\x88\xbd\xb4\x0a\xc3"
      "\xcf\xad\x7d\xfe\x79\xf2\x5b\x4c\x81\xf0\xda\x55\x62\x4b\x87\xc2\xc4\x1f"
      "\x8b\xbf\x8a\x96\xb6\xa9\xb5\xcd\x1f\x0f\x1e\x52\xfa\x84\x8e\xe8\xd0\x4b"
      "\x57\x72\x97\x9e\x9f\x97\x87\xad\x3c\xc2\x2f\x74\xcd\x97\x42\x22\x30\x0b"
      "\x3e\xfc\xa0\xcc\xc4\x9e\x42\x43\x6f\x62\xfc\xdd\x93\x79\xf7\x53\x2a\x73"
      "\x9b\xd9\xa4\x50\x2b\x55\xe9\x6f\x41\x16\x0d\xbe\x3c\x4a\x01\x97\xee\x0c"
      "\x34\x02\x17\xd5\x9c\xd8\xb8\x7d\x55\xd5\xc3\x63\xdb\xd3\x07\xec\x73\x39"
      "\x1d\x88\xb1\x8d\x07\x0b\x3d\x91\xd9\x89\xd1\x9b\xad\x79\x3d\xec\xe8\xde"
      "\x8f\x83\x8a\xe2\x43\x4d\xf5\x67\x3f\xca\x21\x46\xce\xfa\xa6\x31\x5d\xa4"
      "\x85\xd1\x67\xfb\xd8\xf5\x86\x3e\xec\x0c\xa9\xe7\xd9\x73\x6a\x2c\x7d\x5f"
      "\x97\xfe\x69\x55\x6a\x82\x6a\xfa\x66\x24\x6a\xc8\x4c\x93\xf2\xf5\xf9\x88"
      "\xc0\x8b\x1f\x0f\xda\x26\x9c\x39\xf7\x6c\x22\x8c\x28\x06\x45\x3d\x7d\x88"
      "\x0b\x0b\xa3\x22\xe5\xdb\x44\x12\x90\xfe\xde\xcc\x45\x47\xd8\x4b\x16\x38"
      "\x53\xd8\xdc\x49\x1f\x44\x5f\x6f\x66\x52\x72\x0a\x24\x7a\x98\x62\x21\x22"
      "\xa5\x4f\xdc\x96\xd0\x6b\xf2\xde\xe8\x27\xff\x96\x5c\xd1\x46\x0b\x57\x55"
      "\xd0\x35\xc9\xf7\xd6\x89\xeb\xcd\x42\xb9\x9b\xb6\x5c\xa6\x66\xa0\x4b\xcc"
      "\xc2\xfe\xcc\xbf\x14\x16\xb2\x24\x75\xa5\x47\x3e\xc4\x15\x4c\xac\xbe\xb6"
      "\x95\x71\xfd\x35\x6c\xa8\x33\x65\xb2\xa5\x60\x7a\xd7\xad\xd5\xf7\x9d\x8d"
      "\x40\x1e\x8d\x73\x72\xca\xe3\x85\x4e\x45\x33\x0a\xf3\xe8\x38\xa7\xf7\xfd"
      "\x45\xbe\x0f\xd5\x5c\x89\x89\xc9\xb3\x72\xbc\x72\x23\x98\xdb\x28\xae\xc4"
      "\x6f\x03\x0b\xb0\x14\xb6\x97\x06\xe2\xd6\x26\x8a\x6d\xff\x9c\xf1\x12\xf0"
      "\x9c\x76\x27\x1c\x6f\xa9\xd4\xe2\xd5\x8d\xfe\xd8\xcf\xad\x7e\x55\xf7\x13"
      "\x65\xc8\x84\xa2\x59\x16\x79\x85\xe9\xd3\x57\xf5\x8a\x03\xdd\x3d\x51\x44"
      "\xf4\x9d\x99\x9f\x3a\x41\xb1\xc6\x9b\x7f\x6f\xd2\x52\xc7\xde\xa9\xe5\x71"
      "\x6a\xab\xf0\xf5\xd6\x86\x52\x6a\xe9\x22\xe1\xc5\x8f\xeb\x28\xcd\x7e\x7e"
      "\xeb\xbe\xe7\x3d\x99\x3c\x88\x87\x42\x98\xd8\x59\x82\xd1\x71\x6f\xff\x53"
      "\xf5\xb3\x59\xd9\x7c\xea\xa8\x8c\x4c\x2d\xf7\xde\x60\xa4\x13\xbe\xe1\xb4"
      "\xee\x25\x09\xc3\x97\x07\x7c\x2d\xce\x9a\xa9\x81\xbf\xba\x46\xd3\x37\x48"
      "\x5d\x96\x8e\xaa\x6c\x92\x83\x76\xb7\x3a\x10\x91\xa8\xbf\x7d\xcc\x24\xd8"
      "\x12\xe9\xfa\x83\xb5\x35\xf6\x69\x03\xe5\xd2\xb3\x98\x74\xdb\x29\xb4\xe1"
      "\x8c\x55\xf1\xda\x40\x1d\xbf\xf5\xc5\x93\x89\x45\xec\xa8\xaf\xff\x05\x14"
      "\xda\x3a\x69\xd3\x7a\xeb\x50\xe2\x4b\xcb\x32\x08\x7c\x0c\xd5\x7e\x45\x77"
      "\xa3\x67\xba\xb3\xc6\x93\x2f\xff\x40\xf9\xe6\xec\xcb\x5d\x67\x15\x0b\xdb"
      "\xa8\xfb\x63\xc4\x99\xa7\x5a\xc3\x8b\x7d\xd5\xf6\x8d\xf4\x59\x5d\xdf\x1e"
      "\x46\x93\x9c\x51\x30\xa1\xbc\x45\x5d\x92\x4e\x74\xaf\xc5\xc8\x74\xab\xe8"
      "\xf6\x8a\xa9\xcf\x46\x6d\x91\x17\x17\x6c\xda\x64\xea\x75\xd3\xb9\xbc\x75"
      "\xc9\x1b\x5d\xa8\x63\xdc\x8b\x67\xf0\xdf\xd1\xb2\x9f\x09\x75\x42\xf5\xe0"
      "\x08\x6c\xf9\xaf\xe5\x8b\x92\xe4\x07\x2d\x63\x91\x01\x04\xec\xcd\xed\x85"
      "\x2a\x19\x92\xf6\x3c\x72\x3f\x26\x2d\xa7\x1a\x76\x9e\x19\xb7\xf2\x84\xa1"
      "\xf9\xf7\x9d\xa3\x45\xb3\x62\x2a\xcf\xc2\xd0\xc2\xc5\x39\xf0\xa4\x6f\xcf"
      "\x10\x55\xd2\x18\xa8\xe9\xc2\x7d\xf5\x6f\x76\x98\xd1\x84\x76\x1d\x03\xb0"
      "\xd1\x37\x7c\x88\xe5\x9e\x9c\x95\xc6\xb3\xf6\xb5\xba\xbf\x1c\xe7\xfd\x5a"
      "\xee\xc7\xad\x45\x55\xbe\xbe\x7b\xc7\x73\xf0\xf8\xfd\x04\x29\xcb\x70\xe6"
      "\xdb\x77\xd5\x07\xa7\x3a\x7f\x05\x7f\x91\xd7\xa0\xd5\xff\x99\x70\xc3\xed"
      "\xdb\xcb\xcd\x7a\xe7\xd9\x5c\xc3\x24\xff\xb2\xeb\xdf\x98\xbe\xe3\x1f\x3d"
      "\x2e\x8a\x66\x99\x2a\x76\x94\xc8\x4d\x0d\x82\x58\xd4\x9f\xd6\x8d\xe7\x9e"
      "\x84\x56\xb8\x46\xc7\x9a\x7f\xd6\x03\xb3\x54\x8b\x3b\xf7\x34\x3e\x0b\x5a"
      "\x67\x6d\x4a\xbd\x21\xfa\x5a\xfb\xab\xe5\xf1\x0a\xae\x46\xc8\xad\x50\x27"
      "\x97\xe5\x73\xfb\x81\x2d\x62\xd1\x3d\x41\x33\xb9\x5e\xec\xfc\x2f\xc3\x64"
      "\x0c\xe8\x02\x42\x24\xaf\xd6\x53\x92\x2c\xff\x8d\x25\x46\x21\xb4\x4d\x4b"
      "\x4e\x0e\xdf\xe8\xb4\xd3\xf8\x6e\xbe\xeb\x56\xad\x7d\x64\xdc\xf0\x86\x27"
      "\x8f\x40\x02\x57\xe3\x9b\x4e\x25\xab\xae\x23\xcd\x93\x31\x6a\x77\x34\xb5"
      "\x96\x3a\xde\xaf\x81\x8d\x0f\x68\x33\x5f\x4c\xd7\x1a\x1a\xe0\x92\x16\x26"
      "\x29\x6a\xbc\x47\x7c\x2e\xca\xd7\x50\x51\x1b\xf6\xa3\x73\xee\xeb\x71\x68"
      "\xb3\xf6\x9b\x67\x4b\x42\x78\xc8\x33\x81\xaf\x35\xdf\xce\x4b\xd2\xbf\x51"
      "\x47\xff\x9e\x1f\x2a\x7a\x98\xb3\x9b\xfc\x5e\x99\x61\x37\xb2\xa9\xfb\x69"
      "\xfc\x14\xeb\x56\x07\x7a\xab\xa8\x55\xef\xd3\xea\xf2\xee\x42\x09\x0d\xbc"
      "\x02\xdb\x72\x15\x86\x47\x7d\xeb\xc6\x84\xca\x77\xc5\xfd\x65\x29\xd1\x4b"
      "\x0c\xbf\xe6\xbd\x1d\x84\x28\x53\x7f\xfa\x38\x10\x8f\x24\x72\x54\x4b\xf4"
      "\x14\x19\x7c\xa0\x33\xd7\x77\xaa\xd8\x4e\x5f\x2e\x45\x77\x7d\x69\x48\x75"
      "\x27\xf5\x20\x81\x6d\x92\xdf\x9a\xc0\xb9\x6b\xc0\x47\x60\x3e\xf3\x13\x0b"
      "\xe2\x24\xaf\x7e\xd1\x4b\x11\x53\xd2\x9e\x7c\xcb\x93\x73\x5a\x3a\x49\x34"
      "\x51\xcf\xb7\xcb\x83\xdd\x66\x53\xf2\xcf\xff\xcd\xd6\x2d\xc9\xc5\x2f\xd0"
      "\xb2\x8b\xba\x62\xd9\xda\xa0\x19\x18\x65\x57\xe5\x49\x5f\x7b\x31\xaf\x90"
      "\xe2\x6c\x15\xd8\x35\xbf\x37\xf4\xfe\x38\x7b\xa4\x6f\x21\x58\xe3\xf8\x97"
      "\x8c\x66\xcd\x41\xb8\xd6\xd1\xf2\x85\x8f\xbc\x6f\x77\x93\x16\xea\xfb\xbb"
      "\xf2\xa9\xef\x4a\x2b\xdc\x2e\x3f\x69\x03\xea\x1e\xe6\x93\xa1\x45\xfa\xff"
      "\x46\x26\xb0\xb8\x6a\x32\xab\x34\x7d\x2b\xf9\x9d\xe0\xab\xdb\x54\x0f\xa7"
      "\x9a\x7f\x63\x2a\x99\x4e\xd7\x7f\xb9\x24\xba\x96\x5b\xd9\xea\x3e\xa9\xea"
      "\xc6\x21\xd9\xd3\xc8\xa6\xbc\xb6\xaf\x6e\xe9\x5d\xc3\xde\xef\x6b\x7e\x7c"
      "\x97\x65\x2f\x15\xe5\xfc\xdb\x9d\x2c\x7b\xf2\xbb\xad\x46\xff\xef\x9d\x9b"
      "\xd4\x99\xaa\xdf\x67\xfe\x47\xc2\x5f\x63\xf4\xdf\xee\x6f\x78\xff\x25\x98"
      "\x14\x1e\xd4\x7d\x93\x96\xe3\x21\x7b\x7c\x42\x2f\x4e\x20\xcf\x2f\x60\xd2"
      "\x4e\xfb\xfd\x79\x3e\x33\x91\x1f\x1a\x33\x95\xdb\x9e\x37\xeb\xc3\x2a\x47"
      "\xa6\xd5\x1d\x9a\x2f\x1d\xc8\xcc\x0b\x56\x12\xce\xba\x56\x3c\xdf\x9d\x4d"
      "\x58\x78\x2a\x64\x9f\xcb\x9c\x0a\x55\x4d\x7f\xe0\x40\xa7\x5d\x56\x57\x12"
      "\xc0\x40\x8c\xfb\xf1\xe3\x80\x0f\x7b\xc4\x44\xa3\x39\xb1\x1d\xab\xa5\x5d"
      "\x31\x96\x13\xd7\x37\x8f\xc8\x2b\x9f\x74\x09\xd1\xfd\x52\x9a\x87\x11\xb7"
      "\x44\x67\x80\x8f\x90\xdf\x7a\x85\x36\xcf\x87\x3a\x6d\xa8\x07\x53\x2c\x2b"
      "\x51\xf1\x17\xef\x8c\x52\xa6\x08\x52\xa0\x23\x5f\x17\xfd\x46\x8c\xd7\x0e"
      "\xb7\x1c\x3f\x1a\xc3\x03\xee\xc0\xb7\x5d\x08\x7d\xc1\xd3\x5a\xff\x05\x4a"
      "\x7d\x14\x08\x3e\x27\x2a\x30\xeb\xb8\x4a\x9e\x96\xb2\xbd\xff\xf7\xa1\x2a"
      "\x96\x23\x88\xf0\x4c\xc9\x92\xda\xae\xd0\x51\xe1\x07\xe5\xde\x7d\xf3\x0b"
      "\xbc\x88\x29\x94\x1f\x5f\x74\x4d\xf9\xc7\x26\xef\x53\x57\xf4\x7e\x9f\x2d"
      "\xcc\x51\x92\x3c\xa6\xac\xe9\xbd\x42\x21\xfe\x83\x6e\x6e\x40\xa9\x65\x80"
      "\x92\x54\xaf\xe7\x8f\x32\xd7\x2f\x8e\xcb\x73\xa0\x22\xae\xe2\xbf\xd2\x25"
      "\x4d\x88\x8f\x6b\x87\xd9\xf3\xd5\x7a\xf3\xa1\xd7\xb6\xd1\x5b\xfb\x92\x0f"
      "\x88\x53\xad\x93\xfe\xeb\x0f\x6f\xcd\x15\x88\x53\xe4\xf0\xef\xba\xfe\x65"
      "\x37\x4e\x24\x4e\x7e\xf6\x7a\x32\xc2\xc3\xd8\xc3\xa3\x96\xac\x5e\x8e\xfa"
      "\x91\x08\xeb\xef\x4a\x14\x97\xef\x13\xd2\x52\xb5\x93\x04\x61\x1d\x2a\x6e"
      "\x8c\xce\x8d\x4d\xf3\x30\xfb\xb5\xc9\x84\xf3\xb7\x8e\xd2\x45\x5a\xf8\x6c"
      "\x45\x59\xe6\xd3\x71\x75\xc6\x32\x4f\xf3\x25\xd9\xae\x55\x03\xde\xee\x11"
      "\x29\x47\x24\xbe\xc4\x59\xf0\x7a\xb9\xa8\xd6\x5f\x89\x50\x1d\x14\x87\xf5"
      "\x68\x6c\x47\xed\x66\xb6\x84\x39\x88\x5b\x3b\x3f\xd8\x72\x1b\xa7\xe9\x8c"
      "\xb8\xed\x1d\x49\x57\x7a\x7e\x6d\x7c\x6c\x2f\x03\x5d\xa7\xca\xad\x89\x23"
      "\xc3\xda\xec\x05\x42\x6c\x1d\xca\xea\x9c\xc7\x4c\x35\x1d\xaa\x80\xa1\xf7"
      "\x36\xe7\xec\x1f\xb4\xe4\x54\xbc\x71\x49\x4b\xfc\xc1\x7d\xbb\x96\xef\x03"
      "\xa9\x5f\x4d\xda\x3d\x6f\xb0\x6b\x2b\x27\x9f\x9a\xbf\x0a\x13\x7b\x3b\xf6"
      "\x9f\x58\xe1\x9f\xe2\x96\x62\x36\xf6\xa3\xa5\xef\x1f\x97\xa5\x11\xc7\xcb"
      "\x66\x49\x91\xde\x29\xc7\x87\x73\xb3\xee\x52\xdd\x2b\xec\xe1\x97\x0c\xb6"
      "\x68\x1b\x59\x7b\xdd\x78\x04\x61\x5c\xd0\x34\x6b\xd6\x54\x08\x69\xa4\x21"
      "\xbb\x50\x0e\x5a\x79\x11\xbd\x30\x4d\x43\x54\x65\x28\x51\x1c\xc6\x62\xc8"
      "\x59\xf3\xa5\x61\x18\xd3\x89\x43\x2f\x72\x8a\x94\xa8\xa8\x34\x43\xd6\x79"
      "\x58\xa8\x3d\x71\xb5\x46\xc1\xc0\x3e\x21\x5c\x37\x72\xdb\x6f\x35\xa5\x77"
      "\xbe\x84\xd5\xaa\xbe\x4e\xfd\xf1\xb8\xf0\x84\xca\xda\x59\xb4\xb6\xa8\x3d"
      "\xd6\x3a\x2c\xf0\x61\x07\x9f\x52\x73\x19\xad\x6d\xa9\xfe\x7f\x94\xb3\xd3"
      "\x07\x69\xfa\xfd\xaf\xa6\x17\x8d\xff\x1b\xe3\x37\xce\x52\xb7\x11\x96\xfc"
      "\x31\xc3\xa4\xdd\xe0\x1f\x56\xcf\xfb\x79\x1d\xcd\xb2\x4d\xda\x95\xdf\x2c"
      "\x43\x0f\x81\xf2\x5c\xfd\x64\x15\x8f\x82\x03\xe9\x6c\xb2\x91\x82\x41\xa4"
      "\xb2\x6e\x97\xca\x77\x54\xbf\xe8\x22\xec\x0f\x5f\xf7\x06\x7b\xad\xf3\x61"
      "\x78\xcf\xb0\x1a\x69\x0d\xdb\x14\x37\xc6\x3a\x4e\xe1\xd1\x86\xc2\x52\xd4"
      "\x34\x9b\xa8\xf9\xec\x4b\x5a\x6b\x1d\x82\x1d\x2a\xbf\x4b\x1c\x61\x59\x16"
      "\xbd\xf3\x84\x88\x84\xa3\x03\xa3\x54\x06\xcd\x86\x3c\x25\x97\x22\x2f\x83"
      "\xf2\x07\x4d\x7f\x07\x27\x23\x8b\xa9\x0c\xf0\xb2\xd1\x9e\x59\x7b\x27\xd1"
      "\x0e\x96\x35\x23\x08\x34\x87\x71\xb6\x2a\xb4\x4f\xbe\xe3\x90\x72\x38\x61"
      "\xe2\xc0\xea\x93\xf8\xfa\x5d\x4f\x02\xa7\x4b\x77\x6c\xd4\x42\x82\x19\xc5"
      "\x19\x8b\xfd\x0f\x09\x89\x21\xa2\xbf\x05\xcd\xd8\x77\x55\x3f\x71\xc9\x21"
      "\x43\x0b\x47\xc2\xc4\x81\xbb\x5e\x14\x59\xba\xed\x1b\x1d\xd6\x2f\xe3\x1d"
      "\x9a\x4a\xc5\x15\xfa\xd5\x4f\x65\xbe\x0f\x1d\xce\x65\x2d\xf9\x9c\x9c\x37"
      "\x79\x25\xff\x67\x3d\x22\x41\x2c\xa5\xc8\x15\x94\x6f\x4d\x20\xec\x51\xb4"
      "\xef\x24\xfe\x0b\xf5\x51\x02\x97\xd4\xf4\xab\x88\xf7\x55\xe9\xc4\xf3\xbc"
      "\x96\xda\x06\xe1\x02\x48\xa3\x9b\x3c\x2f\xe5\x3e\x3e\x22\x6f\xa5\xa4\xcd"
      "\xb4\xeb\x57\xc4\x96\xe9\xe3\xfe\xd6\x8e\xf1\x68\x9a\xc4\x62\x23\xb1\xfa"
      "\x8b\x65\xbf\x9b\x3c\x49\x2b\x0e\x4e\x9c\x8f\x1d\x5d\x09\x35\xc3\xea\x4e"
      "\xb1\x23\x7d\xf0\x4b\xd4\x65\x8e\x40\xa9\x57\xcb\x4b\x03\x88\xb2\x3c\x4a"
      "\x5e\x37\x65\xe8\x93\x2d\x58\x11\xb4\xe2\x78\x48\x64\x0f\x22\x31\x97\x47"
      "\x28\x48\xf8\x0c\x71\xae\x06\x66\xa2\x88\xdd\xb0\x6c\x4d\xbf\x8c\xd6\x3d"
      "\xf5\xbe\xf1\xe0\x7e\x39\x27\xdd\x5b\x44\x5c\xa1\x29\x2e\x84\x95\x61\xdb"
      "\xf2\x1a\xe9\x48\x31\xd3\xec\xb1\x88\x61\x0a\xd9\x0c\x7a\xdb\xa3\x95\x55"
      "\xc4\x24\x13\x66\x14\x86\x53\xcf\xa4\x07\xe5\x8a\xe1\x99\xf5\xcb\xcb\xd7"
      "\x98\x11\xd3\x47\x41\x57\x02\x9d\x71\xe4\x9d\x46\x41\xfb\x4c\x9a\x9b\xaf"
      "\x6e\xf6\xf1\x4b\x83\xf6\xd4\x76\x33\x08\x68\x67\x0e\xd1\xe3\x43\xe2\xff"
      "\x21\x4b\x4e\x78\xb6\x73\xf7\xf6\xb5\x60\xaf\xed\x65\x07\x1f\x5e\xc7\x67"
      "\x05\xe6\x7a\xef\x10\xa6\x70\xd8\xb1\xad\x94\x5e\x25\xa7\x73\xba\xa9\x95"
      "\x2a\x77\x3d\x8a\x90\xbd\x66\x24\xdd\xc7\x5a\x4c\x5b\xc0\x5c\xc0\x5a\xc0"
      "\xb6\xbd\x24\x68\x40\xe4\x2b\xfd\xc1\xf9\x5e\xed\x17\x41\xb0\xa0\x1b\x45"
      "\xf1\x56\x22\x7e\x17\xbd\x52\x4a\x6c\x87\xc0\x0b\x2d\xce\xce\x09\x9d\xda"
      "\x29\x0d\xa2\xc1\xbc\xd4\x84\x44\xeb\x21\xa3\x04\xe9\xa2\x57\x96\x85\xaf"
      "\xc2\x86\x9f\x48\x29\xe3\x35\xa8\x61\xa0\xe4\x99\x8a\x2a\xe6\x65\x24\xb0"
      "\x34\x4f\x33\x14\x47\xe0\x28\x0d\xe2\x4a\xda\x12\x9b\x24\x7e\x11\x73\xb0"
      "\x50\x91\xaa\xf4\x9f\x18\xe1\x50\x99\x9f\x1f\x10\xa6\xf0\xfc\x17\x23\xb5"
      "\xc7\x7d\x2b\x26\xf8\xd7\x27\x3c\x59\x2e\xa4\x36\xa6\x9c\x50\x7d\xff\xba"
      "\xd0\xe9\xee\x5b\xe1\xab\x1a\xe7\xe8\x1f\xc9\xd3\x74\x83\xb9\x1d\x52\xc4"
      "\x9a\xde\x27\x84\xc9\x54\xfc\xec\x5e\xae\xaa\x08\x07\x37\x3c\xeb\xad\x38"
      "\x35\x33\xe2\x1b\xbc\xba\x9e\xdc\xa1\x0f\x2d\x6d\x4f\xb5\xaa\xf1\x44\x13"
      "\x1f\x1c\x3f\x17\x88\xb0\x6f\xf2\xa1\xda\x38\x1f\xe1\xb5\x46\xf3\xea\x60"
      "\x72\x74\x1b\xec\x34\xf1\xb1\x5e\x92\x2a\x6c\xa7\xa0\xf2\x4d\xfc\x25\x43"
      "\xf3\x1f\xe3\xe3\xa3\xa5\x30\xd7\x10\x34\x97\x27\xf5\xf2\xe5\xba\x2d\xf2"
      "\x54\x6c\xb6\x8f\x85\x92\x3f\x7e\x5b\xa8\x15\x19\xcd\x90\xc9\x0d\x47\x95"
      "\xfc\x0f\x21\xa3\x20\x91\x9e\x7c\xb2\x7f\x8b\x49\xeb\xca\x5b\x9a\xb1\xc4"
      "\xb5\x36\xcc\xda\xf5\x1f\xf2\x09\x81\xc8\x1a\xf9\xcb\x23\x64\xd3\x8a\xe6"
      "\xd4\xdb\x84\xda\xe3\x0f\xce\x9d\x4f\x71\x5f\x6a\x2f\x47\x6b\x30\x69\xd2"
      "\xd4\x38\x69\x3e\x7e\xf2\xab\x4b\xe6\x57\x0d\x45\x9e\x45\x71\x09\xca\xe0"
      "\xa3\xbc\x63\x46\xdf\x7d\x7a\xc5\x1f\x49\x08\x66\xf9\x55\x31\x37\x2f\xfd"
      "\x12\x2e\x28\xc3\x34\xe2\x24\x9c\x37\xd6\x6b\xbd\xa7\x70\xfb\x85\x54\x70"
      "\x69\x3b\x15\x1d\x94\xbf\xbf\x2a\x11\x4b\xb1\xc5\x51\xa2\xf8\x4a\xae\x1e"
      "\x46\xec\x13\xa3\xaf\x49\xd5\xd9\xae\xf2\x9a\xfe\x51\x3f\xaa\x57\xd7\x73"
      "\xa6\xa4\x8f\x17\x5c\x4b\xbb\x78\xa2\xe5\x27\x9f\x6f\x4b\xfe\x8e\xee\x23"
      "\xe5\xac\x07\x74\x59\xb4\x9e\x9d\xf3\xec\x5c\xae\xff\x77\xe8\x3b\x1e\xb6"
      "\x15\xf9\xdb\xd3\xd5\xe3\x7a\x30\xfb\xfc\x2e\x27\xef\x19\xbd\xf0\x80\xcc"
      "\x82\x6f\x0f\x31\x76\x08\x11\x8a\x19\xea\x18\xdd\xe3\x68\x9a\x28\xfd\x3c"
      "\xc9\x1d\xfc\xf9\x36\x0e\xa4\x5e\x6b\xeb\x0a\x92\xfd\xaf\x5a\xf9\xfd\x52"
      "\x3e\x09\x1c\x4f\x8f\xb1\x3e\x0d\x8e\x24\x7f\x11\xf1\xb0\xc8\xe5\xf3\x0a"
      "\x31\x77\x41\x9e\x1d\x7c\x4b\x76\xf7\x7d\xe3\x05\x73\xdf\x07\x9c\xcf\x1e"
      "\x5f\x9e\x4e\xcb\xc7\x5a\xb7\xfd\xfa\x7c\xc9\x50\x97\x68\xf2\xd7\x2c\xcb"
      "\x27\x64\x95\x9a\x24\x18\xcd\xf1\xb5\xd9\xc3\x08\xc6\x88\xd4\x2a\x4d\xef"
      "\x75\xc6\xa1\x28\x64\xd2\x6c\x89\x4f\x3d\x4f\xe4\x37\xcc\xd8\x68\x59\x0c"
      "\x67\xcb\x23\xff\xb5\x2c\x62\xd6\x33\x8b\x4e\x62\x0d\x87\xa0\x04\xe4\x39"
      "\xfe\xb6\x33\xf5\x39\x0d\xa8\x0e\xcb\x14\xb2\x8f\x7b\xd8\xeb\x9e\x5a\x13"
      "\xa4\xe2\x57\x1f\x61\xea\x61\x7d\x84\xd3\xac\x2d\xf4\x3d\xc4\xa3\xb3\xe8"
      "\x88\x82\xf3\xa7\x0e\xb1\xd3\x52\x88\x96\x24\x73\x7a\xde\x73\xf2\x25\x0b"
      "\xa7\x0d\x04\xfe\x71\xd5\x3f\xd1\x27\x76\x51\x2c\x8f\xc4\xc3\xcb\x22\x2b"
      "\x4e\xea\x51\x3c\x83\xfd\x0f\x7e\x5b\x9f\x1e\x28\x15\x04\x68\x29\x77\x85"
      "\xa6\xbd\x26\xd2\xd4\x0f\x47\xc3\xfd\x46\xf3\x15\x7b\xf2\x7b\x13\xf7\xd3"
      "\x6c\x2f\xf9\x5d\xa7\xd7\x71\x5c\x72\x7e\x47\x84\x46\x88\x01\x0f\xe8\xf2"
      "\x71\xf5\x89\x35\xfe\x78\x0d\xc4\xf5\x23\x46\x7c\x14\xb5\xfd\xe9\x8d\x52"
      "\x68\xa5\xbc\x67\x10\x8b\x3d\x61\xc2\x5b\x11\xa8\xcb\x54\xe4\x80\x69\xc7"
      "\xcc\xaf\x84\x66\xe2\x93\x37\xaf\x4b\xa6\xa3\x55\xbb\x38\x26\x69\x51\x7d"
      "\x26\x29\x7e\x98\x82\xd5\x40\xa7\xfc\xf6\xfc\x47\x98\x93\x67\x82\x84\x16"
      "\x02\x96\xd8\x8e\xed\xd2\x16\xce\xc9\x1b\xc9\x2c\xae\xc9\x73\x2e\xe7\x8a"
      "\x89\x16\xf1\x19\x39\x09\x2f\xbb\x08\x55\x0c\x3d\x4c\x8e\x5f\x07\xc8\x2f"
      "\x16\x8a\x6f\xbd\x3c\x33\xb5\x32\xea\xb3\x6d\x9a\x1f\xa4\xcb\x6e\x72\x87"
      "\xa9\xaa\x5c\x28\x87\x3e\x53\x26\xbf\xd3\xe0\xcd\xa5\x24\x6f\x4d\xb1\xa9"
      "\x29\xcf\x1e\xb9\xd0\x49\x51\xad\xa1\x9b\xfb\xd7\x5f\x70\xba\xbc\xd9\x3d"
      "\xac\x6e\xd8\x9f\xe4\xc9\x8d\xbb\x4e\x9d\x50\x2d\x6e\xb0\x75\xdd\xdd\xde"
      "\xb2\x63\x26\xe7\x49\x33\xba\x52\x6f\xbf\xb7\x1e\x13\x94\x68\xd5\x81\x6d"
      "\xe9\xb7\x41\xe2\xcc\xea\x99\xfb\x9a\xf6\x68\xd2\x47\xfd\xfe\x21\xae\x44"
      "\x06\xf5\xfa\xc0\x81\xeb\x8f\x61\x2c\xe5\x1b\xec\x67\x81\x65\x27\xef\x15"
      "\xb3\x38\xe7\xb4\xc3\x0a\x9e\x0a\xe9\x8c\x2f\xdc\x33\xa4\x51\x59\xe9\xbc"
      "\xaa\xeb\xc1\x7d\x2c\x98\xc5\x6a\x60\x97\x85\x41\xf3\x71\x3c\x8f\x27\x33"
      "\xb9\x76\x50\xcf\x57\x68\x67\xcf\x54\x7e\x29\xa7\xb3\x54\x57\xc9\xf8\xaa"
      "\x40\x76\x8b\xbb\xda\xba\x75\xd4\x01\x4d\xd5\x22\x6c\x97\x65\xce\xb6\xd0"
      "\x76\x35\xea\xf7\xea\x9b\x58\xad\x67\x7a\x6d\x32\xfb\xeb\xc7\x48\x79\xfd"
      "\x75\x22\x9f\xd9\x10\x03\xd3\x98\x6d\x99\x39\x4e\xcf\x22\x2d\x0f\x31\x15"
      "\xa4\x39\x03\x6f\x11\x96\xfe\x7c\x0e\xb6\x3b\xff\x19\x8f\xb8\x79\x34\xb6"
      "\x41\x84\x70\xaa\x63\x8f\xcc\x76\x20\x3b\xcc\xb8\xf1\x8b\x26\xed\xda\xd8"
      "\xe9\xe6\xe3\xbf\xf3\x8e\xed\xad\x78\x0d\xb9\x07\x2e\x5b\xaf\x3d\x2a\xf9"
      "\x7d\x93\xa9\x04\x9e\x68\xf2\x66\x34\xab\x5f\x09\x74\xac\x7d\xa6\x6a\xd1"
      "\x29\xa6\xab\x8a\xd9\x55\xbd\xaa\xf8\x7e\xb6\x3d\x21\x8b\xbc\xe6\xdf\xf1"
      "\xf6\xe4\x51\x52\xfe\x51\xa8\x77\xda\x96\x4d\x67\x0a\x76\x28\x8e\x1c\xaa"
      "\xe5\xa9\x37\xdb\xdc\x91\xf9\xbd\x01\xca\xa4\x80\x07\x6e\xe4\xbf\xc5\x68"
      "\x6e\xb2\x98\x86\xf1\xb0\xfc\x8e\xdf\x5d\x0a\xf4\x77\x8f\xbe\xd1\xb7\x91"
      "\x53\x46\x3d\x9f\x4e\xf8\x54\x44\xd5\xa6\xa4\x24\x69\xe2\x67\xa1\xc8\xf6"
      "\xad\xe1\xec\x11\xf9\xa6\x71\x2f\x16\x25\x0a\xdd\xfc\x5e\xb2\x1d\xa1\x4b"
      "\x1e\x27\xbe\x83\x0e\xd9\xfd\x2f\xec\x40\xd6\x87\xea\x8d\xce\xcb\x08\x53"
      "\xda\x38\x05\xea\x5e\x55\xb4\x2a\xf2\x0a\x54\x1f\xb1\x54\xd9\x45\xea\xf4"
      "\xfb\xba\x38\x86\x1f\x06\xd1\xc7\xd9\xda\x56\x0b\x0b\x7b\x0e\xdc\x30\x17"
      "\x6e\xa0\x38\xc9\x1d\x48\x7f\xe2\x7f\x29\x87\xb9\xf5\x29\xe3\xac\x22\xf7"
      "\xb9\xdf\x1e\x2b\xa7\x8b\x81\xd9\xe1\xfb\x9b\xa0\x96\x97\x86\xd4\x28\xce"
      "\x33\x05\x0c\x8d\xe5\xe8\x34\x78\xc5\x39\xae\x31\x7f\xa5\x92\x06\x55\xe4"
      "\x74\xa7\x2e\x5a\x70\xac\xda\xaa\xdd\x50\xfb\xe9\x33\x30\x07\x83\xfa\x0f"
      "\x3b\xf2\xc4\x58\xe8\xc5\x96\x65\x5a\x31\x3f\x30\x5d\x24\x69\x70\xcf\x2a"
      "\xfa\xbc\x1f\x58\x24\x7c\x7b\x9d\xd2\x2a\x2d\x52\x74\xca\x42\x7f\x62\xfd"
      "\xd8\x1e\x37\x8c\xc5\xd3\xb9\x14\xe7\xfe\xf7\x34\xb2\xcf\x9b\x9f\x13\x53"
      "\x64\xf8\x7b\xc3\x4a\x95\x56\x28\xcc\xd7\xdf\x27\x72\xf1\x04\x7f\xf1\xfe"
      "\x2e\xfe\x69\x85\x67\x7e\x5b\xd8\x79\xc8\x7d\x74\x98\x15\x78\xda\x42\x4e"
      "\xa6\x64\x15\x3b\x99\x57\x14\xd6\xd7\x4d\xee\xa7\x39\xa4\xe2\xd6\x50\x2e"
      "\x36\x7e\x46\x7f\x26\xb3\x7f\xb0\x22\x74\x55\x74\x4f\x4e\xb8\xab\x3c\xa7"
      "\x71\x39\xcd\x1a\xc9\x57\x99\xcf\xd4\xaf\x34\x63\x19\x7e\xb9\x4b\xff\xdb"
      "\x4c\x69\x79\x08\x3f\x4c\x24\x5a\x5d\xbe\xe6\x1f\x7f\xd7\x4b\x21\xf3\x73"
      "\xfc\x5f\xca\x22\x26\xcd\xb3\xe9\x7e\xc2\xb8\xda\x45\xdf\x5d\x02\x2d\x2f"
      "\x76\xfc\x0d\xb1\xcb\xbe\x1f\x61\xfd\x5d\x1b\x14\x7b\xa6\x5a\xe1\xdb\xfa"
      "\xf0\x8c\xa6\x29\x8c\xb3\x70\xa3\x4a\x40\x6e\x0a\x6d\x32\xe0\xb5\xf0\xd8"
      "\xa5\x1d\xb9\x9a\xdd\xee\xe5\x1a\x05\x83\x02\xc7\x66\x6b\x79\x16\x36\x6b"
      "\xfb\xb0\xcd\x6a\xf2\xd3\x35\x23\xde\x38\xcb\xea\xeb\xec\x66\xec\x67\x5c"
      "\xe3\xe6\xa5\x22\x4d\x0d\xdc\xe2\xea\xa2\x61\x92\xa1\x35\xc1\x6e\xd1\xa7"
      "\x92\xd6\x58\x79\xc6\x9c\xe7\x76\xbf\x54\xbd\x96\xf5\x88\xf3\x09\x65\x7e"
      "\x07\x52\x96\xbf\x72\x3c\x7a\xd8\x34\x31\xe9\x22\x9d\x92\x19\xf5\x24\x91"
      "\xf6\x25\x1e\xa7\x54\x2f\x97\x87\x7c\xd3\xb7\x45\x67\xbb\x6c\x8b\x9e\x66"
      "\x53\x25\xc6\x06\x12\x3b\xcc\xf6\x60\x57\x7c\x5b\xb6\x38\x99\x8c\x03\x0c"
      "\xad\xe9\x7a\xbd\xb2\x9f\x8d\xad\xf5\x71\xc5\xd9\xfb\x72\xfe\x3a\x02\x3f"
      "\xd5\x7a\x96\x9e\x33\x22\x50\x9f\xfd\x29\xed\x2a\x1f\x13\x44\x7e\xc0\x6d"
      "\x41\x10\x63\xf5\x82\xb4\x2a\x0f\xfd\x98\xd6\xf3\xc1\xb8\x8b\x41\xa1\x40"
      "\xe7\x89\x40\x59\xbb\xe3\xfe\x14\x76\x14\xf1\x59\xf6\xf1\xd9\xca\x5b\x42"
      "\xe7\xc7\x79\xbe\x37\x37\xee\x16\x34\x02\x6e\x84\x1c\x73\xc3\xab\xbb\xcc"
      "\xa3\xef\x9e\xb5\x37\xfd\x23\x47\x47\x4c\x68\xfa\xfd\x14\xa5\xdc\x9e\xda"
      "\xdd\x59\x3f\x40\x01\x7b\x3f\x28\xe4\x49\x4e\x47\x3c\xd2\x50\xbb\xa3\xbe"
      "\x36\x0e\x8d\x02\xd2\xe6\x0f\xed\x75\xb9\xd8\xe0\x88\x8d\x2d\x54\xa1\x39"
      "\x93\xaf\x29\xd9\xb3\x94\xae\x71\x5a\xa7\xb6\x44\x28\xec\xe6\x28\x2e\xff"
      "\x61\xf7\x69\x74\x9a\xfa\xe2\xa0\x0b\xec\x14\x6b\x07\xdc\x7e\xba\x99\x7d"
      "\x94\x5a\x21\xe5\x3a\x71\xa5\xc8\x32\x44\xc4\xf9\x25\x6c\xc3\x66\x0f\xfd"
      "\x70\xa1\xba\xbb\x95\xc8\x6c\x68\x1c\x95\x93\x90\x20\x9b\xc2\xe1\xe8\xdb"
      "\x25\x46\x13\x97\x9b\x49\xe7\x6e\x15\x19\xb1\x82\xff\x38\xdb\xa8\x43\x40"
      "\x47\x90\xfb\x67\x53\x12\xa6\x21\x31\x83\x13\x19\x94\x97\x7b\xa7\xfd\xf1"
      "\x7d\xfe\xf7\x61\x4a\xfc\xde\x33\xd3\xda\x98\x4e\x38\x53\xd7\xab\xd1\xe8"
      "\x52\x72\xdd\xb9\x4b\xf6\xbb\xf8\x15\xc3\xba\x8b\x12\x14\x18\xc2\xf3\x83"
      "\xc7\x07\xd4\x99\xe2\x05\x9f\x4c\x56\x14\x96\x75\xf9\x2e\x9e\xab\x26\xc6"
      "\x34\xfc\x3a\x77\x40\x48\xf9\xe3\xbf\x28\x98\xe6\x6e\x46\xfb\x4f\x73\x64"
      "\x29\xe6\xb1\x85\x5c\x67\x44\xd7\x13\x31\x23\x81\xd5\x7c\x39\x52\x4e\xd6"
      "\xb1\x4f\x8a\x48\xc6\x5a\x3e\xfc\x7a\x08\x3f\x58\xfc\x3f\x69\xbc\xe6\xe2"
      "\xf9\x97\xa7\x78\xe9\x17\xfe\x04\xc3\x9f\x70\x47\x20\x51\xdb\x55\xfd\xf6"
      "\x43\xf6\x62\x20\x77\x3b\xe1\xef\x17\x5e\xaf\xa7\x22\xa7\x43\xb5\x95\xbe"
      "\xd2\x5e\xa8\xe7\x3f\x3b\x2c\xde\x11\xfb\xef\x3a\x0d\x23\x56\x23\x07\xb7"
      "\x6a\x42\x78\xed\xbf\xfb\x8d\xab\xab\x04\xd7\x8f\xf9\xbc\xe9\x7d\x3c\xcf"
      "\x28\x06\x54\x10\x4b\x4a\xfe\x3c\xc4\xf3\xb1\x5d\xd2\x17\x16\xdc\xe8\x90"
      "\x4a\xc0\x61\xe8\x68\xb5\x12\x9b\xb8\x60\x6d\xec\xe3\xb1\x21\x11\x58\xc6"
      "\xa3\xa7\x90\x64\x7f\x2e\x10\x22\xe8\xc7\x5b\xde\x40\xbf\x60\x3f\x81\x21"
      "\x6b\x34\xdc\x4c\x9b\xea\xb9\xe1\xb5\x1c\xc2\xbd\xe9\x18\xea\xfe\x8c\xd9"
      "\x97\xb7\x35\x62\x00\xbf\x44\x60\x07\x23\x71\xf2\xcd\x9b\x80\x00\xba\x09"
      "\xbb\xd5\xc3\xe6\x7e\xbb\xa7\x64\x1a\xe2\x85\xf5\x85\x98\x06\x0d\x36\xa5"
      "\x61\x4c\x64\x9f\x49\x89\x58\x4e\xf6\x3f\xfe\x11\xf8\x20\x90\x4c\x13\x4c"
      "\x76\xbe\x5c\x89\x76\xa3\xf1\x27\xe0\xad\x65\xfa\x2f\x9c\xa4\x8e\xe5\x8f"
      "\x0e\x3e\x8c\x39\x25\x68\x87\xe4\x0e\x25\x33\x74\xb9\x02\x1c\xcb\x8f\xd4"
      "\x65\xef\x42\x48\x7c\x71\x97\x87\x79\xaf\xdf\xb7\x74\x3a\x84\x2a\x9a\x7c"
      "\x9e\x50\x6e\x1b\x3e\x17\xfc\x43\x7e\x9a\x36\x75\x7d\xa4\xe0\x1a\xc9\x84"
      "\x88\xff\x2a\x28\x5d\x1e\xcb\x66\x0d\xf7\x31\xdd\xc1\x2c\x9b\x93\xee\x5e"
      "\x32\x99\xe1\x0f\xc1\xea\xbf\x9c\xb6\x9f\x82\xc8\xb3\x6c\x64\x4f\xbf\xdb"
      "\xea\x99\x7e\xd8\x25\xa0\x71\xc5\x1e\xfc\xce\xb2\xea\xe8\x46\xb1\x8b\x96"
      "\x39\xed\x3f\x98\x9f\xb0\xbe\x69\x30\x4c\x9d\x26\x80\x13\xc6\xa3\x2e\xba"
      "\xaf\xae\xd5\xb8\x92\xc9\x78\x6b\xfa\xae\x95\x54\xb1\xbe\xcd\x75\x88\x81"
      "\xa6\xea\x0d\xeb\xdc\xdb\xe7\x97\x81\xab\x9e\x4a\x48\x38\xf1\x0a\x77\x73"
      "\xbc\xb6\x84\xd1\x86\x65\x95\x7e\x89\xc7\x04\x7b\x08\x78\x42\x56\xc2\x97"
      "\x5d\xa4\xc6\x22\xe2\xb2\x12\xc1\xbd\x62\x17\x91\x5a\x09\x29\x4d\x1b\x2f"
      "\xc9\xe9\x42\x34\x30\x4b\x95\x94\x95\xdc\x91\xbb\x26\xff\x09\x07\x11\xf5"
      "\x1b\xd3\xff\x23\x49\x29\x29\xb1\x3b\xf8\x45\xd3\x8e\xb9\xce\x69\x60\x33"
      "\x30\xe0\x51\x68\x2d\x50\x28\x61\xf6\xd8\x8f\xa4\x76\x24\xab\x7a\x92\xbf"
      "\x97\x30\xfc\xbe\x6d\x6d\xd8\xb2\xc6\xba\xae\x28\x6d\x4e\x34\xdf\xdd\xa0"
      "\xd4\xe7\xd5\x40\x76\x59\x45\xe3\x04\xfe\xb5\xa6\xcd\xf9\x66\xa3\xfd\xe3"
      "\x55\xfb\x55\x93\xc5\x95\x6c\x8e\x80\x60\x8f\x3e\xea\x87\x24\x6a\xb4\x34"
      "\xc9\x3c\xfd\x1e\x87\x2b\x59\xce\x0e\x79\x6d\x77\xf4\x32\x0b\x31\x3d\xe4"
      "\x87\xa1\x1b\x33\xc4\x16\x1c\x18\x85\x3f\x46\x30\x6a\x35\x4e\x1f\xf2\xfd"
      "\x28\xc1\xe3\xa9\xf9\xd7\x8d\x35\xc2\x58\xa0\x34\xf9\x7c\x4a\xb5\xb9\x8e"
      "\xf0\x95\x1c\x62\x81\xf2\x8d\x1d\xf7\x3b\x07\xfd\x54\xa1\x54\x8a\xa8\x48"
      "\x16\xe2\x49\x72\x55\x94\xe2\x68\xb6\x95\xa1\xf0\x1a\x35\x1f\x6e\xfc\x39"
      "\x56\xfb\x3d\x5c\x65\xa4\x4f\x9a\xf7\x76\xfa\x0f\x42\x30\x3a\x3e\x19\x98"
      "\x2f\x12\x7e\x7c\xcb\x40\xe1\xd5\x67\x36\x9b\x5d\x52\xc7\x2d\xf5\xd2\x70"
      "\x4f\x59\x80\xac\x4a\xbb\xa5\xa4\xd9\xc6\x3e\xc6\x39\x28\x88\x24\x9d\x05"
      "\x6f\xde\x6e\xe7\x8c\x3a\xf2\xee\x75\x40\xe3\xec\x1f\x03\xdd\x80\xf0\x0e"
      "\x22\xed\xd9\x2b\xef\x88\xfb\xcf\xd7\x31\x6e\xa3\x5a\x39\xa3\x59\xef\xd7"
      "\x82\x02\x1b\xa8\xfe\x6d\x68\xb1\x90\xe8\x77\xe9\x93\x63\x9b\xbd\xfd\xe6"
      "\x69\x13\x50\xfe\x27\x56\x55\x48\x98\x83\x4f\x21\xf1\xaa\xe7\x8f\xe8\x7f"
      "\x12\xaa\xda\x23\x22\x51\xc7\xf3\xb2\x53\xc3\x21\x81\x6b\xe5\xbc\xd7\x19"
      "\xda\x84\xd1\x72\x68\x6e\xd1\x52\xd7\xe1\x31\x5d\x9e\x0a\xdd\x9f\x43\x14"
      "\x24\x0d\xcf\x52\xd2\x33\x89\x9a\xe7\xdb\x84\xaa\xd3\x1e\x79\xeb\x78\xa6"
      "\x1a\x25\x21\xf8\x26\xa6\x1f\x44\x73\x98\xb2\x60\xa6\x7c\x18\x34\xe2\x22"
      "\xa3\xa0\x8e\x27\x88\xd5\x5c\x52\x66\x88\x10\x60\xc8\x98\x15\x3d\x6d\xaf"
      "\x5b\xd5\x26\x59\xab\xd5\xd3\x97\x8e\xa5\xae\x2d\xaf\xba\x74\x60\xf3\x76"
      "\x22\xa0\xa3\x4e\x71\xe2\xdb\x36\x93\x39\x7a\x82\xa2\x7f\x59\x3c\x4a\xc6"
      "\x28\x72\x13\xf0\x60\x93\x9c\x40\x84\x5a\x52\x8b\x57\xaf\x88\xf5\x64\x55"
      "\xd5\xbf\x7d\x91\x28\xe7\xd6\xe3\x63\x21\xc6\xb9\x59\xd1\xba\xf2\xc3\xd9"
      "\x2a\x7d\xc1\x3f\x45\x9e\x41\x45\x52\xb1\x1b\xdb\xe4\x03\xe3\xe9\x16\xb7"
      "\x01\x7c\x65\x14\x97\xa4\x1e\x08\x9a\x1d\x7d\xa8\x93\x99\xf1\x87\x34\x0b"
      "\x47\x16\x35\x95\x86\xf2\xc2\x59\x0a\xcf\x1a\x7e\x12\x2f\x8d\xf0\x94\xf7"
      "\x70\x4b\xce\xd0\xed\xe5\x9a\x7f\x4d\x19\x8a\x78\xd7\x73\x22\xe7\xfa\x6b"
      "\x2b\x97\x92\x96\x72\xb0\xf9\x7d\x3c\xe9\xcb\xc0\x45\xe9\xc1\xfc\x4d\xc2"
      "\x14\xf6\xaf\xa9\x51\xb1\xcb\x3f\xea\x6b\x14\x93\x7c\x71\x8e\x5e\x86\x0d"
      "\xfb\xb2\x28\xee\x4f\x65\x4d\xbd\x56\x9b\xe3\x7d\x9d\x5e\x43\x11\x8d\x63"
      "\x1e\x9a\xed\x5b\x12\xf9\x65\x37\x26\x0b\x95\xef\xfc\x04\xd1\xcd\x73\x84"
      "\xe7\xef\xa3\xf5\xf3\xf3\xd9\xdb\x92\xb9\x36\xba\xa0\x7a\xe2\xcb\x20\xb7"
      "\x37\xd2\x06\x26\xf7\x86\xad\x97\xed\x37\xb4\x82\x38\x74\x92\x17\x0e\x66"
      "\x6c\xc6\x7c\x8b\x42\xab\x39\xb4\xdb\x38\x21\x57\x32\x8a\x58\xda\xfe\x1d"
      "\x2d\x71\xae\x3e\x2f\xa6\x47\xd7\x7f\x99\xdc\x85\x6c\x11\xb9\x32\xc5\xed"
      "\x85\xeb\xd2\x4a\xc8\x99\xc8\x86\x57\xe3\x21\x1b\xb0\x89\xa4\x39\x53\xa8"
      "\x5e\x84\x2f\x61\xec\xaf\x67\x37\xe2\x7e\xa4\xa1\xff\xfb\x50\x63\xba\x81"
      "\x3d\x81\xde\xce\x8f\x7b\xe9\xe6\xac\xb0\x40\xe2\x70\xdf\x45\x32\x2b\x7d"
      "\x94\xb2\xda\xbe\x98\x9f\x82\x9b\xcb\x89\x1b\x47\x47\x82\x3c\x9c\x25\xfb"
      "\xae\x88\x22\x2a\x8b\xb4\xa6\x86\x02\xcf\x36\x91\x90\xcd\xda\x3c\x4c\xee"
      "\xc1\xeb\x0c\x97\xe0\x18\xed\x1f\x3f\x02\x10\x5b\x6e\xa2\x87\x46\xe3\x52"
      "\x9c\x5e\xab\x74\x75\x29\xea\x45\x9f\x0c\xb3\xad\x97\x96\x68\x14\xca\x10"
      "\x56\x7f\x64\x43\x3a\x14\x8e\x34\x93\x7f\xb3\x1a\x47\x2f\xb9\x89\x47\xc2"
      "\x24\xc3\x89\x42\xe6\xa0\x12\xc3\x30\x2a\x73\x54\x39\xa7\xda\xf6\x73\x52"
      "\x46\xdb\x72\x3d\xf2\x95\xc2\xc6\x09\x1a\x7e\x9c\x3c\x0f\x87\xad\x7a\x61"
      "\x5b\x9e\x32\x76\xd2\x35\xad\xeb\x1f\xeb\xb9\xee\xdb\xef\x09\x26\xf6\x9e"
      "\x49\xad\xb4\x4e\x43\x8c\x59\x7a\x9f\x5c\x4b\x83\x43\x9d\x1e\x3f\x7b\xf6"
      "\xae\xf4\xfb\x7a\x13\x33\x46\xc8\x43\x6d\x4b\xdb\xbd\xba\x19\x27\x49\x0c"
      "\x4f\x11\x65\xe5\xd9\x8b\xba\x37\x56\xf1\x37\x8f\x71\xdd\x0e\x27\x15\x79"
      "\x75\xc8\xbd\x12\xe4\x7e\x51\x38\x10\x46\x0f\xf0\x44\xee\x6b\x18\xb8\x3f"
      "\xbb\x2f\x23\x94\xa3\xfa\x41\x1f\x5f\x3e\x5f\x15\x48\xa9\x19\x18\x8c\xab"
      "\x5a\x68\x54\xae\xd6\x94\x14\xc1\x9b\x33\x8a\x74\xe5\x88\x45\xec\x2b\x40"
      "\xc1\x3b\x5f\x7e\x50\x6b\xad\xdc\x3d\x29\x1a\xc0\xc0\x83\x56\x64\x2e\xf9"
      "\xac\x74\x87\x64\x70\x7c\xb9\xcc\x4d\x23\x03\x4d\x6f\x9f\xf3\xe7\xe4\x5c"
      "\x37\x82\x6f\x3e\x29\x0f\xcd\xc2\xe8\x9d\xe7\xba\x51\xa2\x53\x9c\xc3\x7a"
      "\xa7\x62\xd8\xd8\xdd\xe5\xe0\xe2\x93\x0a\x1a\xd4\x64\x42\xb2\x44\x2c\xea"
      "\x9b\xb3\xc8\xc1\xed\xf4\xd6\xbf\xb3\x8f\xc4\x6b\xc7\x59\x22\xf1\xd0\xfd"
      "\x9e\x17\xe6\x89\xb0\xcf\x72\x92\x79\xb1\xf7\x38\x7c\xe3\x16\x2e\x3e\x4a"
      "\xc2\x1c\xc8\xb3\x7c\x71\x3a\xa9\xe2\x15\xa3\x2e\x15\xdd\x60\xef\xf2\x64"
      "\x02\xbd\xf2\x2f\x05\xaa\x37\x7f\xd8\xa7\xed\x3a\xbe\x7e\xcc\x10\x61\x3c"
      "\x22\xdc\xdd\x8c\x00\x97\x82\x4d\xf4\x8a\xa1\x3f\x74\xb6\xf8\xc8\xcf\x16"
      "\xea\x45\x92\xbc\xcf\x0e\x4d\x74\xff\xca\x05\x66\xc4\x12\x38\xa8\x31\xd4"
      "\xad\xbb\x69\xc5\xb3\xa9\x4e\x75\x67\x55\x3c\x5d\x2c\xa3\x62\x9a\x6a\x25"
      "\x77\x1b\x37\x16\xc1\xe3\x2e\x7a\x78\x5e\x80\x8e\x80\x80\x20\x14\xfc\xea"
      "\x84\x13\xb7\xa3\x67\xf3\xb7\x81\xd6\x76\x13\xf7\x4f\xc1\x89\x81\xa9\x86"
      "\x51\x75\xec\xd8\xda\x12\x06\x8e\x50\x71\xc1\x54\xaf\xcd\xd2\x94\x47\xba"
      "\x5b\xa1\x99\x79\x6b\x4a\xad\x12\x65\x32\x06\xa5\x7c\x05\xb2\x56\xbb\x25"
      "\xb1\x4e\x81\xb5\xcb\xf8\x89\x6b\xf2\xa4\xd8\xd1\x62\xf6\xcc\xdc\x72\x08"
      "\xed\x92\xab\x9f\x0e\x7c\xb9\xb9\x11\xc3\x33\x17\x5e\x7d\xd0\x46\x8a\xfe"
      "\xde\x19\x9e\x81\xf2\x85\xec\x9b\xbc\x1f\xe7\x32\xf2\x83\x75\x24\x7a\x0b"
      "\x19\xae\xa5\x43\xc4\x04\x46\x5a\x02\xbe\x8d\x3d\x29\x24\xdb\x3f\x94\x32"
      "\xda\x25\x75\xa4\xf9\x75\x67\xe5\x68\x49\x3f\x3d\x09\xb4\xb9\x8c\x17\xcb"
      "\x7e\x85\x12\xd4\xbe\xe2\x7f\xc6\x3c\xda\x33\x7d\xfd\x30\x1e\x93\xb1\xa3"
      "\xf9\xa9\x64\x68\x4d\x8e\xb6\xea\xd2\x70\xf3\x4a\x63\x20\x4e\x9c\x5d\xb6"
      "\xef\xf0\x4d\x88\xa1\x59\x0d\x2d\xda\x01\xff\x3f\xfd\x07\x26\x1e\x27\x96"
      "\x67\xb3\x24\x77\x84\x45\xb8\xcf\x28\xf9\x30\x6c\x9c\x31\xce\xfd\xa3\x99"
      "\x49\xf1\x8b\xe2\x23\x3b\xe2\xa8\xa6\x1a\x03\xfc\xdf\xce\xa9\xe9\x32\x3d"
      "\xdb\x14\x67\xfd\x4f\x3a\xa2\xe4\xd2\xcc\xbd\x86\x06\x5f\xef\x66\x42\x3a"
      "\x39\x70\x2c\xf3\xf1\x62\xff\xcb\xd4\x33\xac\xdb\xb5\x93\xaf\x74\x99\x25"
      "\x93\xaa\xca\x8f\x95\x23\x30\x2f\xf5\x9b\xef\x4f\x6b\x15\xc8\x66\xf2\xf3"
      "\xc7\x56\x1e\xff\xa6\xb6\x11\x8b\x23\x9c\x37\x9d\x0d\x48\x27\x1c\x8a\x7a"
      "\xed\x17\x24\xf7\x9e\x5b\xfd\x3f\xef\x3e\x1e\xf9\xfc\xff\xd2\x17\xea\x3c"
      "\xb7\x1c\xbe\x56\x22\xa7\x7a\x53\xf4\x7c\x60\xeb\xa3\x9d\x4b\xd6\xad\x2a"
      "\x11\xbb\x15\x5b\x93\x16\x91\x4c\xa7\x40\x4c\x1c\xb4\x71\x93\x5c\xe1\x71"
      "\xd2\xcf\x39\xc7\x2c\xcc\xb1\x8d\x15\xec\xa5\x98\x2b\x3c\x4e\xba\xbd\x42"
      "\xe0\xc4\xee\xef\x1b\xbd\x91\xaf\x6e\x31\x5b\x65\xa1\x66\xbb\x97\xff\x2b"
      "\xef\xaf\x10\xfe\x32\xdb\xf2\x95\xf5\xcb\xd2\xa6\x58\xe6\x34\xf7\x72\x24"
      "\xad\xa9\x4e\x92\xef\xc2\x4c\x1c\xe6\x47\x89\x5d\xbe\x4f\xa2\x15\x2d\x1b"
      "\xae\x45\xb5\x77\xd8\x8e\x4c\x71\xfe\xe6\xc9\x30\xd9\xd7\x35\x0a\x09\xcd"
      "\x86\x50\xac\x19\x5d\xa1\xe8\xc6\x6a\xe9\xcd\x7a\x20\x3b\xe8\xbe\x6b\xa2"
      "\x0b\xaf\x43\xcd\xc9\x53\x0b\x92\xd6\xc2\xb3\x6f\x78\x96\x34\xf4\xc1\x3d"
      "\x82\xaa\x39\xd7\xf2\xe2\x03\x4b\x7e\x32\xf3\xad\x6b\x3b\xc3\x05\xcf\x55"
      "\x50\x3e\x02\x1d\x15\xfa\xd5\x8b\x67\x5a\x8c\xf8\x2d\xce\x94\x85\xd4\xbf"
      "\x2f\xbf\xb5\x65\x66\xd6\x4b\xcb\x1a\x50\x04\x57\xc7\xe1\x24\xcf\xbf\xf2"
      "\x75\xb0\x56\xb4\xe2\x26\x70\xfb\xb6\x60\x1d\xb3\xe6\x16\xb5\x7a\xf5\x2d"
      "\x2a\xdf\x77\x99\x80\xee\x4b\x30\xd1\x75\x1c\x9f\x65\x63\xe6\x52\x55\xd8"
      "\x67\x44\x75\x6e\xd5\xf7\xd6\xe9\x2d\x8e\xd5\x0d\x74\xa8\xff\x9d\x16\x6d"
      "\xd6\xbd\x7f\xd6\x9c\x32\xed\x4d\xd9\xcd\x29\xbf\xf9\x89\x48\x33\xc6\x82"
      "\xd3\x80\x98\x34\x19\xed\x83\x57\x12\xda\xe7\x16\x96\x1e\x8c\xc7\x28\xf1"
      "\x9b\x3a\x25\xa9\x14\xdb\x1e\xf4\xbc\x17\x73\x0d\x4d\x3f\xa6\xd0\x74\xa7"
      "\x9b\xfc\x8c\x0f\x71\x99\xd7\x92\x55\xbe\x2a\x6e\x36\x37\x0a\xd0\xae\xcf"
      "\xd6\x3c\x41\x49\xff\x6d\x92\x56\xd6\xd0\xef\x42\xd4\xfe\x8b\x8d\x9e\x6b"
      "\x96\x3d\xf3\xf1\xa9\x86\x34\x8b\xc6\xd2\x94\xda\xd4\x9d\x83\x06\xf9\xd9"
      "\x23\x73\xfc\x26\x8e\x32\x4f\x8d\x27\x3f\x5d\x49\xdb\x45\x43\x3e\x31\xa6"
      "\x22\x2f\xc7\x67\x57\xa3\x3e\x98\xd0\x6d\xae\x39\x32\x78\x36\xa9\x78\x5d"
      "\x5c\x71\xf3\x25\xcd\xb5\xc7\x2e\xc1\x6c\x49\x42\x30\x66\xcd\xe0\xcd\x84"
      "\x9b\x98\xd7\xc8\x04\x7a\xfb\x37\x3d\xbf\x8c\xd2\xc7\x9a\x9f\xb1\x4f\x1f"
      "\xb4\x69\xc4\x5a\xa4\xee\x37\x68\x94\x4a\x47\x18\x09\xcb\xd2\x10\xef\x1f"
      "\x8b\x66\x6e\x5c\x69\x11\xf3\x60\xf4\x74\x14\x45\x9a\xe8\x8a\x57\x9b\x57"
      "\x7a\xbb\x14\xb9\xc5\x87\x1f\x72\x25\x04\xec\x9e\x56\xd2\xcf\xf1\xa9\xb5"
      "\x4b\x29\xfd\xc1\x5e\xdb\x12\x47\xd5\x5c\x64\x1d\x4b\xdc\x9a\xb0\xbc\x25"
      "\xe2\xad\x24\xb6\x28\xef\x7b\xc6\xfa\x33\xe0\x0f\xbb\x7d\xbb\x7b\x66\x79"
      "\xcc\x7e\x51\xb6\xa5\x91\x34\xff\xae\xc2\x06\x91\xb0\x2e\xf2\x4f\xfd\xc0"
      "\xe5\x89\xb4\x33\xf2\x22\x02\xf4\x71\x27\x5e\x7d\x8a\x41\x8c\x2a\x09\x3c"
      "\xac\xf0\x37\xc1\xc9\xcf\x57\x8f\x29\x76\x2b\x9d\x8c\xb8\x68\x10\x03\x30"
      "\x17\x6c\x45\x3d\xeb\x9d\xb1\xd4\xb6\x5b\x1d\x70\xc9\x43\x35\x02\x9e\x1f"
      "\x69\xee\x96\x37\xc9\xdf\x27\xd0\xfa\x59\x77\x2c\x91\xa6\x77\xb4\xec\xb6"
      "\xb8\xa6\x7c\x2c\xc2\xa8\xe1\x7f\xf0\x00\x9b\xe5\x1e\x87\x41\x39\x15\x63"
      "\xfc\x8b\xc2\x22\x6d\xee\xde\x27\xc7\xaf\xff\x8d\xce\xff\x5d\x48\xab\xcd"
      "\x10\xba\x22\x96\xa8\xef\xdf\xae\x8c\xcd\x2c\xa8\x61\x8b\xe2\xd2\x79\x8e"
      "\xff\xe5\x4b\x57\x7d\x2f\xc2\x8b\x16\x3f\xd4\x2c\xbc\xcd\x91\xb2\xbd\x78"
      "\x4f\xf3\x07\x11\x78\x5e\x3d\x1e\x58\xbd\x21\x8d\x19\x91\xd9\x57\x4e\x25"
      "\xc4\xac\x84\x8f\xad\x2d\x18\xf9\xf2\xca\x06\x8a\xeb\xad\x4f\xf8\xae\x8d"
      "\x67\x24\x49\xa3\x1f\xfc\xfc\xac\x45\xff\x80\xfa\x24\x9d\x5f\xff\xed\xfc"
      "\x87\x77\xff\xaa\x28\x70\x65\xaa\xfc\xd2\x69\x72\x75\xde\xb3\xdb\xb7\xc7"
      "\xc6\xb2\xea\xfa\x50\x3b\x28\x6a\x66\x3d\x7b\xb3\xf9\x53\x29\xff\x57\x70"
      "\x9d\xca\x97\x0e\x97\xae\xad\xd3\xc1\x1c\x9e\xf7\x56\x19\x41\x17\xe8\x79"
      "\x2a\xc7\x32\x5c\xa1\x11\x9e\x33\x08\x3a\x2a\xeb\x53\x9d\x1c\x78\x42\x29"
      "\x57\x64\x85\x21\xe7\x44\x3c\xe7\x55\xf5\x04\x3a\x43\x1e\xee\xf2\xbf\xb7"
      "\x6f\xec\xc6\x59\xe5\x5f\xe1\xfa\x8b\xad\x14\x26\xdd\x96\x88\xb5\x0d\x6c"
      "\x8b\x7e\xb0\xd5\x44\xbe\x88\x7e\x6d\x9a\x34\x1c\xf0\x6c\x4c\x1e\x37\x6a"
      "\x7a\x35\xa0\xa5\x76\x6e\x47\x9e\x42\x0c\xcd\x16\xbd\xc0\xb3\xb2\xdb\xfd"
      "\x85\x87\x17\xe9\xd6\xdd\x2b\x66\x37\xd9\x2f\xc9\x9c\x91\xfc\xad\xe8\xd8"
      "\x85\xf8\x54\x8d\x61\xc1\x6d\x2c\xbd\xf7\x1d\xb9\x27\x8c\xde\xae\x09\xb4"
      "\xee\x6e\x34\x0c\xd8\x6b\x8b\x31\x11\x7f\x7f\xff\xa9\x62\x69\xf6\xb1\x31"
      "\xc9\x57\xcc\x2e\x42\xc4\xb8\x8c\x72\xb9\x8c\x4f\xfa\x40\xc1\x58\x73\xd4"
      "\x80\x9a\x1c\x2f\xe8\xe3\xfe\x68\xc1\x7a\xf7\xa9\x3a\xbb\x79\x1e\xa2\x93"
      "\x86\x94\xb6\x5a\x9d\x8e\xce\xc2\xa6\x43\x04\x9e\xf2\x59\x8a\xba\x67\xe1"
      "\x1b\xba\xeb\xb0\xe3\x92\x27\xff\x1e\x54\x49\x5d\x2a\xab\x8a\x3f\x47\x2f"
      "\x34\xa2\x7e\x2c\xbf\x4e\xd1\x32\xe5\x3a\x84\xde\x9e\x8a\xbe\x11\xf1\x12"
      "\x39\xda\x80\x5d\xe8\x8a\x64\x27\xb5\x80\xe5\xe6\xfc\xb4\x80\x2c\x50\x67"
      "\x25\x95\xe2\xba\x41\x87\x49\x9e\xed\x42\xa9\x22\x36\x02\x21\x5b\xbf\x5f"
      "\x83\xb1\x22\x3d\xbe\x7c\x47\xc2\xcf\x83\xea\x48\x1d\xe9\x80\xfe\x10\x75"
      "\xe2\x52\xc2\xa9\x96\x83\x70\xbc\x99\x62\x41\xb8\xf5\x3f\xc6\xb7\xeb\x3c"
      "\x11\x44\x1f\x7c\xe3\x92\x76\x8a\x37\xfc\x8b\x87\xa7\x1f\x0b\x0a\x2f\x67"
      "\x4c\x74\x94\x04\x87\xaa\x3b\x7f\xfb\xf2\xec\xe5\x7f\xba\x38\x5c\x5b\x08"
      "\x3f\x82\x96\xc8\xc6\x98\x99\xbe\xf2\x05\xc6\xe4\xbe\x8f\x6c\x44\x9a\x7d"
      "\x2b\x71\x66\xd3\x5a\x11\x9e\x82\x3b\x78\xb9\x71\xdd\x5b\xc1\x9a\x57\x8f"
      "\xa2\xc2\xc9\xe0\x47\x96\xd2\x8f\xf7\x06\x3f\xf7\xb7\x28\x3e\x1d\x7b\xcc"
      "\xc7\xd7\x0b\xda\xf6\x0e\x1f\x55\x66\x16\xd2\x9b\x89\xa3\x99\x55\xe6\x03"
      "\xde\x5e\xd3\x35\xfa\x93\xb4\x63\x2c\x08\xea\x23\x79\x48\xd5\x20\x56\xa2"
      "\xc9\xdf\xae\x54\x44\x31\x8e\x2c\x4d\xfc\xea\xe6\xc9\x3d\xdf\xe6\x4b\x3e"
      "\xc3\xc8\xad\x78\x6b\xd2\xdc\xfb\x79\x6b\x00\x3b\x74\x49\x90\xf7\x6e\xd8"
      "\xf4\x80\x7e\xb3\x09\x35\x4a\x5d\x23\x1f\x35\x7b\x6e\xc0\x9d\xd1\x7a\xe8"
      "\xa0\x87\xf7\xf6\xf5\xef\x9c\xb2\xb1\x87\x4e\x8d\xad\xaf\x1b\x95\x1d\x59"
      "\xf1\x64\xe8\x6e\x95\xbf\x69\x85\x95\x7b\x13\x4d\xcc\xca\x64\x94\x04\x05"
      "\x48\xd3\x19\xea\x52\x4f\x6c\x45\x92\xae\xbc\x48\xdd\xae\x9a\x36\xdb\x76"
      "\x5c\xa5\x5f\xa8\x1b\x3a\xe0\x88\x58\xac\x39\xbe\x88\x15\x5b\x75\xbb\x6d"
      "\xa7\x36\x63\x5c\xbb\x94\x4b\x39\xd1\x41\x0a\x56\xd8\x6b\x2c\x6b\x27\xaf"
      "\xf7\xfb\x8e\x4f\x6a\x4f\xf2\xb2\x76\x2e\x45\xd1\x42\x85\xfb\x33\xd5\x53"
      "\xc1\xb8\xf7\xd7\x0a\xdd\xd4\x92\x0b\x1c\xf3\x43\x6a\xa9\xee\xc5\xe8\x9f"
      "\xb1\x58\x38\x54\xbe\xa6\x21\xd4\xb8\x9e\xcc\x59\xa4\xff\x4c\xce\xc8\x9a"
      "\x18\x92\x58\x79\x43\xe8\x9b\xde\x69\xee\x50\xbf\x88\x82\xc6\xa6\x32\x6a"
      "\x21\xc0\x84\x62\x20\x28\xe7\x50\xe3\x20\x83\xb8\x69\x9d\x34\x1e\x12\x64"
      "\x64\x9f\xfc\xb2\x32\x7a\x88\xe9\x91\xb4\x00\x9a\xe7\x1b\xaf\x2c\xd1\x5b"
      "\x47\xb7\xc0\xe7\x94\xa1\x1e\xaf\x26\x72\xdf\x63\x2a\xae\xe9\x4b\x16\x84"
      "\x50\x85\xb2\xb3\xbd\xb5\x78\xa5\x24\x75\x4b\x57\xad\xf6\x45\x1c\xcf\xf2"
      "\x45\xcd\x16\x5e\xbb\xf2\xbc\xbc\xcb\x37\x41\x1b\x87\x71\xdb\xa8\x3e\x32"
      "\x17\xd2\x2f\x5e\x0c\xd2\xcf\x4f\x35\x6e\xeb\xc5\x9b\xa7\xd9\x08\x26\x46"
      "\xa8\xb1\x97\x68\x5e\xe1\x06\xf3\xd5\x8a\xfa\xf3\x87\xb1\x7a\x10\x5c\x3d"
      "\xd5\x18\x0d\xf1\xe6\x62\x57\x89\xbe\x56\xab\x38\x37\x7e\xa8\xc0\xa2\x46"
      "\x77\x69\x9c\xb2\xfe\x92\x7a\xc6\x2e\x34\xea\x6a\x58\x46\x5e\x24\xab\x4d"
      "\x98\x3f\xcb\x12\x23\xc5\xca\x38\xc3\x99\x7f\x2e\x9f\x73\xb0\xcc\x69\x5e"
      "\x53\xce\xce\x2c\x55\x30\xd5\x29\xa6\x4a\x16\xe5\x4a\xc2\x13\x4f\xf5\x86"
      "\xc8\xb3\x06\x61\x29\xe1\x1f\xf2\xd5\x6f\xa9\xb1\xb7\x74\xba\xb4\xf8\x83"
      "\xa3\xa8\x16\x42\x3a\x4c\xfa\x2b\x63\x45\x6b\x4a\xf7\xfe\x79\x91\x08\xf3"
      "\x05\x28\xbb\xff\xd9\xb8\x53\xa5\x35\xbb\xb4\x57\x13\xe8\x94\x24\xd0\x6b"
      "\x31\x13\x1d\x10\xab\x1d\xb2\xd7\xa3\x47\x53\x7b\x2d\xce\x49\xc8\x0c\xeb"
      "\x60\xb6\x69\x31\x4e\xa8\x63\x8b\x63\xd5\x77\xf7\xe7\xe4\x75\x09\x54\xb8"
      "\xdd\xbe\xc7\xa8\xe8\xba\xa2\x37\x72\x7f\x51\xea\xab\x56\xc1\xe7\x8f\xfd"
      "\xa7\xac\x08\x73\x34\x30\xfb\x2f\xbf\x47\x4a\xe6\x16\xb5\x37\xb1\x01\xb7"
      "\x42\x0d\xe3\xe3\x1f\x66\x08\x48\xc3\xc1\x39\x6b\xac\xcc\x68\x8e\x1c\x79"
      "\xd6\x41\xf2\xc8\x9d\x18\x46\xe2\x3f\xa4\xd3\x4d\x52\x9c\x82\x67\x1e\xc4"
      "\x5b\x8d\x8c\x8c\x29\x8d\x3d\x4f\x56\xcd\x1c\xb2\x23\xff\x6c\xe0\x86\xf9"
      "\xe0\xf3\x5c\xa0\xaa\x4d\xaa\x59\xd6\x0f\x04\xeb\x1b\x93\xc6\x40\x7c\xff"
      "\xfc\x92\x00\xca\x2b\x9b\x34\xa5\x17\x85\x23\xc7\x81\x36\x2f\xf8\xbf\x25"
      "\x0b\x1d\x05\xee\xdf\x0f\x8e\x22\xeb\x2f\xbd\x44\x8c\x4e\xaa\x9d\x79\x59"
      "\x30\x35\x75\xb1\xc7\x8f\xc8\x47\x62\x72\x9a\xf6\xc1\xf9\xb0\xe5\xa7\xba"
      "\x84\xbf\x2c\x9d\xfc\xd8\x31\xdd\xcf\x12\x33\xe6\xdd\x97\xc3\xce\x71\xa4"
      "\xde\x62\x32\x7e\x71\xdf\xe4\xa4\x56\x53\xbe\xd1\xc7\x61\xe5\xc6\xf2\x87"
      "\xe2\x73\xa6\x25\xcb\x07\x4b\xe2\x0c\xfb\x84\xcc\x18\x38\x33\xff\x0c\x9e"
      "\x2c\x5b\x31\x46\x4e\x55\x97\x4d\x5d\xab\xd1\x0d\x53\xb1\xa3\xbc\x7e\x58"
      "\x8f\x18\x94\x69\x26\xbf\x65\x9a\x80\x36\x8e\x52\xf0\x22\xa6\x6b\x0d\x8b"
      "\xb8\xfe\xba\xeb\xaf\xb5\x89\x64\xb8\xbd\x84\xb9\xd0\x37\x34\x3e\x44\xaf"
      "\x55\x4c\x56\x54\x9e\x07\xce\xf2\x81\x59\x82\x39\x9d\x81\xaf\x5a\x32\xe7"
      "\x7c\x2b\x44\xff\xde\x23\x57\x3e\xc8\x6d\x08\xc9\x2d\xa9\xaa\xf1\x16\x45"
      "\x61\xf8\x46\x78\xfd\x27\x61\x53\x76\xea\x54\xa3\x55\xa5\x68\x95\xee\x91"
      "\xd6\xd0\x54\x21\x5f\xdd\xc0\x92\x26\xf9\x38\xd6\x07\xfc\xa0\xce\x9a\x1f"
      "\xde\x67\xfe\x83\x0a\x4c\x1b\x0f\x8d\xa9\xc9\x47\x0c\xa6\xb9\x95\x82\x33"
      "\xc4\x57\xa3\xf2\xb8\x70\xbf\x5e\x07\x93\x9c\x21\xb6\xf3\xe2\xe5\x44\x3a"
      "\x4f\x62\x76\x73\xed\x25\x6c\x27\x07\x19\x06\x36\x14\xd4\xf6\x24\x86\x90"
      "\x4c\xdc\x2e\xc9\x24\x5c\x29\xcc\x79\xe3\x5f\x11\xb0\xe1\x5f\xb2\x9d\xe2"
      "\x32\x84\x13\xa4\xdd\x8c\x31\xbf\x78\xf6\x96\x3a\x5f\x62\x8b\xf6\xd0\x8a"
      "\xf7\xd6\x28\x1d\x6f\x58\xe2\x71\x55\xcf\x99\x98\x6d\x50\xd0\x95\x57\xe6"
      "\x57\x5a\xec\x16\xbf\xa7\x07\x82\x1c\x34\xaa\xfa\xfb\xfb\xad\x5d\x06\xc3"
      "\x03\x31\x73\x27\xfa\x8e\x65\x13\xac\x58\xe8\x51\x4f\x50\xbe\xf6\x29\x10"
      "\x99\x06\xdc\x3e\xe9\x92\x1a\xac\x35\xed\x7a\xea\xcb\xdf\x90\x97\x6a\x1a"
      "\x76\xa8\x77\x69\x6e\x2f\x2d\xa7\x48\xf8\xb3\x08\x81\x82\xb3\x9e\xcc\x6d"
      "\x92\xce\x8c\xc4\xb6\x29\x4a\xa0\xf6\xe2\xd0\xee\xf3\xa4\xd4\x01\xd1\x4f"
      "\x53\x12\x7d\x66\xd2\xdf\x94\xf2\x71\x4c\x0e\x3f\x17\x4e\x27\xb9\x33\x94"
      "\xab\x28\x1a\x9e\xec\xff\x17\xcb\x12\xba\x67\xb9\x34\xb5\xfa\xe5\x1d\xae"
      "\x96\xfa\x26\xa2\xb0\xb4\x9a\xad\x42\x2f\xa9\x0a\x25\xcd\xbb\xc7\xe8\x39"
      "\xd1\xfd\x76\x5d\x05\xca\x73\x4b\x67\xf7\xac\x43\xdf\x2b\xbe\xdd\x15\x38"
      "\xb4\x76\xa0\xb9\xd3\xe3\xf1\xa4\xdd\xed\x32\x65\xb3\x84\xdb\xd8\x84\xcc"
      "\x0a\xe2\x1c\xea\xe8\xdc\x7d\x76\x2b\x79\x25\x9e\x7b\x24\x56\x73\x18\x38"
      "\xe8\xd7\xbd\x88\x1b\x31\xfc\xd7\xb5\x31\x9e\xa2\xa1\xd7\x69\x2f\xc5\x3d"
      "\x2d\x7e\x48\x13\x39\xb2\x2d\x99\x95\x99\xd4\xc1\xfc\x79\x7e\x14\x7a\xd3"
      "\x1e\xe3\x73\x3d\x9e\xbe\x69\xc6\xad\xf9\x0b\x0e\x3f\x7c\xf9\x91\x17\x05"
      "\x2b\xfe\x48\xea\x43\xcb\x57\xf6\x6f\xa3\xfd\x83\x93\xe4\xc6\xca\xf6\x17"
      "\x2d\xf7\x57\x34\xde\x7a\xdd\xa4\x87\x0a\xb6\x34\x72\x1b\x30\x7b\x08\x63"
      "\xbc\x2c\x7a\x13\xab\xfa\x9e\x50\x7f\x54\xd5\xa2\xcf\xe3\x17\x6a\x9f\xcc"
      "\xbf\xeb\x59\x3f\xc3\x3e\x9f\xc0\x86\xa0\x33\xc4\xcf\x64\xbb\xc2\xb9\x2f"
      "\xe6\x65\x1a\x71\xef\x84\x28\x50\x7b\x57\x9d\xf3\x1b\x79\x9c\x42\x14\x4c"
      "\xc9\xa2\xe5\x10\xf1\x08\x85\x6d\xc6\xfd\xbf\x5d\x06\x4d\xaa\xe1\x75\xd2"
      "\xbc\xc8\xac\xe2\x16\x77\x09\x43\xcb\x2a\xc3\xa0\xb3\x3c\x95\x36\x7d\x15"
      "\x45\x9b\x4d\xf0\x6a\x6d\xda\xb5\x4e\xbf\xaf\xa4\xa8\x5e\xa0\x09\x99\x3a"
      "\x11\xa1\x50\x41\x42\xab\xf5\x43\xba\x1c\x9a\x82\x73\x07\xa1\x79\xe8\x47"
      "\xed\xb9\x1b\x34\x6c\xd1\x59\x1f\xaa\xcf\x37\x3d\x52\x6c\xd1\x5f\xd4\xdf"
      "\xf4\xed\xda\xaf\x6c\x2f\x16\x5e\xa2\x2f\x2f\xca\x08\x7b\xfa\x9b\xa2\x94"
      "\xd0\x35\x89\x65\x95\xdb\x5a\xbd\x35\x35\x9d\x3d\x15\x71\xe1\x5a\x49\xa9"
      "\xc5\x89\xbb\x55\x54\xa3\xe2\x6d\xd1\xd6\x73\x61\xa0\x09\x21\x1c\x7e\xfb"
      "\x6f\xba\x23\xbf\xc3\xec\xad\xab\x4b\x38\x32\x82\xe6\x33\xa7\x4a\x9f\x76"
      "\x3d\xac\x55\xbe\x98\x8a\x09\x9c\xd5\xb0\xab\x73\xe5\x5a\xac\x72\xa7\xde"
      "\xc4\x27\xf2\x23\x23\x62\xd3\xb4\x5d\x48\x09\xd7\x4f\x56\xc6\x3a\xd1\x4b"
      "\x14\x69\x18\xfb\xd9\x30\x48\x84\x34\x3b\x93\x9d\x29\x89\x16\x32\xd3\x73"
      "\xa7\x8c\xf5\xb9\xf8\xdd\x9b\x0b\x93\xf8\x11\x15\x0d\x6a\xd6\x1f\x0b\xfe"
      "\x7d\xb9\x46\x80\xf8\x34\xbd\xf7\x41\x95\xf1\x5c\xe4\xa4\x0a\x92\xfd\xfe"
      "\xdf\x35\x35\xbf\x19\x69\x85\xa9\x9e\x48\xa2\x5f\xe4\x8b\x5f\xc6\x1b\x1f"
      "\x24\xf0\x6b\xf7\x0d\x26\xff\xca\x44\xc2\x23\x4f\x0f\x1f\x0d\x2b\xf2\xc9"
      "\x58\x99\x4c\xe4\xe2\xb7\x29\x2b\xfd\x29\x91\x71\xfc\xc1\x66\x31\xe6\xf7"
      "\xf7\xf7\x6b\x1b\xe8\x38\x3c\x0c\x99\xd8\x91\x5d\x13\x13\xb3\x9f\x55\xbe"
      "\x1f\xe7\xf2\x1d\xfd\xbe\xe5\x46\x6d\xb9\xea\xd3\x3d\x69\x45\xce\xac\x12"
      "\x1f\xf8\xa7\xa7\xe5\xd2\x40\xe1\xf2\xad\xfa\x2f\x87\x57\xbf\x90\xd5\xc2"
      "\x1d\x52\xd6\x3d\x99\xe9\x82\xa8\x73\x15\x33\x43\x90\xd1\xa3\xde\x89\xb6"
      "\x42\x7d\x63\x5b\xd1\xc3\x8f\xba\xd4\x67\xb2\x26\x1c\x07\x95\xac\xaa\xd9"
      "\x8e\xa3\x5e\xbf\xe2\xfe\x6d\x4e\xf7\xf9\xfa\xf2\x2c\xef\x8c\x3f\x23\xe0"
      "\x0d\xa6\x79\xb6\x35\xc7\xe3\x9b\x52\xf4\xd7\xbc\xc7\xcc\x64\x6f\x99\xf9"
      "\xfe\xbb\xcb\x0f\xca\x47\xd4\xc7\x86\xba\xe1\xb2\x6c\x87\x58\x4b\x58\x6a"
      "\xa5\xb5\x4f\x26\x4c\x71\x44\x27\x77\x7e\xb2\x04\x10\xdd\x50\xd4\x9e\xee"
      "\x38\xe5\xa4\xfd\x2d\x63\x47\xe7\x6c\x5f\x70\xc6\x97\x70\x11\x55\x25\xc3"
      "\x9c\xde\x35\x76\xbd\xc5\x24\x32\xb3\x29\xca\x30\x2a\xa3\x31\x08\x8f\x19"
      "\x10\xc1\x59\xbf\x4b\x7e\xab\x1d\xf6\x6b\x82\x6d\x95\xbb\xa3\x4c\x5f\x28"
      "\x50\x92\x13\x4f\x21\xf0\x49\x78\x4e\x26\x49\x45\x81\x93\x4c\xf7\x6a\xdd"
      "\x84\x2f\x8d\x54\xce\x9e\xeb\xc5\x67\xc7\x75\x0b\xbb\xc4\xf6\xf1\x3c\x66"
      "\xad\xd9\x77\x0d\x2a\x41\x57\xc2\x32\x23\x67\xa5\x04\x6b\xda\xbb\xf3\xec"
      "\xef\xac\x31\x68\xae\xc8\x9b\xb8\xab\x5d\x07\x69\xce\x58\x0f\xb3\xd5\xf9"
      "\x7f\x71\x64\xf1\x37\xd3\x4f\x72\x9d\x32\x25\xb7\xf5\x9d\xeb\x8b\xa7\x96"
      "\x7e\xa9\xd1\x3c\x95\xdd\xaf\xca\x9f\x8c\xa1\x45\x41\x1a\xa1\xea\xae\x50"
      "\x5e\x77\x09\x76\x29\xfb\x26\x5b\xe3\x1e\xc5\x62\xd2\x6d\xf4\x86\x95\x1d"
      "\xe3\xbf\x15\x5c\x83\x1a\x3f\x6c\x16\xb7\x72\x55\x5a\xa6\xf4\xc3\xbe\x61"
      "\xdf\xd9\x1e\xc5\x01\x1b\xce\xa3\xcb\x4c\xe6\x78\xaa\x3f\xa6\xe2\xcb\x66"
      "\x5c\xef\xb9\x87\x10\xab\x08\xab\x1d\x7c\x27\xae\xb2\x45\x71\xc3\x23\x3e"
      "\x5b\x2f\x68\x20\xb3\x33\x2a\xb2\xfa\xf7\x07\xaa\x9a\x1f\x92\x74\x96\x18"
      "\x0e\xbb\x86\xdf\x74\x4e\x78\x76\x99\x1f\xc7\x06\xfe\x97\x49\x21\x7e\x1a"
      "\x9f\xee\xa7\x5c\xf1\x2f\xa0\xda\xb2\x38\x3c\x51\x08\x6d\xb4\x82\x2c\x70"
      "\xa8\x5d\xbb\x37\xe7\xa2\x6f\x47\x7e\x73\x6f\x38\x2f\xfc\xed\x87\x95\x06"
      "\x1e\x7d\x1c\xf3\x07\x0d\xd7\xc1\xd1\x46\xfb\x4e\xd3\xbd\x4c\xac\x0d\xa4"
      "\x5f\x33\xff\x9d\x11\xaa\xf4\x5f\x5a\x11\x10\x0b\x7b\x8d\x66\x6c\x94\x6b"
      "\xbd\xfa\x4e\x8a\xc9\x1e\x9b\x44\x70\x2d\x33\xbe\x58\x11\x90\x56\x7d\x35"
      "\xde\xe5\x9f\xfc\xda\x43\x24\xbe\x67\x99\x64\x80\xf1\xa3\xfe\xde\xfa\x2b"
      "\xfe\x17\xbf\xad\x1c\x04\xd8\x54\x5c\x89\xee\x38\x1f\x7e\x40\xfc\x28\xd3"
      "\x6d\xb2\x17\x50\x78\x26\xf8\x00\xcd\x28\x4c\x0f\x7b\x96\xb7\xb7\x01\xcf"
      "\xc7\x2a\x65\xea\x8a\xa7\xf2\xd1\xcb\x30\x6e\x9c\x85\xce\x93\x79\x6a\x9c"
      "\x01\xf5\xbb\x27\x5e\x45\xdf\x2d\x0f\x0a\x10\xd2\x91\x3e\xdc\x94\x6d\xa1"
      "\x3f\x7c\x60\x2a\x5d\x91\x4d\x5d\xf7\x3d\xc1\xa2\xeb\x75\xea\x8f\xc0\xed"
      "\x70\x7f\x93\xce\xff\x86\xc3\xef\x4c\xab\xed\x2b\xbf\x74\x3c\xc5\xb4\x21"
      "\xf6\xa8\x6e\x0e\x7e\xd7\x1e\xb7\x20\xa4\xb3\x70\xfd\x48\x04\x6d\x97\x8f"
      "\xe3\x90\x26\xd2\x96\x3f\xee\x6b\x89\xfa\x23\xe6\x21\xab\x1e\x8e\x82\x35"
      "\x9b\xd4\xf3\xf4\x9d\x6b\x56\xeb\xe1\xbe\x9b\x7b\xde\x47\x29\x19\xc6\x13"
      "\xac\xae\x5d\xa5\x34\xfc\xf7\xbf\xc3\x56\x8d\xf6\xfa\xc6\x3b\xd9\x4c\x48"
      "\x34\x65\xad\xb8\x38\x27\x24\xb8\xe7\x52\x7b\x3b\x3f\x9a\x70\xd6\xea\x15"
      "\x8c\xa0\x89\x2f\xbc\x5f\xb5\x44\x5e\x27\x41\x7c\xff\xf2\x29\xb7\xc8\xe8"
      "\xbf\xd3\xb2\x51\x93\x09\x57\x1c\x4a\xcb\xbe\xae\x3e\x0f\x8a\xe6\x0d\x0f"
      "\x83\x1a\xb5\xa7\x21\x87\x94\xfb\x22\x79\xcb\xce\xb8\x1f\x3f\x8c\xf5\x35"
      "\x25\x91\x0e\xce\x13\x21\x8d\x93\xad\x12\x63\xe9\x15\x44\x7b\x5f\xf6\xb8"
      "\xec\x9c\x6a\x19\x36\x4d\x99\x3f\x6b\x33\x5b\xa7\x15\xfa\xa2\x8c\x57\xaf"
      "\xb2\xcb\xb0\x11\x44\xf9\xc7\xf7\xe7\xd9\x5b\xda\x72\xec\x88\xe6\xb8\x96"
      "\x2a\xab\xc0\x15\x49\xb6\x51\xf1\x81\x4a\x7c\xaf\xc5\x4f\xf6\xcb\x89\x6f"
      "\x7c\xfb\xad\x76\x55\x96\x2e\xb0\x9b\x82\x3d\xc7\x2f\x9a\xc9\xff\xfe\x69"
      "\xef\x16\x19\x62\x25\x74\x27\x99\x23\x0c\x75\x79\xcd\x34\xeb\x24\x4b\x6c"
      "\xb3\xc4\x68\xf4\x89\x48\x49\x43\xde\x8f\xf0\xd6\x3b\x63\x2b\x75\x1e\xbb"
      "\x33\xa6\x32\x73\x3f\x26\xa9\xc6\x4c\x8f\x63\x44\x34\xec\xbc\xb5\xa2\x57"
      "\xcc\x7d\x5b\x73\x7b\x40\x57\x23\x57\x68\x69\x15\x65\x68\xc4\x93\xd7\x65"
      "\x80\x50\xec\xf2\xbd\x6b\xb9\x54\x57\x60\x17\x63\xa5\x6f\x44\xa6\xe4\x7e"
      "\xbe\x55\xaa\xce\x87\xbe\xff\x50\xd0\xcd\x87\xd7\x49\x8c\xf7\xce\x10\x78"
      "\xfd\xbf\x05\xcc\xf5\xbe\x4d\x8d\x0f\x17\x40\x98\x73\x28\x53\xd9\x73\x61"
      "\x7a\xe7\xd8\xb5\x51\x68\x34\x9d\xe6\xd7\xe3\xd8\x9a\x5b\x97\x13\xa7\x26"
      "\xdf\xc8\xc9\x8e\x10\xff\xa2\xee\xe1\x2b\xf2\xb3\x87\x66\xf5\x56\x9d\x2b"
      "\x54\xa7\xf9\x2b\xef\x98\xce\xa4\xee\x5e\xae\x50\x61\x28\x54\x1b\x4b\xa2"
      "\x7c\x5a\xb3\x27\xca\x3d\x5a\x7b\xb1\xe9\x86\x61\x41\x5d\x17\xae\xf8\xaa"
      "\x6a\x55\x73\xc3\xa9\x66\x67\xfc\x3f\x65\xde\x73\x9b\x9d\x00\x82\x28\xe5"
      "\x6b\x3d\x91\xcb\xf2\x02\xd5\x4a\x69\x64\x75\x3c\xa1\x99\xd1\xf0\xc7\xfb"
      "\xad\x55\x6e\x43\x7b\x99\xdd\x26\xa4\x0e\x44\xae\xf7\xa6\xd4\x5b\xf3\x22"
      "\x3e\x61\xe6\x2b\xf5\x89\x81\xf4\xf8\x86\xa2\xac\x7c\xf8\x63\x33\x3f\x3a"
      "\x0e\x51\x29\xf1\x48\x7a\x6e\x87\xee\xb2\x74\xd7\x2c\xf1\x5a\xcc\x3b\x95"
      "\x6e\x58\xbe\x1d\x55\xff\xf5\x38\x14\xbd\x91\xf8\x69\x6f\xb7\x86\x2e\xbe"
      "\xfa\x44\xf2\x6c\x53\x32\xcd\x7c\x88\x96\x5e\xc9\xf6\xfd\x61\x9e\xfa\x05"
      "\x42\xaa\x82\x3f\xba\x9f\x66\x35\xfe\xb7\x51\x4e\xb2\x42\x59\x8c\x2d\x83"
      "\x21\xaf\x8c\xc3\x37\x86\x15\xe4\xa9\xfd\xa3\xa7\x1f\x88\x1a\x90\xb8\x4f"
      "\x1c\x3b\x0e\x8d\x29\x65\xbd\xea\x04\xa4\x7d\x51\xdd\x46\x7f\x8b\xf7\x91"
      "\x23\x59\xa7\xa7\x15\x3f\xc4\xd6\x89\xe4\x3f\xd8\x40\x9f\x57\x8f\x67\x14"
      "\x24\x78\x11\xa3\x21\x8f\x94\x37\xbe\xa7\xa7\x64\xf1\xbb\xcd\x52\x63\x8b"
      "\xcb\x9e\x8e\x92\xf9\x47\x3b\xc3\xc3\x8e\x1d\xb9\x28\x9f\xbc\xfc\x29\xd3"
      "\x29\x49\xf5\x3b\x7d\x7a\xf4\x32\xe6\x82\x80\x85\x60\xac\x5d\xd9\x50\xab"
      "\xfc\x90\x6c\xc2\xdd\x49\xff\x81\x39\x6d\x1c\x8a\x80\xdc\xc3\xe8\xac\xde"
      "\xa4\xe2\x0f\x9f\xca\x5b\x2d\x91\x96\x4e\xf6\xbd\xe5\xea\xa8\x67\xbe\x9f"
      "\xd0\xff\xb7\xbe\xfb\xf1\x18\xa5\x0f\xb5\x5c\x3d\xc6\xed\xba\x77\xb8\xcc"
      "\x55\xcc\xb3\xe9\x5b\xc9\x6b\x31\x4b\x65\x83\x2e\xfb\x36\x54\x83\x8b\xdf"
      "\x1f\x69\x30\x26\xd8\x71\x5d\x91\x56\xd0\xa6\x16\x6f\x31\x10\x75\x17\xd0"
      "\xbf\x51\x75\xa2\xd0\xe8\x47\x71\x89\x2b\x55\xa7\xb6\xc5\x27\x7c\x0a\xbd"
      "\xc3\xcd\x8b\x0f\xe4\xc0\x3e\x73\xfa\x30\x2d\x86\x6b\x81\x46\x11\x63\xcb"
      "\x9e\x35\xd2\x52\x3c\x52\x90\xb1\x87\x36\xef\x6e\x46\x90\x4a\x74\x30\xdf"
      "\x12\x22\x99\x3e\xff\xba\xb4\x09\xbf\x7d\x10\xed\x43\x4b\x66\x66\x06\x69"
      "\xee\xc7\x82\x27\x02\x55\xec\x7f\x2a\x71\x0c\x55\x79\x6c\x9b\x88\x6a\xc2"
      "\xd7\xbe\x70\x64\x22\x33\xc4\x0b\xf7\x08\x04\x4a\xa6\x7c\x43\xd7\x9e\xe9"
      "\xe2\xa4\x26\xcf\x4a\x9e\xe3\x27\x13\x55\x0e\x79\xf0\x43\xf3\x5a\x96\xc7"
      "\xef\x21\x82\x00\xfe\x43\xcb\xaf\x48\xfe\x6d\x5f\xf3\x10\xe2\x95\x49\x5b"
      "\x77\x44\x46\xa2\x17\xdd\x55\xcb\xc2\x1d\x5f\x7c\xcf\x58\x19\x50\xfd\xb8"
      "\x49\x26\x71\xed\xa2\xc1\xd6\x4b\x55\xaf\x1e\x20\xf0\x95\xcd\xd4\x2d\x89"
      "\x7e\xb9\x4d\x26\xef\x3e\x3d\xfb\x58\xaf\x3d\xd9\x42\x0e\x63\x6c\x64\x3a"
      "\x93\xf7\xfa\x3b\x06\xcf\x0c\xfb\x0f\x6b\xc3\xb5\xd4\x40\x47\xa4\xa5\x82"
      "\x6f\x26\x4f\xbf\x20\xff\x74\x8d\x7b\x7a\xc1\xb5\xf9\x9b\x71\x12\x5d\x27"
      "\xe5\xf4\xb1\x36\x05\xa7\x92\x18\x5f\x68\x9f\x72\xdb\x65\x0f\x1a\x0a\xbe"
      "\x77\x55\x23\x65\xba\xbe\xfa\xf1\x54\xe6\xbf\x5b\x4b\x1d\xbc\xf5\x9a\x6e"
      "\x1e\x0c\x3a\xcf\x3a\xc4\x1c\x09\x06\xb7\xa8\xe7\xed\x35\x36\xd6\x17\x73"
      "\x33\x22\x4c\xe5\x4e\x4f\x47\x11\x12\x6c\xfc\x44\xa9\x9f\x49\xf9\xe5\x2f"
      "\x0d\x86\xcb\x07\xa3\x96\xa0\x32\x96\x21\xd4\x49\x09\xa7\x95\xf7\xe0\xb7"
      "\x55\x1c\xb3\x55\xf5\x99\xaa\x17\x9c\xe0\xa0\xe7\xbe\xe9\x53\xd5\x5d\x41"
      "\xdb\x95\x4a\x71\xd3\xff\x83\x2e\xd0\x13\xc2\xd3\x95\x15\x49\x12\x26\x79"
      "\x5d\x41\xa8\xcb\x1a\xbd\xcc\xd1\xb4\x63\x6d\xd1\xeb\x51\xf4\xc4\xab\x7b"
      "\xc9\x58\x71\xec\xa0\xf0\xdf\x76\x90\x85\x59\x76\x85\xde\xdc\xab\xa2\xe1"
      "\x95\x12\x2a\xdd\x7e\x8c\x9b\x42\xe7\x58\x26\x3f\xed\x35\x49\x0a\x71\xc1"
      "\xbb\xbd\x89\xc7\xde\x5c\x6e\xb9\x27\xb8\xeb\x09\x98\x9e\x8f\x38\x24\xee"
      "\x46\xbb\xba\xa5\x51\x1a\xbe\x75\xee\xb7\x58\xf4\x96\xf0\x61\x91\x79\x7a"
      "\x97\xe9\xe3\x3d\x2d\x63\x2b\xf7\x79\x34\xe4\x53\x29\x7b\xf5\x64\x24\xae"
      "\x41\xcf\x62\x78\x63\x0e\xdd\x77\x89\x14\xcb\xb1\x40\xc2\x4c\x3a\x42\x26"
      "\xf6\x52\xae\x02\x8d\x63\xbd\x97\x4a\x31\xe4\x9d\x42\x71\x5f\x3c\xfa\xa3"
      "\x67\x94\xd7\x8a\x41\xce\x2b\xf8\xf6\x75\xf4\xb3\x06\xc6\x94\xc8\xeb\xe7"
      "\xa4\xd7\x24\x3a\xb1\x48\xb8\x25\x3b\xb6\xc5\x9f\xa9\x85\xdd\xad\x1b\x0d"
      "\x53\xda\xbf\x48\xd6\x71\x37\x75\x0c\x95\xb4\xaa\xd3\xdd\xb4\xdf\x4e\x2f"
      "\x0f\xb8\xb7\xce\x1b\xcb\x9e\xf3\x5e\x3b\xca\x56\x9e\xeb\x62\x95\xd8\x52"
      "\x5f\xc5\x9b\xfd\x9c\x7a\x1d\x4b\x93\xa3\x2d\xa6\x62\x4f\x3d\x27\x99\xe1"
      "\x9f\xd4\x23\xa9\x57\xfd\x7e\x47\x59\xf2\x0b\x75\xdf\x6b\x8d\x41\xa5\xef"
      "\x5c\xe8\x88\x13\x1f\xf0\xcc\xe5\xc3\x71\xb4\x06\x52\x83\x76\x54\xdb\xb2"
      "\xc2\x9e\xfb\x3a\xaa\xa6\x48\x3d\xf5\x20\xa3\x46\xee\x08\x9e\xd9\xfe\xdd"
      "\x17\x7b\x72\x85\x14\x69\xe4\xe5\xfb\x7c\xd6\xfe\x32\xa7\xe9\xc7\xb6\xa2"
      "\xdd\xdb\xa7\x7b\x56\x35\xad\xa5\x38\xed\x38\x48\x52\x4e\x88\xbe\xad\x24"
      "\xc2\x21\x84\x87\x18\x4f\xfd\x42\x42\x39\x35\x30\x8d\x24\x7f\x60\x0e\x08"
      "\x9c\xae\x5c\x07\xac\xa6\x33\x92\x53\x0b\x53\xbb\xdd\x3f\x17\x77\x88\x98"
      "\xd9\xf8\x6a\x20\x62\xc5\x6f\xcc\xad\x7a\xfa\xf1\x63\x56\x07\x7a\xdf\x8b"
      "\xaf\x7f\x75\x08\x47\x06\xf1\x4e\xeb\x50\x8b\xc6\xba\x0b\x8d\x52\xb6\xfa"
      "\x2d\x8e\x05\xcf\x69\xfd\xe5\x27\x33\x9f\x3e\xef\x98\x76\x3b\xd8\x72\xbd"
      "\x51\xdf\xd4\xa1\xe2\x88\x2e\xae\x9a\xc7\x29\x20\x6e\x28\x15\x7f\xbe\xfd"
      "\x5f\xf7\xfd\x5c\x94\x5e\x74\x38\xa5\x9a\x67\x63\x83\x9e\xf4\xa1\x4e\x54"
      "\xa4\x12\x96\x23\x1d\xa7\xa1\x32\xad\x15\x67\xb6\x60\xc6\xca\x7e\xb1\xf2"
      "\x5e\xf1\x8f\xc0\xd6\x4d\xf5\xe4\x8c\x23\x41\xa3\x9f\xc1\xdf\x35\xf2\x5b"
      "\xcd\xa5\x65\x93\x6c\xb9\xa6\xd0\x2b\xd6\xab\xc5\x93\xb5\x15\x2e\x29\xee"
      "\xec\xd9\x98\xde\xb2\xaa\x9e\x12\x13\x0e\x7c\xf0\x6c\xe6\x92\x16\x5e\x37"
      "\x68\x34\x45\xc9\xb7\xee\xe2\xdb\xf3\xb1\xf4\x5a\x44\x69\x65\x38\xc2\x08"
      "\x25\x69\x1c\x2b\x5e\x91\x46\x74\xf5\x7b\xb4\xe4\x2f\x79\xcf\x9e\x7d\x54"
      "\x4d\xef\x7a\x18\x22\xc1\xbd\xbf\x13\x6c\x42\x58\x52\xa9\x84\x16\x5f\x88"
      "\xdb\x1e\xf9\xe7\xcf\xbb\x3f\xe4\x88\x6f\x36\x9f\x19\x23\x51\xa8\x3b\x1a"
      "\xb3\xd9\x5d\x5e\x95\x60\x61\x6a\x58\xf9\x7e\x71\x32\x2e\x66\xaf\xde\x74"
      "\xf0\x79\xdb\x24\x9e\xc4\xcc\x31\x7a\x56\x29\xa0\x3c\xff\xd4\xee\xc2\x5b"
      "\xff\x2c\x20\xb2\x00\xc5\x86\xcb\x55\xbf\xa9\x3f\xa6\x0b\x3d\x87\xe0\xb6"
      "\x87\xfa\xf7\x59\xe4\x84\x2f\xd5\xee\x61\xb1\x03\x5a\xee\x58\x42\x56\x02"
      "\x6f\x53\x91\x6a\xe4\x94\xc4\x82\x94\xea\xa7\x2e\x3b\x13\xd7\x6e\xd5\xc0"
      "\xda\x72\xf4\x9a\xd1\xed\x0c\x9e\x5c\x83\x8c\x4e\x25\xe4\x17\x0f\xcf\x5d"
      "\xbe\xd0\xd1\x3b\x9e\x4d\x1c\x44\xd0\x63\x17\xff\xed\xd6\x16\x09\x9e\x21"
      "\x58\x49\x99\x17\x2e\xf9\xcb\xf3\x7b\xa9\xb0\xb4\xaf\x61\x75\x25\x31\x1d"
      "\x63\x68\xc4\xd8\xbd\xb5\x53\xdc\x5f\xb4\xe4\x83\xbb\xcc\x4c\x5e\xc5\x70"
      "\x5f\xa2\x62\xdd\x29\x8f\x54\xa8\x0a\xf1\xd0\x63\x43\x3a\x26\x69\x7a\x13"
      "\xe3\x95\x55\xed\x50\x43\xa1\xab\xe7\xaf\xf6\xe3\xa5\x2d\x35\x6b\xb5\x0b"
      "\xfe\x3e\x9c\x2f\x51\x37\xc7\xf6\xa9\xa6\x23\x29\xd1\xc7\xed\x19\x89\xf6"
      "\x26\x8b\x7f\x66\x72\x98\xdd\xa8\x79\x1b\x66\x67\x11\x81\xab\xf0\x5a\x54"
      "\x0c\xaf\x70\xb7\xde\xdf\xba\xd7\xd8\xf7\xad\xf5\x4e\xa6\x43\xad\x3f\x9a"
      "\x86\xa9\x50\x79\x92\xab\xc7\x38\x8e\xcf\xf5\x48\x83\x8f\xd4\x8e\xaa\x0d"
      "\xcf\xde\xd5\xa7\x86\xa8\x51\xd7\x44\xc5\x06\x12\x42\x31\x1b\x47\x1c\xc5"
      "\xd0\xe7\x77\x51\x97\x3a\xd7\xaf\x30\xad\xe9\x4a\xcb\xa6\xf8\xa9\x56\x2f"
      "\x14\x4b\x68\x25\xc4\x76\x35\x59\x5a\x7d\x64\x8c\x39\x33\x50\xe8\xd8\x0c"
      "\xfe\x99\xaf\xbd\x6c\x6c\x7b\xea\x4a\xa6\x2b\xf2\x76\x76\xb2\xbf\x44\xce"
      "\xf6\x8e\x28\xba\x30\x87\xb3\xe4\x8d\xd6\x75\xf9\x8b\xc7\xc4\x99\x36\x0f"
      "\x95\xbc\x8e\xef\x1b\x51\x88\xbb\x55\xee\xab\x62\x76\xd1\xca\x9b\x90\x5e"
      "\xf2\x6f\x30\xc9\xd0\x2c\xc6\x90\xde\xdc\x46\xbd\x3a\xa6\xfd\x9b\x65\x78"
      "\x18\xed\x8c\xf1\x7c\x5e\x37\x08\x61\xcc\x97\x1a\xcd\x70\x62\xe0\xa9\x46"
      "\xe9\xd2\x50\x2b\x93\x0f\x29\xa1\x6e\xab\x1a\x67\xc4\xc7\x87\xe2\x64\xeb"
      "\x78\xc6\xb3\xb8\xf3\x66\x4d\xc1\x91\x8e\x41\x9a\x14\x46\xf2\xa1\x19\xb5"
      "\xe5\xed\xd1\xc6\xdd\x48\xbb\x26\x18\x93\x63\x8f\xab\xe9\xd8\x3c\xb5\x5c"
      "\x84\x68\x4f\xc6\x8c\x71\xa8\x51\xe3\xe3\x02\xf5\x36\xbe\xf8\xfd\xdc\xcb"
      "\x55\x7f\x53\x43\xf7\xbc\xce\xb4\x1d\x99\x71\x49\x3e\xef\x9a\x58\xf1\x40"
      "\x2b\x60\x16\x4f\x25\x81\x2c\xb9\xbf\x28\xe5\x20\xe0\x9d\xdf\xa0\x21\xdd"
      "\xb7\xf9\xc7\x2a\x09\x4c\x1c\x08\xc3\x54\xbb\x7b\x86\x56\x1e\x1c\x46\x98"
      "\x68\x7c\xbf\x18\x93\xfb\x63\xa6\xaa\x9e\xbf\xd7\xad\xd4\xda\xed\xe9\x59"
      "\x8c\x50\x20\x9c\x23\x92\xc3\x7a\x2f\x9b\x69\x52\x95\x34\x24\x33\x78\xc0"
      "\x2c\x64\xa4\x4d\x53\xe2\xf0\xed\xbf\x66\xb1\x0c\xa5\x83\xc5\xce\x04\xe1"
      "\xb5\x1b\xf4\xb1\xfb\x9b\xeb\x63\x6d\xa6\xac\xd4\xa5\xd6\xed\x7f\xdf\xfe"
      "\x95\x77\xf0\x79\x9d\xb4\x04\x62\x46\xc8\x1d\x67\x04\xbc\x16\xf9\x8e\x36"
      "\xef\x39\xa1\x38\x40\x7c\xb3\x59\x8a\xa0\x49\x81\x53\xd1\xb5\xb8\xb6\x97"
      "\x24\xd3\x3b\xf2\x51\xd4\xc2\xc8\xa7\x4f\xbe\xc8\xbf\xf3\xd7\x71\x94\x71"
      "\x44\xd7\x1f\xaa\x2a\x31\xa3\xcc\xc1\xc3\xdc\x6d\x92\x79\xfb\x27\x04\x55"
      "\x19\xeb\xd9\x92\xca\x67\x32\x4b\x46\xd5\x64\x1f\xf1\x06\xfe\x32\x23\x7d"
      "\x9b\x59\xd5\xd7\xbb\x3f\x57\xa6\x1a\x13\x4a\x11\x10\x3a\x0f\xc5\xd3\xda"
      "\x9f\xf9\xa0\x85\xc1\xe1\x52\x84\xb9\x4c\x48\x4a\xcc\x8b\x86\x90\x53\xbe"
      "\x9e\x1f\x1a\x98\xdd\xe6\x5c\xfd\x95\x6c\x79\x28\xb0\x61\x9f\xd8\x3c\x90"
      "\x73\x5e\xed\xc9\xa2\x52\xc9\x86\x04\x32\xaf\x1a\x15\xcf\x50\x7e\x19\x86"
      "\x6e\x4a\x12\x1f\xb2\xfb\x39\x81\xf1\xfe\x3e\x07\x05\x51\xb8\xdf\x54\x9f"
      "\xf5\xbe\xe1\xe3\xab\x6b\xfb\x1b\xd9\x39\xf1\x0b\xeb\x38\x77\x16\x9b\x21"
      "\xa4\xe3\xb8\xb5\x14\x47\x97\x10\xed\x9d\x3f\x54\x88\xb1\xd7\xb7\x98\xa6"
      "\x7b\x9a\x25\x53\x91\xc8\x8d\x2b\x1b\x4b\xee\x43\xe6\xef\xa3\x06\xb0\x14"
      "\x1f\x74\xf3\xfd\x7b\x94\x29\xc0\x96\x84\x32\x2a\x84\x40\xb8\x33\x84\x6a"
      "\xf8\x63\x97\x3a\xf7\xfd\xa6\x35\x41\x9a\x79\x32\x13\xe1\x87\xbe\x43\xf4"
      "\xbc\x48\xb4\x64\x2b\xce\x64\x92\x30\xab\xc5\x0e\x2f\x87\xaa\xd0\xe0\x54"
      "\xce\x90\x07\x5a\xb5\x65\x41\x8b\x44\xb1\xf1\x6b\x8f\x05\x73\x1d\x0e\x82"
      "\x58\x6f\x3f\xa4\x75\x2f\xd2\x0b\x6f\x63\xba\x75\x34\x0d\x98\xfa\xeb\x6d"
      "\xfa\xa3\x89\x62\x76\x88\x52\x1e\xe7\x8a\x8a\xad\x50\xd5\x5a\x88\x58\xf4"
      "\x97\x96\x6a\x7c\x75\xbc\xc1\x2a\x2b\xfd\x4e\x69\xdc\x66\x28\x5f\xf1\xbb"
      "\xd3\x9a\xc0\x42\x8d\x78\x61\xf8\x33\xc2\xc3\x30\x2e\xc6\xa9\x18\x76\x59"
      "\xc3\xc1\x0f\x38\x95\x69\x6b\xfa\x24\x01\xb9\x42\x45\x55\xe1\x75\x66\x7a"
      "\x7c\x4e\xdc\x7a\x61\x16\x49\x0a\xdf\xd6\x52\x7a\xde\xad\xd8\xc9\xf1\x1b"
      "\xa3\xce\xb4\x68\x24\x7b\x66\x5d\x78\x6f\x47\xc8\xef\x95\x97\x9d\xe6\x63"
      "\xb7\x25\x1c\x8b\x58\x7d\x38\xfa\xd2\xae\xb3\xe3\x6d\x17\xa2\x92\xb2\x4e"
      "\xd2\xbe\x7c\x75\xec\x6d\x14\x5b\xf3\x8c\x04\x33\x54\x3e\x94\x6c\x20\xd3"
      "\x6b\x89\xf5\x0f\x9f\xe8\xc0\xeb\x7f\x72\xa9\x76\x8c\x93\xff\x6d\xd9\xaf"
      "\xa1\xbf\xca\xeb\x15\xfc\x5d\xaf\x75\x1a\xb1\x8e\xf2\x3e\xb7\xe2\xe1\xe9"
      "\x86\xdb\xf6\xc9\x56\x10\xeb\x87\xd7\x4f\x07\x55\xb9\xf4\x7f\x95\xfc\x87"
      "\xae\xab\xf5\x2a\xda\x33\xd4\xeb\xce\x7a\x5c\xe8\x44\xb8\xde\x8b\x56\x6e"
      "\x29\x17\x55\x3a\x4a\xb2\xde\xcb\x34\xaa\xe0\x8e\x34\xb9\x08\x5d\xc1\xdd"
      "\x19\x97\x2d\xe0\x3a\x48\x81\x37\x5f\x8f\x7b\x62\x10\xc1\x26\xa8\xed\x9f"
      "\x8f\x36\x1e\x9f\x9e\xfa\x3d\xf6\xaf\xb9\x6e\x8f\x97\xbf\x27\xef\x63\x0d"
      "\x3c\x54\xb1\x54\x0f\x0e\x4d\x48\x22\xbc\x6f\xd9\xb2\x33\x1a\x6c\xa9\x31"
      "\x3f\xab\xde\xe2\x7f\xce\x36\x46\xaf\x29\x11\x51\x24\xbb\x3e\x5e\x1b\xe0"
      "\x7c\x34\x2f\xd7\x7c\x13\x3e\xb3\xfe\x93\x37\x2f\x58\x6f\x6c\x3f\xe1\xfa"
      "\x9c\xc5\x8e\xf7\xc9\x2d\xad\x6c\x75\x11\xce\x19\xfa\x83\x3c\xdd\xf9\xc7"
      "\xa1\x97\x39\x6f\x86\x31\xfd\x9f\xfe\x90\x99\x0a\x4d\xfb\x70\xf2\xf3\x24"
      "\x8e\xe5\x41\x9b\xed\xc7\x34\x33\x99\xbb\x98\xf0\xad\xd1\x1b\x37\x13\xc3"
      "\xe2\xc4\x64\xc2\xa0\x12\x8e\xf2\x21\x2d\x3c\xcb\x84\x22\xf2\x4c\xad\xe2"
      "\xb8\x95\x71\xa7\xb7\xbe\x38\xef\xde\xca\x4e\xe4\x8f\x91\x33\x77\xdd\xe6"
      "\x65\xbe\x79\xc2\x3d\x9c\x80\x11\x91\xc6\x48\xf3\x99\xbd\x9d\xfd\x64\xfc"
      "\xd3\xa7\xa7\x26\x64\xfd\x0f\x65\x8b\x66\x2a\xe4\xff\x78\x57\x3e\x91\xa4"
      "\x3e\x7c\xc7\x72\x46\xf7\xc4\xff\xef\x60\xa1\xf3\xa5\xe5\x71\x0d\x71\xde"
      "\xa3\xdf\x6f\xee\xc4\xf0\x8a\x4e\x92\x23\x7e\xbf\xa0\xe7\xd6\x7a\x6f\x8b"
      "\x79\x86\xb3\xfd\x7a\x64\xce\xe1\xc9\xa2\x63\xdb\x42\x58\x1a\xb6\x9b\x49"
      "\x71\xa3\x5a\xf1\xd9\xc8\x91\x98\x80\xb8\x12\xcb\x4e\x7a\x02\xce\xb6\x29"
      "\xe5\x80\x08\xba\x49\x03\x42\xf6\x9d\x42\x3e\xfb\xc1\x1e\x6a\xff\x01\xda"
      "\x1a\x45\xa9\x56\x42\x60\x4d\x09\xfa\x9a\xd5\xec\x8b\xf0\x2e\x81\xad\xa0"
      "\x94\x14\x92\xc7\x0f\x70\x51\xbf\xfd\x36\xe0\x47\x98\xad\x2f\x9a\x55\x8e"
      "\xfc\xb5\x2b\x71\xd6\xd4\x58\xd0\x4a\x13\x1a\xee\xd0\x77\xb6\xf7\x9e\xf8"
      "\xca\x50\x31\xda\x4d\xf0\xdc\xec\xf0\xc2\xf8\x1f\xf3\x9f\x1c\xd3\x59\x5f"
      "\x33\x99\xe4\xc5\xed\xe6\x68\x3a\xd1\xaa\x47\x3e\x34\x29\xd8\x43\x49\x7b"
      "\xc8\xc6\x59\x6b\x1b\xe8\x8c\xd1\x08\xee\x81\xaf\xff\x9c\x15\xec\xee\xa1"
      "\xf7\x8f\x5e\xac\xbc\x8c\x4b\x58\x34\x4e\xbb\x36\x76\xc1\x33\x1b\xff\xc9"
      "\xc6\x82\x3c\xd6\x3f\x93\x5e\xe3\xbe\x56\xdb\x88\x5a\x69\xa1\x97\x8a\x70"
      "\x6a\x8b\xb4\xa6\x53\xa7\xdc\xa2\x65\x44\xec\x44\x2a\xfc\xaf\xc6\x6c\x8d"
      "\xf1\x73\xae\x22\x7d\x03\x21\xc3\x22\x03\x9f\x5f\x07\x36\x66\x32\x15\x6f"
      "\x85\x4d\x3c\x7f\xc5\x0a\x79\xaf\xa1\x32\xb3\x69\xdc\x73\x99\x94\xd6\x29"
      "\xc1\x41\x62\xc6\xa5\xbf\xa5\x46\x4f\x4e\x6b\x03\x3f\x25\xf8\x97\x3b\x1a"
      "\xf2\x09\x53\x08\xce\xfb\x33\x04\x9b\x76\x4a\xbe\x18\xb2\xb0\xa5\x42\xfb"
      "\xc4\x5e\x96\xaf\xd3\x2f\x2f\xc5\x92\xd7\x6e\x29\xfb\x1d\xe9\x92\x8f\xc1"
      "\xa9\x92\xe9\x5d\xe1\x49\x4b\xe1\x91\x98\xbd\xf9\x06\xa9\xe7\xdc\x57\x03"
      "\x6e\xc4\xda\xf1\xe2\x6f\xc3\x6a\x47\x17\xb5\x2b\x93\x1b\x0a\xaf\x85\x2e"
      "\x2a\xc3\x24\xd0\xcb\x48\x9b\xa7\x4c\xc4\x7f\xeb\x38\x8e\xcf\xb1\xe4\x54"
      "\x7a\x1d\x47\x9d\xef\x3f\xc8\xfb\xc2\xbc\x2f\x1f\xf8\xa3\x34\xf9\xf5\x29"
      "\x62\xa2\xb6\xca\x54\xba\xfc\xaf\x52\xbd\x27\x29\x3b\xf5\xc7\x49\xb8\x8e"
      "\x1c\x09\x4d\x7e\xda\x3a\x88\xe8\xc9\x93\x7d\x6f\xc8\x7a\x6a\x3b\xe8\x73"
      "\x6b\x8b\xb0\x6d\x4e\xef\x59\x82\xc6\x9b\x4f\xb0\x35\xf6\xd6\x08\xf0\xbf"
      "\x12\x0e\x8f\xa4\xfb\x3c\x6b\x67\x36\xa1\x88\x15\x6f\x5f\xdd\x9d\x61\x31"
      "\x91\x0f\x6b\xe9\x75\x6c\xc0\xea\xef\x9c\x43\xbd\x48\xaf\xfd\x59\x96\x37"
      "\xee\xb8\x2d\x12\xe8\xf2\xe3\xe9\x1c\x5b\xd1\xcb\x4f\x1f\x5d\xd0\xcd\x2b"
      "\x65\x32\x32\xf6\x62\xbe\x4c\x49\x5c\xbf\x6f\x9a\x94\x51\x31\x9d\xa2\x2b"
      "\x99\x7e\xf3\xaa\x3f\x53\x87\x86\xd7\x53\x52\x56\xbc\xa7\x8e\x83\xb0\x85"
      "\x70\xd6\x31\x87\xc9\x2f\xb5\xb5\xb7\x61\xf2\x90\xdd\xe9\xa7\x3e\x9b\x61"
      "\xb3\x85\xe9\xac\xe0\x60\x29\x2b\x3d\xdf\xc0\x23\x47\x83\xf1\x97\x8b\x41"
      "\x02\xd8\x75\xd1\x92\x91\x52\x38\xd3\x0d\x22\xbc\x9f\x7e\xa8\xe6\x3f\xad"
      "\x38\x0b\xfc\x2e\x41\x89\xe0\x49\xc4\x85\x1e\x6a\x5d\xf9\xe3\xeb\x35\x95"
      "\x9b\xa4\xf7\x95\xde\xae\x51\xa7\x81\x24\xa6\x51\xcd\x73\xb3\xa6\x89\x67"
      "\x1f\x31\x6f\x43\x8c\x72\xe8\x70\xb5\x5f\xc5\x29\x94\x94\xde\x6f\xfe\x15"
      "\x19\xf1\x20\xff\x52\x25\xbf\xf2\x6b\xec\x9a\x1b\x71\x6c\x0d\xe1\xf7\x03"
      "\xf6\xe4\xa3\x00\xdc\x80\x9d\x2f\x35\x53\x48\xfd\xd5\xf5\xa8\xee\xcc\xc4"
      "\x2d\x2c\x19\xd3\x66\x6b\x86\x9f\x0a\xdf\x31\x66\xee\xa5\x7f\x0d\xc8\x1a"
      "\xa4\x3a\x10\x15\x30\x11\x64\x65\xbb\xda\x67\xb3\xf9\xa8\xa2\xc9\x87\x34"
      "\xca\x17\x12\xcc\x27\x85\x27\xb7\x9d\xdd\x9b\xa4\x40\xa2\xb6\xfd\x1f\x52"
      "\x6a\x9b\xdb\x49\x67\x1a\x35\x03\x9b\xfe\xb0\x6f\xf0\x45\x17\xfe\xd3\x66"
      "\xc1\x0f\x95\x54\xae\x8e\xba\xe3\xd7\xb8\xd3\x9f\x4c\xc5\x6b\x6e\x91\x38"
      "\xdb\x05\xa7\x57\x8a\x37\x44\xd8\x6b\xb8\x9e\x3a\xd4\x0c\x75\xf0\x3f\x99"
      "\xed\xd1\x6c\x76\x2f\xa4\x90\x92\x38\x29\x45\x27\x30\x54\xee\x4e\x41\x52"
      "\xeb\xb7\x4e\xec\x98\xda\x4f\x52\xbc\x79\xf1\x7d\xf0\x41\xb1\x80\xec\x8b"
      "\x7f\x8e\x8a\xcc\xd8\x14\x2a\xc9\xa3\xef\x94\xdc\xcd\x84\x4e\x53\x1a\xc8"
      "\x98\x9f\x95\x62\x91\x1e\xa4\xd1\x57\x4d\x71\xb9\xaf\xa6\x1f\x57\x6a\x59"
      "\x72\x9b\xbf\xeb\xcb\x99\xe6\x33\x4a\xf3\xac\x5d\x34\x2b\xe6\x1f\xf4\x60"
      "\x61\x54\xf1\x34\x8d\x28\x90\xa8\x5e\xb7\x54\xfe\x4e\xb3\x1c\xa7\xeb\x56"
      "\xe3\xf2\x9d\xfa\xe8\x23\x0f\x4e\xd9\xb9\xfe\xa1\xd4\x6c\xb5\xda\x97\xf7"
      "\x49\x19\xdd\x89\x0f\x05\x28\xa3\x0e\xc2\x96\x16\x10\xed\x2d\x8f\xeb\x23"
      "\xae\xb1\x83\x59\x2d\x85\x22\x90\x26\x2c\xbf\x66\x28\xfd\x57\xaa\xff\x8b"
      "\xc3\x6f\x84\xf8\x5b\x66\xe2\x2f\x4f\xd9\xcc\xef\xb8\xaf\xac\x1a\x17\x34"
      "\xb1\xda\xbf\xc8\x26\xb1\x90\x5b\x11\x3f\xd9\x96\x5b\x4d\x27\xe4\x92\x7b"
      "\xd3\xb0\xc1\x48\xe0\x6a\xe9\x16\xe9\xbe\x2b\xf0\x26\x1c\x85\x25\x43\x86"
      "\xcf\x86\x8c\x38\x15\x15\x01\x01\xe1\x8d\x96\x7e\x5a\xeb\xa3\xa0\x61\x4b"
      "\x45\xd4\xaa\xfe\xa5\xaf\xb7\x56\x32\x43\x71\xd2\x1c\x3e\xd4\xba\xb4\x45"
      "\xaa\xae\xd7\x19\x48\xee\x92\xff\x4a\xee\x97\x39\x49\x39\xeb\x37\x44\xfe"
      "\xd1\x5b\x0b\x75\xd3\x5d\x97\xa0\x2a\x11\x06\x97\x1a\x1c\x4f\x4c\x63\x15"
      "\xcb\x9a\xe8\x67\x05\xde\x60\x24\xcc\x1b\x7f\x52\x21\xd6\xc7\xa3\x0b\x17"
      "\x45\x36\xb2\x2e\xde\xef\xd6\xc5\x7b\xce\xc6\xae\x7d\x26\x73\xac\x69\xa7"
      "\xb1\xa1\xf9\x88\x3c\xe0\x5b\xf0\xaf\x30\x97\x93\x96\xcf\x46\xca\xfd\x88"
      "\x1c\xd6\x72\x6b\x43\x0a\x01\x49\x17\x09\x59\x99\x1b\x7f\x72\xbc\x95\xfe"
      "\xf9\x7e\xfe\xaa\xf3\xcd\x79\xf9\x5f\x17\x36\xe1\x5b\x24\xa3\x72\x7c\xae"
      "\x81\xb9\x8a\x62\x2a\x71\x5d\x6f\xd6\x97\xa5\x91\xbf\xbf\x6a\xaf\x4f\x9f"
      "\xa7\x46\x2a\xd1\x33\x5b\x2c\xd1\xdf\x90\x5a\xf6\xcf\x6e\x78\xb6\x5b\x07"
      "\x68\xc5\x35\xb9\xf0\xa0\xf1\x86\xe4\xce\x05\xae\xea\x19\x65\x0a\x3d\xb2"
      "\xaa\xb6\x9f\xf1\xb0\x9e\x08\x18\xf9\xcf\xf9\xa1\x2a\x8b\xd1\xe8\xa3\x1c"
      "\xb3\x88\x86\x69\x9b\x5b\x36\x96\x18\x81\x4f\xe5\xf3\x13\xc6\xe2\x26\xea"
      "\x22\xb4\x6e\x4d\x3f\xae\xe6\xac\xe6\x89\x4b\xe6\x1f\xb6\xf6\x09\x0b\x55"
      "\x99\xb6\xa7\xad\xa7\x6a\x2f\x99\xe2\x2f\x2c\xde\x39\xbe\xb8\x9f\x8f\x36"
      "\x98\x88\x22\x4d\xea\xef\xd4\x75\x2f\x4d\x19\xb3\x3f\x37\xec\xea\x7d\xaa"
      "\x82\xb0\xae\xa4\xd2\x6c\xf9\x7b\xd0\x64\xbb\x12\x43\x20\xbc\xed\x99\x5d"
      "\x0e\xfa\xf5\x87\xd5\xee\xc7\xd6\xbf\x7f\xa9\xea\x88\x6f\xb0\x18\xcc\x3e"
      "\x27\xa0\xcf\xd9\x17\xd9\x4c\x41\xef\x96\x52\x14\x17\xc3\xb9\x8a\xdf\x18"
      "\xf4\x4e\xcb\x30\x0f\xc5\x7b\x80\x52\x7a\x53\xff\x74\x85\xdb\x6f\x96\x0f"
      "\xf3\xad\xf7\x5c\xfe\xd2\x0e\xe3\x40\xd3\xda\xd7\xbf\xc4\xa3\xc6\x47\xd5"
      "\x43\x91\x41\x67\x2e\x96\xe8\x73\xcb\xff\xd7\xfd\x03\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\xf0\x3f\x23\xd6\x52\xfd\xed\x7c\x4d\x9d\xdd\xa9\x9c\x03\x06\x7e"
      "\x84\xdb\xda\xd6\xb3\xb7\xf5\x8b\x5a\x73\x93\xf3\x86\xa5\x41\x8f\x9e\x1e"
      "\x2f\xbd\xb8\x6a\x79\x21\xd3\xa0\x7c\x33\x22\x8d\x3b\x93\x2e\x52\x35\xe3"
      "\x43\x5a\x84\x14\xde\x4d\xb8\xe5\x3f\x45\xa5\x4d\x54\xb8\xd3\x5a\x1f\xa0"
      "\xe2\x69\x69\x60\xeb\xf1\xc9\xd3\x20\x96\x55\x7b\xef\x7a\x9e\x4e\x2f\xf4"
      "\x3e\x89\x9c\xe8\x4e\x1d\x57\x9e\xeb\x81\x04\x57\x85\x51\xca\xee\x2f\x9c"
      "\x0d\x29\x6d\x0b\xc7\x43\x0e\x72\xd7\xf0\x1a\x4b\xec\x38\x6d\xc9\x7c\x32"
      "\xb9\xd7\x6f\x1b\x50\x6f\x4c\xd8\x34\x99\xab\xce\xb1\x28\xe5\x4f\x50\xf4"
      "\x07\xef\xfd\x6a\xe2\xff\x97\x0b\x05\x01\x01\xe1\xf1\xff\xed\x69\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x80\xff\xdf\x58\x47\x10\x93\xbe\x61\x28\x37\x93"
      "\xb4\x7e\xbd\x5f\x29\x25\x24\xf7\xbf\x3f\x1c\xf1\xff\x9d\xa3\x20\x60\x20"
      "\x3c\x46\x40\x45\x40\x15\x8b\x5e\x79\xde\xcb\xca\x1c\x65\x10\x54\x47\x5c"
      "\x66\x17\x3a\x5f\x87\xd0\x1b\xfd\xbd\xb4\xc0\x69\xe2\x73\x5a\x1a\xcf\x21"
      "\x8d\xf3\x42\x90\xce\xd3\xd3\xf8\xb3\xff\xe3\x75\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x1f\x32\xa6\x1f"
      "\xea\x6b\x9e\x27\x9f\x98\xce\xf0\xbb\xac\x24\xbd\xde\xd3\xb6\x9e\xbd\xad"
      "\x5f\xd4\x9a\xb3\x10\xde\xa4\x2a\xad\xe8\x58\x38\x24\x50\x6b\x41\xb9\x77"
      "\x7f\x7b\x72\xee\x64\x63\x67\x2e\xc1\x46\xe8\x1a\x46\x31\xbd\x45\xf7\xee"
      "\xf3\x3b\x3c\x8f\x68\xe7\xa3\xd0\xad\x2e\xd6\x37\xa6\x13\x82\x3d\xe8\x36"
      "\x9b\xa3\x8a\x3c\x81\xf7\xa4\x37\x7e\xb6\x4b\xd8\x84\xd8\xa4\x4d\x36\x0a"
      "\x34\x47\xc7\x6e\xc1\x88\x58\x16\xf1\x4f\xab\x24\xf9\x88\x16\x57\x50\x57"
      "\x1b\x5e\xbf\xfa\xc4\x77\x60\xbf\xfc\x62\x1d\xb3\x86\xdc\xeb\x33\x39\x02"
      "\x15\xcb\x51\x27\xb9\x1b\xe2\xc1\xd4\xca\x3d\xd7\x19\xc9\x60\xf7\xe7\xff"
      "\xe5\xfa\x7f\xd8\xaf\xd3\x28\x9f\xeb\x3e\x6e\xe0\x7f\xcc\x34\x88\xcb\x12"
      "\x9a\x2c\xd9\x2e\x64\x2b\x44\x22\x5b\x64\x18\x1a\x89\x9a\xc1\xd5\x30\x1a"
      "\x12\x09\x19\x4b\x8d\xa9\xa6\xc5\x28\x63\x0c\x32\xf6\x2c\x63\x2c\xd5\x74"
      "\x99\x64\x92\x6d\x0a\x95\xad\x52\xa8\x0c\x4d\x8b\x25\xfb\x58\xeb\xb2\xcd"
      "\xb8\x9f\xe4\x9c\xfb\xf9\x7d\xae\xe3\x9c\xeb\x7e\xbd\x9e\xbe\x9f\x7c\x7f"
      "\xef\xcf\x39\xbf\x73\xde\x41\x81\x40\x20\x24\xe8\xd6\x76\x03\x00\x00\x00"
      "\xff\x2b\x8e\x96\xc8\x8e\x89\xda\xfe\x79\x52\x9d\xc1\x7f\x74\x89\xbb\x9c"
      "\x71\xfa\xe6\x0e\x0f\xfe\x3b\x0f\x0a\x14\x0f\x84\x04\x55\x0d\xfc\xf1\xe2"
      "\xbb\xd5\xe6\x16\x7c\x53\x78\xd7\x88\xb0\xcd\xd5\x42\x6b\x94\xab\xfa\x56"
      "\xe0\xb3\x1d\xa9\x2f\x24\x2c\xbc\x73\xc0\x8e\x1f\x9f\xbf\xb0\xe6\xb3\x66"
      "\x8f\xec\x6d\xf3\x4a\xbf\x06\x09\x8d\xa6\x97\xda\x76\xbc\x77\xf5\x41\x3f"
      "\xae\x88\x49\x2c\x9a\xfc\x64\xe3\xc5\xdf\x85\x6e\xee\xfe\x6a\x8f\xb4\xfd"
      "\xaf\x3c\x75\xf8\x52\xd6\x73\xbd\xaf\x14\xfd\xa2\xd7\x8b\xf5\xba\x3d\xdf"
      "\x73\x56\xe9\x13\xb9\x3b\xb7\x84\xb7\xb8\xfd\x81\x77\x96\xb7\x8d\x59\xd4"
      "\xf2\x87\x1f\x62\xcb\x14\x4c\x0b\x7c\x3e\xa7\x65\x91\x2f\xbf\x1c\xb7\x6d"
      "\xd3\xc6\x8b\x2d\x5e\x2b\xd6\xbe\x67\x6a\xce\xe6\xe8\x2b\xe1\x2d\x3b\x94"
      "\x49\xec\xb4\xb7\xd4\xd6\xdf\x0e\x6c\xea\x37\x60\xf7\xa3\xad\x6a\x2f\x49"
      "\xe9\xf4\x4d\xdb\xea\xb7\xe5\xfd\xf6\x52\xfa\x7d\x2f\xbd\x1f\xff\x76\xc9"
      "\x63\xf7\x37\xfa\xa6\xc2\xa8\x5d\x57\x87\x6f\xf9\xa5\x7f\x89\x96\x67\xb7"
      "\xbe\x57\xb1\x43\xf6\xf6\x77\x4a\xf6\x9b\x74\xa3\x65\xb7\xae\xd3\x23\xa6"
      "\x1c\xee\xdb\xfd\xad\x7f\x55\x5e\x72\xef\xb3\x3f\xbd\x5a\x76\xe1\x8d\xf8"
      "\x2f\x63\xc7\x94\x99\x30\xf1\x91\x66\xeb\xa6\x5c\x4f\xbb\xb6\x65\x52\xd6"
      "\x2d\x3e\x03\x00\x00\x00\xfc\x57\x65\xbc\xd0\x6c\x4b\xd1\x95\x0d\x9a\x47"
      "\x7d\x7c\x67\x52\xea\xd0\x12\xe9\x37\xf7\x7f\xc8\xdf\x79\x50\xa0\x6c\x20"
      "\x24\xa8\x62\xe0\x52\xfe\xbe\xcb\x8f\xfc\x38\x2b\xb4\xe6\xc1\x79\xed\x2e"
      "\xb4\x9a\x31\xe0\xf7\xd8\x88\x82\xe8\x9e\x4f\x35\xec\xf3\x62\xdb\xd5\x5f"
      "\xf4\x1e\xd4\xfd\x62\x44\x9b\xb0\x2a\x27\xf3\x3e\xe8\xfa\x73\x61\x70\xbf"
      "\x3d\xf9\xef\xb6\x5b\xf4\x7a\xe2\xdb\xdf\xde\x1d\x3e\xe6\xf3\x0f\x23\x82"
      "\x0b\x8a\xef\xde\xb3\xac\x71\xf1\xc7\xda\xcd\x28\x88\x58\xf3\x41\x89\x4f"
      "\x96\x1e\xfc\xb2\xef\x9e\xbd\x55\xce\xb6\x79\x72\xfb\x5b\xa7\xda\xd5\xbb"
      "\xeb\x78\xfb\x5d\xe7\x2a\x9c\x28\x36\x21\x21\xb1\x67\x9d\x69\x03\xeb\xee"
      "\x2f\x13\x53\xe5\x62\x48\x9d\xfc\x69\x9f\x15\x36\x3a\x71\xef\xb4\x1f\x72"
      "\xb3\xde\x59\x52\xf9\xc1\x4e\xad\xaa\xcd\x7e\xf5\x6c\x89\x05\x65\xde\x5f"
      "\xd1\x74\x51\xc5\x83\x4d\x87\xcf\xaa\x3d\xa6\xdf\xc8\x97\xa6\xa7\x44\x2e"
      "\xcc\x2e\xb7\x70\x69\xb9\xf3\x3f\x6f\x4c\x6c\xd6\xeb\x16\xd7\x09\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x02\x81\x5a\x77\x0d\x9a\x53\xf1"
      "\x6c\xa5\x49\x9d\x33\x0b\x23\xc7\xef\x4c\xbd\x14\x35\x2c\xf7\xfa\xda\xbc"
      "\xc8\x03\x2d\xb3\x83\x1f\x2a\x53\x2b\x65\xfa\x86\x1b\xb9\xb7\x6f\x1e\x31"
      "\x24\x7c\xd1\xaf\xd3\x9e\xda\xb2\xb8\xfe\xac\x8f\x5b\x1c\xfe\xa3\xed\x4b"
      "\x47\x56\x9f\x78\x32\x61\xe5\xd0\xe1\x15\xb2\xab\x1e\xfb\x2a\x6d\x57\x7a"
      "\x9b\xb4\x8e\x77\x1e\x3b\xf2\xdc\xf9\x88\x3f\xba\x04\x6f\x1e\x1b\x7e\xcf"
      "\xb0\x3a\xb9\x2b\x77\x47\xbd\x50\x64\xd6\x91\x88\xf8\xdd\x1b\x0a\x47\xd6"
      "\xbe\xfa\xd8\xc9\x8c\xf9\xf3\x22\x6f\x0c\x4a\xdf\xd1\x7e\xe8\xf6\xe0\x5f"
      "\x07\xe5\x3f\xb1\x72\xd4\xb1\x92\x47\x8a\x9f\x7a\xb4\x7b\xf6\x9a\x07\xe3"
      "\xa7\x3d\x34\xaa\x4a\xf6\xed\x6f\x35\x4e\xbf\xf9\xae\xa0\x40\x20\x10\x7a"
      "\x6b\xab\x01\x00\x00\x80\xff\x19\xdd\xdb\x8f\x2c\xdd\xb6\x7c\xe3\xb8\xa1"
      "\x2f\x7e\x91\xfd\x6b\xe2\xb2\x52\x37\x77\x78\x91\xbf\xf3\xa0\x40\xf1\x40"
      "\x68\xa0\x5a\xe0\x89\xea\x53\x1e\xdf\xb7\xff\x58\xf1\x22\x11\x93\x0f\x0d"
      "\x2e\xf2\xdb\xd6\xda\x61\x11\x15\xe2\x66\x54\x6c\x7d\xf0\x85\xcd\x75\x8a"
      "\xa7\x26\xe5\x47\x3e\x37\xef\xc3\x6a\x61\x21\x23\x5a\xc4\xa6\xaf\x9b\x1c"
      "\xf1\xc8\xf8\x23\x93\x32\x4e\x34\x4b\xaf\x3e\xfc\x7a\xc7\x84\xed\x5f\x56"
      "\x0a\xaf\x34\xf3\x60\x9b\x7a\x0b\x7b\x95\xbf\x9a\xf3\xe7\xe9\xd1\x5d\xab"
      "\xf6\xeb\x72\x67\xa7\xf6\x41\xd9\x67\x57\xd4\x9f\xd5\xe8\xdb\x99\x39\x99"
      "\x35\x8e\x1d\x9f\xd8\xe4\xe1\x87\x5b\x6c\x6c\x75\x60\xcc\xec\xf4\x6b\x5b"
      "\x93\x4b\x86\x97\x0c\xcb\x0f\xaa\x57\xff\xfd\x9f\xaa\xe5\x44\xc5\xdd\x9e"
      "\x94\xb2\x69\xe1\xc2\xb3\xc3\x0a\xa3\x23\xa3\xab\xaf\x7c\x76\xe0\x82\xbf"
      "\x42\xee\x2e\x93\x72\xdf\xfa\xc8\x25\x9b\xd6\x2d\x9e\xf8\xc4\xb8\x56\xc5"
      "\x17\x75\x0b\xe4\x66\x66\xcf\x98\x1e\xf9\x6e\xaf\xd6\xe1\x3d\x7a\x2d\x1f"
      "\xdf\x62\xc0\xb1\xa5\x6f\xee\xaa\x5e\xfa\xed\x15\x63\xcb\xa7\x5d\xfa\xf8"
      "\xf4\xa9\xea\xdd\x06\x7d\xdf\x21\xfc\xc3\xe8\x43\x19\x75\xc7\x3d\xfd\x40"
      "\xe7\xe7\x7e\x29\x9f\x5f\x2f\x7b\x65\xbf\xd6\x85\xb1\x17\xcb\xfd\xbc\x2a"
      "\xf3\xb5\x9e\x07\x42\x76\x1d\xad\x37\xfa\x16\x9f\x03\x00\x00\x00\xfe\x2b"
      "\xd6\x5f\x2f\xe8\xfb\xe9\xe9\x97\xff\xd3\xb5\x55\xa7\x77\x6a\x9c\x8a\xe9"
      "\x73\x73\xff\x07\xff\x9d\x07\x05\xca\x06\x42\x82\x46\x04\xe6\x7f\x14\x7f"
      "\xe2\x93\x98\xd5\xcf\x4d\x2b\x7a\x21\xa9\x77\xc3\x7e\x33\xfb\x76\x78\x26"
      "\xb5\xc5\xd6\x35\x6f\x1c\xc9\xda\x99\x3a\x73\xd6\xcc\x9a\xa5\xb2\x52\xa2"
      "\x7f\x3c\x74\x67\xdf\xed\x3b\xab\xe5\xb4\xdb\x5f\xa1\xfd\xbd\xd1\x6d\x5e"
      "\xfe\x6a\x76\x48\x58\xc6\x85\xb8\x01\x15\xc7\x9c\x89\xdf\x38\xe1\xd1\x72"
      "\x09\x17\x2a\x2e\x58\x3e\x71\xe0\xca\x79\x77\x4f\x88\xfc\xe6\xa3\x83\x0d"
      "\x4b\x3f\x5f\xe7\xc2\xd3\x73\x1b\x5d\x5c\xd3\xbf\xe0\xfd\xac\xb9\xa3\x3a"
      "\x47\xfe\x75\xe5\x60\xc5\x25\x67\xfa\x7d\x7a\xed\xe8\xf7\x8b\x0b\x96\x67"
      "\x85\x66\xf5\x3c\x74\x64\xe8\x80\xa0\xcc\x3b\xee\x5a\xbf\xbb\xeb\xcb\x27"
      "\xfb\x47\x87\x6f\xcc\x7e\xf4\x87\x65\x4b\x16\xd4\xbe\x5a\x71\x5f\xe3\x12"
      "\x3f\x55\x9e\xd2\xe0\xca\x1b\x7b\xff\x6c\x1e\x5a\xfe\x4a\xad\xd3\x03\x2a"
      "\x6f\x0d\xff\xb2\x52\x8f\x55\x0f\x2f\x4b\x2a\x12\xbf\xfc\x83\x47\x2f\x24"
      "\x76\x8f\xbd\x71\xb0\x57\xd6\xb4\xe0\x91\x4d\x4a\x86\x7f\x98\x1a\xb5\x23"
      "\xa9\x76\xbd\xf9\xed\xdf\xed\x53\x7f\x7a\xf4\x1d\xb7\x4d\xae\x16\x37\xf7"
      "\xee\x57\x5e\xab\xb4\x2d\xac\xe8\xbe\xa8\x17\xeb\x87\xb5\x49\x9e\x7d\x7f"
      "\xf8\x92\xf7\x36\xcc\x7e\x6d\x55\xf9\xab\x23\x8a\x2d\x78\x35\x3d\xf7\xc0"
      "\x89\x9f\x52\xfb\xaf\xe8\x37\x76\xc7\xc0\x90\xfd\x7f\x84\xd5\x78\xaa\xc8"
      "\x86\xfc\x87\xbf\xda\x70\xcf\xe5\xfd\xc3\x83\x83\xbf\x9b\x3e\x69\x71\xef"
      "\xea\x3b\x8e\x96\xca\xa8\xda\xf4\xdb\x5f\xe6\x3f\x9e\x15\x77\xba\xe1\xf9"
      "\x77\x23\x9a\x7c\x34\xb4\x64\xee\x7d\xaf\xa5\x14\xf6\x38\xb7\x6a\x49\xd3"
      "\xd4\xb5\xaf\x87\x25\xef\x59\x75\x32\xbc\xdc\x5f\xdb\x1e\xc8\xe8\xf3\x64"
      "\xf9\x66\xf3\x3b\xdc\x18\xd7\xb6\x53\x68\x61\xe9\xdb\x5e\xff\x66\xd6\xea"
      "\xd1\x03\x6a\xc6\xfd\xeb\xad\xdc\xe4\xa3\x93\x4f\x9e\x78\xbd\x5d\xb3\xc8"
      "\x98\x4f\x37\x4e\xf9\x6e\xec\xa1\x09\xf9\x4f\x97\x3a\xf3\x7e\x5a\xda\xa2"
      "\x35\x9d\x82\x6b\x0c\x3b\x57\xed\xcd\x0b\x29\xcd\x7f\xa9\xf5\xd7\xb7\x39"
      "\x6b\x3e\x09\xfb\xad\xec\xee\xf2\xfb\x46\xe4\xac\xfd\x34\xb1\xff\x8d\x85"
      "\x59\x6b\x57\xf4\xed\x99\x11\xbd\x61\x65\x9d\xde\x67\x32\x8b\xdf\xd7\xbb"
      "\x5b\xf2\xe6\x9e\x35\xef\xca\xec\x99\x15\x94\x94\xff\xd0\xac\x67\x0e\xb4"
      "\xec\xdf\xb4\x7c\xd2\xd0\xbc\x9a\x61\x47\xbf\xca\xdf\xdd\xbf\x7d\x8f\x77"
      "\x7e\x5f\xfc\x8f\x17\x2a\xdc\x79\xbe\x55\xbf\x0d\xb9\x41\x09\xaf\xe4\xe5"
      "\xdc\xd8\x5a\xee\xe9\x3f\x32\xa7\x2c\xc8\x0a\xea\xf8\x6e\xd9\x3e\x83\x07"
      "\xc6\xad\xec\xbc\xb1\xfe\xa0\xf4\xdc\xaf\x1f\x1f\x35\xfb\xf5\xcd\x95\x5b"
      "\x5e\x59\xd7\xe7\x8e\x9a\xcd\xbf\xde\xdf\x22\xa2\xe1\x27\x99\x89\x99\xf1"
      "\xdd\xb2\xae\xee\x9f\x3f\xfd\x7a\xdd\x8c\x5e\x97\xfa\xa4\xac\x2a\xdc\x77"
      "\xf6\xec\x99\xe0\x46\xe3\x2b\x46\x4c\x29\x79\x3e\x34\xaa\x6e\x66\x93\xf8"
      "\x51\xcd\x9e\xd9\x57\x70\xe0\xd5\xb0\xb5\x3b\x66\x5f\xbe\xda\xb4\xd8\xc9"
      "\x7d\x9b\x27\x0e\x9c\xf9\x44\xdc\xb2\xfa\xc9\x5d\x7b\x54\x6b\x54\x3b\x65"
      "\x5d\xbf\x73\x15\xe2\x63\xda\x14\x4b\xd8\x77\x47\xc7\x19\x51\x25\x3a\x57"
      "\x1e\x9f\x1d\x76\x24\xba\x4a\xab\xbc\x62\x5f\x8d\x3c\x34\x6a\xda\xa6\xfe"
      "\xf5\x73\x6a\x5c\xbd\xad\xc9\xc4\xfa\xb1\xf9\x3d\x9f\xae\xf5\xf2\xa2\xc3"
      "\x09\x6f\xb6\x99\x5b\xb4\xc6\xb2\x98\xcf\xaf\x9f\xea\x75\x65\xeb\x03\x2d"
      "\xd6\x27\x9d\x3b\x36\xb6\x71\xf0\x88\xcf\xc3\xee\x1f\x56\xa9\xcc\xcf\xc5"
      "\x72\xee\x6d\xde\xff\xd9\x8d\xcd\xea\xe6\x35\xcd\xef\xbb\xac\x57\xf8\xd3"
      "\x05\x45\x66\xc4\x6c\xb9\x76\x6d\xc3\xba\xa9\x4b\x9b\xd5\xac\x12\xbc\x39"
      "\xa3\x6a\x8d\xb8\x2a\x0d\xfb\x97\xa9\x94\xbe\xab\x4b\x99\x72\xc7\xdb\xce"
      "\x5b\xb6\x2d\x10\xdf\xb0\xe3\xf4\x0f\x67\x1d\xae\xf9\xe0\x3d\xa1\x31\x55"
      "\xff\x91\x3e\x77\xe5\xf9\xb4\x75\x03\xbb\x9e\xbc\x5e\x38\x75\x59\x7c\xf3"
      "\xa9\x47\x66\xd7\x7a\x73\xec\x6f\xd7\x32\x7b\xc6\x0e\xe8\xfd\xd2\xb5\x37"
      "\xb2\xef\x78\xf1\xaf\x13\xc7\x27\x4e\x68\x7e\x63\xc3\xd7\x5d\xd3\x1a\x1c"
      "\x8e\x19\x14\xbd\x7c\xf2\xe5\x26\x9b\xe6\x3c\xfe\x62\xe1\xcc\xf0\x9a\xc5"
      "\x7f\xaf\x3a\xab\xe6\xfa\xae\x5d\x27\x65\xcf\x4d\x7c\xa0\xf5\xa0\xb8\xd7"
      "\xbe\xb9\x30\xb5\x20\x6b\x6b\xd2\xf6\xbd\x15\x3e\x7c\x2b\xab\xa0\xdb\x63"
      "\xa3\xda\xad\xdb\xf5\xc7\xfc\x25\xcf\x5d\x9e\x5d\xf5\x42\xa5\x0b\x17\xab"
      "\x4d\x3c\x57\x35\x71\xee\x13\x59\xe9\xb9\x29\x8f\x77\x5e\xd4\x7c\x7d\xd8"
      "\x07\xcf\xa4\x9c\x1b\x72\x7f\xc5\x4a\x69\xff\x6e\x91\x74\xe9\xa5\x9d\x41"
      "\xc9\x15\x06\xbc\xb3\x74\x53\xe8\x77\xb7\xf8\xb7\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\xf0\xff\xec\xf0\xa7\x83\xd2\xb6\x24\xaf\x8d\xef\x16"
      "\xba\x33\xaf\xf4\xf6\xc7\xde\x8f\x1a\x96\x7b\x7d\x6d\x5e\xe4\x81\x8f\xfb"
      "\x24\x1f\x1f\x32\x6c\x4f\xd6\xc6\x0e\xe5\xef\x9f\xda\x7c\xc1\x97\x0d\x76"
      "\x0e\x7f\xac\xc7\xfd\xe3\x96\x35\x2c\xf7\x4a\xc2\xf5\x9f\x1b\x3c\x73\x3e"
      "\x68\x64\xdb\xc9\xef\x3f\x5b\x61\x4a\x97\xa9\xef\x16\xdd\xd5\x36\xf9\xdf"
      "\x3d\xdb\xd5\xed\xd1\x74\xe8\x98\x09\x69\x85\xcb\x93\x1e\x18\xf8\xc3\x8c"
      "\x97\x1b\xd7\x5b\xfd\xeb\xc4\xc4\x8b\x8f\x34\xfe\xbe\xda\x53\x17\xde\xf9"
      "\xcf\x83\xed\x87\xfc\xf2\xfd\x23\x0f\x7e\xb2\xed\xf2\xf5\xb7\xdf\xfc\xf6"
      "\xe1\x4f\xe7\x87\x3f\xf6\x46\x93\x97\xbf\xad\x3b\xb8\xb0\x62\xf2\x9a\x8c"
      "\xbc\xf2\x43\xea\x55\x2d\x3b\x3e\xa1\xe1\xcd\x77\x05\x05\x02\x81\x90\xa0"
      "\x5b\xdb\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\xfc\xff\xe6\xcc\xf6\x26\xed\x16\xe7\x74\x9d\x54\xb4\x69\xef"
      "\x6a\x2b\x7e\x6a\x51\x18\x35\x2c\xf7\xfa\xda\xbc\xc8\x03\x87\xde\x4b\x5d"
      "\x37\xa4\xc2\x95\x65\x0d\xee\x59\xd2\xb5\x47\xca\xea\xfb\x86\x1e\x6b\x1c"
      "\xfb\xec\xd8\xf3\xbf\x8f\xfa\x47\xfe\xf4\x0d\xcf\xbf\x57\x2a\xfc\x9e\xbd"
      "\x2f\x5c\xeb\xd2\x2c\xf9\xc4\xec\xca\x11\x3d\x7a\xbf\xb5\xf5\xcd\x8f\x36"
      "\xd5\x2a\x3d\x6f\xfa\xd1\xb3\xa7\x8b\xd6\x0d\xaf\xf2\x5a\xed\xf4\xee\x0b"
      "\x3e\x9a\xfc\x43\xee\xbc\xde\x4d\x76\x34\x0a\xde\x36\xed\xd4\xb2\xf5\xad"
      "\x87\x75\x58\xd2\xa0\xec\xc0\x7b\xab\x24\xb4\xdf\x73\xf9\xa7\x8c\x66\xc5"
      "\xf6\x2f\x0f\xcd\x4a\x4d\x28\x78\x7b\xfd\xdd\x2b\x22\x26\xef\x3e\xdf\xba"
      "\xca\x91\xe2\x3f\x66\xdf\x7c\x57\x50\x20\x10\x08\xbd\xb5\xd5\x00\x00\x00"
      "\xc0\xff\x8c\xa8\x3a\xfb\x7e\x49\x2b\x3f\x7e\xec\xaf\x3d\x43\xfa\x07\x67"
      "\x3f\x5b\xf5\xe6\x0e\x2f\xf2\x77\x1e\x14\x28\x1e\x08\x0d\xdc\x16\x38\x53"
      "\xea\x78\xf4\xc0\xd1\x9d\x2b\x8f\xa9\x78\x6e\xf0\xcf\xe3\x96\x26\x2c\xfa"
      "\x73\xeb\xb8\x16\x91\x9b\x9e\x48\xad\x33\xe9\x6a\xec\x77\x2d\x3e\x59\x33"
      "\x61\x46\xec\xd4\x07\xee\xae\x1c\x5f\x6f\xee\xc8\x29\xa7\x4e\x55\xb8\xc5"
      "\x9f\x05\x00\x00\x00\xfc\x5f\x06\xd4\xd9\xb7\x77\x44\xcd\x3e\xf7\xdd\xbe"
      "\x75\x72\xe4\x13\x99\x79\x89\x37\xf7\x7f\xd0\xdf\x79\x50\xa0\x6c\x20\x24"
      "\xe8\x9f\x81\x8f\xbf\x6e\x13\x51\x64\xd8\x9c\xfa\x87\x2e\x35\xaf\xff\xe9"
      "\x6d\xa1\x87\xcb\xbc\xb7\x7a\xde\xab\x5b\x96\x9c\x8e\xeb\x3e\xf6\xe4\x95"
      "\xbc\x98\x05\xe3\xf6\x5c\x8f\xfd\x73\xcc\xf8\x6e\x6f\xee\xdb\xb4\xbc\xcd"
      "\xc0\x0f\x0e\x0e\x1e\x5a\xa9\xf5\x17\x21\x4d\x73\x3e\xf8\xb6\xc2\xe4\xb4"
      "\x86\x25\xcb\x34\xe8\x53\x6a\x4e\xdf\xfb\x9f\xfc\xfe\x60\x6c\xb9\x55\x75"
      "\xe6\x0c\xe9\x5c\x36\xaa\x69\xf0\xed\x41\x6d\xfe\xf9\x52\xec\xdc\xe8\x8e"
      "\x1f\x7c\x3e\x79\x5b\xe9\x8f\xa6\xce\xd8\xd2\xf1\x62\xb1\x2e\x39\x9b\x97"
      "\x7e\x12\x73\x57\xbd\xd3\xa9\x67\xe7\x75\x2e\x71\x7b\x5a\xe3\x39\x95\x6b"
      "\xb6\xfe\x77\xf3\x88\xee\x1d\x23\x67\x6c\x9a\x3b\xaa\x60\xf3\xda\xd1\xed"
      "\x46\xaf\xf8\x38\xa7\xf4\x9e\x7a\x05\x97\xf3\xff\x1a\x9d\x72\xcf\xf0\xfd"
      "\x23\xd6\x3f\x17\x13\x57\xa6\x43\xb5\xcc\x0e\x0b\xbe\xae\xd2\x7d\x42\x95"
      "\xb9\xb3\x2e\xb5\x59\x5c\xff\x48\xb1\x87\x57\x3e\x35\xa7\x5e\xf3\xf2\x4f"
      "\xae\x9a\xf9\xfb\xda\xab\x8f\x8f\x5c\xd4\xfb\xe3\xcf\x96\x7d\xde\x26\xa3"
      "\xdb\xd0\xe7\x3b\x3d\xf6\xd0\x17\x8f\x0c\x4d\xfc\x75\xec\xf3\x3f\x0f\x7f"
      "\xe5\xa3\x21\x83\x56\xff\x92\x35\xfa\x95\x56\x83\x6b\x3d\xf9\xfd\xa9\xd4"
      "\x3a\x7b\xc7\x4d\xb8\xad\xdc\xc0\xc1\x51\x5d\xfe\x73\x26\xf9\xb7\x37\x76"
      "\x7f\xd8\x3f\x62\xc3\xea\xaf\xaa\x76\x5b\x5a\xa3\xfc\xf6\x8e\x17\x92\x7e"
      "\x9a\xd2\xab\x73\x41\xc9\x15\xd3\x56\xfd\xb0\x60\x67\x8b\xad\x61\xf7\xcc"
      "\x3b\x9a\x37\xe3\xde\x47\x6f\xf1\x19\x01\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\xe0\xff\xb0\x03\x07\x02\x00\x00\x00\x00\x40\xfe\xaf\x8d\x50\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x85\xfd\xfa\x09\x8d\xa3\x7a\xe0\x00\xfe"
      "\x66\x77\xf3\xcb\x36\xdb\xf6\xb7\xad\x7f\x12\xdb\x82\xa9\x0a\x25\xd1\x40"
      "\x69\x2f\xf5\x1f\x48\x21\x5a\x15\x52\xc1\x83\x68\x51\x8a\x36\x6d\xa9\x6d"
      "\x4d\xed\xc1\x88\x52\x53\x45\xb2\x44\x90\x58\x2f\x82\x07\x6d\xa1\x1e\x3c"
      "\x68\x4a\x29\xd8\x1e\x44\x94\x06\x31\x85\x14\x41\x3d\x09\xb5\xf5\x20\xfe"
      "\x2f\x12\x29\x82\x46\x92\xcc\x24\x9b\x69\xc6\x34\xab\xe6\x50\x3f\x1f\x58"
      "\xde\xbe\x37\x33\xdf\x79\xef\xcd\xcb\xcb\x0e\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\xfc\xe7\xd5\x17\x9a\xc6\xcb\xc1\x17\xf7\xfe\xda"
      "\xb1\xac\xfd\x93\xe7\x3b\x47\x9e\xdb\x70\x62\xd7\xfe\x43\xbb\xee\x6a\x1f"
      "\xde\xdf\x7e\xcf\x2b\x7f\x1c\x7c\xe4\xf0\xd1\xdd\x6f\xd4\xef\x68\x5a\xb3"
      "\x65\xf7\xc6\xdb\x8e\xdc\x7e\xf4\xec\xd6\xab\x3a\x7e\x9f\x35\xb8\x7b\xa2"
      "\x68\x89\xab\xc5\x10\xa2\x91\x28\x84\xed\x07\xce\x7d\xd9\x7b\x72\xa8\x71"
      "\xac\x2d\x0a\x21\xe4\xa3\x72\x4f\x08\x4b\xa2\xdc\xc9\x25\x51\x2a\x61\xf5"
      "\x6f\x21\x84\x2d\x93\xfd\x9c\x7e\xf0\xbd\x91\xb5\x5b\xc7\xca\x9e\x97\xea"
      "\xa7\xb5\xff\x3f\x15\x92\x1e\x57\x28\xe5\x93\xfe\x4c\x28\x4f\xef\x2f\x97"
      "\x97\x62\xbc\xce\x5e\xbf\xe1\xa7\x1f\x76\x74\xdd\x3d\xd4\xff\xc0\x4d\x77"
      "\xb6\x2c\xeb\x7e\xb8\x67\xea\x94\xa8\x58\xb5\x9e\x42\x58\xbc\x39\x7d\x7d"
      "\x6e\x86\xdc\x47\x1f\xdb\xde\xda\xfa\x78\xe7\xd3\x4d\x9b\xf6\xed\xd9\x73"
      "\xf5\xb7\x6f\x17\xbe\xe8\x7d\xa8\xf5\xd3\xc3\x5f\x9d\xeb\x3c\x7b\x6d\x5f"
      "\xdf\x70\xee\xc7\xef\x6e\xbe\xf7\xf4\x67\xfb\x9e\xac\x0b\x21\x2c\x88\x3f"
      "\x63\x92\xd5\xda\x94\xdc\x3c\x2e\xef\x0b\x21\x34\x54\xe5\xaf\x9b\x65\x5c"
      "\xd7\x5d\xe2\xf8\xdb\x32\xea\x2b\xe2\xf2\x7f\x71\x59\x9a\x25\x27\x39\xbe"
      "\xf2\x12\xcf\x4f\x2b\xa4\xca\x86\x39\x5e\x3f\x57\x33\x3d\xb3\x7f\xd3\xc2"
      "\x79\xbe\x5f\x22\x19\xe7\xe2\xb8\x3c\x11\x97\x2d\x73\xcc\xc9\x27\x9f\x28"
      "\xe4\xa2\x50\x98\xdc\x8b\x77\x46\x53\x6b\x24\x54\x3d\xb7\x28\x44\xa1\xae"
      "\x6a\x1f\x8d\x42\x6e\xbc\x9e\x9b\xac\x87\xf1\x7a\x98\xaa\x47\xa9\x7a\x2e"
      "\x55\xcf\xd7\xa5\xc6\x35\x7e\xdf\x78\xa1\xe5\xa3\x68\x7a\x7b\x72\x5e\xaa"
      "\xbd\x39\x6e\x2f\xc4\xed\x2b\xab\xf7\xfa\x19\xdc\x9f\xd1\x7e\x4d\x5c\x16"
      "\xe3\x3f\xd4\x0b\x49\x3d\xa4\xbf\x4c\x28\x5d\xf4\x65\x72\x5c\xe3\x92\x7e"
      "\x9d\xf9\x8b\xbe\xcc\x87\x5c\xd5\x1e\x34\x53\x7b\xd2\xdf\x75\xf1\xc3\x28"
      "\xc5\x6d\xa5\x68\xe9\x45\xd7\x8c\xce\x20\x39\xf6\xfe\xce\xca\xb6\xa1\x27"
      "\xd6\xbf\x50\xce\xe8\x47\x34\x10\xc5\xf9\x51\x4d\xf9\xb7\x76\x2d\x3f\x56"
      "\xaa\xb4\x1d\x6a\xca\xca\xdf\x9c\x8b\xf3\x73\x35\xe5\x0f\x9f\xbf\x65\xf9"
      "\xd7\xc5\xcf\x8f\x65\xe6\xf7\x27\xf9\xf9\x9a\xf2\x8b\x43\x5d\x2f\x3f\xf3"
      "\xfd\x87\xab\x32\xe7\xe7\xe7\x64\x7e\x0a\x35\xe5\x7f\xd4\xdf\xfd\xea\x95"
      "\xeb\xbf\xd9\xd8\x9c\x95\xff\x66\x92\x5f\xac\x29\xff\x7c\x61\xd3\xa9\xd1"
      "\x9e\x23\x07\x32\xfb\xbf\x3a\x99\x9f\x05\x35\xe5\x0f\x3c\x78\xbc\xe3\xc2"
      "\xda\x77\xfa\x32\xf3\x43\x92\xdf\x50\x53\x7e\x73\x65\xf0\xf8\x5b\xbd\x8d"
      "\x07\x33\xf3\x3f\x48\xe6\xa7\x54\x53\xfe\xf5\x6d\x03\x95\x8f\x2b\x7b\x37"
      "\x64\xce\xff\xe9\x24\x7f\x51\x4d\xf9\x67\x46\xd7\xfc\xd2\x78\x6a\xf0\xdd"
      "\xcc\xf5\x79\x47\x32\x3f\xe5\x9a\xf2\x97\x6e\x5b\xb5\xa2\xfc\xd4\xb3\x37"
      "\x66\xed\x9d\x51\xcf\x7c\xff\x87\x05\xb8\xbc\x5c\x11\xff\xc6\xaa\xc4\xf5"
      "\x5a\xdf\x53\xff\xae\xaa\xf7\x85\xd7\xca\xd1\xc4\x6f\xbe\x85\xf1\x67\xd1"
      "\x3f\x79\xa3\x94\xa8\xea\xdd\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\xe0\x4f\x76\xe0\x40\x06\x00\x00\x00\x40\x98\xbf\x75"
      "\x1e\xed\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\xe0\xa3\x00\x00\x00\xff\xff\xcb\x29\x46"
      "\xf4",
      72180);
  syz_mount_image(
      /*fs=*/0x20011a00, /*dir=*/0x20011a40,
      /*flags=MS_I_VERSION|MS_POSIXACL|MS_REC|MS_SYNCHRONOUS|MS_STRICTATIME|0x8040*/
      0x181c050, /*opts=*/0x200001c0, /*chdir=*/1, /*size=*/0x119f4,
      /*img=*/0x20011ac0);
  return 0;
}

^ permalink raw reply	[relevance 1%]

* Re: [bug report] RIP: 0010:blk_flush_complete_seq+0x450/0x1060 observed during blktests nvme/tcp nvme/012
  @ 2024-05-09  6:15 64%                 ` Yi Zhang
  0 siblings, 0 replies; 200+ results
From: Yi Zhang @ 2024-05-09  6:15 UTC (permalink / raw)
  To: Chaitanya Kulkarni
  Cc: Sagi Grimberg, Johannes Thumshirn, Damien Le Moal, linux-block,
	open list:NVM EXPRESS DRIVER

Confirmed the issue was fixed with this patch.
https://lore.kernel.org/linux-block/20240501110907.96950-9-dlemoal@kernel.org/

On Sat, May 4, 2024 at 5:14 AM Chaitanya Kulkarni <chaitanyak@nvidia.com> wrote:
>
>
> >> This is something Damien added to his patch series. I just wonder, why I
> >> couldn't reproduce the failure, even with nvme-mpath enabled. I tried
> >> both nvme-tcp as well as nvme-loop without any problems.
> >
> > Not exactly sure.
> >
> >  From what I see blk_flush_complete_seq() will only call
> > blk_flush_restore_request() and
> > panic is for error != 0. And if that is the case, any request with its
> > bios stolen must panic.
> >
> > However, nvme-mpath always ends a stolen request with error = 0.
> >
> > Seems that there is code that may override the request error status in
> > flush_end_io() but I cannot
> > see it in the trace...
>
>
> I confirm that after several tries I cannot reproduced it either with
> and without multi-pathing, blktests is passing without any errors for
> both nvme-loop and nvme-tcp ....
>
> -ck
>
>


-- 
Best Regards,
  Yi Zhang


^ permalink raw reply	[relevance 64%]

* [Bug 218822] New: Delete the file from the upper layer directly, the file will become "Stale"
@ 2024-05-09  6:14 63% bugzilla-daemon
  2024-05-09  9:05 64% ` [Bug 218822] " bugzilla-daemon
  2024-05-09 18:57 64% ` bugzilla-daemon
  0 siblings, 2 replies; 200+ results
From: bugzilla-daemon @ 2024-05-09  6:14 UTC (permalink / raw)
  To: linux-ext4

https://bugzilla.kernel.org/show_bug.cgi?id=218822

            Bug ID: 218822
           Summary: Delete the file from the upper layer directly, the
                    file will become "Stale"
           Product: File System
           Version: 2.5
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: ext4
          Assignee: fs_ext4@kernel-bugs.osdl.org
          Reporter: Squall.Zhou@vecima.com
        Regression: No

The FS mount as following:
/dev/sda7 on / type ext4 (rw,relatime)
/dev/sda5 on /persistent type ext4 (rw,relatime)
overlay on /etc type overlay
(rw,relatime,lowerdir=/sysroot/etc,upperdir=/sysroot/persistent/platform/B/etc/upper,workdir=/sysroot/persistent/platform/B/etc/work)

1. I touched a file named "A" on /etc
2. I remove the file "A" from "/persistent/platform/B/etc/upper"
3. The file "A" in /etc will become "Stale"

root@exs1610ada83b:~ [B]# touch /etc/A
root@exs1610ada83b:~ [B]# rm /persistent/platform/B/etc/upper/A
root@exs1610ada83b:~ [B]# rm /etc/A
rm: can't remove '/etc/A': Stale file handle

Linux version:
root@exs1610ada83b:~ [B]# uname -a
Linux exs1610ada83b 5.10.184-intel-pk-standard #1 SMP PREEMPT Sun Jun 25
06:48:28 UTC 2023 x86_64 GNU/Linux

Thought, the /etc/A will be removed also.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 63%]

* Re: [BUG REPORT] Deadlock when executing xfs/708 on xfs-linux's for-next
  2024-05-08 16:09 64%   ` Darrick J. Wong
@ 2024-05-09  4:56 64%     ` Christoph Hellwig
  0 siblings, 0 replies; 200+ results
From: Christoph Hellwig @ 2024-05-09  4:56 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: Chandan Babu R, Linux-XFS mailing list

On Wed, May 08, 2024 at 09:09:33AM -0700, Darrick J. Wong wrote:
> > Do you have any odd kasan/lockdep features enabled?
> 
> Never mind that.
> 
> I /think/ I figured this out -- the xfarray_sort_scan function can
> return an error if a fatal signal has been received.  Unfortunately the
> callsites all assume that an error return means that si->folio doesn't
> point at a folio, so they don't bother calling xfarray_sort_scan_done,
> so we leak a locked page and that's what the folio_wait_bit_common is
> stuck on.

Yes, this looks a lot like it is tripping over a locked page.


^ permalink raw reply	[relevance 64%]

* Re: [Bug 218820] New: The empty file occupies incorrect blocks
  2024-05-08 13:33 57% [Bug 218820] New: The empty file occupies incorrect blocks bugzilla-daemon
@ 2024-05-09  3:35 54% ` Theodore Ts'o
  2024-05-09  3:35 53% ` [Bug 218820] " bugzilla-daemon
  2024-05-09  6:35 64% ` bugzilla-daemon
  2 siblings, 0 replies; 200+ results
From: Theodore Ts'o @ 2024-05-09  3:35 UTC (permalink / raw)
  To: bugzilla-daemon; +Cc: linux-ext4

On Wed, May 08, 2024 at 01:33:56PM +0000, bugzilla-daemon@kernel.org wrote:
> 
> The following is the triggering script:
> ```
> dd if=/dev/zero of=ext4-0.img bs=1M count=120
> mkfs.ext4 ext4-0.img
> g++ -static reproduce.c
> losetup /dev/loop0 ext4-0.img
> mkdir /root/mnt
> ./a.out
> stat /root/mnt/a
> ```
> 
> After run the script, you will get the following outputs:
> ```
>   File: /root/mnt/a
>   Size: 0               Blocks: 82         IO Block: 1024   regular empty file
> Device: 700h/1792d      Inode: 12          Links: 1
> Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
> Context: system_u:object_r:unlabeled_t:s0
> Access: 2024-05-08 11:47:48.000000000 +0000
> Modify: 2024-05-08 11:47:48.000000000 +0000
> Change: 2024-05-08 11:47:48.000000000 +0000
>  Birth: -
> ```

Thanks for the bug report.  What the reproducer script is doing is
opening a file for writing, and then remounting the file system to
disable delayhed allocations.  It then writes 40k to the file, and
then truncates the file, and close it.

The reproducer script leaves the file system mounted; if you unmount
the file system, the kernel will issue a warning message:

EXT4-fs (loop0): Inode 13 (0000000082f8ff6c): i_reserved_data_blocks (40) not cleared!

... and then if you examine the on-disk image, you'll see that the
i_blocks field is correct.


The root cause is that when the file is open, the address_operations
which is instaniated is one which is designed for delayed allocation.
So when 40k is written to the file, although we haven't allocated the
space yet, we *will* allocate the space, so we update in-memory
i_blocks to reflect the to-be-allocated disk space (although we don't
update the on-disk i_blocks until the allocation actually takes place,
so if we crash, the file system stays consistent).

However, some of the *other* logic is done based on whether the
delayed allocation flag is set in the struct super (as opposed to the
address_operations in the struct inode at the time that file is
opened).  This includes what happens when we truncate the file, where
in the nodelalloc case, the in-memory and on-disk i_blocks are in
sync, and when the blocks are delallocated, the i_blocks field is
dropped.  But since the blocks weren't actually allocated because the
file descriptor was in delalloc mode, there was nothing to
delallocate, so the in-memory i_blocks stayed elevanted.

There are a number ways of fixing this.  The simplest is to simply not
allow the delayed allocation mode to be changed on a remount.  Since
in the long term, once we fix some performance for some specialized
use case which has caused people to want to disable delayed
allocation, this is the one that probably makes the most sense.

The two other approaches involve a lot more complexity.  The first
alternate approach is to iterate over all open files, and resolve any
pending delayed allocations, and then update the address_operations to
use ext4_aops instead of ext4_da_aops, while avoiding the races
involving writes happening while we are trying to do the remount.
Yelch.

The second alternate approach is to treat the delayed allocation
status on a per-inode basis, with a per-inode flag indicating whether
delayed allocation is active, so that the truncate logic stays
consistent with the ext4_da_ops active on file descriptors associated
with the file.  But this gets super messy since subsequent file opens
on the inode also need to use the same delayed allocation mode until
the last file descriptor associated with the inode is closed.  Double
Yelch.

So preventing the "mount -o remount,nodelalloc" in the reproducer
program is how we'll address this issue.

					- Ted

^ permalink raw reply	[relevance 54%]

* [Bug 218820] The empty file occupies incorrect blocks
  2024-05-08 13:33 57% [Bug 218820] New: The empty file occupies incorrect blocks bugzilla-daemon
  2024-05-09  3:35 54% ` Theodore Ts'o
@ 2024-05-09  3:35 53% ` bugzilla-daemon
  2024-05-09  6:35 64% ` bugzilla-daemon
  2 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-09  3:35 UTC (permalink / raw)
  To: linux-ext4

https://bugzilla.kernel.org/show_bug.cgi?id=218820

--- Comment #1 from Theodore Tso (tytso@mit.edu) ---
On Wed, May 08, 2024 at 01:33:56PM +0000, bugzilla-daemon@kernel.org wrote:
> 
> The following is the triggering script:
> ```
> dd if=/dev/zero of=ext4-0.img bs=1M count=120
> mkfs.ext4 ext4-0.img
> g++ -static reproduce.c
> losetup /dev/loop0 ext4-0.img
> mkdir /root/mnt
> ./a.out
> stat /root/mnt/a
> ```
> 
> After run the script, you will get the following outputs:
> ```
>   File: /root/mnt/a
>   Size: 0               Blocks: 82         IO Block: 1024   regular empty
>   file
> Device: 700h/1792d      Inode: 12          Links: 1
> Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
> Context: system_u:object_r:unlabeled_t:s0
> Access: 2024-05-08 11:47:48.000000000 +0000
> Modify: 2024-05-08 11:47:48.000000000 +0000
> Change: 2024-05-08 11:47:48.000000000 +0000
>  Birth: -
> ```

Thanks for the bug report.  What the reproducer script is doing is
opening a file for writing, and then remounting the file system to
disable delayhed allocations.  It then writes 40k to the file, and
then truncates the file, and close it.

The reproducer script leaves the file system mounted; if you unmount
the file system, the kernel will issue a warning message:

EXT4-fs (loop0): Inode 13 (0000000082f8ff6c): i_reserved_data_blocks (40) not
cleared!

... and then if you examine the on-disk image, you'll see that the
i_blocks field is correct.


The root cause is that when the file is open, the address_operations
which is instaniated is one which is designed for delayed allocation.
So when 40k is written to the file, although we haven't allocated the
space yet, we *will* allocate the space, so we update in-memory
i_blocks to reflect the to-be-allocated disk space (although we don't
update the on-disk i_blocks until the allocation actually takes place,
so if we crash, the file system stays consistent).

However, some of the *other* logic is done based on whether the
delayed allocation flag is set in the struct super (as opposed to the
address_operations in the struct inode at the time that file is
opened).  This includes what happens when we truncate the file, where
in the nodelalloc case, the in-memory and on-disk i_blocks are in
sync, and when the blocks are delallocated, the i_blocks field is
dropped.  But since the blocks weren't actually allocated because the
file descriptor was in delalloc mode, there was nothing to
delallocate, so the in-memory i_blocks stayed elevanted.

There are a number ways of fixing this.  The simplest is to simply not
allow the delayed allocation mode to be changed on a remount.  Since
in the long term, once we fix some performance for some specialized
use case which has caused people to want to disable delayed
allocation, this is the one that probably makes the most sense.

The two other approaches involve a lot more complexity.  The first
alternate approach is to iterate over all open files, and resolve any
pending delayed allocations, and then update the address_operations to
use ext4_aops instead of ext4_da_aops, while avoiding the races
involving writes happening while we are trying to do the remount.
Yelch.

The second alternate approach is to treat the delayed allocation
status on a per-inode basis, with a per-inode flag indicating whether
delayed allocation is active, so that the truncate logic stays
consistent with the ext4_da_ops active on file descriptors associated
with the file.  But this gets super messy since subsequent file opens
on the inode also need to use the same delayed allocation mode until
the last file descriptor associated with the inode is closed.  Double
Yelch.

So preventing the "mount -o remount,nodelalloc" in the reproducer
program is how we'll address this issue.

                                        - Ted

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 53%]

* [PATCH 4.19.y 00/13] fix double-free bug causing by destroy_hist_field(data->onmax.var, 0)
@ 2024-05-09  2:29 54% George Guo
  0 siblings, 0 replies; 200+ results
From: George Guo @ 2024-05-09  2:29 UTC (permalink / raw)
  To: gregkh, rostedt, mhiramat, tom.zanussi; +Cc: stable

Hi,
 
There are 3 points about this bug:

1)
The onmax_destroy() destroyed the onmax var, casusing a double-free error
flagged by KASAN.

This is tested via "./ftracetest test.d/trigger/inter-event/trigger-onmatch-onmax-action-hist.tc".

==================================================================
BUG: KASAN: use-after-free in destroy_hist_field+0x1c2/0x200
Read of size 8 at addr ffff88800a4ad100 by task ftracetest/4731

CPU: 0 PID: 4731 Comm: ftracetest Kdump: loaded Tainted: GE 4.19.90-89 #77
Source Version: Unknown
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0
Call Trace:
 dump_stack+0xcb/0x10b
 print_address_description.cold+0x54/0x249
 kasan_report_error.cold+0x63/0xab
 ? destroy_hist_field+0x1c2/0x200
 ? hist_trigger_elt_data_alloc+0x5a0/0x5a0
 __asan_report_load8_noabort+0x8d/0xa0
 ? destroy_hist_field+0x1c2/0x200
 destroy_hist_field+0x1c2/0x200
 onmax_destroy+0x72/0x1e0
 ? hist_trigger_elt_data_alloc+0x5a0/0x5a0
 destroy_hist_data+0x236/0xa40
 event_hist_trigger_free+0x212/0x2f0
 ? update_cond_flag+0x128/0x170
 ? event_hist_trigger_func+0x2880/0x2880
 hist_unregister_trigger+0x2f2/0x4f0
 event_hist_trigger_func+0x168c/0x2880
 ? tracing_map_cmp_u64+0xa0/0xa0
 ? onmatch_create.constprop.0+0xf50/0xf50
 ? __mutex_lock_slowpath+0x10/0x10
 event_trigger_write+0x2f4/0x490
 ? trigger_start+0x180/0x180
 ? __fget_light+0x369/0x5d0
 ? count_memcg_event_mm+0x104/0x2b0
 ? trigger_start+0x180/0x180
 __vfs_write+0x81/0x100
 vfs_write+0x1e1/0x540
 ksys_write+0x12a/0x290
 ? __ia32_sys_read+0xb0/0xb0
 ? __close_fd+0x1d3/0x280
 do_syscall_64+0xe3/0x2d0
 entry_SYSCALL_64_after_hwframe+0x5c/0xc1
RIP: 0033:0x7fd7f4c44e04
Code: 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b3 0f 1f 80 00 00 00 00 
48 8d 05 39 34 0c 00 8b 00 85 c0 75 13 b8 01 00 00 00 0f 05 <48> 3d 00 
f0 ff ff 77 54 f3 c3 66 90 41 54 55 49 89 d4 53 48 89 f5
RSP: 002b:00007fff10370df8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 000000000000010f RCX: 00007fd7f4c44e04
RDX: 000000000000010f RSI: 000055fa765df650 RDI: 0000000000000001
RBP: 000055fa765df650 R08: 000000000000000a R09: 0000000000000000
R10: 000000000000000a R11: 0000000000000246 R12: 00007fd7f4d035c0
R13: 000000000000010f R14: 00007fd7f4d037c0 R15: 000000000000010f
==================================================================

2)
So remove the onmax_destroy() destroy_hist_field() call for that var.

just like this demo patch:
diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c
index 7dcb96305e56..58b8a2575b8c 100644
--- a/kernel/trace/trace_events_hist.c
+++ b/kernel/trace/trace_events_hist.c
@@ -3489,7 +3488,6 @@ static void onmax_destroy(struct action_data *data)
 	unsigned int i;
 
 	destroy_hist_field(data->onmax.max_var, 0);
-	destroy_hist_field(data->onmax.var, 0);
 
 	kfree(data->onmax.var_str);
 	kfree(data->onmax.fn_name);
-- 

3) 
And I found it has been fixed by upstream commit ff9d31d0d466.
So I am backporting these patches to linux-4.19.y.


Masami Hiramatsu (4):
  tracing: Simplify creation and deletion of synthetic events
  tracing: Add unified dynamic event framework
  tracing: Use dyn_event framework for synthetic events
  tracing: Remove unneeded synth_event_mutex

Steven Rostedt (VMware) (5):
  tracing: Consolidate trace_add/remove_event_call back to the nolock
    functions
  string.h: Add str_has_prefix() helper function
  tracing: Use str_has_prefix() helper for histogram code
  tracing: Use str_has_prefix() instead of using fixed sizes
  tracing: Have the historgram use the result of str_has_prefix() for
    len of prefix

Tom Zanussi (4):
  tracing: Refactor hist trigger action code
  tracing: Split up onmatch action data
  tracing: Generalize hist trigger onmax and save action
  tracing: Remove unnecessary var_ref destroy in track_data_destroy()

 include/linux/string.h           |   20 +
 include/linux/trace_events.h     |    2 -
 kernel/trace/Kconfig             |    4 +
 kernel/trace/Makefile            |    1 +
 kernel/trace/trace.c             |   26 +-
 kernel/trace/trace_dynevent.c    |  210 ++++++
 kernel/trace/trace_dynevent.h    |  119 ++++
 kernel/trace/trace_events.c      |   32 +-
 kernel/trace/trace_events_hist.c | 1048 ++++++++++++++++++------------
 kernel/trace/trace_probe.c       |    2 +-
 kernel/trace/trace_stack.c       |    2 +-
 11 files changed, 1008 insertions(+), 458 deletions(-)
 create mode 100644 kernel/trace/trace_dynevent.c
 create mode 100644 kernel/trace/trace_dynevent.h

-- 
2.34.1


^ permalink raw reply related	[relevance 54%]

* bug: git config --global --unset doesn't unset configs in corner case
@ 2024-05-09  2:13 64% Mike Hommey
  2024-05-09 16:23 64% ` Junio C Hamano
  0 siblings, 1 reply; 200+ results
From: Mike Hommey @ 2024-05-09  2:13 UTC (permalink / raw)
  To: git

Hi,

When both ~/.gitconfig and ~/.config/git/config exist, git will read
both. But when using `git config --global --unset`, it will only touch
the first one. So unsetting config items from ~/.config/git/config is
not possible from the command line when ~/.gitconfig exists.

Mike

^ permalink raw reply	[relevance 64%]

* kernel BUG in bch2_bkey_durability_safe
@ 2024-05-09  0:53  1% Ubisectech Sirius
  0 siblings, 0 replies; 200+ results
From: Ubisectech Sirius @ 2024-05-09  0:53 UTC (permalink / raw)
  To: linux-trace-kernel, linux-kernel; +Cc: kent.overstreet

[-- Attachment #1: Type: text/plain, Size: 4957 bytes --]

Hello.
We are Ubisectech Sirius Team, the vulnerability lab of China ValiantSec. Recently, our team has discovered a issue in Linux kernel 6.7. Attached to the email were a PoC file of the issue.

Stack dump:

bcachefs (loop0): mounting version 1.7: (unknown version) opts=metadata_checksum=none,data_checksum=none,nojournal_transaction_names
------------[ cut here ]------------
kernel BUG at fs/bcachefs/extents.h:57!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI
CPU: 1 PID: 9806 Comm: syz-executor.0 Not tainted 6.7.0 #2
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
RIP: 0010:extent_entry_type fs/bcachefs/extents.h:57 [inline]
RIP: 0010:extent_entry_type fs/bcachefs/extents.h:53 [inline]
RIP: 0010:bch2_bkey_durability_safe+0x3f3/0x4d0 fs/bcachefs/extents.c:699
Code: 8b 7c 24 10 e8 de 8b ff ff 4c 89 e0 48 c1 e8 03 42 80 3c 30 00 0f 85 a9 00 00 00 49 8b 1c 24 e9 0f ff ff ff e8 fe 84 bc fd 90 <0f> 0b e8 f6 84 bc fd 90 0f 0b e8 ee 84 bc fd 90 0f 0b e8 e6 84 bc
RSP: 0018:ffffc900036d6b40 EFLAGS: 00010246
RAX: 0000000000040000 RBX: 0000000000020040 RCX: ffffc90001ef9000
RDX: 0000000000040000 RSI: ffffffff83cd7152 RDI: 0000000000000005
RBP: ffffc900036d6c68 R08: 0000000000000005 R09: 0000000000000005
R10: 0000000000000006 R11: ffffffff81e082d5 R12: ffff88805abfe5b8
R13: 0000000000000006 R14: dffffc0000000000 R15: ffffc900036d6fa0
FS:  00007f10d2578640(0000) GS:ffff88807ec00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fddba11f3d0 CR3: 000000004498c000 CR4: 0000000000750ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
 <TASK>
 bch2_bkey_ptrs_to_text+0xeb/0x1760 fs/bcachefs/extents.c:985
 bch2_btree_ptr_v2_to_text+0x288/0x330 fs/bcachefs/extents.c:215
 bch2_val_to_text fs/bcachefs/bkey_methods.c:287 [inline]
 bch2_bkey_val_to_text+0x1c8/0x210 fs/bcachefs/bkey_methods.c:297
 journal_validate_key+0x7ab/0xb50 fs/bcachefs/journal_io.c:322
 journal_entry_btree_root_validate+0x31c/0x380 fs/bcachefs/journal_io.c:411
 bch2_journal_entry_validate+0xc7/0x130 fs/bcachefs/journal_io.c:752
 bch2_sb_clean_validate_late+0x14b/0x1e0 fs/bcachefs/sb-clean.c:32
 bch2_read_superblock_clean+0xbb/0x250 fs/bcachefs/sb-clean.c:160
 bch2_fs_recovery+0x113/0x52d0 fs/bcachefs/recovery.c:691
 bch2_fs_start+0x365/0x5e0 fs/bcachefs/super.c:978
 bch2_fs_open+0x1ac9/0x3890 fs/bcachefs/super.c:1968
 bch2_mount+0x538/0x13c0 fs/bcachefs/fs.c:1863
 legacy_get_tree+0x109/0x220 fs/fs_context.c:662
 vfs_get_tree+0x93/0x380 fs/super.c:1771
 do_new_mount fs/namespace.c:3337 [inline]
 path_mount+0x679/0x1e40 fs/namespace.c:3664
 do_mount fs/namespace.c:3677 [inline]
 __do_sys_mount fs/namespace.c:3886 [inline]
 __se_sys_mount fs/namespace.c:3863 [inline]
 __x64_sys_mount+0x287/0x310 fs/namespace.c:3863
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0x43/0x120 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x6f/0x77
RIP: 0033:0x7f10d1891b3e
Code: 48 c7 c0 ff ff ff ff eb aa e8 be 0d 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 f3 0f 1e fa 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f10d2577e38 EFLAGS: 00000202 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 0000000000011a03 RCX: 00007f10d1891b3e
RDX: 0000000020011a00 RSI: 0000000020000080 RDI: 00007f10d2577e90
RBP: 00007f10d2577ed0 R08: 00007f10d2577ed0 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000202 R12: 0000000020011a00
R13: 0000000020000080 R14: 00007f10d2577e90 R15: 0000000020011a80
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:extent_entry_type fs/bcachefs/extents.h:57 [inline]
RIP: 0010:extent_entry_type fs/bcachefs/extents.h:53 [inline]
RIP: 0010:bch2_bkey_durability_safe+0x3f3/0x4d0 fs/bcachefs/extents.c:699
Code: 8b 7c 24 10 e8 de 8b ff ff 4c 89 e0 48 c1 e8 03 42 80 3c 30 00 0f 85 a9 00 00 00 49 8b 1c 24 e9 0f ff ff ff e8 fe 84 bc fd 90 <0f> 0b e8 f6 84 bc fd 90 0f 0b e8 ee 84 bc fd 90 0f 0b e8 e6 84 bc
RSP: 0018:ffffc900036d6b40 EFLAGS: 00010246
RAX: 0000000000040000 RBX: 0000000000020040 RCX: ffffc90001ef9000
RDX: 0000000000040000 RSI: ffffffff83cd7152 RDI: 0000000000000005
RBP: ffffc900036d6c68 R08: 0000000000000005 R09: 0000000000000005
R10: 0000000000000006 R11: ffffffff81e082d5 R12: ffff88805abfe5b8
R13: 0000000000000006 R14: dffffc0000000000 R15: ffffc900036d6fa0
FS:  00007f10d2578640(0000) GS:ffff88802c600000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f2a00045038 CR3: 000000004498c000 CR4: 0000000000750ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554


Thank you for taking the time to read this email and we look forward to working with you further.










[-- Attachment #2: poc.c --]
[-- Type: application/octet-stream, Size: 340012 bytes --]

// autogenerated by syzkaller (https://github.com/google/syzkaller)

#define _GNU_SOURCE

#include <endian.h>
#include <errno.h>
#include <fcntl.h>
#include <setjmp.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <unistd.h>

#include <linux/loop.h>

#ifndef __NR_memfd_create
#define __NR_memfd_create 319
#endif

static unsigned long long procid;

//% This code is derived from puff.{c,h}, found in the zlib development. The
//% original files come with the following copyright notice:

//% Copyright (C) 2002-2013 Mark Adler, all rights reserved
//% version 2.3, 21 Jan 2013
//% This software is provided 'as-is', without any express or implied
//% warranty.  In no event will the author be held liable for any damages
//% arising from the use of this software.
//% Permission is granted to anyone to use this software for any purpose,
//% including commercial applications, and to alter it and redistribute it
//% freely, subject to the following restrictions:
//% 1. The origin of this software must not be misrepresented; you must not
//%    claim that you wrote the original software. If you use this software
//%    in a product, an acknowledgment in the product documentation would be
//%    appreciated but is not required.
//% 2. Altered source versions must be plainly marked as such, and must not be
//%    misrepresented as being the original software.
//% 3. This notice may not be removed or altered from any source distribution.
//% Mark Adler    madler@alumni.caltech.edu

//% BEGIN CODE DERIVED FROM puff.{c,h}

#define MAXBITS 15
#define MAXLCODES 286
#define MAXDCODES 30
#define MAXCODES (MAXLCODES + MAXDCODES)
#define FIXLCODES 288

struct puff_state {
  unsigned char* out;
  unsigned long outlen;
  unsigned long outcnt;
  const unsigned char* in;
  unsigned long inlen;
  unsigned long incnt;
  int bitbuf;
  int bitcnt;
  jmp_buf env;
};
static int puff_bits(struct puff_state* s, int need)
{
  long val = s->bitbuf;
  while (s->bitcnt < need) {
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    val |= (long)(s->in[s->incnt++]) << s->bitcnt;
    s->bitcnt += 8;
  }
  s->bitbuf = (int)(val >> need);
  s->bitcnt -= need;
  return (int)(val & ((1L << need) - 1));
}
static int puff_stored(struct puff_state* s)
{
  s->bitbuf = 0;
  s->bitcnt = 0;
  if (s->incnt + 4 > s->inlen)
    return 2;
  unsigned len = s->in[s->incnt++];
  len |= s->in[s->incnt++] << 8;
  if (s->in[s->incnt++] != (~len & 0xff) ||
      s->in[s->incnt++] != ((~len >> 8) & 0xff))
    return -2;
  if (s->incnt + len > s->inlen)
    return 2;
  if (s->outcnt + len > s->outlen)
    return 1;
  for (; len--; s->outcnt++, s->incnt++) {
    if (s->in[s->incnt])
      s->out[s->outcnt] = s->in[s->incnt];
  }
  return 0;
}
struct puff_huffman {
  short* count;
  short* symbol;
};
static int puff_decode(struct puff_state* s, const struct puff_huffman* h)
{
  int first = 0;
  int index = 0;
  int bitbuf = s->bitbuf;
  int left = s->bitcnt;
  int code = first = index = 0;
  int len = 1;
  short* next = h->count + 1;
  while (1) {
    while (left--) {
      code |= bitbuf & 1;
      bitbuf >>= 1;
      int count = *next++;
      if (code - count < first) {
        s->bitbuf = bitbuf;
        s->bitcnt = (s->bitcnt - len) & 7;
        return h->symbol[index + (code - first)];
      }
      index += count;
      first += count;
      first <<= 1;
      code <<= 1;
      len++;
    }
    left = (MAXBITS + 1) - len;
    if (left == 0)
      break;
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    bitbuf = s->in[s->incnt++];
    if (left > 8)
      left = 8;
  }
  return -10;
}
static int puff_construct(struct puff_huffman* h, const short* length, int n)
{
  int len;
  for (len = 0; len <= MAXBITS; len++)
    h->count[len] = 0;
  int symbol;
  for (symbol = 0; symbol < n; symbol++)
    (h->count[length[symbol]])++;
  if (h->count[0] == n)
    return 0;
  int left = 1;
  for (len = 1; len <= MAXBITS; len++) {
    left <<= 1;
    left -= h->count[len];
    if (left < 0)
      return left;
  }
  short offs[MAXBITS + 1];
  offs[1] = 0;
  for (len = 1; len < MAXBITS; len++)
    offs[len + 1] = offs[len] + h->count[len];
  for (symbol = 0; symbol < n; symbol++)
    if (length[symbol] != 0)
      h->symbol[offs[length[symbol]]++] = symbol;
  return left;
}
static int puff_codes(struct puff_state* s, const struct puff_huffman* lencode,
                      const struct puff_huffman* distcode)
{
  static const short lens[29] = {3,  4,  5,  6,   7,   8,   9,   10,  11, 13,
                                 15, 17, 19, 23,  27,  31,  35,  43,  51, 59,
                                 67, 83, 99, 115, 131, 163, 195, 227, 258};
  static const short lext[29] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2,
                                 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0};
  static const short dists[30] = {
      1,    2,    3,    4,    5,    7,    9,    13,    17,    25,
      33,   49,   65,   97,   129,  193,  257,  385,   513,   769,
      1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577};
  static const short dext[30] = {0, 0, 0,  0,  1,  1,  2,  2,  3,  3,
                                 4, 4, 5,  5,  6,  6,  7,  7,  8,  8,
                                 9, 9, 10, 10, 11, 11, 12, 12, 13, 13};
  int symbol;
  do {
    symbol = puff_decode(s, lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 256) {
      if (s->outcnt == s->outlen)
        return 1;
      if (symbol)
        s->out[s->outcnt] = symbol;
      s->outcnt++;
    } else if (symbol > 256) {
      symbol -= 257;
      if (symbol >= 29)
        return -10;
      int len = lens[symbol] + puff_bits(s, lext[symbol]);
      symbol = puff_decode(s, distcode);
      if (symbol < 0)
        return symbol;
      unsigned dist = dists[symbol] + puff_bits(s, dext[symbol]);
      if (dist > s->outcnt)
        return -11;
      if (s->outcnt + len > s->outlen)
        return 1;
      while (len--) {
        if (dist <= s->outcnt && s->out[s->outcnt - dist])
          s->out[s->outcnt] = s->out[s->outcnt - dist];
        s->outcnt++;
      }
    }
  } while (symbol != 256);
  return 0;
}
static int puff_fixed(struct puff_state* s)
{
  static int virgin = 1;
  static short lencnt[MAXBITS + 1], lensym[FIXLCODES];
  static short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  static struct puff_huffman lencode, distcode;
  if (virgin) {
    lencode.count = lencnt;
    lencode.symbol = lensym;
    distcode.count = distcnt;
    distcode.symbol = distsym;
    short lengths[FIXLCODES];
    int symbol;
    for (symbol = 0; symbol < 144; symbol++)
      lengths[symbol] = 8;
    for (; symbol < 256; symbol++)
      lengths[symbol] = 9;
    for (; symbol < 280; symbol++)
      lengths[symbol] = 7;
    for (; symbol < FIXLCODES; symbol++)
      lengths[symbol] = 8;
    puff_construct(&lencode, lengths, FIXLCODES);
    for (symbol = 0; symbol < MAXDCODES; symbol++)
      lengths[symbol] = 5;
    puff_construct(&distcode, lengths, MAXDCODES);
    virgin = 0;
  }
  return puff_codes(s, &lencode, &distcode);
}
static int puff_dynamic(struct puff_state* s)
{
  static const short order[19] = {16, 17, 18, 0, 8,  7, 9,  6, 10, 5,
                                  11, 4,  12, 3, 13, 2, 14, 1, 15};
  int nlen = puff_bits(s, 5) + 257;
  int ndist = puff_bits(s, 5) + 1;
  int ncode = puff_bits(s, 4) + 4;
  if (nlen > MAXLCODES || ndist > MAXDCODES)
    return -3;
  short lengths[MAXCODES];
  int index;
  for (index = 0; index < ncode; index++)
    lengths[order[index]] = puff_bits(s, 3);
  for (; index < 19; index++)
    lengths[order[index]] = 0;
  short lencnt[MAXBITS + 1], lensym[MAXLCODES];
  struct puff_huffman lencode = {lencnt, lensym};
  int err = puff_construct(&lencode, lengths, 19);
  if (err != 0)
    return -4;
  index = 0;
  while (index < nlen + ndist) {
    int symbol;
    int len;
    symbol = puff_decode(s, &lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 16)
      lengths[index++] = symbol;
    else {
      len = 0;
      if (symbol == 16) {
        if (index == 0)
          return -5;
        len = lengths[index - 1];
        symbol = 3 + puff_bits(s, 2);
      } else if (symbol == 17)
        symbol = 3 + puff_bits(s, 3);
      else
        symbol = 11 + puff_bits(s, 7);
      if (index + symbol > nlen + ndist)
        return -6;
      while (symbol--)
        lengths[index++] = len;
    }
  }
  if (lengths[256] == 0)
    return -9;
  err = puff_construct(&lencode, lengths, nlen);
  if (err && (err < 0 || nlen != lencode.count[0] + lencode.count[1]))
    return -7;
  short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  struct puff_huffman distcode = {distcnt, distsym};
  err = puff_construct(&distcode, lengths + nlen, ndist);
  if (err && (err < 0 || ndist != distcode.count[0] + distcode.count[1]))
    return -8;
  return puff_codes(s, &lencode, &distcode);
}
static int puff(unsigned char* dest, unsigned long* destlen,
                const unsigned char* source, unsigned long sourcelen)
{
  struct puff_state s = {
      .out = dest,
      .outlen = *destlen,
      .outcnt = 0,
      .in = source,
      .inlen = sourcelen,
      .incnt = 0,
      .bitbuf = 0,
      .bitcnt = 0,
  };
  int err;
  if (setjmp(s.env) != 0)
    err = 2;
  else {
    int last;
    do {
      last = puff_bits(&s, 1);
      int type = puff_bits(&s, 2);
      err = type == 0 ? puff_stored(&s)
                      : (type == 1 ? puff_fixed(&s)
                                   : (type == 2 ? puff_dynamic(&s) : -1));
      if (err != 0)
        break;
    } while (!last);
  }
  *destlen = s.outcnt;
  return err;
}

//% END CODE DERIVED FROM puff.{c,h}

#define ZLIB_HEADER_WIDTH 2

static int puff_zlib_to_file(const unsigned char* source,
                             unsigned long sourcelen, int dest_fd)
{
  if (sourcelen < ZLIB_HEADER_WIDTH)
    return 0;
  source += ZLIB_HEADER_WIDTH;
  sourcelen -= ZLIB_HEADER_WIDTH;
  const unsigned long max_destlen = 132 << 20;
  void* ret = mmap(0, max_destlen, PROT_WRITE | PROT_READ,
                   MAP_PRIVATE | MAP_ANON, -1, 0);
  if (ret == MAP_FAILED)
    return -1;
  unsigned char* dest = (unsigned char*)ret;
  unsigned long destlen = max_destlen;
  int err = puff(dest, &destlen, source, sourcelen);
  if (err) {
    munmap(dest, max_destlen);
    errno = -err;
    return -1;
  }
  if (write(dest_fd, dest, destlen) != (ssize_t)destlen) {
    munmap(dest, max_destlen);
    return -1;
  }
  return munmap(dest, max_destlen);
}

static int setup_loop_device(unsigned char* data, unsigned long size,
                             const char* loopname, int* loopfd_p)
{
  int err = 0, loopfd = -1;
  int memfd = syscall(__NR_memfd_create, "syzkaller", 0);
  if (memfd == -1) {
    err = errno;
    goto error;
  }
  if (puff_zlib_to_file(data, size, memfd)) {
    err = errno;
    goto error_close_memfd;
  }
  loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    err = errno;
    goto error_close_memfd;
  }
  if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
    if (errno != EBUSY) {
      err = errno;
      goto error_close_loop;
    }
    ioctl(loopfd, LOOP_CLR_FD, 0);
    usleep(1000);
    if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
      err = errno;
      goto error_close_loop;
    }
  }
  close(memfd);
  *loopfd_p = loopfd;
  return 0;

error_close_loop:
  close(loopfd);
error_close_memfd:
  close(memfd);
error:
  errno = err;
  return -1;
}

static void reset_loop_device(const char* loopname)
{
  int loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    return;
  }
  if (ioctl(loopfd, LOOP_CLR_FD, 0)) {
  }
  close(loopfd);
}

static long syz_mount_image(volatile long fsarg, volatile long dir,
                            volatile long flags, volatile long optsarg,
                            volatile long change_dir,
                            volatile unsigned long size, volatile long image)
{
  unsigned char* data = (unsigned char*)image;
  int res = -1, err = 0, need_loop_device = !!size;
  char* mount_opts = (char*)optsarg;
  char* target = (char*)dir;
  char* fs = (char*)fsarg;
  char* source = NULL;
  char loopname[64];
  if (need_loop_device) {
    int loopfd;
    memset(loopname, 0, sizeof(loopname));
    snprintf(loopname, sizeof(loopname), "/dev/loop%llu", procid);
    if (setup_loop_device(data, size, loopname, &loopfd) == -1)
      return -1;
    close(loopfd);
    source = loopname;
  }
  mkdir(target, 0777);
  char opts[256];
  memset(opts, 0, sizeof(opts));
  if (strlen(mount_opts) > (sizeof(opts) - 32)) {
  }
  strncpy(opts, mount_opts, sizeof(opts) - 32);
  if (strcmp(fs, "iso9660") == 0) {
    flags |= MS_RDONLY;
  } else if (strncmp(fs, "ext", 3) == 0) {
    bool has_remount_ro = false;
    char* remount_ro_start = strstr(opts, "errors=remount-ro");
    if (remount_ro_start != NULL) {
      char after = *(remount_ro_start + strlen("errors=remount-ro"));
      char before = remount_ro_start == opts ? '\0' : *(remount_ro_start - 1);
      has_remount_ro = ((before == '\0' || before == ',') &&
                        (after == '\0' || after == ','));
    }
    if (strstr(opts, "errors=panic") || !has_remount_ro)
      strcat(opts, ",errors=continue");
  } else if (strcmp(fs, "xfs") == 0) {
    strcat(opts, ",nouuid");
  }
  res = mount(source, target, fs, flags, opts);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  res = open(target, O_RDONLY | O_DIRECTORY);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  if (change_dir) {
    res = chdir(target);
    if (res == -1) {
      err = errno;
    }
  }

error_clear_loop:
  if (need_loop_device)
    reset_loop_device(loopname);
  errno = err;
  return res;
}

int main(void)
{
  syscall(__NR_mmap, /*addr=*/0x1ffff000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x20000000ul, /*len=*/0x1000000ul,
          /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x21000000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);

  memcpy((void*)0x20011a00, "bcachefs\000", 9);
  memcpy((void*)0x20000080,
         "\023\023w\305\3745\324\024T\325\324\035)\255\032`)"
         "Y\201F\346\276\026nA\255\r\275@T\003<\2373\273\332\202$"
         "\242\363\327r\347cnH\263<\277p\203r\350\361\271\223>"
         "\305\022wC\276\"\006 \236\360-\371\313\362\366\350\200\3238/\000",
         78);
  *(uint8_t*)0x20011a80 = 0;
  memcpy(
      (void*)0x200234c0,
      "\x78\x9c\xec\xd9\x0b\x54\x4e\x5f\xc3\xef\xfd\xab\x83\x8a\x94\x8a\x28\x45"
      "\x0e\x29\xa2\x10\x2a\x94\x73\x51\x0e\x91\x73\x91\x14\x9d\x48\x91\x52\x0e"
      "\x95\x53\x4a\xa4\x83\x10\xa5\x50\x49\x22\x39\xa5\x24\x42\x2a\x45\x84\x42"
      "\xa1\x42\x67\x15\x51\x74\xe0\x1d\xcf\xbd\xd9\xcf\xbd\xef\xfd\xfc\xdf\xbd"
      "\xf7\xff\x7d\xdf\x67\x8f\xf1\xee\xef\x67\x8c\x6b\xcc\x35\xe7\x5c\xd7\x6f"
      "\xcd\x35\xaf\xd9\x6a\xad\xb1\x04\x00\x00\x00\x00\x80\xff\x23\x3c\xd8\xeb"
      "\xda\x32\xaf\xaf\xe1\xc3\x5d\x6b\xbf\x79\xcf\x4a\x73\xda\x29\x90\x14\xf9"
      "\x47\xbb\xc4\x9f\x1d\x64\x7e\x97\x1e\xff\xbb\x46\x88\xff\x3c\xfe\x02\x81"
      "\x40\xe1\x1f\x5b\xff\xba\x2e\x4e\x3b\xcd\x34\x2c\xd8\x69\x68\x12\xfc\xf3"
      "\x94\x65\xec\x95\x0d\x51\xe2\x8e\x0a\xda\x6b\x36\x98\xea\x27\x1b\x5c\xa9"
      "\xb0\x95\x9f\xd7\xf9\x3f\x4a\xfe\xb3\x9e\x86\xfd\x7b\x5d\xe8\x9b\x90\x40"
      "\x60\x1f\xf2\xfe\xcd\xbe\xac\xbc\x3e\xff\xd6\x26\x24\x10\x08\x44\x84\x64"
      "\x7c\x04\x02\x59\x21\xe1\x2c\x59\xa1\x7f\x89\x18\xd5\x26\x10\x08\xd6\xfc"
      "\xae\x88\x8b\xfe\xb7\x9d\x37\xbe\x8d\xb1\xfd\xb7\xd2\x27\x40\xfc\xbf\x69"
      "\xef\xf1\x2f\x21\xac\xf7\xff\xb3\x49\xfc\x5e\x67\x27\x54\x1b\x3f\x39\xba"
      "\x18\xe7\x05\x2d\x1d\x61\x34\xac\xaf\xc7\x4a\x9f\x7f\xdf\x45\x48\xe2\x9f"
      "\xd6\x93\x40\x20\x6d\xf5\xaf\xdf\x17\xfe\x0f\x72\xad\x6d\xec\x35\x34\xd6"
      "\xad\xf5\x54\xb0\xf0\xda\xb8\xb1\x77\x6d\x82\x68\xf1\x3e\x73\x8d\xc2\xd8"
      "\xf2\xf7\x6b\x2b\x54\xf6\xef\x2f\x10\x6e\xa8\x1b\x3f\xfb\xc9\x0b\xaf\x4d"
      "\x5d\x04\x02\x41\xd7\xdf\x9f\x7f\xf3\x67\xb5\x2a\xfc\x39\xf8\xef\x72\xbe"
      "\x40\x20\xe8\xf6\x4f\xf9\x7a\xff\x83\xf3\x1a\xf4\x3f\x79\xfe\x9a\x7f\x51"
      "\x57\xfe\x5d\x8a\xfd\x2e\x25\xff\x07\x39\x7f\xfa\x07\xfe\x4f\xee\xff\xaf"
      "\x44\xff\xa5\xec\xf6\xbf\xf8\xfd\xff\x55\xff\xd1\x6f\xf6\xff\xa5\xee\xff"
      "\xc9\xc7\xfb\xe3\xcf\x79\x4a\xff\x2e\xd3\x7e\x97\xc3\xfe\x17\x73\x44\xfe"
      "\x7c\x84\x04\xc2\x42\x02\xd1\xff\x7a\x2d\x5e\x2f\xf4\xef\x6b\x44\xf0\x4f"
      "\xbf\x9b\x90\x40\x48\xd0\xe5\x9f\xae\xa3\x42\x02\xe1\x7f\xd4\x85\xff\x6b"
      "\x5d\xf0\x8f\xba\xe0\xdf\xeb\x42\xff\x52\x17\xfe\x97\xba\x48\x97\x7f\x39"
      "\xaf\x7f\x1c\xf7\xf7\x42\x13\x11\x12\xfa\x6f\xdb\xff\xec\xf7\x2f\xed\x03"
      "\x7e\xb7\x8b\xfe\x6e\x1f\xf8\xcf\xd7\xfa\xff\xc0\xc2\xbf\x68\x57\xfc\x5d"
      "\x4a\xfc\xfe\x43\xfd\xfe\xa7\x2e\xf8\xd7\x8d\xff\x42\xf2\xbf\xdb\xf8\xaf"
      "\xe7\xf5\x0f\x7f\xc6\x55\xf6\x7f\x33\x96\xff\x0c\xc2\xff\x74\x0d\xfa\x8f"
      "\xda\xff\x8c\x57\xef\xf7\x8f\x21\xf9\xbb\x4d\x52\x48\xee\xbf\xfb\xce\xaf"
      "\xff\xc0\x9f\xbe\x8c\xf5\x7e\x76\x79\xce\xd3\x76\xcb\xfc\xc5\x38\x84\x2e"
      "\x09\xfd\xce\x17\xfa\x5b\xf9\x13\x5d\x94\xae\x49\xfa\x69\x9e\x56\xf8\xab"
      "\x7c\x2b\xe1\xdf\xf9\xc2\x7f\x2b\xbf\xe0\xf3\x04\xa5\x0f\x12\x45\xd7\xfe"
      "\x32\x3f\xe8\x4f\xbe\xc8\xdf\xca\x97\xc8\x73\x09\xdc\x56\x7f\x57\xfd\x2f"
      "\xe7\xa7\xe9\xcf\xfc\x88\xfe\xad\xfc\x7b\x41\x1e\xa1\xbd\xa6\x55\x9b\x0e"
      "\xf8\xab\xfc\xe8\x3f\xf9\x12\x7f\x2b\xff\xb3\xa8\x45\xfe\x2f\x9f\xe4\x90"
      "\xbf\x1c\xff\xa8\x3f\xf3\xd3\xf5\x6f\xe5\x5f\x5a\x9e\x3a\xef\xfb\x98\x8b"
      "\xfb\xff\x32\x5f\xf0\x27\xbf\xdb\xdf\xca\x1f\xe0\xf7\x20\x35\x6e\x5f\x9f"
      "\x53\x7f\x99\x7f\xe7\xcf\xfc\x48\xfe\xad\xfc\xc1\x9a\x97\xfc\x72\xfc\x5c"
      "\x67\xfd\xe5\xfc\x3f\xf9\x93\x2f\xf5\xb7\xf2\xcb\x7e\x69\x37\xf7\xc9\x7f"
      "\x90\xf4\x97\xeb\x73\xca\x9f\xf9\x91\xf9\x5b\xf9\x72\x76\xea\xca\x32\x5b"
      "\xb6\x0f\xff\xab\x6b\xa7\x90\xcf\x7f\xf6\x7f\x58\x00\xf8\xff\x97\x9e\xbf"
      "\xef\xb1\xfc\x7e\xd7\xff\xee\x73\xea\xff\x53\xff\xf4\xbc\x70\x4c\x46\xe8"
      "\xbf\xdc\xf3\x75\xff\xfd\x91\xfa\x7f\xf3\x40\xff\x42\xe8\x9f\x9e\x5d\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\xff\xe7\x5a\xed\x7c\x5a\x7c\x46\x94\xa1\x92\xfe\x02\x49\xf7\x49\x2d"
      "\x0f\xe7\x04\x19\x0c\xa9\x94\xbe\xda\x67\x83\xe8\xef\x7e\x71\x51\x81\xe0"
      "\xdf\xb6\x85\x44\x04\x82\xf7\x47\x6b\xf2\x9f\x44\x4f\xd9\xb7\xfc\xc6\xb9"
      "\x9c\x6d\x7e\xdb\x06\x8d\x13\x4f\x29\x9a\x24\x63\x79\xea\x59\x55\xdd\xc2"
      "\xe0\xf8\xed\xb7\x3d\xa3\x0b\xfb\x4e\xb6\xea\xba\x7b\xa1\x69\xa9\xe8\xb8"
      "\xc0\x8c\xcc\xf2\xb3\x4d\xf3\x2c\xa3\x2f\x29\x3a\x8f\x5e\xf6\x62\xe4\xed"
      "\x1b\x43\x7c\xed\x2c\x4f\x78\x59\x64\x4f\x1c\x35\xba\xf6\x9a\x20\x7e\x92"
      "\xb1\x6b\xdc\x86\xf3\x0f\x5b\xd2\x74\x6e\xf5\x9a\x71\xea\xc0\xea\x2e\x79"
      "\x1b\x7a\xf7\x95\x7e\x18\xf8\x6c\x6b\xe2\x23\xed\x6e\x57\x0b\x64\xc2\xcf"
      "\x3d\x7f\x5f\xdf\xe5\xeb\xf7\x99\xcd\xb5\x63\x7a\x8e\xe8\xde\xbe\x26\x2c"
      "\xe7\xf3\x98\x6f\xe5\xb2\xa5\x37\xae\x47\xed\xd4\x5f\xa9\x5d\x38\xff\x6e"
      "\x73\x9d\x96\x42\xa4\x54\xaf\x96\xd7\x21\xb9\x33\x1b\xde\x6f\x7a\x78\xf8"
      "\xd0\xad\x3e\x87\x75\x44\x87\xd9\xde\x5c\x58\xa6\x63\x3c\xc9\x48\x5e\x7b"
      "\xf7\x17\xf5\x5e\x0a\x96\x99\x42\x5f\x56\xe6\xfc\x34\x99\xab\xa7\xf3\xe0"
      "\xbc\xf4\x97\xec\x28\x87\x29\x92\xb2\x62\x2e\x05\x21\x4b\x83\x76\x7d\xdd"
      "\xd2\x43\xed\xc2\xfc\x8a\x82\x92\xb3\x53\x33\xc6\x69\x7a\xf8\x29\x7c\xd4"
      "\x18\x97\xa2\x24\xfa\xf3\xc9\xb9\xd5\xd9\xf3\x2c\xc6\x2e\x2d\x5c\xf3\xf6"
      "\x80\xac\x68\xec\x82\xe1\xdb\x3c\x35\x26\x5b\x0f\xb7\x1b\xda\x43\x3a\xb4"
      "\xd7\x1b\x7d\xdf\x23\x9b\xe6\x84\xb5\x5b\xcd\xbd\xe7\x30\xb8\x2c\xd6\xec"
      "\x51\xfc\x99\x1e\x45\xbb\x27\x34\x89\x85\x7a\x3f\x1d\x28\xfe\x35\x6d\xbd"
      "\x7f\xe3\x93\xc7\x05\xe6\x63\xaf\x99\x6b\x86\xba\x3d\x3b\xd7\x9a\xd6\xd3"
      "\xd5\x28\xff\xfb\xa7\xa5\x3e\x11\x2e\x16\x6d\x5b\xce\xf5\xf4\xf4\x9a\x23"
      "\x9c\x70\x65\x9c\xe2\xfa\x6a\x85\xe8\x6b\xd2\x7d\x8a\x62\x6e\xdf\x0a\x7c"
      "\xd1\x63\x8c\x6b\x56\xdb\x0e\xd9\x7a\x95\xcc\x68\xef\x13\x6b\xad\x6c\xa7"
      "\xfa\xb5\x9c\x33\xc8\xf6\x90\xcf\x2d\x7e\x2a\xb2\x31\x70\xe8\x84\xe6\xbd"
      "\x71\x19\xd1\xc3\xc7\x78\x78\x96\xcc\xf6\x3e\xe0\x69\x90\x55\x20\x6b\x31"
      "\x43\x51\x2c\xef\xc7\xd6\x27\x1b\x2f\x2c\xdd\x58\x11\x3a\xbc\xd5\x59\xdc"
      "\x28\x67\xf7\xfb\x85\x7a\xc5\x41\x16\x92\xe3\xd6\x7b\x6c\x79\x6c\xf7\xf3"
      "\x63\xb4\x6b\x86\xb6\xb5\x43\x81\xa2\xfc\xcf\x77\x8d\xcd\x53\x56\x58\xa6"
      "\x4b\x36\x6f\x93\xbd\x39\x5e\xaa\x23\xa5\xf3\xe1\x26\xe3\xcb\x03\x17\x34"
      "\x5c\x50\x31\xff\xdc\x4b\x5c\x28\xc3\xd3\x47\x47\xe3\xd3\xa4\xa6\x17\x53"
      "\xb7\x4e\xf5\x29\xed\xd9\x6b\xce\x88\x0e\xe3\xb7\x0b\xed\xbd\x86\x09\xac"
      "\x54\x8a\xc4\x6e\xff\x90\xd9\xbe\x61\xdf\x8f\xb1\x22\x12\x0a\x03\xe4\x4e"
      "\xe5\x4f\x9a\x17\x7f\x25\x41\x3d\xde\x52\xab\xeb\xda\x0d\x6b\x5c\x2b\xbc"
      "\x1e\x6b\xd6\xde\x50\x6f\x7c\xd1\xa8\xfe\x69\xc8\x9b\xb4\xb0\xb3\x87\xd4"
      "\xd3\x57\x28\xaf\xf2\xbd\xb7\x7e\xfe\xcd\x7b\x3f\x82\xcd\xd5\x6b\x97\x18"
      "\x49\xae\xd9\xfe\xeb\xd0\xf7\x9d\xc1\x9f\xdc\xe7\xbd\x78\x7f\xe9\xd7\x01"
      "\xe9\x5b\xbe\xb5\xab\x94\x2c\x6a\x1e\x64\x3d\xd7\xd8\xdc\x5d\xc7\x61\xfd"
      "\xbe\x2e\xd3\x86\x39\x89\x4d\x09\x1e\xf6\xdc\xee\xfb\x1e\x3f\x6b\xff\x75"
      "\x26\x2f\xd7\x1b\x6e\xf4\xeb\xe5\x74\x6d\xc2\xe9\xb4\x07\x03\x72\xef\x95"
      "\xf5\xf9\xd9\x6f\xe7\x89\xca\xcd\x5a\x2b\x4f\x75\xd5\x8c\xb8\x3c\xae\xf7"
      "\x7c\xb1\xf3\x6b\x2e\x19\x64\x4a\x5f\x35\xeb\x53\x56\x13\xf2\x5c\xe6\x4b"
      "\xb4\xd1\x2b\xbb\x65\xe3\x8a\x2b\xb5\x4d\x4a\xe2\x02\x1d\x67\x67\xcb\x1a"
      "\x55\x8f\x9c\xfa\xe3\xf2\xc7\x99\xee\x85\xd5\x22\x7b\xb4\x52\xad\x1f\xc7"
      "\x0d\x32\x2b\xcd\x19\x7d\x31\xc6\xf3\x5b\xaa\xf7\xc7\xbe\x89\xbb\xda\x97"
      "\x0c\xdf\x78\xc4\xc9\xa0\xdb\xc8\x7a\x09\x39\x91\x50\x9b\xa4\x91\x57\x0c"
      "\x3f\xa9\x2f\xb8\x37\x29\xf1\x51\xff\x8b\x5d\x82\x2d\xbc\xc2\x5f\xed\x3f"
      "\xd6\xa9\xd4\xbf\xf4\xe1\x9a\x9e\xaf\x14\x6b\x75\xce\xc5\x5f\x14\xcd\xd9"
      "\x21\x75\xd2\x76\x9e\x55\xed\xd5\x33\x4b\xb3\x27\xf6\x29\x9e\x51\xfa\x71"
      "\xe0\xd9\x0d\x93\xcf\x9d\xda\x90\x1e\x56\x34\xcf\x6a\x4d\xfb\xe9\x71\xef"
      "\x44\x75\x17\xf6\x69\x6e\xd0\x8b\xb8\xe9\xe3\x3c\xc4\xb4\x65\xf4\xac\x9a"
      "\xb8\x60\xad\xfa\xab\x97\x8b\x55\xab\x83\x1d\x23\xba\xee\x8e\xb1\xf7\x92"
      "\x4e\x1f\xd4\x21\x3e\x30\xfc\x64\x98\xe7\xc1\xb7\xc6\x8f\xe5\xbb\x6d\x7d"
      "\x31\x3f\x7e\xa8\x96\xee\x43\x5b\xa3\xc8\xf4\x1f\x6a\x8b\x4b\xcd\xb7\xff"
      "\x90\xf6\xb7\xb9\xad\xe6\x79\xee\xbd\xd9\xe4\xc6\x6b\xa5\x7d\x5d\xd2\x75"
      "\x8d\x5d\xdc\xde\x04\x94\x36\xd8\x9f\xe9\x6f\xdf\xff\x94\x6f\x94\xe7\xac"
      "\xe5\x95\x9b\x1f\xbc\x2d\xb6\x8a\x18\xf6\xd3\x73\xf9\xf9\x50\xc3\xca\x15"
      "\xe1\x81\x63\x3c\x6f\x98\xdf\xba\x7f\x60\xbe\x85\x86\x9e\x79\xe9\x48\xa9"
      "\xc1\xc2\x61\x4b\xf2\xbe\x27\xd8\x14\x28\xd5\x4e\xbf\xd5\x36\xd3\xef\x4e"
      "\xce\x88\x64\x63\x9b\x4e\x0d\x47\x9b\xfe\xc2\xef\xdd\x07\x05\x0e\xfa\x36"
      "\xbc\x3a\xa4\xb6\x22\xd9\x5d\x41\xb8\x8f\xad\xc2\xae\x43\xd5\x5e\x49\x72"
      "\x6f\x86\x18\xcd\xea\xdf\x6f\xa4\xca\xce\x50\xb1\x8e\xec\x82\x1a\xcb\x80"
      "\xa3\xf1\xf1\x46\xb3\x17\x7d\xb7\xd2\x68\x0e\x88\x74\x3f\xd7\x32\x5d\xa8"
      "\xb5\x6b\xb2\xd6\x63\x7b\x7f\xad\xb0\x22\xc9\x61\x21\x27\x52\xfc\x13\x15"
      "\x0b\xd5\x5b\xf5\x45\xaa\xfd\x65\x8f\x7b\x5c\x92\x9f\x2c\x17\xb9\xb4\x58"
      "\x23\xf0\x6d\xea\x7c\x99\xec\x29\xc3\x6b\x6a\xbf\xf5\x7d\xd4\x33\xfc\xd9"
      "\x4f\x3d\xdd\xf8\xc2\x90\x8f\xc6\xd3\xf6\xd9\xc8\xf7\xbb\xec\x3c\xff\xdc"
      "\xfc\x52\xb3\x15\xef\xd6\xd8\xad\x53\x8e\x5c\x39\x55\xe1\xa6\xb7\x43\xf5"
      "\xab\xb7\x56\xc7\xb5\x87\xac\x7c\xe5\x10\xab\xab\x6a\x64\x56\x17\x6d\xbf"
      "\xe6\xce\xa1\x41\x25\x31\xdf\xfa\xdc\x0e\xd3\x56\xbe\xff\x40\xf6\xfa\x80"
      "\xeb\x45\xce\xca\x2b\x72\x6d\xc6\x74\x0b\x8d\xb8\x67\xbb\xc0\xca\x6b\x63"
      "\x62\xa0\x4c\x79\xcc\xfa\x89\x8d\x46\xf2\x8b\xdd\xcc\x85\x67\x4e\xbd\x54"
      "\x15\x26\x57\x69\x5a\xf3\xa0\x21\x43\x3e\xd3\xca\x24\x70\xc6\x9b\x05\xaa"
      "\x9f\x7a\x28\x57\x1c\x37\x6f\xb1\xea\xe2\x5f\x36\xdc\xec\xc9\xd0\x46\x7d"
      "\xf9\xee\xce\x8e\x17\xa7\x49\xfb\x9c\x17\xfb\xb9\x3f\xfb\x7c\x65\xf2\x35"
      "\x03\xf9\x9d\x9b\x4d\x5e\xf6\x34\x4f\xbb\x64\xf0\x60\xf2\x9a\xb1\x49\x55"
      "\x8e\x7d\x2d\x16\x5d\xd8\xef\x77\xa4\x66\xe0\xcb\x43\xf7\x6d\x13\xc5\x7a"
      "\xda\x3f\x7a\x2a\x63\xb1\x63\xf2\xb9\xad\xbb\x7b\x18\xbe\x54\x34\x57\xd6"
      "\xb9\x3e\x6f\x44\xea\x3d\xb1\x8b\xf3\x36\x58\x76\x7e\x95\x53\x48\xd9\x92"
      "\xeb\xb1\xb2\xaa\x6f\x97\xb3\x43\xbc\x03\xe5\x24\x0f\x2d\x7a\x1a\xec\xdb"
      "\xb9\x3e\xc5\xaf\xdc\xfa\xe4\xcf\xfe\x2a\xa6\x6d\x4d\x0f\x7a\x94\x98\xce"
      "\x9f\x5c\x3e\xfc\x86\xb0\xf9\x60\xe1\xeb\x43\x77\xdb\x99\x3b\xad\x5d\xa4"
      "\xdb\x74\x6c\xa0\xf7\x85\xe4\x59\x4a\x3b\x5e\x6d\xdb\xfe\x5c\xbc\x7c\x47"
      "\x65\xd2\x19\x75\xfd\x75\x85\x6e\xce\x4a\x96\x47\xe7\x9a\xd5\xe8\x95\x25"
      "\x57\x8f\x5c\xdd\x4d\x63\xe7\x18\xd9\x85\x42\x55\x07\x37\x4a\x5d\x4a\x73"
      "\x3f\x1b\x23\x9a\xb2\x60\xee\x97\x1c\xbb\x11\x11\x4b\x83\xda\xc6\xed\x7a"
      "\xfe\x74\x83\xf9\x68\x97\x43\x21\xc6\xf7\x7c\x7a\xbc\x2c\xbb\x5e\x94\x25"
      "\xfd\x5e\x59\xaa\x48\xfe\xa7\xc0\xd7\x49\x72\xbc\x4a\xc1\x80\xe5\xab\xbe"
      "\x68\x1a\x56\x65\x96\x4d\x09\x99\x53\xa8\xfd\x62\xf0\x93\x09\xa6\xef\x6c"
      "\xfd\x97\xbf\x4c\x88\x7c\xdb\x11\xf2\xfe\xfc\x80\x8d\xee\xb5\xda\x41\xed"
      "\x42\x65\x69\xd1\x81\x4e\x73\xa5\x6b\x15\x6c\x15\x8c\xc4\x55\xb3\x77\x25"
      "\x8f\xff\x64\xb0\xf7\xe2\xd4\x3c\x91\x13\xdd\x8c\x8d\xe6\x99\x95\xde\x78"
      "\x59\xa2\x31\xe4\x88\xd9\xea\x5b\x5d\xaa\xcc\xd5\x46\x4b\x07\xad\xd4\xaa"
      "\xc9\xad\x3f\xba\x29\xcd\x29\xf2\xf9\x61\x95\x50\xb7\x9d\x73\xca\xde\xf7"
      "\xd4\xac\xaf\x1a\x95\x25\xee\xd0\xee\xba\xf4\xd1\xf6\x9c\xed\x1b\x0b\x07"
      "\xab\x75\xf3\x50\xec\x29\xa3\x7d\x78\xc1\xc2\xe5\x99\x75\x33\x7c\x7e\xec"
      "\x0e\x97\xdc\x93\x26\x77\x57\x76\x40\xfa\xab\xae\x86\x9f\x24\xae\xd9\x07"
      "\x08\xc5\x5f\x0f\xbd\x36\x74\x60\x8e\xdb\xf3\x7d\x13\xcf\x8a\xfd\x6a\x1c"
      "\x37\xbc\x76\xec\xea\x85\x3b\x8f\x0c\xd9\x65\x51\xae\x30\xed\xea\x93\xf0"
      "\x9c\xe4\xb7\xe9\x83\xe7\x6e\x95\x56\x6a\x95\xdc\x71\xe3\xb5\xef\x98\xaf"
      "\x55\x31\x5d\xbf\xdf\x9a\xfe\x41\x6d\xb5\xe6\x9b\x2e\x99\xaf\xfa\x26\xee"
      "\x8b\xeb\x31\x71\x87\xd1\xc1\x53\x92\xbb\x4c\xba\xf7\xba\x37\x6b\xc5\x3b"
      "\x33\x33\x9d\x53\x89\x6f\x8e\x4f\x2b\x2d\x2b\xe9\x5a\xa2\xbd\x36\xb9\xbf"
      "\x52\x84\x91\xe0\x46\x17\xb1\x1b\x1d\xb5\xbb\xb6\x6c\x6b\x4b\x28\x71\x16"
      "\xc9\x9b\x7e\xca\xb0\xf6\xe8\x8e\xfe\xba\x79\x0e\x9a\x77\xca\x6a\xba\xc9"
      "\x3c\xf2\xbb\xbd\xd8\x66\xfb\x53\xff\x33\xe9\x59\x76\x4a\xfd\x9a\x2c\x1f"
      "\xbe\xf3\xc9\xbc\x6d\xa1\xe7\xb2\x44\xb9\x63\x70\xd3\xc0\xb4\x0e\x1f\xa7"
      "\x95\xcd\xe3\x84\xd2\x0c\x47\x6e\x1e\xb0\x6b\x81\xbe\xe6\xa7\x97\x6e\x22"
      "\xc7\xa6\x2f\x51\x3b\xbc\x6a\xaf\xab\xa0\x7d\xd4\xe6\x97\x4a\x07\x8d\x6c"
      "\x4e\x6c\x6c\xff\xba\xeb\x8b\xf5\xf3\x67\x73\x25\xa5\x8f\xbb\x69\xaa\xc9"
      "\x45\x3d\x15\x96\x10\xd1\x4c\xff\x70\xee\x98\x48\xda\x85\x03\x9e\x49\xcb"
      "\xf2\x73\x57\x07\xaa\x67\xb9\xf9\x1f\x97\xd8\xb9\xe7\xdc\xac\xf0\x75\xc1"
      "\x09\x3a\xc6\x12\x1a\x9a\xfa\xa9\x87\xb2\x56\xbe\xf7\x1f\xb1\xb5\xc2\x60"
      "\x6e\x4c\x95\xc7\x5b\xa7\xe7\x95\x2f\x5d\x8f\x0b\x8d\x32\xda\xb8\x6c\xca"
      "\xb9\x53\xda\x72\x42\x4a\x2d\x66\xc5\x8b\x47\xc6\xb8\x5c\x1c\xbf\xb6\xc8"
      "\xc4\xee\x8c\xb9\x45\xae\x5c\xf3\xcf\x2b\xc1\x3f\x4f\x07\x9e\xec\x8c\xf6"
      "\xfd\x66\x70\x7f\xe7\xfe\x81\x3f\x23\xdb\xfd\xeb\xd7\x69\xec\x33\x08\x35"
      "\x4f\xea\xf1\x6a\xfb\x55\xc7\xb9\x83\xf4\x1b\x57\xc4\xeb\x85\xb4\x8b\xbc"
      "\xdc\x36\x2b\xc0\xb9\x53\x74\xa8\xec\xcb\x9d\x06\xcf\x9f\x84\xe8\x1d\xef"
      "\x77\xe1\x50\x91\xda\xfc\x41\xb3\x84\xac\x63\xc5\x16\xcd\xbf\x38\xeb\xc0"
      "\xb0\x27\x13\x36\x79\x65\x58\x38\xee\xb3\x3b\x1a\x59\xa2\xb1\x73\xfb\xc9"
      "\x1b\x3a\xc3\xb5\xb2\xdd\xac\x37\x0a\xed\x0f\x7b\x91\x10\x28\x33\x6c\x46"
      "\x85\xd0\xf2\x25\x1d\x9a\xf7\xde\x7d\xae\x3f\xe1\x97\x7e\x64\xd4\x6c\xcd"
      "\xb4\x89\x4b\xee\x79\xbe\x58\x31\x6e\xfb\xc7\xa0\xdc\x92\xf0\xc4\x46\xb3"
      "\xc4\x8b\x47\xb7\x2c\xbc\x1b\x35\xb3\xa6\xcb\x80\xde\x33\x24\x0b\xf7\xbb"
      "\xaf\xa8\xe9\x2e\x48\x0e\x36\xb5\xa9\x0d\x8c\xbc\x35\xb0\x62\xb0\xc9\xa1"
      "\x86\x0b\xbb\xba\xf7\xdd\x37\xd1\xad\x34\x32\x5f\x6a\x61\x6f\x5f\xc5\x47"
      "\x55\xb6\x71\x45\x87\x96\x6e\x15\x4b\x3e\x2d\x11\xfa\xf5\x78\x81\x45\x45"
      "\xee\xbd\x77\x09\x53\x56\xa5\x6d\x5e\xf4\xaa\x41\xee\x6d\xd5\xc9\x5b\xd6"
      "\xa1\x83\x74\xb2\x86\x9e\xea\x98\x79\xc2\x67\xde\x90\xe8\x5a\xf1\x6e\xf2"
      "\x73\x5e\xed\x3c\xbe\xd2\x2a\xfd\x9d\xae\x44\x45\x40\x94\xd1\xb0\xc8\x13"
      "\x69\xfd\x32\x0a\xcf\x5d\x09\x9b\x36\xa8\x8f\xad\xb0\x61\xdd\xc7\xb6\x92"
      "\xea\x6b\x19\xc1\xe1\xae\xc3\xae\x76\x7b\xbc\xaa\xcc\xea\xbb\xe2\xda\x08"
      "\x55\xfb\x89\x9e\xb7\xd2\x1b\x0e\x2c\x77\x97\xf6\xb4\xb4\x6b\x17\x5e\x9c"
      "\x22\x21\x14\x15\xf0\x4a\xa5\xfe\xf1\x0d\x93\xfd\xb9\x87\xdc\x72\x24\x83"
      "\x07\xcd\xf1\x4a\xbe\xd1\x78\xaa\x62\x9c\xd3\xce\xbd\x46\x3d\x6f\x4d\x14"
      "\x4b\xd6\x5f\xae\x56\xfc\x3a\x7d\xaa\xca\x3c\x99\x61\x82\x47\x6d\xbb\x9e"
      "\x1d\xcf\x9c\xee\x79\x73\xc4\xda\x07\x87\x5b\x52\x6b\x57\x9e\x78\xd2\xa5"
      "\xe6\x66\xbd\xe9\xe0\xf1\x2a\x57\x35\xaa\x3a\x57\x9f\x11\x9e\x37\xa4\xd7"
      "\xed\x57\xf5\x09\xa3\x82\xa6\x76\x99\x7c\x4b\x27\x22\xf1\xb2\x4c\x6a\xcd"
      "\xeb\x79\xf7\x6f\xcc\x99\xbe\xfb\xdd\x18\x6f\x19\x77\xd1\xfe\xfb\x27\x3d"
      "\x3d\xa5\x62\x72\xdd\x65\xad\xce\xf6\x31\xdf\x8c\x9e\x5b\x98\xb9\xa6\xfb"
      "\x4e\x2d\x18\xf8\xee\x98\x43\xde\xd6\xfb\x7b\x95\x66\x5c\x50\xe8\xbd\x77"
      "\xc1\xb6\xfd\x99\x19\xf6\xd3\x8e\x26\x47\x5c\x50\xac\xf6\x3e\x5e\x15\x56"
      "\x17\xf0\xca\xf7\x7b\x42\xcb\xb3\x42\xf5\x55\x5f\xb4\xa6\xf7\xf4\x9f\xe2"
      "\xe4\xe1\x96\x91\x73\xe4\xca\xb7\xa4\xa3\x03\xee\x1c\xbc\x1b\xbc\x61\xac"
      "\xea\xc1\xe2\xd7\x55\x76\x3e\xb5\x19\xfa\x4f\x46\xcc\x1e\xb2\xed\xea\xc9"
      "\x07\xba\x12\x12\x1f\xd3\x1c\xc5\xfb\x76\x3b\xb0\x7c\x93\x9b\xdc\xcf\xe3"
      "\x46\x2d\x83\xd7\x4c\x78\xfe\xa2\xc0\xe0\x5b\xc0\x36\xa3\xae\xb2\x5d\x76"
      "\xbf\xcd\x9a\xac\xde\xa4\x2b\x7d\x65\xb2\xdc\xeb\x79\xd1\x37\xf2\x76\x09"
      "\x26\x19\x46\xd4\x97\xa7\x86\x27\x3b\xdc\x99\xe1\xb5\xa6\xee\x7c\xf0\xeb"
      "\xb9\x06\x81\xeb\x23\xf4\x0f\xb7\x28\xbd\x08\xf5\x6c\x5f\x37\x65\xe6\xfa"
      "\x75\x5d\xaf\x7f\x9d\xe7\xe0\xee\x6b\xb6\x68\x54\x55\xfa\xeb\x0e\xd1\x2b"
      "\xa3\x8c\x35\x94\xc6\xf7\x59\xf4\x60\x58\x62\x7e\x8e\xb5\x41\x54\xef\x5b"
      "\xb1\x3b\x7c\xa4\x9c\xc3\xae\x95\xfa\xfb\x05\xa7\xed\xf6\x1b\x38\x64\x56"
      "\x4b\xc7\x6c\xdd\x71\xdf\x6d\x0a\x9a\xec\x3c\x13\xd5\x1a\x3b\x87\xdc\x6e"
      "\x0e\x9f\x79\x39\x59\xb1\x60\x59\xdb\xaa\xb9\x3b\x92\x9a\x8f\xb4\xb6\x05"
      "\x7e\x30\x89\xba\x95\x76\x7d\x8c\xcf\x07\x21\xd1\x81\x47\xdf\xbe\xf0\xd5"
      "\xcd\xdf\x10\xa7\x9a\x38\x6a\xcf\xc1\xee\x67\xf4\xe5\x9e\x18\x78\xb9\xa5"
      "\xd4\xfe\xaa\xf6\x4d\xca\xdb\xff\x65\xda\x8f\x56\x9d\x1c\x39\x83\x07\xad"
      "\x16\x17\x0e\xf6\xf1\x1e\xae\x2c\xd6\x19\xe9\xed\xeb\x37\x58\xe2\xc1\xb9"
      "\x1f\xbe\x6d\xfb\xdf\x5f\x34\xec\xd8\x39\xf8\x71\x9e\x59\x65\x8b\x8a\xb7"
      "\x7c\xdb\xd4\x1f\xb3\xd5\x9f\xda\xe4\xb6\xce\x72\x3d\x76\x7d\xd4\xf2\x2f"
      "\x17\x5c\xa2\xe4\xac\xdf\x35\xf8\xed\x55\xfc\x9a\xf7\xb0\x23\xa3\xfe\xb1"
      "\xde\x2a\xab\xc9\xb2\x23\xb4\x03\xef\xb9\xe7\xba\xec\xfe\xe8\x1b\xdd\x35"
      "\xea\x87\x81\x85\xc5\xde\xfc\x6e\x4d\x9a\xba\x31\xdd\x66\x6d\x55\xd8\x25"
      "\xe9\xbf\x72\xa5\xa0\x74\x9e\xf4\xe6\xac\xbb\xc9\xa7\xc4\xbe\xbb\x9c\x4b"
      "\xf0\xdf\x5e\x3a\x62\x52\x9c\xd8\xb5\xa6\xb5\xa7\xe4\x44\x1a\xde\x7c\x98"
      "\xfc\x69\x4f\x71\xfc\x27\x6d\xbb\x27\x37\xda\x5e\x3d\x56\x54\xf0\xf3\xd9"
      "\x17\x24\x78\x21\x16\x73\x6c\xcf\xfd\x9b\x06\x9f\xdb\xd6\xc7\x4c\x88\x54"
      "\x56\x1b\x67\xa1\xb8\x45\xf9\xf9\xf4\x80\x9e\xb7\xc3\x4f\x5d\x33\x15\xbe"
      "\xd4\x53\xb4\x7e\x54\x8a\x73\xd2\x2d\xb3\x5b\x25\x36\x21\x73\xfa\x0f\x5c"
      "\x2e\x1c\x7f\x65\xe2\x85\xcd\x8f\xbf\x76\xf7\x59\xfc\xcb\x47\xed\xce\xd3"
      "\x03\x21\x5b\xc6\x8a\x9f\x55\x73\x99\xf8\x7e\x42\x60\x1f\x89\x7b\x9d\x5f"
      "\xdb\xa6\x5d\x28\xfc\xfe\xad\x4f\x50\x7a\x7e\xfa\x50\xa3\xe6\xc6\x16\xcb"
      "\x65\xdf\xf3\x02\xdc\xbe\x5c\x8b\x3f\x7c\xa6\xd1\xaa\xc2\xd8\xde\x61\x81"
      "\xd4\xcd\x7a\xcf\xe9\x0f\x3f\x74\x2f\x7c\xf5\x6e\xfe\x95\xf3\x2f\xba\x75"
      "\x2e\x3e\xf0\xc4\x48\xfd\xa3\xca\xeb\xf4\x8b\x73\x8e\xab\x56\x1d\x7b\xbd"
      "\xf8\xd7\xa6\x8f\xf7\xae\x25\x0e\x1c\x9f\xd2\x7b\xb2\x7e\xc4\x5b\x8f\xce"
      "\x72\x9d\xc5\x86\x3f\x1d\x17\x1e\x34\x50\x93\xfe\x62\xd1\xcd\x6c\xef\x55"
      "\xab\x5d\x2a\xab\xfd\x6a\x64\x3c\xcf\x9a\xb7\x8f\xb7\x5a\xa6\xa3\x3e\x58"
      "\xe9\xd4\x9a\x8d\xd6\x0d\xb7\x3f\xee\xd1\x1f\xf2\x3d\x75\x4a\x58\xf4\x4e"
      "\xd3\x31\x0d\xa9\x5d\xbc\xd6\x28\xad\x11\x96\x92\x4a\x12\xbd\x75\x60\xb8"
      "\x92\x63\xc3\xfd\x43\x4f\xfb\x1e\x7f\x98\x35\xa3\x5f\xaa\xb9\xc4\x03\xed"
      "\x59\x4f\x4e\x8e\x89\x9a\xab\xa3\xaf\xe5\xe5\xd8\x2d\x7d\xeb\xb4\xd9\x47"
      "\x02\x94\x1f\x3b\x1e\xc9\x29\x77\xea\xec\x58\x1f\x3d\x25\x29\x2c\xf4\xd6"
      "\xe6\x74\xcd\xec\x17\xc3\x5a\x46\xb7\xbe\x89\x7e\xa8\x60\xdf\x73\xeb\x54"
      "\x2b\xb5\xd8\x5f\x4f\x0d\x5f\x6f\x5d\x62\x7e\x43\x59\x77\xb8\x65\xb7\xc6"
      "\xab\x2b\xd4\xeb\xe3\x2e\xbf\x98\xe5\xb3\x65\x79\xc3\xd1\xc4\xf3\xee\x4e"
      "\xce\x45\x42\x72\xaa\xcf\x7c\x2d\xe3\xbf\xf9\x24\x3e\x1c\x21\x25\xe3\x36"
      "\xf8\x7d\x68\x4c\xdd\xe2\x6c\xf7\xba\x3b\x71\x17\x0d\xea\xa6\x48\x3a\x57"
      "\xe9\x0e\x69\xe9\x1e\x5e\xd9\x6d\x5f\x7d\xbb\xc0\xb3\xa5\x24\x57\xd8\x3f"
      "\xe7\x52\xda\x02\x4f\xcb\x9b\x2d\xeb\xd7\x94\xe7\xb4\x8e\xdf\x97\xa8\xe7"
      "\x9f\x77\xff\xb0\xee\xf7\xe1\xdd\xee\x84\xe8\xf8\x5d\xb4\xaf\xd9\xfd\xa4"
      "\xc8\x7a\xc5\x8a\xa9\xc9\x27\xf2\x4a\xeb\x2b\x57\x6d\x58\xb9\x4c\xa4\xc7"
      "\xb3\x4f\xc9\xa7\x5c\x55\x0d\x4f\xc8\x6f\x95\xd5\xc9\x6a\x13\x5c\xd1\xae"
      "\x5b\x21\xfc\xec\xd8\x02\x5d\x55\x95\x7c\x27\x8f\x95\x3d\x87\xbe\x38\x3f"
      "\x5b\x6d\xb3\xe7\xa5\xe7\xcb\x4c\xc4\x3e\xaf\xf6\x1d\x7a\x66\x6c\xa5\xde"
      "\x53\xd9\x89\xcf\xde\xb4\x27\xbc\x9e\xfe\xc3\x7f\xeb\xed\x43\x13\xaf\x07"
      "\x65\x87\x19\xe4\xbe\xca\xdd\xf4\xe2\xdd\x9a\xd3\x55\xb3\x5b\x2e\x47\x9e"
      "\xde\x7f\x5b\x41\x44\x28\x7c\xb8\xe1\x60\xd9\x94\x83\xb7\x36\x2e\xf7\x1a"
      "\x65\xb4\x74\x8a\x77\xa4\x4b\x72\xa6\x4d\x55\xc6\xb6\x23\x3e\x2a\xe3\x85"
      "\xa4\xcf\x9a\x9f\x72\x92\x0c\x0b\x9d\xab\x7a\x4a\x6a\xc8\xc1\x9e\x17\xfb"
      "\xc7\xca\x64\x68\x75\xaf\x5e\xe6\xfe\xb4\xe5\x71\xc1\xea\x82\x31\x15\xb5"
      "\x47\x8b\x7f\xf9\xd9\xb4\xf7\x0a\xc9\x90\xc8\x1c\xf2\xac\x73\xc3\xac\xc4"
      "\x27\xdd\xa6\x27\x29\x8c\xdf\x77\x3f\xe2\x60\x4b\x37\xd5\xcd\xf9\xd5\x6b"
      "\xce\x5e\xb2\xb9\x26\xf3\x31\x24\x7b\x77\x59\x56\xf7\x3d\x1b\xfc\x62\x77"
      "\x16\x3f\x1d\xec\xba\x67\xf5\xf1\x7d\x03\xa7\x4b\xda\x6e\x0c\x0b\xd6\x3a"
      "\xae\x3c\xe1\x6a\xd3\xf4\x95\x49\xe5\xd9\x37\xe7\x04\x68\xc4\x95\x1f\x3b"
      "\xf1\xa8\xde\xb0\xb0\x2a\xa0\x59\xdc\x79\x71\xfa\xb5\x27\x8d\x23\xb7\xc7"
      "\x9e\x68\xcf\x88\xbc\xb8\x22\xb9\x78\xc4\xe5\xa7\x05\x1d\xbd\x37\x37\x0c"
      "\xb7\x5b\xf9\xda\x22\xc9\x77\xfd\xe2\x71\xc3\x3f\x0d\x35\x3d\x97\x15\x76"
      "\x72\xa7\xb4\xc6\xa6\x13\xed\x65\xdf\x66\x3e\xf9\x1e\x5c\x94\x7f\xb9\xa8"
      "\x5b\xec\x48\x39\xb5\x3a\x83\xea\x4b\x9d\x0b\xbf\x2c\x93\x09\xbc\x5d\xb1"
      "\x3b\x2b\x33\x79\xfd\xf5\xde\x13\xfb\x39\xd9\xaa\x64\x7d\xdb\x20\x7e\x61"
      "\x6a\x82\x74\x75\xc9\xc3\xe2\x6d\x77\x6a\x43\x6f\xcd\x6d\x8c\xcb\x28\x2d"
      "\xd5\x19\xfe\x40\xb1\xa7\xaf\xd7\xb6\xa7\x6b\x33\x96\x6e\xb9\xfe\x4b\xf0"
      "\x21\x48\xff\x52\x7e\x40\xf2\xf1\xa4\xce\x48\x7d\x8f\x4f\x8b\xb5\x32\xcf"
      "\xef\xef\xdc\x68\x2b\x2f\xb2\x3c\xcf\xee\xd8\xfd\x1b\x26\x8b\x76\xf4\xb5"
      "\xd6\xfc\xd1\x73\x80\xd6\xe4\x74\xe5\xde\xed\x1f\x85\x27\x89\x28\x17\x1e"
      "\x97\x12\xa9\xd3\xab\xb3\xfa\x21\xa1\x68\xe2\x22\x56\x65\xd8\xb4\xf4\x96"
      "\x4c\xbf\x70\x33\x99\xfe\x8e\xcd\xcf\x06\x57\x9e\x3c\x39\x68\xe1\xbe\xb8"
      "\x5a\xdf\x32\xf3\x2f\x19\x12\x56\x42\xcb\x26\xc6\xfb\x09\x24\xbc\x7e\x54"
      "\x34\xda\xe6\x0e\x58\xd9\x4d\x3c\x24\x7f\xc5\xd4\x71\x27\x87\x6c\x98\xf6"
      "\xc9\x7d\xfe\x12\xeb\x19\x83\x36\x44\x4d\x57\xff\x3a\x75\x45\xa8\xb5\x78"
      "\x9b\x98\x58\xc7\xdc\xe1\x97\xb7\x9a\x0f\x1c\x31\x61\xab\x9f\xf6\xbb\xe0"
      "\x0c\xdd\x1b\x53\x6a\xa4\x13\x7e\xee\x53\xbb\x1f\xe2\xf5\x48\x78\xce\xa4"
      "\xd7\xa2\x3d\x46\xed\xf5\x88\x34\x4e\x12\xdf\x52\xf1\x68\xac\x55\x70\xca"
      "\x99\x86\xa5\x57\x56\x0c\xfc\xe4\xd2\xd7\x69\x7a\xce\xb7\xe3\x36\x0b\xeb"
      "\xc2\xeb\x3f\xf7\x4c\x5f\x90\xf2\x72\x7e\xca\xf6\xb3\x32\x71\x13\x53\x95"
      "\x26\x57\x7f\x9b\x95\x79\xff\x5e\xd5\x18\x91\xfd\x9a\x85\xad\xb7\x53\x8f"
      "\xf9\x66\xeb\x67\xfb\x89\x7d\x8e\x3b\x10\xf1\x40\x73\x46\xc0\x08\xe5\x83"
      "\x9d\x9d\xa2\xfe\x21\xc6\x72\x0a\xf2\xf7\xab\x63\xdb\xb4\x6d\x97\x79\x09"
      "\xed\x54\x96\xf1\x75\xdb\x63\xf3\x26\xcc\xd4\xd8\x6f\xe3\xd1\x57\x29\x3a"
      "\xd1\x7b\xfa\x1b\xbf\x0a\xff\xa9\x5e\xbe\x60\x6d\xe4\xe0\x13\x93\x0e\xd9"
      "\x65\x8e\x6b\x3c\x6f\xd7\xd1\x43\x71\xbf\xd4\x7d\x73\x73\xf5\xe9\x27\x66"
      "\x1d\x2b\x57\xef\x21\x77\x58\xd1\x6a\xf7\xe9\xe9\x61\x42\xb7\x67\x8f\x8b"
      "\x3a\x29\xdc\x9e\x9a\x37\x4a\xf1\xab\xb9\x74\xfa\x0a\x8f\x17\xa6\x72\x43"
      "\x35\x67\x9e\xb1\xfe\x34\xd5\xba\xa7\x60\x8d\xef\x76\xad\x4d\x59\x39\x73"
      "\x1c\xe5\x94\xad\xcf\x96\x4f\x4a\xad\x1f\x1f\x5f\x2d\xdb\x99\x51\xd5\xb6"
      "\x20\xf9\xd3\x9a\x03\x4b\x3b\xf7\x7c\xb4\x7c\x38\xfc\xce\xd2\xf4\x7e\x8e"
      "\x3d\x2c\xcf\xbd\xa9\xaa\x51\xda\x3e\x6f\x95\xd8\x8a\x83\x55\x3d\xde\x5a"
      "\x64\xbd\xb8\xde\xef\xe8\x95\xd0\x5b\xd1\x61\x4d\x2a\xdd\x7a\xba\x2c\x4e"
      "\x72\xb0\xbb\xb9\xd4\x63\x57\x57\x3b\xd1\x9b\x07\xcb\x1d\x96\xd8\x07\x1f"
      "\xb1\x6f\x94\x1f\xd4\xd0\x38\xdc\x4b\x27\x74\x98\x54\xed\xa4\x1d\x9a\x89"
      "\x79\x27\x7a\xf6\x37\x7e\xad\x37\x78\xfc\x90\x91\xca\x7a\x83\x7a\xac\x8b"
      "\x3c\x18\xa6\x33\xa1\x3e\x6e\xb2\x78\xc2\x6d\xe3\x80\xc7\xe7\xb6\xb8\xdf"
      "\xfe\x99\xa7\x9e\x71\xd1\x24\xa6\x4d\x26\xa7\xde\xbc\x75\xb3\x61\x87\xd7"
      "\x01\xc3\x43\x46\xad\xbd\xd7\x4d\x90\x17\xcd\x1b\xfa\xe0\xb9\xd3\xb1\x85"
      "\x6b\x95\x7a\xcf\xeb\xdb\x71\xd8\x56\xe0\x76\xae\xe8\xf8\xb7\xbd\xa6\xea"
      "\x5a\x69\x2a\xcf\x0a\x7d\x65\xdf\x9e\x9d\xac\xb9\xfb\x94\x7c\x5f\xf7\xa7"
      "\x52\xa5\x07\x35\x3e\xed\x5c\x75\x39\xe1\xc3\x97\x48\x81\x87\xde\xa1\x80"
      "\xed\x13\x57\xa5\x6c\x3e\xe0\x11\xf6\x32\x27\x3c\x58\x50\x25\xd7\xd1\xb0"
      "\xb8\x30\x72\x82\xa8\xe0\x85\x59\x98\xb4\xae\xfa\xb3\xe9\x9d\x2e\xaa\x73"
      "\xe4\x57\xa9\xbc\x7c\x3b\xde\xc4\x62\xc1\x8c\xb1\xa3\x47\x36\x28\x8f\x18"
      "\x97\x7c\xb2\x52\x4f\xbb\xc9\x63\xf9\x5b\xbf\x69\xfd\x2c\xbe\x5d\x54\x6a"
      "\xd8\xaa\x58\x2c\xfb\x55\xfe\x79\xa6\xb5\xcb\x23\x0d\xd7\xfc\x57\xbd\x92"
      "\x0c\xb4\x2f\x2e\x71\x7f\x76\x75\xcb\xa5\x0e\xe5\xd0\x9d\x0e\x41\x5b\x92"
      "\x36\xaf\xdb\x37\xf9\xc8\xbe\x7e\x77\x6b\x76\x8d\x13\xe8\x74\x3b\xd6\xec"
      "\x2d\x71\xb2\x79\x78\xba\x9c\xc6\x0b\xa7\xf9\x2e\x1b\x2e\x0c\x4c\x7c\xb6"
      "\x28\x6b\x6b\x9c\xd8\x17\xdf\x88\x23\xe6\x7d\x0c\xd3\x3a\x4d\xbe\x9c\x1d"
      "\xdb\xe3\xd4\xce\xd9\xb3\x4b\x27\x9a\xfc\x9c\xf6\xfa\x4b\x5c\xde\x87\x85"
      "\xbe\xeb\xb4\xe3\x12\x0f\x0c\x5d\x5a\xae\xbb\xf8\xf3\xfc\x59\x56\xd7\x46"
      "\xbc\x3f\x68\x74\x21\x7b\x64\xef\xb1\x66\xc5\xc1\x27\x43\x4f\xcb\x49\x9e"
      "\x8b\x9c\x11\x6b\x7f\xe2\xd4\xe0\x89\x85\x95\x1f\x3a\x8f\xb4\x6d\x0d\xaf"
      "\x3d\xa8\x50\xba\xa6\x78\xd9\x90\x8c\x8a\x6c\xd9\xdd\xda\xb6\xeb\xca\x25"
      "\x65\x97\x54\x0c\xd9\x51\x5f\x33\x4a\x7d\x51\x75\x94\x61\x81\xe3\xe7\xf4"
      "\x8f\x3b\x15\x73\x3c\x65\xfa\xe5\xba\xe4\x78\xc8\x27\xe5\x86\x5a\xea\x1d"
      "\x5b\x29\xae\xf3\x60\x9b\x8e\xe4\x73\xb5\x18\x13\xcd\x97\x12\xf2\x13\x06"
      "\x8b\x7f\x33\xf5\x37\xb4\x3a\x27\x28\xb0\x68\xdd\x74\xd9\xa3\x70\x71\x85"
      "\x4c\x79\xb9\x7c\x82\x73\xc7\x18\x4b\x99\x77\x9a\x8f\x16\xa5\x2d\xcc\x1c"
      "\x31\xf5\xa2\x5b\x48\xc7\xec\xdc\xd3\xb3\xfb\x1f\xbf\xb1\x5d\xdd\xf6\xf8"
      "\xec\x45\x2f\xa3\x6f\x1f\x73\x0e\xdc\x18\xad\xfa\x76\xa8\xfd\xf8\xb5\x76"
      "\xb3\x0f\xce\xce\x1e\xf5\x3a\x3f\x20\xb8\x5f\x5e\xfc\xa4\xf5\x89\x41\xbb"
      "\xcf\x6f\x0d\x39\xb9\xa6\xed\xba\xe6\xb6\x41\x79\xb1\x85\x53\x1f\xae\xd9"
      "\x7b\x2a\xb3\xe7\xc7\xc1\x5b\x86\xf4\xd8\x1c\xb7\xe4\x82\x7d\xc5\x27\x93"
      "\xaf\x72\x83\x7e\xf5\xf9\x5a\x96\xfc\xcc\xa7\xf9\xce\x84\x5e\xdb\x9e\x4d"
      "\x7a\x1a\xb0\x76\x57\x89\x54\x89\xc1\xe4\x0c\x65\xb5\x41\x46\x23\x47\x8e"
      "\x88\x9f\x54\xf6\x40\x75\xce\x63\xd5\x59\x7a\xc5\x52\x33\x1f\x6d\xd8\x3b"
      "\xe6\xdd\xc4\x57\x56\xd2\xde\x86\x9b\xa3\xbb\x6c\x0e\x5b\xe5\x3c\x55\xe1"
      "\xad\x82\xbe\xea\xc3\x72\xfb\x89\x46\x27\xdb\xac\x34\x8f\xa4\x24\x5e\x3b"
      "\x73\xe4\x43\xe5\x52\xe3\x54\x8b\x91\xb2\x9f\xbc\x32\x8e\xd8\xfd\x9c\x1b"
      "\x73\x62\xfd\x49\x91\x2f\x5a\x5f\x96\x66\xbf\xab\x76\xdb\x60\xd9\x12\xa2"
      "\x69\xdf\x5a\xb7\xf2\xe0\x4e\xc7\x49\xbb\xe7\x7e\x5c\x5b\x73\x42\xe5\x7c"
      "\x5f\xa7\x66\x2d\x57\x43\xab\xa4\xed\xf1\xd9\x0e\x02\xd3\x2a\xe7\x49\x17"
      "\x3b\x23\xea\x6e\x39\x9c\xdc\xf0\xfe\xb1\xd3\x3b\x4f\x87\xfe\x3f\x6d\x3c"
      "\x6e\x7f\xd8\xe5\x5c\xbf\xa7\x5f\xc8\x95\x11\x65\x6b\x43\x6e\x6c\xc9\xb1"
      "\x0c\xe8\xe5\x70\xfe\xf2\x86\xd7\x6f\x9c\x2c\x1c\x62\x5d\x3e\x1b\x0f\xd9"
      "\x56\xf9\x23\x6a\x83\x5f\xbf\xda\x96\x9e\x93\x55\x43\xda\x5b\xb7\x19\x84"
      "\x39\xc6\xdf\x56\xb9\xb9\xd9\x6a\xec\xcc\xd8\x6d\x4d\x86\xdb\x06\x9f\xb9"
      "\xae\x9c\x33\x67\x4d\xcb\x23\xdf\x09\x92\x67\x9f\x1e\x3a\x76\xdb\x59\x5b"
      "\xf6\xd7\x94\xd6\x19\x9e\x3b\x44\x4e\xce\x98\x36\xef\xeb\x83\x2b\x37\xf5"
      "\xf6\xc9\x44\x1d\x96\xf9\x61\xff\x64\x47\xcc\x08\x9f\x55\xcd\xdf\x16\xed"
      "\x1d\x58\x76\x73\x86\xc4\x6b\x83\xbc\xa2\x23\x9f\xf6\x0c\x0c\x5e\x6e\x28"
      "\xd3\x31\xc6\x57\x4e\x5a\xa9\x4b\xf9\x1e\x71\xc7\x37\xfe\x3a\xf2\xbe\x16"
      "\xf3\x74\xe4\x0e\x04\xcd\x5d\x71\xbe\xc3\xfd\x7b\x95\x76\x78\xd8\xc4\xcf"
      "\xbd\xd5\x16\xff\xba\xec\x26\xa4\x32\xed\x5d\xe1\x73\x5f\xbb\xfe\x65\x6f"
      "\x75\xc3\x26\x38\x78\x84\x9a\x0d\xa9\xb3\x99\x66\x5c\x94\xe5\xe0\xda\x32"
      "\xe8\xcc\x69\xbf\x63\x76\xfd\x7c\xbb\xb6\x7c\x0f\xf6\x0c\x1e\x75\xca\xe8"
      "\xfa\xcc\xb7\x67\x44\x24\x4e\xbf\xd1\x30\x1a\x3c\xe9\x9b\x4e\xdb\xc1\x2e"
      "\xba\xa7\x66\x6b\x3d\x33\x69\xfc\xb0\x62\xed\xa8\xdd\xd7\xf5\x42\x0c\x7d"
      "\x64\x56\xcf\x39\xd8\x73\x43\xe6\x6d\xe1\xe0\x50\x53\xbb\x69\xfe\x9f\x72"
      "\x55\xfb\x44\x2d\x1a\x66\x7d\xef\xd7\x12\xfb\x77\xad\x52\x52\x53\xe3\xb3"
      "\x46\x2a\xf5\x75\x4b\xda\x1b\x74\x47\xe0\xbd\xbc\xeb\x61\x95\x2b\xa6\xce"
      "\xa7\x0a\x5c\xdb\x4c\xb2\x1b\x87\x16\x8e\x8f\x2b\xd8\x68\xf9\x42\xb5\x77"
      "\xf1\xe7\x9f\xd3\x06\x5f\x76\x2c\x9b\x1a\x76\x6f\xff\xba\xca\xf7\xd5\xde"
      "\x9e\x91\xef\x4d\xa7\xb5\x4f\xf9\xa9\x1a\xdb\xcf\x30\xa0\xa1\x5b\xe1\xbb"
      "\x0f\xdd\x5c\xde\x3d\x90\xca\x8e\x79\x3e\x41\x6a\xb3\xa6\xc2\xb0\x1f\x43"
      "\x14\xdf\xdc\xd8\xee\x1d\xb5\xc0\x56\xe6\xc8\x65\xeb\xf8\x65\xc9\xa3\xe4"
      "\xd5\x03\xaf\xef\x3e\xbd\xe3\xf6\x09\x63\xaf\x87\x5f\xcc\xdf\x9b\xc5\x19"
      "\x54\x35\xa4\x78\x4d\xf2\x9d\x7e\x5f\x71\x9b\x83\xbf\x5b\xb1\xe8\x3c\xb7"
      "\x34\xbd\x86\x4b\x9f\xf2\x4e\x7c\x31\xbe\x92\x3c\x28\x76\xe6\xa6\x07\x29"
      "\x86\x5e\x62\x93\xf5\x97\xd6\xbd\x38\x3d\xd9\xb0\xdb\x72\x5b\xd7\x41\x8a"
      "\x0f\xae\x4f\x93\xf8\x96\xf3\xe1\xea\x99\x57\xd3\xbc\xb6\x6d\x6f\x4b\xea"
      "\x35\x6e\xe1\x8f\xbd\x97\x97\x19\x3f\x0e\xdf\x1e\x5a\x17\xf4\xe4\xdb\x11"
      "\xa1\xfb\xde\xd1\xa2\x91\xc3\xb7\x17\x3b\x54\xcf\x1d\x69\x91\x1f\xdf\x66"
      "\xad\xb2\xee\x73\x6e\xc9\xa5\xe9\x4e\x5b\xbe\x9a\xed\x0d\x59\x73\x38\x40"
      "\xff\xd0\xa6\x5d\xad\x67\x8e\xb7\xc8\x26\xbc\x2b\x4c\x6b\x7a\xdf\x78\x4b"
      "\xa0\x63\x6a\xd4\xf4\xcd\xcb\x5c\xd5\x63\xdf\x9e\x55\x2d\x56\x12\xb2\xab"
      "\xaa\xf2\xe5\xcc\x06\xaf\xb0\xb8\xd0\xdf\x42\x6a\xab\xda\x1d\x99\xc5\x15"
      "\xc2\x35\x36\x3e\x5d\x35\x96\x6d\x1b\x10\x59\x9c\x25\x28\xde\x7c\xae\xfb"
      "\xa6\x26\xd5\x75\xca\x15\x9f\x8b\x1b\xdc\x22\xe7\xdd\x39\x17\x6d\x7f\xf2"
      "\xfb\x24\x9f\xa9\xbb\x0c\x8f\x29\xef\xb3\x9c\x73\xf6\xc7\xcf\xa8\xac\xbc"
      "\xd9\xd3\xe2\xdd\x06\xcc\x69\xd7\xd4\xeb\x6a\x24\x5b\x33\xd0\x2e\xe8\xfd"
      "\x7b\x6f\x23\x9f\xb3\xc9\xba\x13\x6f\x79\xde\x7f\x94\x95\x33\x69\xf1\xb3"
      "\xf6\x2c\xa1\x90\x89\x92\xe1\xd7\xb2\x1a\x34\x9f\xb7\x3c\xf6\x19\x1a\xbf"
      "\xb0\xaa\xd7\xe4\x94\x5f\x75\xfd\x9a\xdc\x92\x2e\xdc\x4d\x5f\x11\x59\xab"
      "\xb8\xc3\x27\x6d\xce\x12\x91\xd4\x94\xbc\x18\xb9\x8c\xfe\xc7\x5a\x33\xd4"
      "\x77\x76\xc4\x6a\x5d\x6a\x9c\xb0\xe4\x4e\x7c\x8c\xdb\xd6\x2b\xf9\x23\x12"
      "\x13\xce\x27\x3c\xde\xbf\x75\x6f\xae\x49\x4d\x8c\x87\x8d\xbf\x76\x9e\xeb"
      "\x8e\xb7\xc5\x1f\x52\x17\x8d\x50\xf5\x5e\xe7\x98\x93\x54\x1d\x12\x2e\x95"
      "\x5a\x91\x58\xf2\xab\xbd\xba\xba\xd4\xfe\x53\x7a\xe9\xa1\x97\x49\xfb\x4e"
      "\x4e\xdc\xff\x30\xea\x6c\xd7\x0d\x2a\x41\x29\xb5\x19\x8b\x72\xec\x5b\x86"
      "\xc5\x39\x1f\x57\xee\xbe\xc9\x60\xe9\xd0\x6d\x3f\x35\x8a\x75\x6b\x7b\xd8"
      "\xc8\x39\xfc\x08\xba\xf0\xd5\xe3\xe8\xf1\xc4\xef\x72\xee\xd7\xcf\xcb\xbc"
      "\x68\x3d\xd6\xf8\x31\x7c\xad\xe5\xa6\x59\x1a\xdb\xeb\xfb\x54\x2a\xad\x8f"
      "\x8d\x14\x92\x99\x5c\x3a\x46\x7a\x98\xe9\x76\x8b\x3b\x0b\x1d\x37\x2d\x4d"
      "\xdb\x33\x4a\x62\x61\x42\xb3\x79\xbf\x95\x4f\xc7\x35\x0d\x08\x4d\x11\x76"
      "\x1f\x79\xaf\x9b\x7d\x6b\xd8\xe4\x70\xef\xa1\x2a\x5f\x56\xbc\x12\xc9\xd6"
      "\xf0\xbf\x22\xfe\x7a\xfa\x86\xe6\xab\xb6\x97\xbd\x66\x7e\x1e\xf2\x66\xd4"
      "\xd7\x2b\x2a\xfe\x73\xce\x7a\x3a\x58\x68\x7a\xbd\xc8\x3d\xd8\x3d\x6c\xb5"
      "\x90\x4f\xd8\xbd\xa4\xef\x55\xc3\xec\x9f\xe9\xa9\x5f\x9c\xb8\x4c\x66\xd8"
      "\xaf\x84\x07\xef\x0b\xe5\x2c\x4d\x4a\x1e\xf9\x27\xf4\xcd\x9e\x37\xe7\xd0"
      "\xe2\x1d\x2d\x43\x62\x1b\x72\xdf\x7a\xc4\xb6\x07\xf9\x3c\x71\xfc\x29\xdf"
      "\xdd\xc9\x29\xc2\x58\x21\x5e\x64\xf4\x5d\x97\xfb\x43\x3e\xd8\x94\x96\x2c"
      "\x2e\x5f\xaa\xdc\xf9\x30\x68\xb8\xf2\xa9\xd7\x8d\x23\xdb\x3b\x9b\xf5\x62"
      "\x9d\x4d\x95\x2f\x2e\x9d\x57\xb1\xb4\x61\x5b\x54\x8f\xc2\x3b\x91\x33\xdf"
      "\x2e\x72\xe9\xaf\xeb\x72\xf9\x72\x82\x63\x64\x4b\x54\x97\x5c\xe9\xc6\x9a"
      "\x19\xed\xb3\xc3\x1d\x44\xc2\x17\xac\x9c\x79\x3c\xef\xc5\xd5\xd2\xcc\xef"
      "\x59\xf6\x05\xf3\x95\x7d\x67\x4e\x7d\x1c\x97\x63\xf4\xf1\x4c\xf4\xfe\x35"
      "\xeb\xcc\x5a\xbb\x59\x07\x96\xbc\x77\x4e\xca\xd9\xe5\xe0\x9b\xd4\x7d\xc6"
      "\x6d\xdb\x90\x35\xd3\xc7\xdc\xac\x54\x76\x5b\xae\xf4\x54\x7a\xad\x6b\x67"
      "\xa6\xe7\x28\xcf\x36\xed\x17\xea\x4f\x43\x4f\x79\x1d\x3b\xd8\x26\x19\x2a"
      "\x53\xee\xea\x70\x64\xc1\x76\x21\x95\xe9\x7e\xe1\x6b\xd4\xa7\x88\x0e\x30"
      "\xdf\x69\x1b\x27\xe1\x1f\x7f\x3a\xe0\xcd\x8e\x27\xa1\x57\x2f\x25\xc6\x54"
      "\xab\x05\x56\x2d\xde\x30\x76\x73\xc0\x2c\x93\xc5\x8f\x7f\x3c\xeb\xec\x25"
      "\xc8\x68\x1f\x6d\xb1\xab\x65\xda\xe1\x0a\xb9\xd2\xe0\x2e\x45\xb6\xc2\xcf"
      "\xed\xec\x63\x6d\x93\xda\xb6\x9c\x93\xf8\x7c\xa6\x63\xe1\xc9\xae\x3b\x33"
      "\x1c\xd6\x25\xde\xd5\xff\xd4\x51\xb7\x77\x7b\xa0\x86\x77\xd0\xe2\x81\x0a"
      "\x46\xad\x09\x8d\x11\xb9\xeb\xe4\x9c\xe7\x9c\x1c\x2d\x6f\xec\xe1\xb3\xfe"
      "\xa5\x9b\xff\xcc\x2a\x85\xbd\x79\xea\x1b\xa3\x66\xad\x14\xfb\xd4\x6b\xf4"
      "\xc7\x54\x15\x3b\x73\xeb\x65\x9a\x8b\x27\xac\xde\xa2\x3e\xf5\x90\x68\x5d"
      "\x91\x85\xec\x1b\xc5\xfb\x39\x4a\xb1\x4b\xf7\xfe\x7a\xf2\x62\xf6\x45\xa7"
      "\xde\xea\xd3\xea\x9b\x7d\xe2\xc7\x1f\x9d\x3d\x28\xce\x61\xd4\xfb\x49\x55"
      "\x63\x9b\xf5\x0a\xd7\xb8\x05\x9e\x56\x6a\xfe\xdf\xfc\xfa\x02\x00\x00\xfc"
      "\x0d\xa6\xa2\x7b\xbb\x3f\x7e\xa5\x30\x48\xbd\x79\x60\xce\xf9\x01\xae\xc2"
      "\x7f\xde\xff\x77\xf9\xdd\xff\xe7\xfd\xbf\xbd\x90\x40\xf0\x64\xc6\xbc\x06"
      "\x91\xc2\xfa\x8d\xb7\x64\xfd\xe2\xca\xb4\xaa\x47\x79\xd4\x49\x68\x88\x9c"
      "\x91\x5a\x6e\xd5\x5f\x75\x92\xca\xd7\xfb\x33\x2f\xf7\x99\x14\x29\x26\xbc"
      "\x7f\xa2\xd2\xaf\x43\xb5\x4b\xde\x5e\x1d\xaf\xbf\x7f\x45\x76\x5e\x4d\x6e"
      "\x70\xa3\xb1\xe3\x94\xf2\x1d\xdd\x72\x12\xe4\x3b\x33\x77\x0d\x75\x3c\x29"
      "\x39\x71\xbc\xf7\x54\xc3\xe9\xb1\x39\x81\xaa\x25\x2b\xc6\xb4\xcc\x6b\x6c"
      "\x9b\xb0\x27\xbb\x8f\xd4\x84\xe0\xe9\x2d\xfe\xeb\xbc\xe5\xbf\xbc\x94\x7b"
      "\x32\xca\x7c\xc4\xc1\xfc\xc5\xd3\x82\xea\x4c\xae\xc8\x1d\xbe\x2d\x79\xac"
      "\x58\x49\x6a\x50\xdf\xe0\xb1\x11\x7b\x8f\xa5\x27\x5a\x1f\xf3\x1d\x64\x2e"
      "\x73\x62\x68\x67\x73\xc9\xc7\xdc\xd1\x6a\x26\x37\x77\xdc\x6b\x8d\x1d\xb2"
      "\xde\x65\xe0\x90\x71\xbd\xdb\xac\x0b\x1f\x9b\xcc\xb9\xf5\x78\xe3\x54\xc7"
      "\xfa\x1e\x7d\x2d\xa3\xbf\x7b\x9e\x1f\x3f\xc7\xdc\x6d\x86\x5b\x95\x83\x58"
      "\xe0\xd5\x81\xc7\x52\x4b\xe6\xb7\x7d\x68\xf7\x0c\xac\x6b\x7f\x27\xf1\xa6"
      "\xb2\xb0\x77\x44\x71\xdd\xb2\x73\x12\xef\x64\xa4\x5e\x24\xfd\xda\xfd\x6b"
      "\x49\xb5\xca\x69\xfb\x1b\x5f\xf6\xca\x5a\x3e\xdb\x37\x37\xc7\xeb\x74\x73"
      "\xce\xc4\x9c\x6a\x8d\xd5\x0a\x31\x13\xed\xc4\x63\xf6\x79\x4c\xaa\x28\x7e"
      "\x73\x60\xca\xfc\x13\x6a\x92\x61\x62\xb5\x0b\x97\x48\x4b\xad\x0f\x16\x5f"
      "\x94\x31\x3b\x22\xc3\x2a\xe0\xa5\x73\x50\xdb\xc5\xa7\xf3\x2a\xb3\x15\x9a"
      "\x94\x15\xaf\xca\x2f\x1a\x95\xde\x5d\x25\xa4\x6d\x96\xae\xce\x86\x49\x87"
      "\x4b\x42\x12\x14\x52\x9e\x3f\xbf\x5c\x98\x6f\x36\x4b\x56\xe7\x57\x79\x70"
      "\xae\xd2\xbb\xe3\xfa\x2f\xbd\x9d\x7f\xa4\x34\x04\x29\x5e\x4a\x0c\xcd\x14"
      "\x5f\xdf\x69\xec\x3e\xed\x70\xc3\xb9\xaa\x75\x4f\x16\x5c\x1a\x31\xf2\x6a"
      "\xe5\x32\xa7\x1c\xd3\xab\x9b\x03\xd6\xa7\x7e\xac\xb2\xaa\xdf\xff\xf6\x51"
      "\xcd\xf5\xcc\x1b\x2b\x36\xb4\x75\xac\x53\x97\x2a\xb1\x68\x8f\xdb\x9f\x3e"
      "\xcf\x65\x8a\xbb\x58\xf7\xda\x47\x7d\x3c\x5e\x84\xf6\xdf\xd0\xeb\xab\x81"
      "\xa5\x9e\xa0\xf3\x5e\x4a\xd1\xe6\x75\x7d\x6e\x0d\xf0\xd4\xa8\x8f\x8d\x99"
      "\x9f\xfa\xf3\x67\x58\xf6\xa2\xa2\xf8\x1c\x8b\xc8\x6b\xf7\x6a\x8a\x3a\xb4"
      "\xdc\x44\xcf\x26\x09\x8d\xfd\xe5\xfc\x39\x79\xb7\x8d\xae\xba\xbb\x6d\x6b"
      "\x99\x45\xd2\xd3\xf3\x57\x6b\x8a\x56\x34\xc6\x54\x2d\x34\x8b\xd8\x2d\x7a"
      "\xbd\xac\x65\x78\x55\x5f\xf9\x1c\xd3\x29\xd9\x72\x47\x9b\x8a\xd3\x15\x0f"
      "\x85\xed\xa8\xff\xae\xbf\x6d\x9a\xea\xa9\xf2\x97\xa6\xcb\x94\x0e\xad\x7d"
      "\xf5\xca\x3c\x35\x6d\xeb\x2f\xbf\x98\x8c\x87\x07\x53\x32\x77\x95\x5d\x3e"
      "\x32\xac\xcb\x61\x65\xcb\xb1\x23\xfa\xa9\x65\xe8\x6a\x77\xc9\x94\x70\xed"
      "\x56\x18\xfd\x23\xbc\xb6\x87\xf8\xc9\x9b\x9f\x5f\x87\x8f\x56\x89\xbd\xee"
      "\x79\xe1\xd1\x4c\x21\x51\x5f\x85\xe9\xd7\x56\xb9\x0c\x88\x2a\x89\xae\xba"
      "\x6b\xaf\x38\x3a\x72\x43\xb3\xfb\x33\x7d\xc7\xb7\xd7\x4d\xec\x53\xd7\x4d"
      "\x19\x37\xd6\x7f\xb1\xe0\xba\xf2\xba\xb9\x35\xab\xa3\x8b\x03\x86\xcf\xed"
      "\x6b\xf6\xc0\x6b\xbd\x45\x81\xab\xbc\xcf\x95\xad\xa3\x5c\x3b\xe6\x5b\x44"
      "\x8a\x75\x0d\x7e\x38\x64\xb9\xc3\x56\xdd\xdd\xeb\xd6\x39\x4f\x37\x77\x9f"
      "\x2e\x96\xaf\xd7\xab\xf2\xe1\xe3\x4b\x9b\x5b\xcf\xbb\xce\x13\xdd\xfa\x50"
      "\xff\xfb\xd1\x2e\xde\xfd\xde\x2c\x2c\x50\x6f\x9b\xea\xe9\x62\xdc\x73\x87"
      "\x95\xfa\x97\x91\x23\x9f\x75\xeb\xbf\x22\xb3\x7d\xcf\x0f\xed\x62\xc5\x8d"
      "\x2a\x5a\xf7\x12\x0a\x66\x7e\x0a\xda\x39\xbb\xaa\x58\xf9\x8a\x95\xe7\xfd"
      "\x6e\x1b\x7b\x7a\xc6\x7f\xd3\xf1\x7c\x67\xb9\xc0\xdd\x75\xbc\x7e\xf6\xc8"
      "\x65\x96\x0a\xe3\xef\xde\x76\xca\x1a\xfc\xa8\x3e\x6b\xf5\x59\x2d\xf9\x9d"
      "\x8e\x8b\x87\x7c\x96\x56\x4b\x7b\x73\xbb\x22\x77\xfe\x68\x5b\x91\x51\x17"
      "\xbf\xaf\xf7\x57\x0b\x2e\xec\xf3\xad\x7d\xe2\xa5\x33\x55\xd7\xcf\x1f\x9f"
      "\xef\xe4\x5c\x10\xed\x39\x2a\x7b\xc9\xc9\x77\x6e\x81\xdd\xc3\xbd\x6c\x23"
      "\x86\x86\x06\x24\xd9\x7c\x1a\x6d\x3c\x24\x78\xe0\xed\x5b\x57\xfb\xe6\x6f"
      "\x8b\x58\x39\xaf\xa6\x67\xdd\xc1\x69\x0e\xa3\x1b\x77\x0d\xcb\xbe\x32\xae"
      "\x64\xf9\xa1\xc8\x1f\xa3\xe2\x75\x4b\x8c\x8f\x7e\x4c\x4d\xba\x70\x5e\xb9"
      "\xee\xce\x49\x55\xbf\x57\x23\x85\xed\x82\x03\xce\x26\x38\x5b\xfd\x7a\x3d"
      "\x57\xe7\x6c\xbf\x73\xc1\x7d\xbd\x6d\x9b\xcc\xa7\x78\x96\xaf\x16\xd2\x95"
      "\x7d\x6e\x9d\x3e\xb4\xa8\x44\xc9\xe5\xf2\x87\x0f\xde\xb2\xca\x8d\x77\x5e"
      "\xdf\x8d\x59\x55\xf5\xe0\xda\x50\xcb\x0b\x2d\xa1\xe1\x23\xba\xe6\x7c\xfe"
      "\x18\x54\xef\xf8\x49\xb0\x2d\xbb\xdb\x8e\xa6\xd2\xc0\xe6\x74\x45\xb5\xea"
      "\xce\xdb\x87\xea\x3b\xef\xa4\xcc\xef\x38\x7a\xa6\x7d\xce\x3d\x61\x99\xc1"
      "\x45\x36\x8f\x97\xbf\xcf\x3d\xf5\xa3\xe5\xc1\xa1\xdd\xf7\x0c\xbc\x0f\xb6"
      "\xbd\xec\x9e\xf6\x2e\xbd\xd0\xc7\x72\xe3\xd8\x03\xd6\x0f\xfb\x5d\x7b\xf9"
      "\xfe\x9a\xd0\x8c\x37\xab\xc2\xf7\xd9\x84\x0d\x2b\xee\xbf\xf7\xfe\x91\x9c"
      "\xac\x99\x6f\x6a\x46\x5b\x97\x1a\xea\x8e\xbc\xdb\x21\x17\x90\xfb\xe4\xa7"
      "\xd7\xf3\x2b\x3d\xd6\xf7\x5d\xe4\xbd\xaf\xf8\x89\xcb\x4c\xcd\x4f\x59\x37"
      "\xd5\x9a\x74\x32\x47\x39\xa5\xc7\x2d\xc9\x0a\x8c\xbb\x5a\xbb\x7a\x85\xb6"
      "\xed\x5e\x09\x9f\x9c\x32\x95\xcd\x1a\x31\xbf\xe4\x86\x45\x99\xd8\x3c\xeb"
      "\x75\x39\x63\x46\xe1\xe0\xa3\xe1\xa3\xec\x7b\x5e\x54\x9b\x52\x5f\xf2\xca"
      "\x5e\x43\x61\x49\x40\xab\xbe\xf0\x3b\xeb\xac\xf1\x83\x9a\xd7\xec\x4c\x3c"
      "\xf2\x6c\xd4\x6a\x6b\xb1\xf5\x7a\xf9\x7d\xd6\x87\xeb\x99\x2e\xa8\xcc\xea"
      "\x71\x67\x6b\x97\x98\xbc\xd1\xd5\x1b\x0e\xfb\x0d\x5d\xf5\x7c\xc8\xf4\xbc"
      "\xf0\x12\xed\x71\xce\x42\xc3\x2e\x74\x0e\xfd\x39\xe3\xa8\xdf\xf1\x41\x5f"
      "\x6c\x0a\xd4\x47\xbf\x39\xf2\x44\xab\xe5\x5a\x64\x9e\xce\x38\x93\x25\x25"
      "\x67\xbf\x0f\x72\xd6\xd8\x6a\x69\x50\xb1\x28\x6e\xe2\x26\x2b\x49\xe9\x91"
      "\xfa\x67\x9f\x3a\x9a\x5b\x9c\xdf\xb2\xb7\x57\xf4\x83\x85\x5a\xc3\xbd\x3c"
      "\xa6\x85\xac\xbb\xd3\x34\xe9\xf5\xc6\x8d\xc6\x63\x64\x3b\x7e\x48\xff\x98"
      "\x75\x7a\x53\xc4\xc0\xfb\xbf\x5a\x6c\xa7\xed\x1c\xdd\x20\xab\x70\xef\x6c"
      "\x2f\xb3\x37\x67\xb5\x75\xfc\x7f\xbc\xd8\x7e\xaa\xb6\xcb\x8d\x1c\xe5\xac"
      "\x9c\xa3\xea\x17\x4a\x12\xaf\x04\x9c\xba\x35\x62\x6b\x48\xc6\x14\x8b\xa4"
      "\x85\x2f\xf3\x25\xca\xad\x5a\xf7\xce\x98\x52\x31\xa0\x5c\xdd\x56\xe1\xee"
      "\x7a\xbf\xe9\x37\xef\x0e\x55\x37\xb7\x2f\x95\x0e\xb7\xba\x7f\x2d\xe6\xa9"
      "\xb6\xc9\xeb\xea\x11\xcd\x97\xf7\xf9\x0b\x9d\x9e\x23\xfe\xfe\xe4\xe4\xdb"
      "\x57\x77\x4f\x70\xdf\x9f\x25\x79\xf5\xcc\x85\xb9\x3a\x11\xd1\xa9\xf2\x07"
      "\x9e\x99\x3a\xcd\xce\x49\xd8\xb2\x5c\x77\xe1\xf4\x90\xd5\x92\x99\x3e\x16"
      "\x6e\x15\x75\x85\xc7\x04\xda\xb5\x59\xad\x17\x9a\xec\x2e\xa6\x1c\x3f\x9c"
      "\xda\x37\x5e\xec\xc9\xf4\x7a\x0b\xe3\xe7\x07\x1f\xfa\xb7\x44\xc4\xc7\xb4"
      "\x16\xa7\x3b\x8f\xbc\xe9\x38\xc3\xac\x30\x4a\xf6\x84\xc7\x51\x1b\x8d\x9f"
      "\x2a\x47\x62\x73\x46\xb6\xf4\x3a\x27\xbb\xf1\x83\xa6\x9d\xae\x60\xe7\x0a"
      "\x83\x15\x6e\xdf\x16\xdc\x8b\xfd\x1a\xfb\xdd\x70\xd9\x1d\x89\xa7\x6e\x96"
      "\xbb\x05\xcf\x35\x92\xf7\xf6\xf6\x30\x70\x7c\xa8\x7d\x61\x8b\xb1\x91\x5c"
      "\xfd\x84\x15\xd9\x5b\x8b\xf4\x5f\xb8\xde\x59\x6a\x51\x2d\xb4\x7b\xb5\xa5"
      "\xd6\xdb\x84\x06\x25\x0d\x49\x63\x93\xea\x28\xd5\xb5\xaf\x62\x4f\x99\x6e"
      "\xd3\x29\xc8\xae\x9f\x30\x75\x61\xe0\xa5\xb8\x2b\xbe\x03\x07\x19\xd8\xf5"
      "\x2c\xf5\xd9\x31\xf1\x51\x54\xd2\xd4\xdb\xd3\xa5\x9f\x2e\x8b\x70\x73\xfd"
      "\x31\xab\xed\xe0\x15\xef\x6d\x2b\xad\x0e\x4b\x7f\xe9\x59\x64\xf1\x74\x45"
      "\x66\x8b\xd2\x9b\xf2\xdb\x4f\xf6\xa4\x1c\xee\x91\x75\xba\x20\xb6\xc1\xbf"
      "\xf7\xd9\x5d\x6d\xe2\x5e\x83\xa2\xec\x14\x9a\x36\x1d\xdf\x97\x56\x30\xe6"
      "\xd9\xb7\xe2\x29\xf7\x5d\x97\x97\x2c\xef\x5c\x32\x3d\x68\xaa\xcc\x87\x9b"
      "\x9b\xb2\xee\x86\x05\x2e\x2f\x8f\x6c\x10\x4f\xf8\x3a\x57\x6f\x88\xf0\xfe"
      "\xfc\x85\x97\xf5\x3f\xaf\x3f\xe3\x3a\x34\x32\x6b\xa9\x74\xf8\x9c\x5f\x11"
      "\x4a\x99\x07\xd4\xa2\x1d\x44\x2f\x76\x79\x59\xb9\xce\xae\xc7\xa4\x17\x79"
      "\x3d\x0e\x1a\xaa\xad\xbd\xda\x31\xc0\x75\xb4\x66\x97\xd3\x45\x2f\x37\x9f"
      "\xea\x1d\x3e\x7e\xd1\xe1\xee\x2a\x3b\x2f\x45\xcb\xba\x9e\x2d\x19\x71\xa2"
      "\x3a\xdf\xc5\x6d\xd5\x85\x96\xca\xa8\x61\x97\x4d\x57\x44\xe9\xbd\xd9\xff"
      "\x56\xd9\xf0\x55\xc4\xc8\xba\xc2\xef\xaa\xeb\x17\x9f\xb7\x76\xd2\x1d\xdf"
      "\x1a\xf3\x6d\xee\xb3\xd9\x87\x25\x75\x57\xf4\x7b\x7c\x78\xbf\xc5\x91\xab"
      "\x77\xcf\x16\xe8\x84\x19\x8d\x3b\x61\x27\x77\xfa\xed\x66\x8d\x1e\x59\x4d"
      "\x96\xcb\x8e\x84\xb9\xdd\x6f\x0a\xd9\x57\xe1\xf0\xd5\xe3\xa6\xc6\xb9\xdc"
      "\xb4\x5f\xc3\x5c\x66\x59\x7d\x37\x38\xe2\x7d\xd8\x67\xa8\x7d\x8f\xb4\x0b"
      "\x87\x6d\xe7\x38\x8c\x6c\x97\xca\x6d\xf2\x49\x5e\x55\xe1\x79\xfc\xd4\x31"
      "\x57\x1b\xe7\x0d\x16\x22\x22\xa2\xf9\x11\x3d\x66\x06\x2c\xfc\xbe\x5a\xbb"
      "\x52\x66\xf2\xf0\x24\x97\xd1\xfb\x03\xeb\x2c\x1b\x86\x1f\xda\x3d\xff\xee"
      "\xf4\xd7\x4e\x73\x83\xa2\xce\xb7\xc6\x7f\x8c\x0e\x8c\x4b\x0b\xdf\xff\xd3"
      "\x6d\xc0\x4b\xfd\x8a\x3b\xfe\x66\x1e\xd1\x81\xf3\xcb\xb7\x86\x68\x9b\x7c"
      "\xb9\xb0\x7d\x80\x4d\xfe\xb5\x1e\x25\x8f\x9e\xb6\x36\x45\xab\xb6\x9b\x4a"
      "\xab\x9a\x59\x25\xaf\x4c\x13\x11\xca\x0b\xbd\x64\xdb\xb6\x5d\x90\x59\x94"
      "\xb8\x77\x77\xf3\x04\xfd\x5c\xfb\x98\xcb\xdf\x24\x2b\x17\xfa\xce\x7e\x3d"
      "\x73\x5b\x82\x6c\xc7\x88\x01\x72\x1d\x83\x2b\xfc\xe4\xa7\xa4\x2b\xbf\xbc"
      "\x3a\xc6\xcd\x66\x44\xd9\xf4\x99\x51\x37\xde\x07\x3c\x39\x94\x29\x38\xa9"
      "\xfe\xb4\x5f\x64\x97\xab\xeb\x56\x9f\x8b\xdd\xd2\x3d\xb4\x20\x70\x79\xd5"
      "\xf2\x3d\xba\x31\x56\x2d\x2e\x29\xb7\x8e\x44\xaa\x36\x1f\x59\xb6\x40\x42"
      "\xb1\xfc\xfa\xee\xc9\x5a\x2a\x93\xef\x05\xd4\xa6\xe8\xd8\x8c\xce\x5e\xb6"
      "\xda\x2c\x38\x67\xdb\x82\xd1\xcf\x14\xbc\x85\x6d\xb6\xe8\xce\xbc\x59\xe1"
      "\x3d\x5b\x10\xe4\xdc\xad\xbb\x54\x9f\x51\x67\x7d\x2d\x6e\xeb\xf4\xdb\xf9"
      "\xea\x43\x7e\x97\x63\xf1\xa9\x27\x85\xe5\x62\x8f\x97\x39\x97\x5e\xbc\xaf"
      "\xe5\x59\x35\xf6\xc5\xdd\x11\xa2\xd7\x9e\xa6\xbf\xd3\x9f\x3e\x7e\xc9\xe2"
      "\x71\x16\xaf\x27\xdf\xcd\x89\x29\xf1\xd3\x5e\xfd\xa3\x75\xab\xe8\x4a\xa3"
      "\x36\xb5\x3d\x5b\x54\xd4\x1b\x56\x57\x9f\xac\xbb\xd4\xc7\x25\xdf\x64\xa9"
      "\xdc\xd9\xe4\x0f\xdf\xc4\x34\xe4\x6f\x47\x58\x9f\x77\xea\x76\xfc\xa1\x99"
      "\xee\xcd\xbc\x94\x41\x3a\x03\x3e\xed\x2e\x95\xd7\x68\xeb\xba\x73\xab\xee"
      "\x3e\xaf\xd7\xde\x3e\xc9\x6b\xc4\x5b\x6b\x1e\xed\xd3\x6c\xbd\x5e\x59\x15"
      "\x19\xbb\xb7\x5a\x65\xbd\x6d\xf4\xb0\x96\xfd\x57\x8e\xb5\xdf\xdd\x21\x71"
      "\xec\x53\xef\xcd\x75\x7d\x8f\xe9\xc5\xac\x08\x97\x5a\x9b\x2a\x31\xb2\xd7"
      "\x6e\xbd\xd9\x52\xa9\xc7\xbc\x77\xf5\xfd\x55\xf1\xad\xa6\xe3\xcb\xbc\xf6"
      "\x55\xe7\xaf\xdc\x91\x29\x5d\xf3\x53\xba\xca\xbb\x71\xe3\x46\x8d\x32\x99"
      "\x38\x93\x76\x93\xe6\xe3\x67\x8f\xe7\x76\x0a\x2d\x1c\xed\xde\xe3\x5d\xd1"
      "\xf9\x79\xd5\xda\x8d\x09\x8b\x42\x16\x68\xe5\x76\x51\x73\xec\x13\xde\x39"
      "\xb0\x56\xbf\x73\xd8\x73\x91\xcb\x5d\x7e\x2c\xa9\x54\x93\x73\x5a\xb9\xd2"
      "\x71\xda\xd8\x0b\xbe\x4d\xca\xcb\x2e\xb7\xf8\x65\x28\x7e\x5d\x73\xf1\x79"
      "\xc1\x4f\xf7\x43\x85\x27\xec\x66\x5c\xca\x3c\x18\xf1\xa5\xf6\xf3\x8f\xfa"
      "\x9d\xc9\x93\x16\xee\xea\x3c\xdd\x65\xf4\xb4\xf6\x47\xcb\xcf\x5c\xef\xde"
      "\xf0\xcb\x67\xbc\x8c\xba\xa9\x64\x62\xf6\x01\xb7\xb0\x84\x43\xdf\x3b\xaa"
      "\x96\xec\x18\xad\x32\xa8\x60\xf9\x62\x9f\x57\xe2\x59\x2f\x32\x6c\xbe\xe5"
      "\x1c\x71\xd3\xd0\x1a\xb5\x28\xce\x21\x42\x7f\xbe\x6e\xc7\x88\x2d\x97\x62"
      "\x4b\x03\xa6\x8f\x91\x0d\x6d\x71\x5e\xe4\xa2\xad\x11\xb9\x4a\xb4\xfc\xdb"
      "\x05\xe9\x98\x95\x57\x67\x89\xd8\x3d\x88\x37\x5b\x76\xcc\xe4\x63\xc3\x90"
      "\x2e\x45\xc7\xb7\xcd\xdf\x3e\x7a\xf6\xc5\x9e\x06\x41\x22\x43\x25\xe5\x12"
      "\xbe\x25\xfe\xaa\xde\xef\xe8\x7b\x32\x6b\x93\x75\xe8\x86\xd5\xcf\x7a\x3c"
      "\x6e\x51\xd8\xe7\x72\xf8\xd2\xb9\x49\x9a\xbb\xdc\xa5\x1c\x97\x47\xdc\x3b"
      "\x5a\x60\xe9\x12\x67\x69\xd7\xf8\xc1\xbe\xa8\xfb\xbd\x4d\x55\xe5\xa1\xce"
      "\xb3\xc3\x2a\x46\x0e\xb5\x2c\xff\x60\xb7\xa4\xf0\x74\x2f\xc1\x94\xd0\xa3"
      "\x22\x89\x3d\xe7\xdf\xfc\xf6\xd5\x26\x23\x31\xe1\x40\xdb\x48\x85\xfd\xe3"
      "\xc7\xca\xca\x8d\x19\x61\x60\x7c\x3d\xf9\x63\x9e\xe3\xf8\x7d\xdf\x43\xaa"
      "\xf7\x35\x8c\x1f\x77\x3a\xc5\xf9\x44\x4b\xfa\xa7\xb0\x0d\x67\x15\x55\x46"
      "\xa5\x57\x64\xdd\xb4\xba\xdd\xdb\xc8\xe7\x91\x55\x94\x9a\xf1\xad\xa0\xa8"
      "\x72\x6b\x79\xc9\x85\x2b\xc5\x1d\x44\x1b\x75\x9e\x8b\x77\xe4\xcd\xe9\x7f"
      "\x72\xea\xa7\xc6\x76\xd3\x0d\x37\xcf\x87\x3b\x4c\x5d\x7d\x5e\x53\xa4\xae"
      "\xfd\xc9\xc7\x73\xaa\x43\x95\x6f\xa6\x8d\x10\xa9\x7f\x95\x1a\xa2\x36\xd5"
      "\x73\x68\x5b\xaf\x30\xb7\xb2\xa6\x48\xe1\xb1\x7b\x2e\x14\xc9\x45\x6d\xeb"
      "\x3d\xce\xb6\xe9\x73\x7e\xaf\xc0\x80\xc1\x1f\xea\xd6\xbd\xed\x7a\x61\xa8"
      "\x6c\xd2\xe3\xb4\x9c\xf4\xc4\x28\xdb\xb1\x16\x66\xe2\x03\xd2\x67\x9f\xf9"
      "\xb4\x2d\x6e\xc9\x80\xb6\xa5\xe5\x8b\xca\x16\xa8\x85\x76\x79\x67\xb0\x33"
      "\x70\xf8\x4c\x7b\xc5\x7b\x96\x2f\x67\x9d\xd5\x7a\x2d\x35\xf3\xfc\x4b\x5f"
      "\x0f\x35\xa3\x93\xce\x62\x2e\xb2\x1d\x97\x2f\x19\x0d\xaf\x53\x93\x71\x9d"
      "\x74\xb9\x35\xc0\x5a\xcb\x29\x6b\x5b\xa9\xd2\x80\xc4\xbd\x7d\xae\x6c\xca"
      "\xbe\x3c\x5b\x79\x5e\xe6\xa4\x1d\x89\x25\xa5\x69\x0d\xeb\x7a\xbb\x99\xaa"
      "\x96\x77\x0a\x8c\xc3\xa7\xb6\xdc\x7e\x94\x51\x26\xa5\xe7\xf2\x6b\xc7\x4a"
      "\xe3\x50\x09\xc7\x07\x2f\x7d\x25\x8e\xee\x8e\x7f\x1b\xb4\x5b\xed\xeb\xe0"
      "\xe6\xb8\xcd\xce\x3e\x5a\xad\x0d\xe7\xef\xf9\x7f\x8d\xb8\xd8\x3e\xae\xe1"
      "\xb6\xb0\xc3\xdd\xe8\xf4\x19\xb1\x2b\x16\x9f\x7d\x6f\xa3\xb8\x76\x4f\xf7"
      "\x8f\x06\x29\xe7\xde\x17\x7c\x6c\xd4\x1c\xb4\x21\xe5\xfa\x06\xc7\xd7\x0b"
      "\x26\x7f\xe8\x31\xcb\x6f\x46\xae\x58\x89\xe3\x88\x25\x05\x19\x83\xca\x8c"
      "\x92\xde\xd6\xbf\xaa\x29\xcb\xdf\xb4\xd4\xe4\xc1\x11\xa5\x01\x69\xc3\x7c"
      "\x1f\x65\x88\x3c\x7c\xa4\x20\x7d\x60\x51\x50\xbf\x49\x0e\xff\x9b\x6f\xfb"
      "\x01\x40\x50\x54\x7d\xa6\x2c\x69\xc0\xeb\x59\x8d\xc7\x5a\x12\xa6\x74\x89"
      "\xec\xf1\xe7\xf9\x5f\xec\x77\xff\xbf\x3d\xff\xab\x0a\x04\x82\xcf\x02\x81"
      "\xc0\x28\x36\xe1\xc5\xed\xae\x42\xb9\x0e\xc3\xd6\x7d\x2e\x29\x18\xd2\x66"
      "\xa4\x55\x74\xec\xe1\x38\xe7\x7d\x0e\x42\xa2\xb3\x04\x65\xd9\x0b\x8c\x22"
      "\x2a\x1c\x5f\xbf\x71\x9a\x5c\x38\x72\xd3\xc9\xa7\x39\x3f\x5e\xea\xe6\x3f"
      "\x4e\xe8\x72\xec\xb5\x69\x74\x44\xe8\xea\xf5\xd7\x2e\x6d\xd1\x4c\x4e\x3b"
      "\x63\x7a\xe3\x43\x95\xf5\x93\x5c\x97\xde\x3d\xe7\x54\xfa\x48\x4b\xbc\xfa"
      "\xe5\x64\xbd\x38\xab\xdf\x24\x31\xa7\xf7\x15\xe2\xbd\x74\xbd\xb7\x6c\x3e"
      "\x31\x63\xf6\xc8\x11\xcf\x3c\x52\xcd\xa7\xb6\x3c\x53\x9e\x3e\x28\xa7\x48"
      "\x10\x74\x53\x71\xbe\x54\x8e\x5a\x67\xe6\xf6\x79\x9b\x53\x6c\xc6\x58\x88"
      "\x0f\xb0\x8c\xaa\xf8\x11\x77\x63\xec\xac\xb2\x9a\xc0\x94\x81\x1d\x92\xf3"
      "\xaa\xf7\x2a\xd8\xeb\x09\x4b\xcf\x9c\xbc\x4b\x7b\x9d\xcd\x66\x9b\xa2\x59"
      "\xcd\xde\x29\xd7\x0e\x3f\x7f\x7b\x49\x70\x52\xf7\xd3\xb1\x29\x0d\x33\xb3"
      "\x6c\xfa\x47\x79\xf5\x35\xdc\x73\x22\xa3\x7d\x78\xd4\x43\xd3\xee\xd6\xe7"
      "\x6f\x1e\xf9\xfc\xe3\xc0\x60\x63\x71\xaf\xbb\x19\xd7\x6e\xed\x6f\xac\x8a"
      "\x70\xf2\x18\x7e\xab\x6b\xc8\xf0\x55\xbf\x9e\x79\x8e\xf8\x5c\x79\x5d\x6f"
      "\xd2\xde\xd5\xd3\x93\x03\x9f\xbb\xaf\x16\x4e\x3a\xb6\x77\xeb\xc0\x37\xea"
      "\xfd\xe3\xca\x0b\xfb\x7d\x49\xdc\x53\xa6\x98\xdd\x73\xf9\x93\xe9\x52\x59"
      "\x97\xa7\x15\x6c\xeb\x5d\x7e\xd9\x73\x93\xe1\xa3\x71\xc1\xf6\x3f\xba\xb9"
      "\xe6\xbb\xbe\xbe\x34\xf7\xcd\x00\xdb\x57\x73\x46\x04\xe7\x1b\xa6\xde\x11"
      "\x1b\xb1\x2a\x2d\x21\xb0\xa0\xff\xe0\x75\x31\xb3\xb3\x22\xb7\x7b\x34\x5e"
      "\x1b\x67\xd3\x58\x77\x39\xa4\x60\x92\xa7\xee\xf2\xe3\xb6\x35\xad\xbd\x53"
      "\xe4\x54\x97\x6b\x5b\xab\xdb\xa9\xef\xfa\xb5\x20\xf3\x73\xe8\xe3\xa7\x3f"
      "\x8a\x2e\x9d\xbe\x54\x79\x7e\xfb\xe8\xe6\x93\x87\xb7\x28\x2a\x1d\x9a\x35"
      "\x70\xcc\xa1\x69\x69\x1f\x8e\x2c\x49\x5a\x7c\x33\xa0\xf9\x96\x48\xa8\x47"
      "\x7d\xe5\x8a\xc0\xb5\x4d\x72\x1b\x1f\xaf\xcc\x9f\xa8\xf0\x45\x7a\xb9\xaa"
      "\xbe\x88\x58\x7c\x9c\x47\xf6\x19\x37\xc7\xa3\x52\x27\xa6\xae\xa8\xdc\x1e"
      "\xf1\xe1\xbb\xf3\xc7\xc8\xe6\xad\xdf\xde\x24\x8e\xbd\xe3\x39\x7e\xd7\xb6"
      "\x21\x0a\x86\x92\x32\x71\xbd\x03\x34\x2f\xc8\x49\xd5\x1c\x79\x3d\xad\xcf"
      "\x1e\x3d\x21\x71\xc9\x2b\x37\x6b\x3d\xe4\xcd\xb6\x9c\x98\x6f\xd4\xda\x70"
      "\xe5\xbe\x8e\xeb\xfe\x37\xc2\x33\x97\xaf\x2f\xdd\x62\x13\xa4\x34\xd8\x59"
      "\x57\xa3\xbc\x6c\x43\xaf\xea\xbb\xda\xe5\x49\xb7\xdd\x4f\x0a\x95\x0f\x99"
      "\x2f\x6e\xad\x6a\xa8\x72\xfa\x83\xb5\x47\xfb\x80\x73\xe3\x4a\x45\x1a\xdf"
      "\x55\x7c\x78\xa7\xe0\xac\xbb\x51\x5c\xf6\x51\xdd\xaa\xea\xc3\x39\x82\x65"
      "\xfa\x85\x13\x3b\x23\x6f\x65\xad\xac\xbb\x56\xf4\x4e\x69\x79\xd7\x01\x32"
      "\x55\x21\xb7\xda\xba\x87\x95\x14\x2c\x7f\xbb\x4f\xdf\x79\xf5\xdc\xf6\x7e"
      "\x7a\x3b\x44\xa4\x32\x7d\x37\x0e\x78\x96\xd8\xa7\xfa\xb1\x7e\xb1\x48\xf7"
      "\xe6\x8a\xf1\x26\xfb\x63\x6e\x07\x68\xd4\xbb\x67\x8d\xae\xa9\xdc\xa4\x64"
      "\xec\x99\xb1\x52\x75\x8c\xce\x1a\x19\xef\xd2\x25\x17\xf7\x5e\xc9\x0b\xcd"
      "\x2c\x33\x6f\x5a\x5d\x25\x35\x59\x66\xa0\xfb\xa3\x04\x31\x77\xa7\x26\xd7"
      "\xda\xcd\x11\x05\xd5\x4d\xbb\x62\x3b\x76\x16\x0a\x7e\xe6\xeb\xbe\xc9\xff"
      "\xae\xa5\xe6\x6a\x3e\x20\x4a\x5a\x63\xdc\x8a\xb7\xa7\x1e\x84\xcd\x39\x3c"
      "\x45\x41\x67\x80\x57\x94\x5d\x6c\x54\x9c\xea\x82\x3e\x9e\x46\xe2\xdb\x82"
      "\x2d\xd5\xd3\x83\x6b\x12\xfc\xdb\x66\xcf\x77\x1f\xb7\x6b\xf4\x80\x98\xd3"
      "\x6f\xcf\x3a\x3c\xb6\x7a\xf6\x24\xe9\xe3\x41\xd1\xb8\x57\x6f\x16\xff\xc8"
      "\xf3\xbc\x23\xba\x7a\xf7\xbd\x9a\x65\x09\x35\xf7\x7b\xfb\xec\xbd\x63\xeb"
      "\xeb\x5e\x3b\xcf\x6e\xe5\xe2\x03\x5d\x3e\xc8\xdd\x50\x8a\x1d\x63\x68\xe1"
      "\xfa\xe3\xba\x4f\xc4\x29\xb3\x8d\xae\x9b\xe5\xe4\x63\x53\xfa\x9a\x9e\x39"
      "\xb1\xb1\xdd\x2e\x2c\xb5\x68\xc6\x18\xd5\xa1\x77\xa5\x3c\xaf\xcd\x5d\x73"
      "\x60\xed\x8f\x68\x5f\xdf\x1e\xe9\x79\x26\xe3\xfb\x4c\xb9\xe8\x70\x67\x6a"
      "\xbd\x41\x50\x4f\xdd\x0c\x33\x89\xb2\x6f\x9b\xba\xfa\x94\x97\xe5\x47\xa7"
      "\xed\x7a\x55\xfa\xb0\x4f\x82\x44\xdb\x1c\x83\x80\xd1\xc1\x7e\x85\xc6\x63"
      "\x44\xb3\xe6\x4c\x1d\xf6\x54\xfe\xd4\xc7\xaa\xe0\xb4\xea\xfb\xe2\xd2\xee"
      "\x35\x23\xcd\x8d\x1b\xee\xab\x26\xbe\x90\x36\x6d\x55\x9d\x61\x51\xb6\x7a"
      "\xe6\xe2\x7e\x9d\x91\x67\x64\xa2\x9e\x3d\x7d\xf3\xa4\x6c\xe4\x9a\xed\xf3"
      "\xab\xcf\x25\xf6\x16\xbd\x32\xc8\x7b\x4e\xe3\xce\x3d\x7b\x9a\x8a\xb5\x92"
      "\x27\xf7\x7d\x75\xfd\xfd\x11\xe7\x43\xb3\x3d\xde\x79\x56\x98\xc4\xda\x3e"
      "\x14\x4d\xbd\x27\x67\x56\x64\x33\xe8\x95\xd5\x80\x98\xbb\xc3\x4d\xaf\x3a"
      "\xbf\xd0\x3a\xd1\x39\xbe\x63\x97\x42\xf4\x1d\x81\xd2\x80\x2d\x5e\x06\xe3"
      "\x67\x3e\xcf\x2e\xbb\x7f\x78\xc2\xee\x0b\xeb\x0b\xe4\x4f\x6b\x6c\xee\x15"
      "\xd8\x27\x36\x7d\xe4\xf6\xaf\x8f\xe6\xaf\x76\xb9\xec\x7b\xbc\xf5\x91\xab"
      "\xeb\xd6\xa3\x6a\x5e\xb3\x1e\x3c\x1c\x25\x92\x2d\x92\x50\xe0\x2e\x1e\x90"
      "\x6a\x34\x2d\xfd\xf1\xba\xe3\x3d\xd7\xf4\x97\xbb\x61\x5a\xb9\x69\xac\x4d"
      "\xda\xf1\xda\x9e\x07\xf3\x43\xe7\x3e\x93\x6b\xb6\x69\xef\x33\x50\x5a\xb9"
      "\x70\x69\x7b\xc3\x8e\x23\xbd\xb6\xb8\xf7\x1b\xa1\x33\x20\xe0\x4e\x97\xb3"
      "\x5d\x2a\xf3\xcd\x25\x14\x0e\x9c\x55\x8a\xb3\x4f\xdf\xb2\xc2\x4c\x79\x9f"
      "\x6e\x92\xc5\xe7\x35\x57\x77\x2f\x58\xfa\x3a\x52\x6e\x60\xd6\x04\xef\x93"
      "\x31\x4b\xcc\xee\x26\xd5\x05\x3d\x3c\x7f\x36\x59\x31\x54\x7e\x90\xdc\xc0"
      "\xc5\x5f\x0e\x1f\xcf\xa9\x7d\xec\xff\x79\x8e\x99\x40\x26\x50\xfd\x68\x91"
      "\xe8\x56\x93\xe2\xc9\xb2\xde\x93\x95\x72\xad\x47\xfd\xd4\xf6\xcc\x7b\x99"
      "\x10\xb1\x7e\x4d\x96\x66\x8f\x69\x76\x4e\xcb\x2f\x4f\x7c\xdd\x11\xab\xf3"
      "\x7a\x88\xd0\x37\x89\xc5\x63\x8c\xe6\xdd\x5a\x51\xfa\x54\xd8\x35\xdd\x76"
      "\x6d\x43\x90\xe7\x48\xbd\xf2\x6d\x46\x8b\x54\x63\x9d\x3e\x8d\x70\x9f\xb8"
      "\x6e\xb3\xb3\xde\x01\xd5\x3d\xea\x1d\x33\x44\x15\xdb\x5e\x06\x1f\x1e\xd7"
      "\xf3\xc3\xa4\xb9\xe7\x66\xce\x4b\xd5\x74\x98\xe8\x53\x6f\x76\x22\xfe\x5c"
      "\xb3\xf4\xd8\x47\xda\x67\xbc\x32\xce\xff\x3c\x7c\x5d\x72\x9e\xd6\x52\xd3"
      "\xa7\x5d\x3e\xc6\x98\x56\x9f\x1f\x3a\xda\x24\x36\xfc\xc1\x94\x5f\xed\x5a"
      "\xe3\xfd\x4d\xd2\xc2\xf7\x16\x2f\x9c\xeb\x91\x6a\x9b\xe8\x7f\xb7\xcd\x30"
      "\x41\xdd\x59\xa6\xc2\x23\x75\xf9\xdd\xae\x92\x6f\x17\xba\x49\xf6\xef\x71"
      "\xb0\xd7\xb0\x41\x23\x86\xf6\x18\xf9\x3d\xc9\xeb\x41\xae\xda\x94\x67\x8b"
      "\x33\xaf\x1c\x74\x58\xfa\x71\xe6\xda\xc3\xef\xbb\xb5\xf5\x51\x50\x3f\xb7"
      "\xf4\xab\xdc\x66\x0f\x03\xed\x95\x53\xa5\x5f\x0f\xb3\xb8\x37\xf5\xac\x96"
      "\x72\xea\xb9\x3e\x6b\x37\xdd\x09\x99\xfe\x25\x55\xfa\xa7\x50\xcf\x4d\x27"
      "\x4a\x56\xdb\x6d\x55\xce\xbd\x95\xd2\x18\x25\xbb\xed\x63\xe5\xa5\xdd\xfb"
      "\x33\xcd\x7b\x7d\x18\xd9\x1c\x52\xa8\x7f\x38\x3a\x27\xa6\xe6\xfc\xb9\x1b"
      "\xa9\x51\xc9\x1f\x57\x5e\x2a\x69\xa8\x6c\xec\xbb\xdc\x60\x81\xd8\x6a\xd5"
      "\x8b\xb2\x15\x8f\x56\x85\xa5\xbb\x9e\x5e\x32\xee\x52\xd7\x53\x6f\x03\xd6"
      "\xbb\x6b\x65\xaa\x6b\x46\x18\xc7\xf6\x1f\xf7\x30\xf5\xb3\x54\xfc\xa5\x2f"
      "\xab\x36\xa5\xa5\x44\x67\x94\x5e\x58\x90\x3c\xfc\x68\xf2\xd3\x00\x19\x4b"
      "\xa9\xcb\xb3\x2b\xe3\x0f\x0c\xd2\x5d\xec\x22\xe5\xb9\xc7\x50\xb5\xa9\xe8"
      "\xc4\xfa\x9d\xa3\xac\xbb\xd6\xa7\x89\x6a\x6e\x36\x0b\xdd\xf8\x62\xf0\xa5"
      "\xba\x99\xfd\xed\xa7\x75\xaf\xd0\x59\xaa\xa2\x75\xd3\xd0\x64\xbc\x69\xa3"
      "\x46\xaf\x49\x1f\x95\x4c\x9d\x4f\x4c\x58\x10\xf4\xe0\xc6\xaa\x55\x75\xbd"
      "\xc4\x95\xfa\x96\x36\x3f\xf5\x4a\x98\xe8\x31\xa3\xf6\xed\x81\x6d\x6f\xb4"
      "\xf7\xe6\x8e\x16\xbf\x6e\xad\xbf\x51\x4f\x7c\xc1\xcc\xde\x97\x05\x1e\x75"
      "\x62\x6b\x53\x52\x35\x7b\x27\xe9\xea\x29\x86\x5e\xab\x1f\xd4\x12\x2e\xb5"
      "\x33\xa9\x54\x78\xfc\x99\x01\x95\xbf\x36\xc7\xce\xcb\xd5\x6d\x3a\x7b\xc4"
      "\x73\x9d\xc4\xb4\x91\x8b\x56\xb9\x0e\x7e\xea\x5c\x50\xbc\xed\x58\x3f\xbf"
      "\xb5\x5b\xd3\x15\x4e\x59\x65\x58\xdd\xab\x8a\x2f\x56\xbb\x3b\xe6\xed\x8e"
      "\x03\x13\x17\xcf\xe9\xb9\x3b\x61\xe3\xe8\xf2\x05\x6b\xe7\x99\x7f\xfd\xbf"
      "\xd8\xf9\xf3\x68\x2c\xdf\xbf\x5f\xfc\xbf\xcc\xa2\x88\x32\x45\x66\x2a\xc9"
      "\xac\x24\x32\x85\x22\xa4\x48\x19\x4a\x86\x0c\x21\x73\x86\xcc\x53\x86\x92"
      "\x32\x8f\x19\x92\xa1\x64\xcc\x9c\x08\x09\x21\x63\x0a\xa1\x32\x46\x22\x73"
      "\xf2\x5b\xfb\xde\xef\xf7\xde\x9f\xfb\xb3\xee\xbd\xee\x7d\xff\xf1\xfb\x7e"
      "\xf6\xbd\xd6\xf3\xb1\xd6\xb5\x5e\xeb\x75\xbc\xce\xeb\x38\xcf\x63\x5d\xc7"
      "\x3a\xcf\xeb\x70\xa0\x56\xd3\x39\xcc\x53\x9e\x7b\xb5\xf2\xf9\xd0\xde\x09"
      "\xf3\xfa\xd3\x6f\x75\x89\xd7\x7f\x48\x4c\x6f\x19\x7f\xae\xcb\x1b\xfd\xdd"
      "\xf0\xb4\x92\x69\x38\x3a\xbb\xfe\x66\xe4\x61\xfa\x32\x3f\x57\xe6\xe0\xa4"
      "\x18\x6a\x51\x47\x43\xaa\x84\x14\x09\x37\xc9\x90\x48\x4b\xd6\x2a\xe6\xeb"
      "\xba\xa3\x44\x9b\x1a\xf5\xd4\xec\xd5\xde\xad\xc6\x03\xba\xaa\xe3\x24\x56"
      "\x9f\x52\x0a\x53\x92\x35\x2f\xda\x36\x0f\x36\xf2\x9e\xaa\x3c\xe2\xd1\x56"
      "\xd6\x46\xfe\x7b\x58\x5f\x6d\xab\x54\x5e\xfa\xf1\x30\x4d\x78\xb8\x22\xe3"
      "\x87\x57\x3c\x8c\x22\xd7\x4d\x1d\x77\x3d\xb2\xbf\x63\xea\x3d\xf0\xbd\x21"
      "\x4f\xb3\x5c\x46\x92\x44\xe8\x8a\x94\xf9\x31\xab\xe3\x7d\xf1\x0a\x31\xcd"
      "\xe1\x3d\xf5\xb1\x0f\x0e\xef\x98\xd8\x7a\xba\x45\xd3\xb2\xe5\x1d\x9a\x1c"
      "\xd1\x1b\xe4\x44\xf4\xe8\x68\xa8\x85\xcb\xb2\x69\x16\xc3\xde\x5a\xeb\x73"
      "\x0d\xef\xaf\x9f\x1d\xf2\xbc\xd4\x56\xd7\x5f\xa3\x26\xd9\x11\x66\xaa\xd6"
      "\x7d\x67\x66\x8a\x78\x50\xff\x65\xe1\x66\xd7\xd0\xa3\x00\x1d\xf7\xfa\x2d"
      "\x0e\x06\x9d\xc0\xb7\x23\x89\x87\xdc\x66\x88\xfe\x7a\xf8\x76\x59\xca\xc6"
      "\x7f\x26\xcd\x1e\x73\xbf\x66\x78\xa8\xae\xed\x5e\x2a\x6b\xf2\x2b\x86\x17"
      "\xc3\xd4\x1a\x57\x48\xc5\x6d\x16\x82\xa5\xce\x1d\xfa\xc5\xf2\x2f\xfc\xea"
      "\x00\x00\x00\x00\xff\x4d\x5d\xa5\x8f\x9c\x9f\x6d\xf7\xf0\xd7\x61\x1a\xe1"
      "\x1a\x7d\xbf\xe2\xfb\xf7\xfa\x9f\xe2\xaf\xfa\xdf\xeb\xff\x45\x02\x81\x70"
      "\x36\xe7\xfe\x71\xce\xfa\xc1\xa3\xc7\x3b\xff\x5c\x09\xdd\xbd\x46\x6e\x6f"
      "\x74\x6c\x6e\x98\xef\xaa\x40\x99\xd0\x16\x59\x30\xa9\xd5\x7a\x64\x71\x89"
      "\xb4\xec\xe8\x76\xf4\xea\x04\x99\xeb\xa9\xef\x8a\x31\x69\xfb\x7b\x93\x0f"
      "\xaf\x27\xb4\x6e\x1a\xcf\x92\xf1\xbf\xfc\xbe\x59\x23\x78\x6d\x78\xdf\x8d"
      "\x36\x3b\xef\x17\x1f\xb6\x3d\x9f\xae\x96\xb8\x6c\xbc\xcd\x11\x2a\x17\x23"
      "\x66\xd1\xaf\xcf\xac\x79\xe2\x54\xbc\x93\x5d\xfc\xe3\x89\x53\xdf\x8b\xea"
      "\xe5\x6c\x8d\x97\xde\x1f\xbe\x11\xcc\x64\x72\x31\x70\xf4\x1c\x75\xf6\x3b"
      "\x7b\x2b\x8b\x43\x37\xfd\x4f\xf4\x87\x84\x1b\x73\xd0\x98\x66\x4a\xde\x10"
      "\x69\x1b\x8d\x0b\x4e\x0c\x29\xcd\x95\xdf\x1a\xd1\xca\x50\x90\x63\xb5\xa6"
      "\x7b\x53\x68\xfa\xfb\x8e\x27\xd5\x93\xb2\xdf\x87\x75\x6d\x97\x3f\x9f\x6f"
      "\xed\x50\xde\x31\xf7\x75\x22\x2e\xea\xae\x0c\x7f\xed\x43\xa7\x5f\x4a\xde"
      "\xf5\x67\x38\x8e\x74\x67\xde\x1f\x17\xba\xd3\x34\xc3\x75\xd8\xab\xdd\xeb"
      "\xf0\xa8\x12\xc1\x71\xfd\xce\xed\x29\x96\x79\xc9\x4d\xfd\x3f\xd7\x4f\x5e"
      "\xa4\x3c\xaf\x58\xb3\xd1\x11\xe3\x75\x51\xe7\xa8\xb3\x69\x80\x17\x8f\xab"
      "\xbf\x8e\xc8\x11\xe9\x6f\xa3\xed\x9b\xe5\x01\x27\x5c\xba\x63\x7e\x9e\xb1"
      "\xd8\x7f\xe1\x4c\x3c\x83\x4c\x4c\x79\x82\x4b\x12\xd9\xad\x98\xd9\x85\x2b"
      "\xc2\x2b\x54\x07\x72\x64\x8d\x8d\xb2\xab\x92\x4b\xf6\xff\x4a\x2e\xbc\xbe"
      "\xaf\x90\xc3\xff\x98\x62\x73\xb9\xde\xc9\x3d\x3e\xa7\x1b\xc7\xe2\x59\x23"
      "\x1c\xf6\x8f\x11\x89\x94\xd4\x12\xed\x58\x50\x3d\x97\xd7\xd7\xb6\xed\xc3"
      "\x48\xd3\xbd\x10\x33\xc2\xbc\x9f\x48\xec\x44\xdd\x9e\xed\xcc\xc5\x03\x19"
      "\x2f\x99\xda\x1e\xcd\xfb\xf3\x46\xd5\xbe\xd6\x20\x8b\x1e\x6c\xd1\x3f\x47"
      "\xcc\x57\xcf\x28\xc1\x45\x61\x70\x72\x23\x6c\x61\x6b\xf0\xfd\xe8\x88\xf4"
      "\x4d\xde\xda\x21\xd6\x30\xc1\x2b\x2b\xf4\x6f\x1f\xcb\x35\xca\xa6\xdc\xdc"
      "\x3d\xbd\x65\xb7\x5d\xc5\xb7\xfe\x4a\x6b\x81\xda\xe1\xe7\x1b\x3b\x77\x3b"
      "\xfa\x84\x26\x43\x1e\x07\x92\xaa\xd9\x50\x2e\x2d\xb5\xd3\x23\xab\xa7\x29"
      "\x3e\x91\x04\x87\xbf\x5d\xe9\x20\x89\x51\xb4\x6f\xb7\x90\x65\xd0\x70\xec"
      "\xcd\x27\xb8\x69\xd3\x4f\xc5\x1f\x73\xdb\xe0\xa8\x22\x38\xc7\xc5\x1c\xbc"
      "\x70\x6f\x3e\xb9\x71\xae\x57\xef\xad\x5d\xf8\x9d\x47\x29\x59\xd7\xd4\x96"
      "\x74\xdb\x7c\x8a\x2e\xf9\xb2\xba\xc6\x7c\x9c\x2e\x12\x49\x72\xbc\x50\x70"
      "\x3b\x2b\x61\x65\xf9\x13\xd1\xa4\xe1\x23\x91\xeb\x73\x3f\xbd\x7b\x43\x9e"
      "\x99\x05\x5b\xfd\x91\x49\x70\x0c\x11\xd8\x7a\xf3\x6d\xb9\xf2\xd3\xfb\x0f"
      "\x1f\xf3\x15\x6e\x91\x46\x58\xba\x1f\x56\x65\xbf\xfc\xed\x50\x3e\x87\xdf"
      "\x01\x49\xc2\xe7\x30\x56\x2a\xad\x8c\xb5\xac\x7b\x02\xbf\x58\x3a\xde\x1b"
      "\xd8\x7c\xe3\x14\xbe\xd7\x3c\xfd\x80\xec\xc5\x5b\xe7\x80\xa7\xaa\x83\x9d"
      "\x65\xb5\x31\x52\xa5\x65\xbb\x92\xcf\x45\xdf\xbe\xe7\x90\x12\xcd\xaf\x6f"
      "\x44\x33\x66\x18\x5d\x9f\xe5\x91\x1e\x42\x53\xef\x56\x44\x7d\x7e\x23\x3e"
      "\xa1\x4f\xcd\xbc\x3c\xe0\xec\xa4\x98\xad\xff\xb6\x4a\xeb\x1b\xdf\x5f\xab"
      "\x2c\xce\x8d\xb1\xf7\x3c\xd6\x9b\x6f\x90\x34\x78\x5c\x38\x74\xe1\xce\x49"
      "\xed\x8e\x1b\xea\x7e\x54\x0f\x9b\xce\x2e\x4f\xbd\x7a\xf1\xbe\xcf\x97\x57"
      "\xb2\x93\x21\x21\xdb\x48\xec\xd8\x6e\xbf\x6c\xf7\xe8\x77\x17\x13\x29\xe2"
      "\xf7\xd0\xd5\xab\x19\xad\xb7\x13\x1f\x4a\xf7\xd9\x1b\xaf\xb1\x97\xbb\x24"
      "\xd7\x71\xfc\x5d\xc8\xed\xa3\x4c\x1f\x8f\x90\xdd\xb3\x39\x45\xa8\xbd\x12"
      "\xa5\x5e\xe3\xf2\xed\x73\x0c\x59\xd8\x84\xfa\x1f\x0b\x5f\xab\x39\xe9\xae"
      "\x81\x71\x52\x47\xb5\x94\x73\x25\xe1\xa9\xa4\xbb\x1f\x2c\xc7\xbd\x27\x1d"
      "\xb3\x78\xa2\x7f\x3e\x48\xa0\x6a\x49\x94\x7b\xcd\xae\xcb\x84\xa1\x82\xf3"
      "\xd0\xa5\x1c\xa2\xba\x35\x83\xc5\x29\x19\x2d\xce\xf6\x61\x9e\x57\x8c\xf3"
      "\xbb\x28\x69\x8f\xd6\xb2\xdb\xbb\x7f\x23\xb9\x7d\x7a\xaf\x7a\x6d\xc8\xbc"
      "\xd6\xf4\x6b\xe5\x99\xfe\x33\xf7\x6c\x16\x5c\xa5\x8f\xaf\x68\x55\x7b\xcc"
      "\x89\x47\x57\x54\x72\x94\x32\x6e\x3f\x38\xfb\x9b\x69\x8e\xf3\x04\x57\xe9"
      "\x25\x17\x71\x09\x51\x3f\x6e\x37\x25\xdd\xbc\x93\xd5\x54\x2f\x1e\xb5\x1f"
      "\x4b\xd6\xeb\xb6\xcd\x26\xb2\xc9\x78\xdb\xe9\x65\x7a\x29\x50\x5c\xf8\xe1"
      "\x77\xa3\xf2\x06\x8e\x54\x53\xd6\x77\x16\xe9\xa7\xdf\x7c\x14\x96\xa0\xf1"
      "\xf7\xcc\x9f\x58\x69\xb4\xb5\x57\x28\x8a\xcd\x33\xf0\x8b\xa7\x9c\xfc\x94"
      "\x2f\x5d\xdb\x7e\xa9\x4b\x2e\x5a\x4b\x97\xfe\xd2\xfe\xaf\x42\xb6\x6d\x12"
      "\x87\x9c\xe6\xf7\x36\x4b\xf7\xfc\xe0\xdd\xfb\x70\x87\x65\xcb\x5b\xcf\x35"
      "\x33\x37\x46\x8f\xa9\x8c\xd6\xc4\xc6\x73\x67\x84\x4e\x67\x7c\xb3\xd5\x1a"
      "\x19\xab\x38\xfe\xe3\xc1\xe1\x6b\xb4\xad\x69\xa6\x7b\xf6\x3c\xea\x0e\xe4"
      "\x3c\xfe\xe2\xdb\xe8\x4d\x5b\x5b\x89\x1c\x55\x85\xe7\xb5\xc7\x19\x43\xfa"
      "\xe4\x7b\xc9\x89\x95\xa7\xa7\xe4\x7d\x1c\xab\x62\xf7\xca\xd9\x4b\xb1\xaf"
      "\xca\x56\x79\x3e\xde\xe7\x63\xf9\x70\xed\x40\x4e\xee\x82\x5a\xac\x98\xd7"
      "\xe9\xfb\x9b\xc2\xc5\x96\xc7\x1b\x76\x78\xcf\x0c\x1c\x5a\x71\x12\x35\x3a"
      "\xcf\x14\xcb\xff\x4b\x94\xe8\x0b\x37\x95\xc7\x57\x27\x0e\x33\x8a\xad\x51"
      "\x4f\x69\x76\xee\xd8\xb5\x9f\x67\x0d\x5a\x7a\x45\x2e\x9e\x0c\xb9\x7a\x4e"
      "\x25\x65\x60\xa6\xac\x88\x78\x8a\xd1\x84\x96\x48\xf4\xca\x9d\x37\x1a\xac"
      "\xa7\x4a\xf2\x77\xfa\x7b\x95\x90\x72\xbc\x6e\x7c\x53\x39\x7d\x56\x59\x7d"
      "\x4b\x53\xa2\xd6\x2a\x85\xe0\xb4\xfe\xee\x93\xf3\xaf\xbb\x07\xe4\xe6\x83"
      "\x53\x5f\xd6\xa7\x9e\x67\x37\x20\xd6\x18\x7c\x91\x97\xac\xd4\x42\xe4\x3d"
      "\x16\x99\xd2\x62\x37\xea\x7d\x48\x66\xfd\x7c\xea\x93\x5c\x95\x9b\xd5\x4f"
      "\x89\xb9\x37\x2c\x4f\xba\x6e\x7a\xf3\x72\x58\xbf\x63\x36\xf1\x92\x27\x7c"
      "\x13\xdd\xbd\xb3\x4f\x57\xc8\xcb\x38\x5f\x63\x20\xc8\x38\xc1\xe4\x96\xf4"
      "\xdc\xae\x77\x1e\xc5\xec\x74\x7c\x5a\x22\xbc\x1a\x32\xf4\xb5\x4f\x4f\xed"
      "\xa1\x08\x16\xf6\x18\x1b\x7e\xc2\x35\xf0\xbc\xb9\xda\xc6\xf4\xf6\x9b\xd3"
      "\x6f\x4d\x36\xb3\x82\x44\x66\x2e\x51\xc9\xfb\xf3\x0d\x29\x2a\xbf\x2d\x7c"
      "\x72\x59\x66\xe2\x48\x2a\x9d\xb5\xeb\x79\x13\xa9\x57\x42\xe7\x3d\x3e\x3e"
      "\x64\x1e\x10\xa0\x2a\x09\xbe\x16\xc4\x34\x6e\x25\x7a\x9d\x7d\xf9\x9a\x13"
      "\x7f\x82\xe6\x25\xfa\xe0\x16\xf5\x74\xeb\x03\x8d\x61\x4a\x6e\x65\xe3\xc2"
      "\x8a\xf9\xb6\x87\xcb\x38\x16\x17\x8f\x8d\x46\xbd\xfc\x7d\x76\xcc\x39\x57"
      "\x55\xa9\x8f\x9e\x3b\xf6\x7d\x9c\x87\x61\x9d\xbc\xbe\x73\x62\xdc\xd9\xc6"
      "\xa2\x41\x95\x69\x51\x2b\x17\xed\x8a\xde\x38\xcd\xcb\x66\x37\x9d\xef\x6c"
      "\x25\xc5\xef\xa4\x24\x92\xaa\x9f\xcd\x37\x10\xb0\x78\xfd\x95\xab\x9f\x4c"
      "\xfd\x1d\x4d\x4b\x8b\xae\xbe\xfe\x91\x53\x8c\xa1\xcf\xbe\xf4\x91\x53\x7f"
      "\xd6\x68\xf0\xd4\xdd\xf6\x59\x4a\x6f\x0f\x5d\xe3\xb3\x38\xd3\x38\x57\x3e"
      "\x3b\xb2\xc7\x91\xb7\xc5\x6f\xb2\xf5\x4a\x5b\xfb\xd6\x0a\x5d\x0f\xa5\x8f"
      "\xfa\xd0\xa8\x51\xb8\xcc\xea\xed\xba\x45\x81\x42\x89\x08\x6d\x89\x0c\x0b"
      "\xb3\x9c\x27\xbb\x4c\x8d\x6d\xf6\x35\xc5\x68\x7e\xd6\xd3\x77\x52\xcc\x5d"
      "\xdf\xf0\x7d\x5c\xfd\x86\xe6\xd5\x01\x9f\xc5\x58\xbd\x99\xa3\x56\x0d\x57"
      "\x76\x38\x18\xdc\x16\xd0\x51\xb3\xa8\xcb\xa7\x5f\xe7\xbd\x5c\xac\x28\xc5"
      "\xc1\x27\xee\x5a\x2a\x1c\x30\xd6\xbb\x95\x59\xff\x61\xc9\x93\xc9\x86\xf1"
      "\x86\xab\xa0\x96\xae\x6c\x51\xeb\xf3\x22\x37\x27\xa5\x7c\xaf\x17\x8d\x7b"
      "\x5a\x12\x03\xa9\x5e\xc8\x25\x32\xce\x77\xb0\x4b\x48\x09\xbb\x7d\x35\xb5"
      "\x21\x76\x3d\x96\xfa\xe6\x59\x94\xbd\xc6\x8f\x67\xcf\xc4\xae\x4f\xc6\xdc"
      "\x3f\x1f\x43\xaf\xf2\xa8\x77\x41\xe0\xa3\xc8\xad\x2c\xee\xf3\x17\x29\xfc"
      "\x54\x9a\xe3\xec\xfe\x54\x56\xd2\xb1\xb4\xda\xc6\x0a\x56\x9f\xbb\x78\x6c"
      "\x3f\x99\xe9\xfa\xcd\xe4\xe1\xe5\x47\xfb\x1e\x9d\xf1\xfb\x41\x5e\x7a\xf8"
      "\xd2\x62\x51\x82\xa5\x67\x08\x73\x2f\xd1\xc1\xef\x6f\xb6\xc4\x94\x3c\xb3"
      "\x78\xee\x08\x5a\x7d\xd1\x4f\xac\xff\x12\x5b\xe4\x68\xf8\x34\x3b\x30\xc6"
      "\x20\xef\x48\xc4\xfb\xa9\x87\xc6\xdd\x84\x6f\x83\x12\x81\x24\xe5\x4f\x96"
      "\xa6\x45\xda\x32\x95\xbe\xb3\xdd\x1b\xdd\x27\x30\xf7\xc7\xec\xc2\x4f\x2d"
      "\x29\xf7\x98\x97\xcc\xcd\x21\x61\xb7\x1e\x08\x28\x9a\xbe\xf6\x2b\xff\xe8"
      "\x7e\x70\x69\xd8\x5c\xa5\xe3\x65\xc7\xd7\x8e\xa1\xd2\x62\xca\x37\xfe\x63"
      "\x27\xaa\xe9\x8d\x59\xb8\x38\x85\xf9\xe6\x55\xae\xba\x9e\x37\x14\xdb\x96"
      "\x79\xa7\xfd\x6b\x91\x3b\xf5\x67\xea\xe1\xb7\xef\xbc\xd7\xea\x8f\x09\x74"
      "\x8e\x18\x26\x97\xfb\x53\x8d\x5b\xbe\x73\x5e\x2e\xa6\xd0\x7b\x5c\x20\xb9"
      "\xbe\x9e\x33\x9d\x5e\x1e\xb8\x51\x5d\xef\x16\x92\xd7\xe7\xc8\xf9\xa4\x7a"
      "\x5d\xa7\x92\x33\x22\x86\xc3\xf9\xe8\x97\x2e\xcd\x01\xe9\xa4\x63\xbb\xcf"
      "\x4a\x75\x1e\x38\xc6\x57\x27\xab\xed\x35\xbd\x25\xb8\x71\xcc\xd4\xdd\x93"
      "\xb8\xab\xa5\xaf\xf2\x5d\xfd\x98\xf3\x4b\x57\x02\xe1\xa3\x9a\x73\x9f\x97"
      "\xf9\xa7\xd2\x8e\x8f\x39\xcd\xab\x45\xbe\x8d\x5b\xb9\x0c\x3c\xf7\x57\x3c"
      "\x5e\x53\x78\x7c\x6a\xea\x95\x98\x0a\xb0\xd0\x3d\x49\x52\xc8\x7e\x74\x94"
      "\xe6\xfc\xe4\x17\xa2\xfc\x17\x3e\xef\xac\xb5\x38\xe8\xa9\x22\xe5\x2e\xbf"
      "\x76\x08\x0d\x36\x0d\x50\xed\x39\xfa\xe2\xa7\xf7\x33\xc3\x2b\x1c\x26\x8e"
      "\x3b\x8f\x0e\x57\xb5\x6c\x1a\xfd\x8b\xbf\x46\x00\x00\x00\xc0\x7f\x23\x2e"
      "\x67\xbf\xeb\x0e\x39\x37\x8b\xe9\x1b\x67\x58\xfa\x9f\x79\x57\xf7\xf7\xfa"
      "\x9f\xf2\xaf\xfa\xdf\xeb\xff\xd7\x04\x02\x61\x98\xad\x5d\x31\xfb\xab\xf6"
      "\xcb\x98\xda\xa3\xea\x22\x5f\x8f\xea\x78\x9a\xbc\xb1\x8f\x7c\x21\xf7\x49"
      "\x3d\x98\xf6\xf0\xb5\x63\x71\x96\x8e\xf1\x5e\x8d\xf7\xf5\x58\xb9\xb4\x76"
      "\x99\x67\xa8\x7f\xd2\x5e\xbd\xaa\x45\xa8\x63\x78\x3d\xeb\xf6\x7e\xfc\xd0"
      "\x80\x70\xd0\x17\x8f\x00\x89\x08\x57\xb2\x7b\x72\x73\x1e\x87\x9c\xe7\x0b"
      "\x58\x04\x1b\x23\xed\x7f\xaf\x18\x5e\x8f\x19\x79\xbb\x52\xbb\xae\x6c\x5b"
      "\xcf\xf7\xfe\xb2\xa7\xdc\x4d\xc7\x94\xa3\xd6\x61\xe2\x89\x77\xed\x73\x4f"
      "\x0d\xbe\x52\x65\xf3\x79\xa3\x9c\xda\x92\x39\x6b\xc7\x7b\x65\x79\xad\xfb"
      "\x00\x89\x74\x77\xb6\x77\xc1\xc1\x3f\x77\x1b\xe4\xa6\x4b\x97\x8b\xbf\x2f"
      "\x48\xfd\xdc\xdb\x30\x49\x9e\xc8\xcc\xec\xe2\x59\xaa\x5d\xf1\x5a\x42\xa5"
      "\xc1\xf4\x11\x11\xff\xea\x27\x33\xef\x3a\x43\xeb\x12\x71\xa6\x3b\xfc\x87"
      "\xcf\x78\xcd\x32\xb5\x55\xdc\x1e\xdf\xac\x95\xf0\xf9\x11\x1b\x18\x67\x16"
      "\x43\x7a\x42\x2a\xd3\xd1\xf2\x92\x91\x97\x65\xe0\xb3\xc3\xe2\x2a\x3d\x57"
      "\x43\x8a\x12\x52\xbb\x87\x79\x09\xbb\x13\xdb\xaf\xe9\xdc\x0b\x27\xdf\x68"
      "\xdc\x15\xda\x2c\x9a\x74\xe2\xf9\x55\xba\xd7\x3e\x45\x1a\x41\xf3\xbb\xaf"
      "\xba\xca\x4c\x07\x3a\x5f\xf1\xea\x70\xa8\x7c\x46\x7c\x50\xa6\x33\x44\x45"
      "\xf7\xd5\xa7\x05\x6f\xd3\x97\xb4\xb3\x1a\x15\x83\xde\x3c\x2f\x3e\xd7\x24"
      "\x5f\x9d\xb7\xa1\xda\x79\x6b\xbb\x23\x78\x80\xee\x7d\x53\xa6\xe9\xd2\x0a"
      "\x41\xbd\x65\x61\x9f\x76\x30\xf1\x98\xb9\xdb\xa3\x9e\x5c\x95\x26\x35\x09"
      "\x0d\xa2\x69\xf2\xda\xfe\xac\xb0\x30\xc9\xc2\xc0\xa5\x40\x63\x6a\x5f\x0f"
      "\x9e\x9f\xdc\x5f\xfd\x83\x14\x75\xa9\x16\x7a\x7e\x92\xd8\x48\x8c\xa4\x2e"
      "\xdc\x4e\x15\x9d\xed\x69\x4d\x4b\xba\x99\xda\x7b\xe7\x44\xcb\x17\xd2\x8e"
      "\x1a\xf7\xbc\x60\x93\xab\x16\xcf\xae\x9e\x8b\xe8\xda\xfb\x31\x47\x3c\xd1"
      "\x20\x2e\xbe\xd4\x20\xf5\xab\x79\x56\xde\x6c\xf3\x5b\x73\x4e\xcb\xce\xf1"
      "\xdb\x7e\x03\x6c\x31\x76\x43\x8e\xbd\x3e\xd9\xd4\x5b\x2a\xad\xcf\x14\xc4"
      "\x4c\xc7\x73\x1e\x2c\xf8\xef\xb4\x55\x9d\x3f\x73\x78\xe0\xb9\xde\x6d\x03"
      "\xa1\xa0\x41\xea\x7b\x66\x5e\xfb\xec\x67\xeb\xae\x08\x46\x06\x5a\x5e\x17"
      "\x2e\x52\x39\x76\x5c\xa5\xe0\x41\x8a\xad\x32\xa3\xfe\xfa\xb1\x2f\xcb\xba"
      "\x7c\xf9\xbb\xe5\x77\xb6\xd0\x9b\xc6\x1f\x35\x9a\x4f\x8f\xbf\xa6\x79\xdf"
      "\x52\x4c\x2c\xe9\x4c\x8e\x3e\xdd\xc2\xc9\x84\xe5\x91\x0c\xd3\xdb\x07\xf7"
      "\x88\xbd\x5e\x34\xd4\xcf\xa2\xdc\x73\x8d\x74\xb2\x90\xf1\x47\xc0\x99\xf4"
      "\xcb\xdc\x11\x5b\x1b\x12\xb5\x73\x33\xe7\x2e\x92\x07\x78\xe7\xc4\x70\x64"
      "\xa4\x79\xf7\xf1\x28\xa4\x31\xfd\xcc\x7a\xc2\x5c\xe3\xb6\xab\x85\xe5\x95"
      "\xe4\xcd\x62\xc6\x01\xfa\x13\x2f\xfb\xc5\x4b\xdb\x18\xcf\x15\xdf\x7e\x2e"
      "\xfd\xf9\x03\xa7\x4d\xdd\xf5\xd1\xed\xba\x27\xde\xfc\x99\x8e\x95\xad\xee"
      "\xd4\x46\xba\xc4\xa2\x05\xb2\x5a\xbb\x42\x5a\x4e\xab\x5c\xf4\x50\x8e\xd9"
      "\x78\xc3\xe8\xfe\xf5\xdb\xcd\xd8\xb1\x71\x09\x0a\x81\x03\x73\xda\x04\x97"
      "\x43\x6f\xa3\x52\x0d\x5c\x53\x93\x55\x36\xaf\x93\x30\xd3\x5a\xdc\xb9\x1c"
      "\x5e\x73\x3f\x7c\x7e\xc0\x9a\x85\xe3\x83\x19\xab\xca\xcb\xd6\x4d\xbf\xb3"
      "\xde\xf5\x35\x11\x24\x44\xca\x46\x5d\x3c\x53\x23\xb7\x36\x28\xba\xeb\x44"
      "\x56\xcc\xa7\x92\x05\x5e\x65\x69\xfa\x0d\xf0\xee\x1d\x23\x7c\x08\x49\x75"
      "\x37\x58\x09\xba\x41\x19\xb2\xc8\x21\x95\xe8\xcd\x59\xc6\xf7\xf4\x4f\xe2"
      "\x1e\x82\xcc\xfa\xe7\xc0\x03\x63\x87\xca\x4d\xea\x0d\xf5\xcd\x75\x8b\x14"
      "\xdf\x79\xbe\x1e\xf6\x16\x24\xd9\x16\x6d\xb5\x5d\x29\xb6\x1a\xb4\x0d\x99"
      "\xbf\xf3\x81\xe8\xfb\xe1\x53\xae\xcf\xba\xcb\xab\x2d\xec\x55\x8b\xc2\x0c"
      "\xb2\xd6\x7e\xe6\xe9\xcc\xc4\x87\xe6\x38\x0e\x78\x8d\xe9\xb5\x31\x67\x36"
      "\x7a\x8e\x66\x5d\xf6\x3f\x26\xa2\x36\xdd\xfa\xa1\xbd\x6b\xac\x3f\x54\x86"
      "\xfe\x40\x32\x93\xce\x4a\xf5\x71\x8f\x5f\x24\x53\x92\x3c\x7a\x51\x9c\xd1"
      "\x47\x96\xfc\xef\x49\x8b\xbe\xbf\x59\xe7\xd8\x54\xa8\xf0\x42\x67\xad\xad"
      "\x50\x41\x92\xea\xf5\x3a\x7f\x62\xab\x98\x6f\x58\xef\xe3\x94\x3a\x3d\x3a"
      "\x25\xb2\x67\x03\x85\xc1\x1b\x6d\xe4\x37\xf7\x46\xb1\x1d\x18\xfb\x39\x2a"
      "\xd0\x11\xe4\x7e\x6d\x63\xfd\xdc\x53\xca\xf0\x01\xe9\xae\x17\xb4\x69\x74"
      "\xbc\x2c\x8f\x84\x86\xcb\x74\x8b\x15\x0f\xd2\x8e\xc9\xe9\x9b\x31\xf1\x36"
      "\xfc\xf9\x56\x99\xd5\x53\xf4\x64\xd5\x81\x48\x2d\x7a\xb7\x84\xfe\xec\x2f"
      "\xed\x17\x49\x99\x77\x76\xa7\xf8\x92\x7a\x1e\x1f\xa3\x54\x08\x9b\x14\x0d"
      "\xd5\x5f\x78\x5b\x52\x11\x23\x63\x7d\x83\x66\xc7\x8b\xe7\xe2\x17\x8c\x83"
      "\x2a\x23\x1f\x5d\x26\x5a\xe1\x9c\x4f\x8b\x5b\x74\x71\x7e\xde\x29\xbc\x28"
      "\xa4\xbe\x2f\x7b\x54\x41\x84\xa3\x39\x57\xaf\xfe\xdd\x9f\xb7\xfc\x8d\x5c"
      "\x4c\x2f\xc6\xd6\x8b\xb5\xfe\xd8\x5a\x34\x4a\xec\x2b\x93\x14\xdb\x39\x53"
      "\xdb\xf0\x52\x3e\x8d\x9a\x73\x45\xf7\x85\x2a\xf5\xaf\x2d\x97\x95\x09\x55"
      "\xed\x63\xd1\x3c\x0a\x7d\xd9\xfb\x7a\x0a\x37\xc2\x4d\x05\x1f\x7d\x29\xdb"
      "\x49\xc5\x5b\xb3\x6e\x55\xd6\xef\xe1\x26\xfc\x95\xed\x94\x28\xeb\xa5\x55"
      "\x76\x32\xde\x5d\x66\x1e\x7c\x2c\xd9\xa4\x9c\x77\x2d\xbf\x34\xe8\x76\xcc"
      "\xb7\x33\x95\x7f\xbd\xfa\x73\xca\x27\xbc\xe2\xa4\xde\xf0\xab\xcd\xb6\xba"
      "\x91\x5c\x43\xc1\x08\x7d\x9f\x53\xd3\xee\x62\xfd\xa1\x71\x1e\xc5\x82\x14"
      "\xd1\x77\x3f\xba\x28\x54\xf0\xb4\xc6\x36\x8d\x34\xe5\xba\x47\xf6\x45\x27"
      "\xeb\x04\xfa\xef\xde\x30\xbe\x7d\xaa\x7b\xe1\x9b\x16\xf1\xc9\xcf\x17\x7c"
      "\x7d\xd4\xcb\x3a\x5b\x8b\xfa\x6e\x95\x31\x86\x24\x2c\x1f\x62\x91\x37\x73"
      "\xa2\x70\x4c\xee\x35\x7a\x69\x77\x64\x30\xf0\x96\xaf\x91\x41\x6d\xbe\xfe"
      "\x9e\xad\x27\xc2\x7d\x4c\xfc\xe3\xc6\x2e\x02\xfe\x4a\x8e\xa2\x27\x64\xee"
      "\x12\xeb\x7f\x4e\x7a\xed\xed\xd9\x5d\x50\x57\x77\xcb\x5f\xd3\x74\x21\x9d"
      "\xad\xee\xf8\xc1\xca\x53\x54\x5f\x25\xb3\x5e\x64\x34\x6c\xb0\x1b\x99\x32"
      "\x8b\x6c\xc8\x8e\x27\xaa\x04\x0f\xd9\xc6\xa8\x4c\xbc\x1e\xd0\x8c\x4a\x39"
      "\x24\x3f\xf6\x54\xa4\x6e\x22\xbd\x81\x55\x9f\xb2\x70\xde\xc5\x60\xc9\x60"
      "\xcd\xdd\x26\xba\xaa\xe7\xee\x2d\x95\x4f\x5b\x1a\xfd\x89\x3e\xa4\x63\x6a"
      "\xdc\x93\x7b\x2e\xe8\x0b\x1a\x7d\x3f\x79\x45\x77\x8f\x02\x91\xb9\xc6\xca"
      "\x93\x4f\x49\xd4\x3c\xed\xdf\x06\x2b\x45\x1e\x66\x97\xfc\x1c\xb7\xd1\xb0"
      "\x38\xb7\xde\x13\xb1\x9b\xc7\x3f\xef\xcb\x6c\xca\x57\xce\xa3\xc3\x33\x11"
      "\xf6\xcf\x3a\xc9\x4e\x33\x0d\x4d\xc5\x6a\x6b\x91\xd3\xd0\xde\xd5\x90\x3b"
      "\xb9\xbc\x54\x2e\x58\xd0\x62\x55\x3e\xfb\xeb\xac\xa2\x72\xbb\x6e\xb4\xb0"
      "\x94\xf1\xc7\x88\x0e\x55\x4b\xe3\xdf\xed\x44\x89\x55\xc1\x83\x6d\xa4\x85"
      "\xfe\xf1\x31\x55\xe5\x5d\xee\x6f\x76\xe5\xe5\x45\x34\x58\x26\x70\x6c\xa9"
      "\x4b\x0d\x69\x37\xad\xc7\x79\x9e\x3c\x2c\x7d\x81\xdb\x9b\xfd\x3a\x67\xb6"
      "\x80\x1e\x67\xd8\x2e\x7e\x87\x5b\x14\x5e\x4f\xe4\x3f\x1e\xd2\x90\x2c\x6e"
      "\x32\x2e\x23\x8f\xf3\xb5\xb3\xdb\xda\xaf\xb1\x19\x40\x23\x13\x7b\x6a\xbb"
      "\xfb\xdc\x8d\xd4\x13\x05\x6c\x7f\xd8\xee\x95\xba\x64\xcb\x99\x67\xc9\xee"
      "\x1a\x4a\x35\xe3\xd6\xae\x1c\xa1\xf0\x1f\xd0\x6f\x2e\x4e\x2a\xa3\x74\xd2"
      "\x9f\xfa\x23\xf6\xfa\x8e\x5d\xa0\xb1\x76\xb4\x14\x21\xbd\xd1\xe2\x4e\x42"
      "\x82\x9e\xf1\x86\x60\x6c\x8f\xcf\x37\x0a\xd7\xa1\x5b\xbe\xee\x6f\x5e\x68"
      "\xb5\x8c\x4c\x3a\x04\x59\xef\x7f\xb5\xb2\xeb\x55\xc2\x2b\x96\xdf\x42\x34"
      "\x3a\x03\x23\xf8\x7b\x70\x00\x00\x00\x80\xff\xc7\x0d\x2e\x46\xca\x2a\x11"
      "\xf8\x68\x2e\xdc\x26\x24\xb3\x25\xb0\xf0\xff\xbd\xfe\xdf\xf1\x57\xfd\x1f"
      "\xd7\xff\xc5\xdf\x13\xc8\x14\xa7\x9d\xd8\x49\xe7\xd4\x2e\x19\xab\x13\x07"
      "\x10\x7d\x15\xa9\x7e\xd5\xe5\x7c\xff\xab\x36\x6f\x53\xd0\x87\x04\x1f\x97"
      "\xae\xd1\xde\xe8\x9d\xb2\x1c\x57\x85\xec\x37\x44\x77\xfd\x62\x37\xd3\x7b"
      "\x14\x66\x2f\x30\x76\xd2\xe3\x74\x30\x43\x4f\xb2\x49\x66\xa5\x86\x8d\xd9"
      "\xbc\x3c\x5d\x0f\xf7\x7e\x4f\x86\xd1\xc3\x67\x3e\x98\x19\x1e\x88\x3a\xb2"
      "\x9d\xf7\xb6\x50\x31\x8d\xa4\x46\xf8\xcb\xb9\xec\x9d\xf2\xc3\xb1\xce\x5c"
      "\xad\xef\x03\x1c\x2d\x1f\xdd\x63\x96\xea\x1d\x78\xbf\x76\x86\xa4\x7c\x5b"
      "\x6a\xb9\xe8\x4f\x50\x40\xb7\xe3\x61\xdf\x2a\x42\xa5\xd8\x01\xf3\x0b\x95"
      "\x37\x5c\x3f\xb3\xdf\xe2\xd8\xac\xd9\x79\xbc\xf7\x68\xca\x2f\xbb\x52\x91"
      "\xea\x5b\x7a\xfa\x52\x8e\x54\xe9\x2f\x56\xec\x18\x93\x8d\xad\x54\xa7\xc5"
      "\x3e\xb4\xa6\x59\x7f\x25\xba\x55\xc9\x2f\x1b\xfd\xfb\xc8\x2f\x8e\xed\xcb"
      "\xc3\x26\xba\x6e\x47\xde\x93\xb3\x33\x49\xf4\xa7\x6f\xf6\x6f\x6e\x0a\x2d"
      "\x44\x4e\xe5\xcf\x13\x3e\x5c\x51\x3b\x37\xa1\xe9\xc9\x41\x3d\x11\xf8\x3c"
      "\xa6\xf3\xb9\x95\xb8\xcc\x9e\xbb\xa5\x5a\xdc\xae\xa4\x7b\xda\x55\xcc\x3e"
      "\x39\x5d\x2b\xf0\xdc\xc7\xc6\x28\x6f\x77\xb0\xa4\xa2\x5b\xec\xf9\xa5\xc7"
      "\xd4\xa9\x02\xc6\xd4\x44\x59\x65\x4e\x4b\x3a\x9f\xbe\xbd\xcd\xe6\x71\xfd"
      "\x23\xfc\xd4\xd3\x23\x2c\x8b\xd9\x50\x7c\x62\x5c\x4d\x7e\xae\xdb\x3c\x91"
      "\x7b\x07\xbb\x93\x4b\x5b\x79\xd1\x6b\x77\xe2\x3f\x3b\x8f\x39\xea\x6b\x5c"
      "\x26\x3e\xfe\x8c\x9f\x87\x2a\xa3\xb1\xa5\x2b\xb3\xa2\x57\x2a\xcd\x86\x67"
      "\x9f\xca\xc3\x3c\x1f\xa5\xd3\x6c\xf6\x2f\xb3\x14\xef\xbb\x8e\xf9\xde\x30"
      "\x9d\x25\x31\x7f\x6c\x4d\x74\x42\x27\x21\x99\x6b\xaa\x8a\x72\x52\xf6\x6e"
      "\xa9\xa3\x67\x79\x39\x4b\xa6\xc6\x26\xf5\x72\x39\x9b\x0e\x75\xd4\xc0\xf5"
      "\xbc\x10\xfb\x0c\x53\x87\xa7\xe6\x23\x9f\xa4\x7c\xd4\xbb\x76\x37\xad\xef"
      "\x7b\x4b\x55\x2a\x22\xce\x96\x40\xf3\xaa\xbf\x69\xed\xe2\xf6\xad\x12\xb5"
      "\x1a\xcb\x17\x03\xfd\x25\xde\xe7\xb3\x5c\xdc\x2c\xcb\x68\x03\x8b\x25\xf6"
      "\x85\x9e\xff\xf1\xa4\xeb\xd7\x65\x81\x44\xb9\xcf\x9f\x0d\x97\xba\x5c\x9d"
      "\x98\x43\xaa\x19\x9e\x85\xf4\x65\x8a\x91\x88\x8b\x6b\x7c\xac\xbd\x42\x5a"
      "\xcb\xb3\xf5\x43\xc0\x34\x70\x91\x21\xf9\xa0\xb7\x86\x46\xf3\xda\x79\xe1"
      "\x22\xe7\x41\x37\x12\xee\x1b\xae\x16\xb4\xa1\x7b\xdd\x0f\xfd\xd0\x79\x1e"
      "\x62\xed\x5c\x7f\x41\xf7\x95\x4d\xc3\xc6\x1e\x01\xcf\x0e\x07\x5a\x8d\x9f"
      "\x6e\x0e\x54\x19\x63\xf7\x8c\xb5\x89\x8f\x2f\x9e\xb9\xbc\xdd\x98\x3b\x97"
      "\xa7\xb4\x4b\x8b\xbd\x88\x7d\x8b\x3a\x84\x41\xfa\xe4\xaa\x88\xe7\xee\x47"
      "\x7c\xab\xfd\xca\x1f\xee\x7b\x65\xef\x37\x3e\x9e\x43\xd7\xae\x9d\x77\xef"
      "\xc4\x46\x9c\x30\xad\x7c\xdc\x43\x19\xbb\x9d\x51\xfa\xee\x55\x6b\xb5\xb6"
      "\x2e\x65\x2f\x3e\x16\xac\xbf\x32\xae\x3c\xdc\x48\x6f\x27\xfc\xb3\xd0\x4b"
      "\xc2\xf0\xf6\x97\x87\xaf\x18\xde\x0c\x2e\xdc\x1f\xb5\xfa\xf2\xb5\x59\x49"
      "\x6e\x54\xc4\xcb\xe2\x79\x5f\x3c\xdd\x8e\xa1\xe4\xa3\x3c\x8b\x17\xd2\x12"
      "\xc7\xca\x1c\xbc\xad\x02\xcc\x4c\x33\x0d\x7c\x32\x96\x2f\x05\xcb\x9d\xe6"
      "\x9b\x9f\x18\x8f\x4f\x0d\x62\x39\xc3\x9a\x9d\x3c\x53\x24\xcf\x40\xa7\x23"
      "\x94\x28\x5e\xce\x57\x54\xf9\xf8\xe6\x64\x0a\x25\x6f\xce\x7b\x73\x8d\xa5"
      "\xec\x6f\xc2\x0f\xad\x55\xb9\x06\x18\xe7\x3f\x53\x25\x1b\x6f\xa6\x5a\x74"
      "\x25\x4e\x35\x52\x3e\x5d\x91\x26\x6d\x90\xad\x98\xee\x7c\x53\xd0\xc6\xc2"
      "\x7f\xc1\x2e\x24\x61\x9d\x4d\x8d\x26\x64\xbc\x2d\xb4\xa4\xb7\xdc\xb6\x81"
      "\xa4\x5f\x2c\x5c\x4d\xa8\x33\x85\xea\x64\xc1\x17\xce\x00\xd5\xd2\xa5\xc2"
      "\x6b\x33\x54\x8c\x0d\x2f\xd5\x95\x0c\x98\x4b\xc7\x32\x1e\x6d\x85\x70\xb6"
      "\x30\x93\x98\x93\xde\x90\x69\x30\x1f\xca\x6c\x3b\xd8\xa0\x19\xd4\x1d\xce"
      "\x1c\xf5\x7e\x36\xe1\xca\x25\xbd\xa3\xf1\xfa\x86\x4f\x7a\x76\x74\x7f\x25"
      "\x13\xcc\xeb\xf2\x10\xb8\xbe\x77\xc7\x96\xd8\x0c\x89\x50\xb8\x94\x7c\x88"
      "\xfc\xa2\xdd\xe7\xaa\x66\xef\x2a\xeb\x76\x53\xd7\x21\x59\xda\x24\x0a\xf2"
      "\xfa\x8b\x2a\xd7\x8c\x06\x5f\xed\xab\x53\x70\x76\x4f\x48\xd2\xd1\xe1\x21"
      "\xf2\x7a\x3c\xb0\x1c\xd4\xb5\xf9\x93\xec\xc9\xf2\xf6\x53\xfd\xd3\x7b\xe5"
      "\x79\x16\x86\x33\x3f\x75\x91\xdc\x35\x91\xd6\x35\x8d\xd3\xd2\xef\xba\xf3"
      "\x7b\x66\xcf\xfb\x0b\x8a\x3e\xe3\x77\x9f\xde\x15\xc9\x0f\x3c\xd5\x77\xc9"
      "\xda\xa5\x84\x7d\xfc\x88\xf5\x8d\xee\xf2\xb7\xe7\x5b\x6e\x5e\xad\x76\x99"
      "\x25\xb1\xea\x1c\x91\x95\x1f\xa4\x65\x0b\x79\x76\x6d\xf4\x6a\xe5\xb0\x36"
      "\xad\xa2\xc8\x74\xbf\xd4\x51\x9f\x8e\xc1\x95\xcc\x9e\xab\x9f\x34\xdd\x7e"
      "\xfd\x71\x66\x9a\x60\x8a\xd6\x5f\xbd\x7d\x62\xda\xc8\x54\xf0\x59\x88\xd2"
      "\x8c\x96\x70\xea\xd4\x27\xcd\xbb\xa1\xdb\x16\x15\x2f\x3a\x95\xff\xfc\x52"
      "\x3e\xb4\x34\x7a\xca\x36\xe0\xbc\xd5\xdb\xf9\xb6\xe9\x8a\xdd\x4f\x09\xdc"
      "\xc1\xf7\x82\x07\x3e\x37\x55\xa5\x93\x75\xca\x73\xff\x3c\xd6\x62\xf8\xac"
      "\x6e\x71\xb5\x33\xdd\xf5\xdb\xb5\x50\x81\xdf\xc5\xbf\x8c\x8e\x17\x1f\x74"
      "\x77\x3a\xfb\x31\x24\xeb\x5b\xa6\xfd\x5a\x41\x83\xcf\x0f\xc3\xa7\xb7\x6e"
      "\xbd\x7c\x58\x23\xc9\xca\x3b\x37\x1b\xee\x11\xc3\xba\x6f\x80\x48\xbe\x5e"
      "\x99\x5f\x2a\xd8\xcc\x8a\xc5\xbf\x2a\x79\xc8\xe1\x48\x84\x27\xfb\x0a\x4b"
      "\x43\x1c\xbf\x20\x57\x5e\x4b\x06\x03\x53\x8c\xe7\x07\xe2\x78\x06\xea\xac"
      "\xa6\x37\x2d\xd9\x16\x74\xfa\x72\x7b\x6b\x4b\xdd\x5e\x10\x33\x1c\xff\x7a"
      "\xee\xce\xf2\x44\xf9\xb9\xfb\x86\x0c\xba\x1d\x5b\xcd\x01\x8d\x77\x3f\xfe"
      "\xd2\xa3\x9a\x30\x52\xd0\x3d\x9c\x4e\x7f\xe6\x6b\x0e\xa5\xe9\x6f\x6d\x1d"
      "\xf5\x81\xbc\x89\xee\xc8\x7d\x13\x0a\xb4\xdf\x1a\xbb\x9a\xbc\xb7\x8f\xc5"
      "\x06\x9e\xaa\xfe\x7c\xd4\x31\x4a\xcf\x50\x7c\x3a\xc2\x5a\x68\x8a\x88\x7f"
      "\xa9\x75\xb2\x6d\xfe\x02\x8d\xdb\x62\x6f\x67\xfd\x2e\xf5\x4f\xbb\x2c\xfe"
      "\x1c\x1a\x37\xbc\xae\x6c\x4f\xf7\xa6\xa4\x2f\xf0\x01\x65\x71\xc5\x77\x65"
      "\xef\x54\xb5\x8c\x2a\xbe\x86\xe2\x63\xdb\x0d\xdf\x64\x05\x15\x39\xcd\x46"
      "\x49\xb3\xfd\x44\x02\x68\xc6\xed\xfb\x67\xfb\x4f\x1d\x12\x79\x20\x31\x3f"
      "\xc2\x5c\xef\xbe\xbd\xc6\x7a\x27\xe6\xf5\xfb\x12\x93\xf3\x06\x22\x8a\xa5"
      "\xbf\x0b\x48\x1f\x64\xd1\x3e\x54\xd2\xe6\x4f\xdc\xf6\x25\x7e\x18\x14\x70"
      "\x2b\x7d\xcf\xd0\x85\xaa\xd5\x6c\xe1\x3e\xa3\x14\xf5\x1a\x95\x87\xcb\xb4"
      "\x5c\xe7\x2e\x9a\x5f\x49\xd6\xfd\xa9\xc9\x77\xc1\xbe\x41\xf7\x3c\xf1\xe7"
      "\x15\xe3\xe3\x5d\x27\xbe\x2a\x25\x93\x72\x2e\x4f\x9d\xad\x73\x52\xe7\xdb"
      "\xcf\xa8\x34\xbf\xc4\x57\x51\xc1\x93\x52\xe3\x61\xb7\xff\xed\xd3\x67\xbb"
      "\xea\xc3\x42\x1e\x66\x90\x3d\x12\x6d\x50\x78\xfc\xe6\x78\x63\xdc\xc4\xa3"
      "\x99\xb8\x99\xfb\x43\xc7\x6e\x18\x1d\x8d\xfd\xf1\xd9\x30\xd0\x87\xf9\x6e"
      "\x80\xda\x25\x2e\x21\x8e\x3c\x21\x43\xa3\xa5\xdf\x07\x6b\xf5\x22\xba\x97"
      "\x5f\xb1\xdb\x3b\xe9\x77\x7a\xdd\x37\xeb\x17\x4b\x5d\xc9\x08\x8b\xbc\x36"
      "\x7c\xb6\xce\xf1\xc7\x81\x82\xb7\x97\x04\x77\xf3\xad\x8e\x69\x1e\x4c\x9b"
      "\x3c\xa0\x7b\x2d\xe3\x7a\x84\x1a\xc5\xe3\xec\x3b\x7c\xbe\x2e\x0b\xba\xda"
      "\x8c\xa6\x33\xea\x42\x64\x34\x94\x8a\x55\x35\x5d\x34\xb7\x4f\x10\x75\xc6"
      "\xdd\x0b\xb8\x29\x92\x76\x2e\x3d\xfe\xfd\xee\x04\x1b\x2d\xd6\x35\xad\xf3"
      "\x46\x54\x23\x79\x14\xc5\x65\xa4\x5f\xbe\xed\x0d\x9b\x5c\xd8\x59\xf2\x4b"
      "\xa7\xbe\x78\xaa\x43\x58\x82\xdc\x95\x44\x7f\x8b\x91\xe4\x08\xbf\x87\xd8"
      "\xbf\xf8\x71\x06\x00\x00\x00\x00\xff\x89\x96\x55\xc5\x5d\x0c\xb7\x57\x33"
      "\x83\xbc\x1f\x5c\xaf\xe8\x1d\x79\xf0\xf7\xfa\x9f\xea\xaf\xfa\xdf\xff\xff"
      "\xaf\x91\x40\x20\x10\xf9\xb9\x76\xe6\x53\x1e\xca\x3a\x7a\x38\x3f\x7b\xe7"
      "\xc1\x23\xf5\x07\x6f\x64\xdf\x73\xdd\xb1\xb4\x79\x7a\x24\xde\xa6\x3e\xd0"
      "\xc4\x24\x4c\x7b\x4c\xfe\xc3\xfb\xf0\xbe\xeb\x44\x5b\x94\x1e\x01\x3c\x11"
      "\x63\x63\xda\x31\x6a\x89\x2d\x74\x89\xcf\x6f\xf0\xca\xd9\xf0\x24\xbe\x8e"
      "\xf5\xd8\xfd\xd8\x5f\x7a\x67\xd2\x13\xb7\x5e\x56\x59\x06\xc6\x3f\xa7\xad"
      "\xb8\x8f\x76\xf0\x78\x52\x31\x3d\x3e\xcb\x32\xef\x63\x2a\x5e\x57\x7c\x37"
      "\xf0\xb1\x56\x6f\x56\xe6\x29\x23\xb1\x38\x4a\xc6\x86\xac\x33\x09\x6f\x12"
      "\xda\x72\x1b\xef\x48\xeb\x37\xcf\xa6\x05\x1b\xa8\xd7\xfa\xa9\x4e\xb7\xe9"
      "\xbf\x5f\xa7\x09\xf5\xb6\xce\x22\x0e\x35\x3f\xd8\xfc\x94\xb3\xfb\x4b\xe3"
      "\x8f\xb3\xec\x4f\xa3\xc9\xcb\x4e\x07\xc6\x9b\x3f\x0b\x7f\x50\x35\x2f\x92"
      "\xb7\x96\xc0\xbb\x39\x22\xc0\x3f\x4e\x55\x4c\x26\x96\xe4\xce\xde\x74\xe4"
      "\x39\x69\x98\xff\x8d\xb9\x8a\x0e\xbd\x02\x63\x86\x26\x7f\xee\xab\x9a\x6b"
      "\xc1\xa1\x11\x8a\xf7\x2d\x5a\xc8\xec\x46\xf3\x8e\x24\xf0\x38\xd7\xd4\x7c"
      "\x52\x28\xb8\x77\x64\xbf\x5a\xae\x81\xdc\xf7\xb7\xaf\xca\x29\x2f\x8e\x4e"
      "\x1f\xa2\xa3\x0c\xbf\xd4\xae\x7e\x89\xb4\xca\xc2\x55\xa3\x2a\xf9\x6b\x80"
      "\x96\x56\xba\xae\xb6\x45\x6b\xed\xa3\x77\x49\x6e\xea\x1b\xc3\x7b\x0b\x6a"
      "\x7a\x9f\x8c\xa8\x5f\x22\x55\xff\x28\x39\x3e\x68\xf3\x4d\x81\xed\xcf\x12"
      "\x69\x7c\x4a\x7c\x91\x79\x69\xdf\x87\x91\x6c\x0f\xbf\xe1\xcc\xb1\xbe\xd5"
      "\x19\x23\x66\xa2\xef\x37\xb3\xce\xdd\xf1\xe6\x4b\xef\x6d\x18\x78\x38\x20"
      "\x7b\x6a\x6d\x38\x6f\xf4\xee\x2b\x6e\x03\x52\xee\x77\x0f\x8e\xec\x6c\xf8"
      "\xae\x4d\x7a\x2d\xcd\x28\x7c\xba\xb7\x39\x9d\x3a\x6d\x82\x7b\x57\xf0\xf4"
      "\x72\xff\x37\xe2\x7d\x03\x0f\xdf\x4b\xd6\xde\x35\x5c\xde\x51\x5b\xfe\xbb"
      "\x29\x99\xfc\x3e\x07\x1f\xd5\x29\xbf\x40\xa7\x8b\x57\x45\xdd\x3e\xd6\xcf"
      "\x48\xb5\x93\x0d\x6c\xf7\x05\x25\x2e\xec\xbd\xfa\x28\x35\x62\xff\x66\x89"
      "\xfc\x86\x1d\x73\x5f\x6f\x9f\xe6\xc1\xfb\xd6\x1c\xfd\x65\x11\x12\x25\xeb"
      "\x0f\x02\xed\xcd\x1e\xbe\xe6\xe4\xa0\xfd\x24\x50\x67\x3b\x73\x40\xed\x4c"
      "\xa2\x79\xca\xed\x5a\xb5\x69\x69\x9e\x8f\xcc\x43\xa6\x31\x27\x9c\x58\xba"
      "\x74\x53\x0a\x3a\x5e\x14\xe8\xda\x05\x3f\x10\x62\xdb\xd2\xb3\x39\x71\x4a"
      "\x87\xb2\xdc\xdb\x61\xbd\x30\xef\xb2\x75\xaf\xf6\xb7\x61\x67\x5b\xd6\xe9"
      "\xd5\xb6\x36\xf5\xac\x87\x16\xbb\xee\x69\x11\xe2\x82\x68\x13\x1d\xbb\x2b"
      "\xa7\x98\xfe\x90\x30\xe7\xac\xdd\x9a\x72\x7b\x31\x44\x6d\xbb\xfa\x55\x75"
      "\x67\x8c\xdd\x9a\x87\xee\x54\x4d\x04\x83\x5d\x72\x45\xe5\xb3\xd4\xac\xa7"
      "\xb9\x1c\xfd\x4d\xc1\xea\xda\x47\x44\xbf\x5b\x58\xb7\x5d\x11\x8b\xa6\xf4"
      "\x2f\xbc\xf8\x98\xee\x17\x1d\x81\x37\xca\x3e\x87\xbf\x69\xe5\xce\xb6\x11"
      "\xdb\xb5\x8a\xa2\x6f\xa2\x7c\x1d\x6f\x35\x65\x1a\xcb\x9f\x4f\x25\x67\xf1"
      "\x33\x1a\x2b\xf5\x3c\x38\x77\x43\xee\xce\xac\x22\xf7\x6f\x7e\xad\xc8\x5c"
      "\x83\xd2\xfc\xc1\x9b\x2f\xce\xfb\x05\xbe\x6f\xde\x0e\xbe\xf4\xf0\xd0\x46"
      "\x6b\xee\x3b\x87\x42\xc9\x8f\xc1\x42\xb2\xe9\xb4\xc3\xac\xb7\xdf\x91\xb1"
      "\x37\xcf\x7a\x09\x3b\x06\x14\x4c\x30\xb2\x6f\x17\xce\x10\x87\xe6\xfe\x76"
      "\x6d\xe9\xe6\x4c\xcd\x76\x17\x98\xb4\xfa\x38\x4f\xf5\xee\x28\x5b\xe7\xa6"
      "\xe2\x7e\x87\xa8\x9d\x56\x6b\xad\x39\x6e\x51\xe1\x4f\x97\x97\x08\x47\xa7"
      "\x7e\x48\xf6\x4a\x89\xc5\x76\x3e\x98\xeb\x5e\xb4\x0f\x52\x10\xf9\x66\x94"
      "\x72\x67\x79\x3f\xcb\x01\x31\x6d\xc5\x54\x41\xc5\x7d\x27\xca\x5b\xa3\x65"
      "\x1d\x43\x2f\x69\xc5\x9e\xdf\xb3\x5f\xce\xa9\x29\xdb\x87\x4a\xec\x4e\x00"
      "\xcb\xcd\x2f\x94\x91\xbd\x61\x6b\x91\x1c\x95\xd7\xd7\x9a\x5a\xe9\x4b\xa8"
      "\x74\x7b\x77\x15\x9c\x97\xdb\xd3\x4a\xd3\x50\x94\xd8\xda\xc1\xa7\x9d\xf7"
      "\x21\xea\xe7\x05\xb2\x6a\x96\x24\xd5\x0b\xf5\x5a\x49\xc7\x3c\x6b\x97\xf8"
      "\x8f\x53\x9d\x7f\x20\xbe\xbb\xf6\xb2\x14\xa9\xed\xe7\x2e\xf9\xcb\x54\x09"
      "\x62\x94\x5e\x92\x3d\xfa\x41\xef\xaa\x1a\x37\x8a\xa7\xee\xab\x4d\x3f\xdf"
      "\xa1\x4c\xb3\x2a\x1d\x58\xec\x96\x71\x32\x5b\x55\xd6\xf9\x61\xdc\xfc\x4d"
      "\x3b\x4b\xb5\x2b\xb6\xbe\x7f\x2a\xce\x76\x12\x72\x4c\x28\xde\x7d\xba\xf8"
      "\xc3\x63\x97\xf8\x1b\x71\x77\xdf\x72\x57\x85\x3b\x69\x8f\x13\xee\x69\x13"
      "\x76\xa5\xd7\x13\x3d\x24\x9c\x53\x6c\x28\x23\x3d\x70\xbc\xd5\xce\x74\xc0"
      "\x6d\x2a\x31\xc2\xc2\x48\x2b\xbd\xe9\x84\x68\xd4\x07\x63\x93\x5d\x3f\xab"
      "\x75\x78\x96\xf5\x5e\x3d\xb9\x9c\xbb\xad\x40\xf5\xca\xa4\xc7\xef\xd0\xf6"
      "\x74\xc2\xa4\xea\x22\x4d\xd2\x11\x57\xd1\xdd\x29\xa7\x82\x1a\x67\xee\x9f"
      "\x58\x10\x78\x52\xdc\xcc\x75\x73\x6b\x8c\xdd\x6b\x33\x64\xa5\x76\x46\xd5"
      "\xc7\x7a\x4c\x42\xff\xfe\xde\x73\xe3\xe3\xc1\xef\x22\x0f\x29\x9c\x5f\x4f"
      "\x09\xed\x6c\xe1\x89\xba\xfa\xed\x5d\x09\x3b\x93\xb8\xc6\xcf\xc4\xb6\xaf"
      "\x8b\x26\x41\x22\xce\x8b\xf6\x01\x9f\x55\x54\xf3\x56\xf3\xf2\x2a\xd7\x66"
      "\x1f\x48\xc4\x47\xcf\x0a\x7b\xc6\x2c\xc4\xfe\x18\x7f\xf8\x96\x9f\x31\xe8"
      "\x46\x7a\x02\x8b\xf7\xc2\x0e\xbe\x17\xd6\xc2\x8f\x99\x44\x8b\xbc\x56\x77"
      "\x1e\x5f\x71\x39\x2f\x13\xe4\x6d\x7e\x55\x8d\xd6\x20\x7c\xe8\xb5\x8f\xec"
      "\xf7\x18\xe2\xa8\xf3\x93\x67\x84\x0d\x4e\x8f\x55\xbd\x6b\xfb\x26\xf2\x9c"
      "\x2f\x94\x3a\xb8\x4c\xca\xe8\xbe\x93\x6d\xae\x99\x88\x9b\x7e\x8a\x40\xef"
      "\xb0\xc8\x99\x51\x82\x27\x67\xae\x66\x5e\x72\x2e\xcf\xe9\x97\x4e\x36\xe6"
      "\x2d\xbc\x9f\xda\xfa\xaf\xbd\xbe\xf8\x9b\xb3\x4b\x67\x80\x72\x22\x75\x70"
      "\x96\x6d\x3b\x20\xd0\xa0\x7e\xa1\x99\x9c\xeb\xd4\x39\x0d\x95\xdc\x03\x8a"
      "\x7b\x54\xf2\xf6\x17\x1f\xbc\x7d\xaf\x86\x82\xdf\xe2\x77\xc0\xa9\xc6\x48"
      "\x7e\x8e\xcb\x02\x4f\x66\xe5\xf4\xfb\x6b\x0e\xfb\x88\xf5\x29\xc4\xc4\x96"
      "\xeb\xa7\x24\x05\x1f\xb9\x29\xb7\x3c\x7f\x20\x62\x89\xa2\x3e\x5e\x5e\x4b"
      "\x5b\xcb\xee\xf3\xe5\x00\xd6\xe8\xfa\x73\xf9\x13\xd4\x1c\xe1\xea\x41\x37"
      "\xee\xaf\xa9\x9d\xb9\x41\x95\xc0\xbe\x5a\xed\x3c\xf1\xc4\xa0\x8c\x94\xe6"
      "\x9c\xea\x7d\xed\xce\xaa\x1d\x7d\xa7\x5e\x96\x9e\x32\xee\x3e\xbc\x71\x57"
      "\xbb\xa7\x3e\x5f\x64\x35\x5d\x2b\xe4\x73\xe3\x7e\x95\x03\xa3\x1b\x1c\xa2"
      "\x2d\x85\xed\xd5\xb7\x06\xd7\x76\xe7\xad\x6b\x44\x2e\x4c\xda\xfd\xb6\x59"
      "\xe0\x3c\xfe\x7c\x69\x55\x9a\x79\x80\x41\x80\xc7\xa0\x35\xf1\x7a\xf3\x65"
      "\x43\xbf\x84\x23\x96\xb5\xee\x11\x03\x55\x0f\x3f\xcb\x70\x5e\x2f\xf2\x7f"
      "\x30\xc8\x28\x91\xa4\x7c\x65\xe1\xe5\xc7\xef\x14\x77\x8d\x9c\xc3\xda\x45"
      "\x5d\xce\xc9\x08\xf8\x36\xd6\xe4\x1f\x93\xc9\xbd\xa7\x52\xff\xc9\x3f\xf4"
      "\xe2\x0d\xed\x8d\x24\x17\x92\xe4\x31\x9f\x43\x81\x03\xd9\x93\x9d\x96\x5a"
      "\x74\x3d\xbb\xa8\x1d\xd9\x59\xda\x87\xd3\xf5\x54\x5e\x27\x33\x9d\xdb\x43"
      "\x27\x23\x2c\xfe\xc9\xbe\xea\x76\x4b\x9a\xa6\x68\xd9\xa7\xca\xb3\x2b\x96"
      "\xdf\x33\x2b\x19\x9e\xf8\xdf\xa1\x39\x1d\x42\xb3\x7d\x49\x9f\x54\xa7\xda"
      "\x7b\x61\x4e\xb6\xa6\x61\x76\xd1\x4e\xb4\x38\xda\xa8\x8f\xd2\xf6\xcc\x97"
      "\x9c\x98\xd1\x9c\x11\x7b\x35\x27\xee\x86\x82\xe1\xfc\x03\xbd\x05\x92\xfa"
      "\x17\x6e\x4a\x12\x9f\xb2\xb7\x61\xd6\xac\x7a\xe6\xee\xab\xf2\x5d\x23\xf3"
      "\xf3\x8c\x8d\x81\x37\x6b\xe6\xd1\x7d\x8f\x77\x64\x8c\x32\xda\xfe\xb0\x4d"
      "\x6d\xaf\x9d\xf0\xa7\x9c\xa3\xbb\x77\xb9\x57\x98\x58\xbf\x64\xac\x64\x42"
      "\x29\xe6\x12\xcd\xce\xa2\x1e\xf2\xf9\xdc\xd6\x24\xdb\x78\x0d\x86\x83\xdd"
      "\xd5\x5b\x65\x6d\x3b\x22\x35\x06\x07\xfe\xc5\x8f\x35\x00\x00\x00\x00\xf8"
      "\x3f\x50\x4a\xfe\xd5\xbb\xff\xd6\x31\xb2\xee\xb8\x7a\x19\xe7\xc2\x5f\xaf"
      "\x4e\x8b\xd1\xd7\x8f\x29\xfd\x12\x14\x19\xf7\x77\x93\xdf\xe9\xf1\xe5\xc4"
      "\x17\xf3\xd8\xef\x1c\x9e\x1b\x09\xa9\xc5\x3d\x63\x77\xa5\xd2\x4a\x9a\xd6"
      "\x6d\x7e\x98\x27\x2d\xb3\x3d\x2d\x7c\x39\xc9\x1d\x6c\x53\xd8\x1c\x5e\x4f"
      "\x53\xe1\x9e\x9d\x6d\xa5\xf1\x87\x2e\x7d\xf9\x86\x32\x97\xeb\x83\x87\xa3"
      "\x6f\xbe\x58\xa4\xee\x31\xc9\x33\xe0\x0e\xb9\x3e\x79\x92\x24\x6c\xf4\x56"
      "\x4c\xf8\xa3\xcb\xbd\x3d\x6e\x2e\x87\x1d\xc8\x77\x93\xe8\x85\xc6\x19\x34"
      "\xe8\x8b\x1e\xae\x3e\x4b\xde\xad\x97\x12\xeb\x71\xfa\x26\x2f\xe9\x6e\x8e"
      "\xef\x4d\x02\x95\xfc\x4b\x62\x8c\x3d\x59\xc4\xa5\x0a\x15\x3b\x28\x0a\xb5"
      "\x4a\x42\x89\xf4\x9c\x36\x55\x2a\x0b\x1a\x53\x7e\x9e\x92\x1e\xa5\x29\xba"
      "\x31\x78\x82\x46\xf7\xfd\x9b\x68\x81\xfb\xf8\x3d\x53\x00\x00\x00\x00\x00"
      "\x00\x80\xff\x82\x5b\xf7\xf8\x3d\x87\xae\x86\x6b\xf9\x77\x99\x90\xd9\x6e"
      "\x69\x55\xfc\xbd\xff\x4f\xfc\x57\x9d\x99\xf0\x3f\xf7\xff\xb5\x89\x09\x84"
      "\x14\xd1\x11\xe9\xc0\x37\x8b\x67\xc6\x5b\x9c\xe9\x6f\xbd\x9c\xbf\x7b\x5b"
      "\xbb\xbd\x41\x78\xbd\x2d\x36\xee\x6d\xf3\xca\x13\x7b\x2a\xe5\xf1\x4b\xa3"
      "\x32\x65\xcb\x92\x26\x97\x2e\x9d\x99\xbe\x51\xc8\xf1\x23\xbe\x23\xbc\x42"
      "\xa0\x5a\x40\xef\xbd\x6f\x21\x5f\x3e\x99\xd9\xd2\x4c\xe8\xbc\x1f\xcd\x0d"
      "\xc1\xde\x1a\x41\xea\x07\x67\x35\x66\xd3\xfd\x6e\xf4\xa8\x5b\x9e\x3e\x2b"
      "\x10\x67\x5f\x52\x2d\x7e\x4d\x32\xea\x83\x88\x98\x5a\x65\xb1\x70\xbc\x58"
      "\xd5\xd9\xe6\x80\xa5\x2f\xf7\x3a\xf4\x44\x6f\xb9\xca\x74\x09\x67\x0e\xd1"
      "\xab\x9c\x3d\x66\x3e\xde\xa0\x4a\xed\xdb\xfb\x40\x77\xef\xfd\x02\x96\x86"
      "\x3f\xc4\x8a\x93\x1d\x5f\x45\x9b\x3f\x71\x86\x58\x5d\x35\xee\xbf\x94\xad"
      "\xd8\x91\x9d\xb0\xf2\x79\xa2\x36\x89\xb1\xde\x34\x7d\x54\x3d\x7f\xad\x90"
      "\x3c\xb2\xb5\x2f\x8a\xd6\xa5\x43\xb7\x23\x95\xf6\x67\xda\x7b\xbb\x45\xfb"
      "\x00\xca\xc7\xdd\x19\x93\x26\x97\xc7\x1e\xd1\xcd\xdd\xf2\xfc\x3d\xf1\xa5"
      "\x24\x6e\xee\x21\xe5\x55\xe1\xc9\xd5\x9c\x96\x18\x8e\xb5\x36\x57\xad\xe3"
      "\xde\x34\x17\xe2\xe8\x64\xa3\xf7\x1d\xbf\x98\x9d\x48\xdc\x58\xbf\xfb\xdd"
      "\xed\x12\x8b\x81\x0f\xa5\x85\xac\xdd\x26\xf4\xf2\x84\x17\xb4\xda\x2f\xaa"
      "\xc4\xf6\xd1\x17\x9a\xec\x79\x3b\xfd\xe4\x5d\x59\xc6\xfc\x73\x89\x1f\xbc"
      "\xda\x33\xb1\x49\x69\x23\xdd\xf5\x97\xaf\x85\xb2\xbf\xd5\x27\x61\x57\x65"
      "\xe3\xbf\x1c\x93\xbb\x20\xfa\x2b\xe3\xec\xfc\xce\x0b\xc5\xb1\x4e\x7e\x5b"
      "\x31\xea\xa7\x2a\x6d\xc2\x0c\xb5\x9b\xdc\xbe\x25\x1f\x70\xaa\xeb\x38\xcd"
      "\xd2\xb2\xa6\xcc\x78\xfb\x67\xc9\x9b\x8a\x0d\xa6\x5c\xd2\x33\x4e\x5f\x6b"
      "\x24\x18\xc5\x52\xf7\x3d\x9f\x11\xa2\xe2\x72\xd6\x15\x51\x52\xfc\xf6\x27"
      "\x79\xd2\xf7\xa9\x06\xaf\x6a\x9a\xb7\xce\x12\x65\x20\xed\x1e\xd6\x83\xaa"
      "\xaf\x76\x3f\xeb\xd4\x89\xca\x79\xc6\x64\xb7\xf7\xd5\xea\x34\x7b\xe3\xd6"
      "\xc4\xe8\x4d\x53\x8e\x09\xad\x03\xad\x4c\x45\xf2\x5d\xc6\xef\x8b\x7e\xdc"
      "\x5f\xcb\x6d\x4d\x5a\xda\xf9\x6e\x7c\x5d\xf2\xa5\x46\x94\xae\xe2\x48\x04"
      "\x67\xc9\x6a\xc3\x97\x93\x61\xb4\xa7\x2b\x36\xd8\x17\xb5\xfd\x5e\xdc\xdb"
      "\xa9\xe4\xd7\x10\xd1\xc0\x9d\x7e\xf2\x36\x83\xf4\xa6\x8e\x15\x0b\x7f\x46"
      "\xee\x6b\xcd\x41\xe7\x3a\xc9\xc5\x9f\x5f\xd4\xf5\x1c\xf4\xba\xff\xe8\x7d"
      "\xf5\xac\x6c\x9e\x3c\xf0\x3d\xcf\xb0\xe3\xfe\xc5\x48\xd9\x6d\x77\xff\xa4"
      "\xbe\x49\xa1\x0f\x9a\x43\x9a\x0e\x92\xa7\x3b\x2f\xb3\x97\xaf\x92\xf9\x19"
      "\x59\xf4\x0a\x08\x8e\x7b\xef\x3c\x24\xf5\x43\x96\xb7\x40\xf0\xb6\x9e\xb2"
      "\x77\x13\xbd\x1d\x39\x21\xdb\xaf\xdd\x23\x95\x32\xdb\xe4\x06\x69\x0e\x93"
      "\xce\x8b\xa3\x12\x9e\xd5\xe6\x2c\xb4\xed\x6b\xd6\x77\x4c\xb8\xa4\x3f\xb9"
      "\x9f\x15\x95\xce\x9f\x33\x2d\x5b\x11\x8a\xc8\x0c\x8e\xb1\x53\x25\xb1\x22"
      "\xa6\x7e\x57\x6c\x32\xfd\x4c\x87\xaf\xbc\x48\x20\xf5\xee\x75\x66\x63\x87"
      "\x3c\x2d\xde\xd2\xa2\xcb\xdc\xda\x8e\x96\x27\x3f\x32\x37\x29\x95\x2e\xe4"
      "\x3d\xb8\x7b\x3b\x48\x82\xe9\x23\x8f\x0c\xd7\xd9\x13\x9f\x49\x73\x76\xe7"
      "\x1b\x45\xbe\x4e\xb8\xe8\xd3\x4d\x13\xaa\xce\x15\x17\x76\x93\xba\x88\x63"
      "\xf9\xb3\x2c\xc7\x87\x2f\x8c\x17\xb5\xa4\xb6\xb8\x78\x3d\x96\x0c\x9e\x2a"
      "\xd8\x25\x5b\x57\x5e\xca\xd0\x55\x9c\x4f\x6f\x32\x2b\xf6\x3b\xe8\x38\xb0"
      "\x2e\xe6\xf3\xdd\x8f\xb9\x37\x69\xec\xee\x93\xd8\x73\xfb\xf6\xb1\x14\xf2"
      "\xf4\x86\x36\x79\x07\x8a\x98\xb6\x5f\x7b\xfe\x70\x6e\xe8\xbd\x77\x54\x10"
      "\xd5\x1f\x87\xdb\xd7\xb3\xc9\xcb\xde\x8a\x6b\xb0\x52\x5f\x28\xb4\xad\x16"
      "\x79\x75\x62\xa0\x6e\xaf\x3a\x4f\x4a\x96\xe6\xf3\xc1\x8b\x9f\x58\x4e\xb9"
      "\xcc\x0b\xf9\xaa\xb7\xc7\x8c\xc9\xd4\xb9\x0a\xf8\xf1\xab\xab\xef\xff\x7d"
      "\x8a\xfc\x50\xa4\x05\xa5\xdc\x58\x85\x52\xf7\x8d\xc3\xf7\x64\xf2\xb4\x05"
      "\xbf\xef\xfa\x22\xff\x8c\x56\x47\xca\xe6\x58\x09\xf3\x20\xf1\xbd\x2b\xaa"
      "\x42\xa6\x2d\x6c\x7c\x36\xb6\x8d\x3b\x53\x1a\x16\x8d\x0c\x73\xd5\x6e\xd2"
      "\x34\x66\xd6\x54\x24\x37\xc7\xb3\xb8\xf0\x34\xdd\x48\x77\x74\x7f\xbb\xba"
      "\x34\xf1\xbd\x4d\xce\x8e\x21\xc1\x2c\xf5\x6d\xc9\xd3\xa1\x8c\x7a\x11\x5f"
      "\x1d\xcf\xbd\xce\xeb\xe3\xe4\xd9\xd4\xe9\x52\x0e\xb4\x35\xd5\x13\x43\x22"
      "\x6d\xc9\xbb\xab\xc8\x52\x8a\xfc\xad\x88\xad\x65\xbd\x57\x16\xcf\x8d\x59"
      "\xb6\xec\x91\xb2\x95\xf2\xca\xff\xa9\xaf\x40\x78\xc4\xcc\x37\xac\xec\x1a"
      "\xee\x2a\x4b\xeb\x34\xe7\xb7\xd6\x7f\x3b\xca\x7e\x2e\x39\x44\xd6\xba\x88"
      "\xeb\x96\x22\x5f\x82\x88\xd8\x87\xfa\xa3\x45\x69\x8c\x0d\xf2\xb9\x87\xd3"
      "\xe8\x86\x9c\xe8\xc8\xb9\x84\x86\xb5\xbb\x25\x59\x68\x8c\x3e\x8a\xdb\x8e"
      "\xfb\xa8\xc7\xae\xa5\xb0\xf1\xe6\xee\x2c\x8c\xce\x68\x3e\xa1\x71\xb6\x6d"
      "\x54\x70\xef\xe5\xe5\xdb\xaa\xf2\xf9\xbf\xa3\x8c\x5f\x64\x1e\x1c\x4a\xb0"
      "\x92\x0a\xaf\x1b\xb6\x5e\x1b\x7c\x6d\x74\x3e\xc8\x9c\xd5\x7c\xae\x40\xf8"
      "\xab\x60\x07\x6b\x3f\xe5\xa8\xd1\x81\xfd\x01\x69\x82\x35\xfc\x6c\xa2\x2b"
      "\xe2\x7b\x35\x7e\x1b\x0f\xa9\x69\x33\xdb\xc8\x9e\x3f\x5b\x61\xfe\x5c\xf3"
      "\x8f\x87\xac\xd6\x85\x9b\x57\x27\x88\xfb\x2f\x2b\x45\xb1\x57\xf1\x96\xee"
      "\x7c\xc2\x34\x52\x66\xed\xad\x1a\xfc\x7d\xa1\xa6\xc7\xeb\x05\x53\x4d\x9b"
      "\x83\x42\xe6\x57\x25\xca\x7a\x71\x4b\x73\xcd\xf2\x33\x6d\x07\x3a\x9f\x7f"
      "\x76\x39\xcf\xbf\x5f\xa5\xb7\xfa\xa6\x49\x6a\x85\x4b\xed\x99\x3e\x56\xe5"
      "\xab\x89\x69\x77\x48\xe9\x9e\xf5\xf1\xc8\x7b\x7b\x9f\x15\x4f\xde\x32\xa3"
      "\x56\x67\x48\xef\x79\xd4\x21\xc8\x16\xd8\xa4\xeb\x77\x6a\x83\xad\xaf\xc7"
      "\xb4\x27\xbc\x93\x9b\xf0\x29\xf2\x87\xd0\x79\x42\x7b\xea\x4c\x91\x3e\x29"
      "\xff\x21\xb5\xec\xe6\x38\x4b\xa3\x59\x72\xcb\xc9\x13\x5e\xaf\x48\xad\x4e"
      "\x6e\x88\x76\x6c\x31\x70\x2a\xfa\x07\xd6\x93\xac\x0f\x53\xf1\x56\xfb\xbf"
      "\x55\xaf\xfa\x9c\xe0\xfc\xd8\xfc\x58\xa8\x72\x87\x58\x81\x1f\x71\xec\xc9"
      "\xea\x43\x3b\xbe\x7e\x39\x4f\xcf\xf9\x67\xb5\xde\x6c\xfb\xbe\x8d\xba\xd9"
      "\x95\x3a\xba\x9b\x59\x7c\xf4\x76\x83\xe9\x2c\xe5\x3d\x41\x83\xa1\xad\xf5"
      "\x51\x91\x3d\x27\xc6\x48\x27\xba\xfc\x8e\xee\x7b\x4a\x71\x70\xed\xcf\xe2"
      "\xf3\xec\x87\x5c\x59\x4e\xfc\x33\xab\x3a\x16\xfd\x0a\x2a\xdf\x19\x38\xa6"
      "\x0f\x37\xec\xd0\x79\xcf\x7d\xbd\x76\x0f\x77\xd8\x3a\xc3\xab\x14\xb2\x8b"
      "\x82\x9e\x1e\x7c\x8c\x49\xc3\x2a\xe7\xea\xf2\xe8\x7e\xa4\x9d\xd6\xc8\xa9"
      "\xd6\x1b\x3c\xcd\xbd\x91\x94\xe2\xe8\x55\x19\x48\xd9\x23\x29\x58\xfe\xa9"
      "\xe2\x0a\xb5\xaa\x47\x4b\x2f\xab\xd7\xfe\x97\x3a\x5a\x69\xb5\x52\x44\xc1"
      "\x34\xf1\x1a\x7e\x4e\xf1\x5d\xbc\x82\xce\xc3\x4f\x43\xe4\x7b\xea\x9f\x27"
      "\x27\xb7\x17\x1e\xec\x12\xcd\xba\xe2\x16\x69\x53\xcb\xe9\x77\xaf\xfa\xa0"
      "\x4a\x45\xb9\xe9\xf8\x6e\x2b\xbe\x11\xce\x2f\x09\x2b\xeb\xbe\x01\x01\xf9"
      "\x51\x57\x5e\xde\x60\xa1\x62\xc8\x7b\x2c\xda\xab\x74\xc6\x47\x4b\xfc\xf7"
      "\x81\x80\x8b\xcc\xe6\x8f\xef\x5b\x45\x19\x1c\x75\x0c\xbb\xf3\xdd\x2b\xdc"
      "\x54\xed\xa5\xcf\x31\xb9\xb0\x0f\xa2\xb9\xa7\xdf\xd2\x0e\x5e\xa2\x72\xa5"
      "\x6b\xae\x11\x73\xe1\xe2\x7d\x9f\xbe\x44\x25\xe6\x9e\xe5\xb4\x5c\x64\x7a"
      "\x98\x26\x76\xf8\x5e\x48\x2e\x9d\x47\x9b\xab\xee\x35\x99\x26\x73\x63\xdf"
      "\xcf\xfd\x67\x6a\x44\x1f\x39\xba\x78\xb3\x9e\x96\xca\x4f\x7c\x93\x79\xda"
      "\xf4\x4d\xe1\x9d\x03\xde\x8a\x86\xf2\xd7\xa4\x4a\x76\xba\x34\x45\x5e\x6e"
      "\x39\x4a\xc2\xf9\xbe\xa3\xa7\x8d\x35\xc7\x5b\xbf\x40\xc4\x71\x2c\x39\xda"
      "\x42\xa0\x2d\x2a\x7d\xc2\x76\x17\x4b\x71\xa9\xf6\x95\x94\xdd\x01\xb2\x21"
      "\xf1\xb7\x2f\xee\x77\x57\xed\xde\x62\x56\x3f\x3e\x64\x2b\x4a\xdd\x7e\x86"
      "\x87\x81\x97\x22\x92\x84\xde\xba\x28\x2d\xf7\xf3\xa6\x58\x7b\xf4\x8e\x73"
      "\x6f\xed\x4f\xb8\x66\xa8\x3e\xa1\x5b\x28\xf7\x4f\xdd\x49\xa3\xc9\x7d\x6e"
      "\xd2\x7e\xbb\xe7\xec\x11\x4d\xd5\x7c\xb1\x67\xe4\xe1\x86\xab\xdd\xfe\x35"
      "\x37\xb8\xb4\x4b\x25\xb8\x89\x39\x0b\xf7\x8d\x3c\x14\x78\xc2\xad\xf3\xcc"
      "\x62\x24\x45\xf5\x40\xda\xf6\xf8\x74\x9f\xeb\x51\xb6\xeb\x94\x41\xec\x0f"
      "\xce\x5c\xf9\xad\x97\xb7\x22\xc3\x92\x3e\x70\xd1\xb3\xc8\x4f\x85\xcb\xe5"
      "\xd0\xca\x55\x13\xb1\x35\x56\x93\x50\xf5\xef\x56\x42\xd6\xd9\x81\x59\x92"
      "\x57\xbf\x75\x65\xef\xac\x9c\x60\xea\xb7\x3f\x96\x13\xfa\x91\x7f\x46\x5d"
      "\x93\x77\x99\x28\x5e\x7b\xd2\xad\xd4\x43\xfa\xfb\xb5\x99\x1b\xde\x57\x87"
      "\xdc\xb7\x1d\x4e\xa4\x1c\x0d\x66\x8b\x57\x52\xfa\x4c\xb2\xc1\xfb\xd1\x66"
      "\xc3\x99\xdb\x50\xf3\x55\x0c\x0d\x13\xd1\xc4\x9e\xfc\xa5\x2b\x39\xa5\x2f"
      "\xa5\x49\x4e\xfd\x7e\x67\x73\xfd\xc8\x9a\x47\x6e\x61\xa4\xb4\x38\x1b\xc9"
      "\x4b\xd6\xf0\x0f\xcc\x2f\x99\x0c\x36\x55\x57\x3a\x9b\x4d\xaf\x11\x4d\x07"
      "\x64\x97\x5d\xb9\xd3\xbe\x73\x5c\xb9\xd2\xac\xba\xe8\x82\x42\xe4\x2b\x17"
      "\x4d\x17\x8a\x03\x81\xf5\xc4\xeb\xde\x53\x43\x36\xd9\x1a\x46\xc2\x8d\xc9"
      "\x7f\x8a\xe9\x0d\xf5\xaa\xfd\xae\x46\x4b\x9c\xd6\x6f\xb2\x5a\xbf\xdc\xb7"
      "\xb6\xf3\xfe\xc1\x0d\xfd\x7d\xc1\xcf\xef\x2a\x2d\xf9\xbc\x7a\x5e\xa3\x2c"
      "\x5d\x52\x30\x96\xc6\x42\x2d\xab\xf8\x54\x93\x6d\x54\xe0\x97\x7a\xbe\xb9"
      "\xed\x79\xc3\xe0\xe7\xbf\x7d\x5f\x9e\x7e\x12\x43\x75\x4a\x40\x72\x62\x6b"
      "\x4e\xdf\x6d\x50\x29\x33\xf2\x59\xd2\xe0\xa2\xc6\x29\x5f\xba\x43\x8f\x26"
      "\xc5\x6b\xce\xb3\x4c\x7d\x66\xfb\xd0\x30\x79\xc4\x9d\x3f\xa0\xe3\x45\x37"
      "\xc5\xba\xfa\x88\xfa\x8b\x95\xd3\x77\x55\x59\x6e\x06\x0c\x1d\xfb\x29\xcd"
      "\x25\x99\x37\xce\x53\x22\xf8\x24\xa6\xd4\x4e\x6c\xc7\x45\x9d\xe3\xa2\xe3"
      "\xb1\xaf\xfb\x96\xe3\x44\xf8\x8f\x15\x5c\x56\x6c\xdf\xb1\x71\xff\x91\xed"
      "\xfd\x46\x65\x4a\x46\xf1\x2f\x25\x22\x1d\x6f\xaf\x08\x36\x9e\xae\xd5\x50"
      "\x6f\xf6\x55\x19\x7d\x72\xab\x47\xb5\xf6\x91\xdc\x3e\x6b\xdb\xb8\x0d\x6a"
      "\x2e\x51\x4a\x33\x23\xff\xb4\x0e\xba\xd9\xfb\xaf\x3e\xf2\xca\xf4\xa7\x4f"
      "\xaa\x3e\xcd\x9b\x4e\xef\x88\x9a\x78\x42\x3e\xb2\x6c\xb1\x95\xbc\xfb\x3e"
      "\xa3\xf9\xba\xaf\xe2\x54\x6e\x7e\x4e\x54\x16\x3b\xa7\xc3\x77\xf9\x8d\x7b"
      "\xbf\x92\x7f\xbf\xca\xfe\xe5\xf6\x45\x79\x67\x72\x64\xcb\x8c\x90\xa1\x5e"
      "\x1e\x0b\x27\xed\x72\x2f\x7d\xa0\xc6\xac\x6f\x0d\xeb\x07\xf5\x20\xfd\xab"
      "\x41\xca\x16\x26\xd7\xdf\xec\xf9\x55\x75\x25\x52\xed\xe3\x95\xe1\x37\x4f"
      "\x73\x3f\x1d\xdd\xa4\x33\x35\x5d\xb4\x0b\xcb\x0d\x8a\x73\x6f\x6b\xe5\xdd"
      "\x1f\x9e\xc9\x2f\xe8\xd6\x49\x28\x11\x74\x7d\x30\x57\xbd\x1c\xef\x6f\x10"
      "\x6b\x64\xe4\x9b\x61\xd8\x10\x40\x15\x7a\xf2\x69\xc1\x8f\x9f\xf2\xb2\x53"
      "\x19\x13\x72\x3b\xe2\x8f\x7c\xf7\xf4\x72\x1d\x7b\xc6\x50\x11\x9a\x18\xd1"
      "\x50\xa9\x22\xd2\x34\xf3\x33\xcf\x4e\x46\xfb\x5b\x69\xbc\xab\x8a\x5f\x35"
      "\xdb\xb9\xf2\xe8\xb4\x5f\xd4\x0b\x1c\x5f\x83\x85\x22\xed\xfe\x10\xff\x70"
      "\xe8\xa1\xa2\x3d\x15\x75\xef\xd6\x41\x13\x6e\x51\xbf\xe5\x8e\x85\x5c\x1f"
      "\xc7\xb7\xf4\xa7\xb7\x8e\xef\x16\x4e\xbb\x1f\x7f\x91\xd3\x9b\xdf\xb7\x20"
      "\xf4\x9b\x14\x75\x78\x59\x5a\x51\x9b\x95\x5f\x94\x8c\xb3\x9d\xdb\x3e\x53"
      "\xb9\x3e\x8f\x4f\xbc\x7f\x8e\x67\x15\x6b\x66\x1e\x98\x3a\xec\xfd\xe1\xf9"
      "\xc5\x59\xde\xac\x8b\xf9\x74\xd7\x62\x36\x6e\x3b\xc7\xc4\x1b\xef\xb9\x66"
      "\x11\x2c\x91\xdb\xb3\xad\xf4\xf8\x67\xb5\x52\xf2\x76\x4c\x77\x7e\xbf\x4d"
      "\x77\x34\xb7\x59\x9f\xee\x55\x09\x35\x61\xaf\x3f\xd1\x24\x41\xac\x45\x9a"
      "\x49\x43\xf2\x3a\xfb\x05\x4f\x06\x3d\xe4\x30\x1b\x5c\x57\xf7\x0f\x9b\xb5"
      "\x1c\xef\xd4\xab\x13\xa0\x6c\xa1\xff\xa4\xbc\x93\x67\x98\xf0\x7c\x68\x3f"
      "\x5b\xc4\xd4\x5d\xb9\x3b\x55\xf4\x02\x69\x2b\x3f\x45\xf7\xca\x4e\xb3\x09"
      "\x55\xf1\x1e\xfa\x50\xa6\x51\xa0\x54\x6f\x33\xf6\x20\x5c\xc0\xdf\x23\x5c"
      "\x77\x32\x6e\xba\xa7\xa2\xb7\x45\xeb\x61\x42\xea\xfb\xa7\xfb\xf5\x4a\x0d"
      "\x6a\x04\xae\xb3\x5a\xbf\xd2\x7e\xf5\x40\x3e\x5e\x82\x26\xce\x32\xe1\xee"
      "\x4d\xa9\x10\x85\x3c\x4f\xda\xad\x03\xe1\x9d\x5a\x1d\xaf\x07\x0e\xe7\x1e"
      "\xf3\x6f\xf5\x4d\x98\xf7\x89\xf9\xa8\xa0\xae\x27\xb9\xa3\x89\xd1\xea\x89"
      "\x70\xf1\x9d\xd1\xcd\xbd\xfc\x35\x85\x66\x8f\xa9\x25\x34\x45\xfc\xa6\x63"
      "\xe9\x3b\x55\xe8\xb8\x5c\x49\x23\x04\x6b\x6f\x8c\x54\xcc\x45\x1f\x6b\x1f"
      "\x4a\x36\xdf\xef\x7d\xb0\xaa\xab\x6d\x66\xc7\xd4\x7c\x46\xe4\x31\x96\x44"
      "\x5e\xbb\x3f\x47\x75\x87\x69\x03\x04\xd2\x6b\xbf\xbc\x22\x7b\x3d\x7c\xc8"
      "\x45\xe6\x98\xd2\x85\xf3\xd5\xc5\x0c\xeb\xee\xd6\x8c\x35\x8f\x4d\xd7\x7c"
      "\x73\xb5\x4a\xea\xd2\xc5\xc5\xd5\x5c\xea\x9b\x4b\x2a\x3b\x32\xa7\xbe\x26"
      "\xa7\xd2\x24\x27\x4b\xf9\x7a\x51\x1d\x91\xff\x46\xac\x7f\xf8\x72\x7d\x7b"
      "\x56\xa1\x20\xfb\xda\x64\xda\x58\x54\x98\xc6\x16\xcf\x45\x3b\x25\xd3\x40"
      "\xe3\xb3\x8a\x93\xf7\x6c\x95\x02\xd4\x03\x77\x5c\x25\xfa\xfa\x56\x40\xe8"
      "\x95\xf5\x3e\xde\x96\xa6\x02\x19\x56\x66\x3e\x06\x65\x25\x47\x02\xc9\xf1"
      "\x96\x31\xaf\xc7\x47\x4e\x16\x18\x9d\x34\x67\x2e\x24\x62\x4d\x62\xd3\xcd"
      "\xe7\x3b\x63\x66\x56\x9c\x41\x1f\xb8\x4e\x49\x56\x76\xea\xf5\x94\xbe\x10"
      "\x91\xb6\x67\xa9\x7d\xa6\x5e\xdf\xae\x0f\x6c\x55\x19\x35\x1a\xbd\x74\x3c"
      "\x24\x71\xdf\x3c\x33\xd3\x1c\x78\xa5\x3e\xd8\x2d\xb4\xc6\x3d\x6b\xb1\x49"
      "\x8f\x52\x97\x5c\x6a\x88\xf8\x7e\x63\x65\xe2\xa7\x71\x5d\xd7\x34\xcb\x3c"
      "\x2f\xbd\xfa\x4c\xd4\xe7\xda\xf3\x0f\xf4\xbe\x34\x97\xa4\x7a\x37\x47\x25"
      "\xaa\x31\xb3\x7c\x9f\x74\x0b\xfe\x4d\xce\xf5\xf1\x32\xe7\xf1\x91\x77\xf6"
      "\x71\xfa\xb4\xca\xb7\x1e\x54\xbb\x1d\xbd\xb3\xb3\x7a\xbf\x4c\x6d\x24\xf9"
      "\x69\x85\xcf\x96\x0f\x5b\x8b\x33\x5d\xfb\xb2\x5c\x9a\x99\x2d\x99\x4e\x2a"
      "\xdc\xbc\xd5\x49\xbd\x24\x77\xea\x84\x92\x6f\xce\x62\xc9\xa9\x92\xc1\x0c"
      "\x0f\x52\x69\xa5\x8f\xd9\x31\x44\x43\x7f\x7e\x51\xda\xdd\xb3\xd0\xff\x98"
      "\x11\x3d\x68\x6d\x6b\xe3\x57\x40\xf4\x35\xd5\x5a\xe0\xb2\x4f\x65\xc4\xd6"
      "\x24\x89\xf0\xa2\xf1\x42\x43\x36\xd9\xe5\x09\x97\xae\xd5\x88\xc9\xfc\xdf"
      "\x31\x97\x08\x0d\x56\xf7\x5e\xd8\x2c\x1a\xeb\x34\xc6\xf2\xef\xdf\x96\x91"
      "\x60\xbe\x3a\x74\x20\x54\x65\xc0\x59\xcc\xd6\x25\xaf\xf5\x65\xe7\xf5\xbd"
      "\x6e\xb1\xc7\x1f\x9f\x3b\xad\x24\x74\xb2\x28\x8f\x4d\x88\xe4\x75\xdb\x04"
      "\x97\x9f\xd9\xb3\xa3\xfe\xea\x3c\x73\x75\x3c\x23\x1d\xc6\xd9\xbd\x0c\x2c"
      "\x8e\x62\xd7\xbc\x3a\x74\x58\xc2\xa8\x3c\xc6\x25\xfa\x7f\xd3\xba\x0c\xcb"
      "\xe4\xe4\x7f\x61\x11\xa1\xd3\xbf\xff\xb3\xe6\x57\x8f\xf6\x86\xb8\x81\x92"
      "\xe4\xea\x64\x91\x84\xa4\xc1\x5c\xa8\xdd\x39\x8a\xb8\x67\x66\xb9\x97\x07"
      "\x4d\xbb\x56\x4d\xbb\x65\xbd\x93\x7e\x91\xa7\xf2\xed\xd5\x4d\x5a\x55\x38"
      "\xf6\xb4\x40\xb3\xed\xee\xa8\xed\xde\xf4\xdb\xe3\x03\x07\x58\x8a\xc8\xba"
      "\x4d\x27\x9e\x9f\xe1\x5a\x50\xb3\xd6\x9a\xce\xef\xc9\x9a\xba\xd5\xfd\x5d"
      "\x99\xf1\xf8\x53\x6e\xfb\x71\x06\xdd\xae\x0a\xb1\x7d\x7d\x93\xdb\xe9\xa6"
      "\x75\x77\x95\x1f\x9f\xea\xaf\xff\x61\x7c\x24\x4a\x39\xf4\xec\xc3\x9f\x6f"
      "\x52\x95\x4e\x68\xa4\x1a\x6f\x3f\x59\x90\x60\xea\x19\xcf\x95\x56\x78\x56"
      "\xc2\xb8\xfc\x9c\xab\x36\x30\x3c\x54\xa3\x4a\xf9\x44\x42\x77\xfc\xc0\x7b"
      "\xd6\xcc\xb1\x2d\xae\x48\xbe\xea\x7c\x97\xc4\xb0\x83\x67\xc5\x77\x71\x4b"
      "\xb0\x39\x29\x39\xac\x4a\x27\xb6\x3c\x3e\xa3\xb4\x76\xd3\x50\x81\xa9\x7f"
      "\x6c\x77\x70\x86\xf5\x9e\x68\x56\xd5\xf3\xdc\xda\x36\xf3\x9d\xa1\x4e\x17"
      "\xed\x14\x5f\x7e\xdb\xa7\xd0\x26\x38\x57\xc8\x93\x1f\x23\xb1\x18\x50\xd4"
      "\x51\xff\x5c\x7b\x2f\x61\x32\x51\xfc\x32\x9d\x5e\x37\x8d\xf0\xce\x63\x39"
      "\x12\x7a\x43\x07\xba\xcc\xab\xe2\x9a\xec\xaf\x68\xc9\xe7\x07\x45\x45\x75"
      "\xfb\x64\xaa\x9b\x7c\xfb\xb1\x9f\xf7\xf1\xda\xdb\xd8\xbb\x1b\x6a\x25\x49"
      "\x2d\xc3\x14\xf7\x47\x0c\xbf\x8d\x26\x72\xcd\x93\x17\xfc\x4c\x2a\xeb\x7c"
      "\xd6\x99\x97\xf5\xeb\x95\x5a\xcb\x8b\xea\xa6\x8f\xe7\x1b\x38\x32\xcf\xb4"
      "\x09\x51\x55\xbe\xf4\xf8\x4e\xc8\x5f\xe4\xe3\x68\x3f\xa6\xa2\x93\x25\x5e"
      "\x9f\xbd\x62\x1e\xa1\x6a\x4a\x1d\x2b\xab\x52\x79\x6c\xac\xe5\xa3\xb2\x7a"
      "\xc0\x40\x45\x93\x4f\x1d\x25\xf9\x87\x8f\xaf\x17\xb4\x94\x97\x4c\xb4\xec"
      "\x57\xb9\xb4\x7c\xae\x1c\xcc\xe0\x4b\xf0\xea\x79\xdb\x5f\x46\x2e\x14\x96"
      "\xdf\x53\xe2\xec\xcc\x4a\xff\x40\x32\xc6\x4e\x7e\x76\x28\x6f\xa8\xe4\x53"
      "\xdb\x75\x87\x2b\xf4\x8b\x06\xec\x44\xca\xbf\x2c\xd3\x9e\xb0\x9d\x79\x5e"
      "\x2d\x44\xca\xb1\xd3\xe4\xca\x56\x61\x48\xf8\x7e\xe6\x7e\x9b\x81\x44\x7b"
      "\xc1\xc7\x72\x81\xa5\xcf\xd5\xdd\x08\x89\xdc\xf2\x95\x5c\xd9\xa9\x73\x05"
      "\xb4\xbd\x23\x74\x6c\x2d\xb3\xfc\x8f\x63\x43\xda\xd3\x98\xbd\xf7\x0d\xca"
      "\xbb\x96\x66\x0c\xff\x5e\x10\x99\xfb\xa8\xb6\x7b\xe4\xf2\xd4\xcd\x30\x47"
      "\xf6\xd3\xd6\xe3\x5d\x0f\x42\xde\x59\x45\xbe\x31\x4c\x8f\x38\xfb\xe9\xb5"
      "\xd5\xbb\x84\x53\xe4\xda\x14\x63\xde\xd5\x55\x76\xfb\x23\x67\x5d\xbf\x35"
      "\x67\x31\xf8\xad\x1e\xd7\xf9\xc0\x35\xd2\x5f\x37\x70\xa4\xb7\x27\xe7\x11"
      "\x49\xe9\x70\x99\x9a\xdb\xad\xd6\x27\x05\x13\xf6\x7d\x52\xfe\x09\x53\x81"
      "\x55\xdd\x96\x77\x2a\xc3\xac\xd2\x63\xd4\xbf\x6f\xa4\xd3\xfc\x18\x52\x3c"
      "\xd3\x14\x54\xee\x35\xb5\x4b\x3e\x59\x3a\xd1\x68\x4e\x63\x4c\x4a\xe2\xcd"
      "\xd2\x2c\x4d\x6c\x24\xff\x51\xa5\x75\xc3\xe9\xa8\x76\xde\x84\x61\xeb\xfa"
      "\x7e\x85\xc9\x89\x16\x47\x93\x5e\xc3\xef\xbd\x14\x4b\xbd\x87\xf6\x33\x92"
      "\x07\x4d\xe7\x1e\xde\x74\x4e\x34\xd8\x49\xb2\x62\x4b\x16\xee\xe2\x78\xc7"
      "\x50\xa5\x79\x84\x2b\x82\x21\xb0\x4d\x7a\x3a\xf7\x4e\x7b\xf9\xf4\x62\xd3"
      "\x31\xce\x45\xe9\xca\x37\x33\x81\xe6\xe5\xbf\x34\x3e\x56\x09\x4b\xfb\x77"
      "\x5d\x2a\x94\xb7\x0a\x58\x2b\x96\xcc\x7c\x33\x29\xf5\x9d\x35\x37\xd9\x5f"
      "\x5a\xbc\x47\x78\x6f\x70\xc5\xc5\x1c\xa6\xbd\x69\xeb\xec\x31\x2f\xef\x25"
      "\x1e\x14\xd8\x7b\x72\xcc\x78\xbd\x80\xf5\x6c\x31\xe1\x3b\x0b\xcf\xcf\x8e"
      "\xae\x3f\xac\x77\xcf\x2a\x16\x5a\x5e\x54\x9f\xbe\xaf\xac\xc5\x53\xa5\x99"
      "\x61\xd6\x50\xdf\xb4\x83\x60\xf5\xe0\xe5\x16\x85\x0f\xb7\xe5\x05\xba\xa7"
      "\xa7\x0e\xbc\x49\x1f\xd6\x8c\xc8\xdc\x47\x39\xef\x20\xc0\xa4\x38\x2b\x6b"
      "\xe1\xe9\xae\x7d\x95\xdd\x29\xcb\xe2\xa9\xd3\x59\xee\x9d\xd9\x3f\x2d\xcb"
      "\xc5\xc3\x76\x5e\x6e\x89\x5c\xb0\xfc\xa3\xf7\x85\xaf\x70\xd7\x1b\x07\xf6"
      "\xc8\xb8\x18\xd3\x6b\xdc\x9d\x15\x0c\x6c\x15\x27\xbb\x72\x76\xc7\xaa\x0d"
      "\xd0\x8a\x47\xd3\xb3\xcc\xfd\x38\xc3\x26\x77\x9e\x22\x58\x7a\x9f\xf8\xa5"
      "\x87\x96\x0a\x7e\x9f\x9a\x9e\xa7\x9f\x29\x3a\x97\xe6\xd1\x55\x37\xf2\xd3"
      "\x50\x7c\x31\xb2\xe7\xc0\x66\x5e\xc0\xb0\x3b\x63\x94\xd5\x67\x16\x1d\x5d"
      "\x07\x4f\x9e\xc4\x2f\x21\xd4\xd7\xdd\x07\x4a\xf6\xdc\xbe\xe7\xcc\xb2\x4c"
      "\x61\xcd\x95\xe0\x35\xd1\xcb\x7f\xa6\xfc\xd3\x87\x7e\xfa\x4d\xbe\x87\x14"
      "\x57\x98\x8e\x50\x32\xa7\x25\x1f\x26\x6a\x63\xa4\x0c\xdc\x33\x76\xd6\xdb"
      "\xf2\x46\x76\xad\xdf\xfb\xd1\x9c\x65\x2b\xbf\x54\xd7\x8d\x89\xfa\xad\xfd"
      "\x8e\xf1\xb1\x47\xf8\xf2\x65\x74\x89\x76\x1d\x2e\x56\x31\x96\x2f\x4a\x3c"
      "\x9a\xc8\x79\x72\xb7\x47\xff\x8d\x26\xa6\x5c\x5b\xdf\xcc\xe7\x94\xe4\x07"
      "\x25\x09\x6d\x2a\x12\xf3\x19\x72\x2d\xd7\x1c\xd4\x39\x7d\xf2\x18\x34\xa6"
      "\xd5\x94\x8f\xb0\xec\xfd\xe3\x1e\x67\x9f\x67\x3d\x56\xf1\xf9\x3e\xb7\xb9"
      "\xc3\x53\x2f\x72\xbe\x83\x6a\x7d\x87\x99\x3b\x6f\x04\xe9\xde\x75\x16\x2e"
      "\x1c\x66\xd5\xb8\xc3\xc7\x17\x2e\xe4\xe8\x30\x3b\x2b\xfa\x35\x90\x2d\x85"
      "\xb5\xc3\xd2\x32\x92\x99\x73\x2f\xff\xf1\xbe\x86\x5b\x56\x26\x92\x73\xac"
      "\xd4\xef\xdf\x37\xe9\xcf\x52\x18\x38\x87\x86\xdd\x23\x7f\x3d\x58\xfa\xae"
      "\xed\xa8\x0c\xaf\xde\xef\xfa\xba\x0c\xaf\x8b\x9f\xb4\x57\x34\x26\xa7\x53"
      "\x85\xd3\x79\x0f\x52\x64\xe5\x79\x33\xec\x2b\xe4\xaf\x7a\xb2\xdd\xad\xea"
      "\x25\x16\x72\xe4\xc6\x68\x85\xd3\xd1\xc3\x35\x2f\xa3\xcd\x52\xc6\xe6\x3c"
      "\x1f\x34\xb3\xcd\x12\xbe\xcf\x50\x16\x6d\xca\xa9\x3d\xac\x2d\xa9\x4f\xb0"
      "\x7b\xc5\x28\x7f\xec\xc1\xbc\xdc\xa5\x22\x91\x03\x5d\xdc\xec\xf4\x55\x9c"
      "\x95\x49\x62\x76\xbb\x4d\x4e\xda\xf5\xcf\x52\xf3\xb0\xd4\x1d\x9a\x3b\x9f"
      "\x7e\x9e\xf4\x37\xb9\x72\x20\xfd\xf2\xe6\x55\x2d\xf9\xb1\x6b\x8e\xc9\x6d"
      "\x6e\x95\x8f\xda\xcf\xe6\x8c\x92\xb3\x7c\xb4\x3a\x7e\x93\xa2\xdf\xea\xdd"
      "\x86\x9a\xd3\x59\x29\xff\x47\xee\x82\x0a\x64\xb9\xd9\xf3\x0f\xbb\x42\xde"
      "\xa5\xd4\x0c\x24\xec\x4d\x0b\x56\x68\x7c\x6d\x2d\xdf\xe0\xbc\xc3\xf6\x1e"
      "\x73\xe3\x8d\x62\x9e\x04\x86\x17\xfa\xb6\x6d\xf6\x87\x4a\x79\x29\x0d\xbe"
      "\x5e\xa1\xcd\xf1\x4f\x0d\xe1\x9e\xbd\x58\x64\xbd\xcc\x91\xfc\x8b\xe7\xca"
      "\xbb\xd0\x54\xa3\xcb\xab\x9d\x6a\xd4\x73\x6c\x34\xe7\xef\x9e\x5d\x11\x51"
      "\x58\xb7\xbc\xd6\xdb\x3d\xa7\x4e\x59\x27\x9e\xf0\xf2\x99\xfa\xb1\xed\x0a"
      "\x9f\x97\x35\xd5\x7b\x55\x9d\x25\xc4\xe3\x8f\x3e\xa0\x38\x7d\x93\x70\x65"
      "\x85\x7a\x58\xd3\x7a\xa5\xe3\xd6\x8e\xbd\xce\xde\x3d\x1d\x9d\x3c\x39\xa9"
      "\x7a\x5a\xd5\x44\xcd\x1d\x3c\x67\x7f\x99\x15\x9e\x8d\xb5\x72\x7c\xa1\xde"
      "\x96\xd2\xe9\x23\x28\xab\x40\x72\x9b\xb8\xed\x92\xda\xd2\xc3\x2a\x46\xc9"
      "\x92\xf7\xeb\x11\xa4\x1f\x06\x05\x45\x4b\x97\x7c\xe4\x72\x7e\x52\x38\x19"
      "\x99\x74\x45\xeb\x54\x5e\x94\x8d\x7e\xb2\x9a\xb3\x61\xde\x36\xa9\x46\x41"
      "\xe6\x37\xe7\x16\x2d\xd0\x6c\x60\xc9\xb7\x18\x92\xe8\x55\x96\xf9\x61\xf8"
      "\xc2\x10\xfb\x7c\xbd\xc3\x99\xd3\x01\xe6\x09\x8c\xde\xa7\xae\x94\x6b\xa4"
      "\x9e\x6a\xc8\xdb\xa5\x7c\x29\xe3\x14\xdf\x8d\x5d\x57\x04\xf5\xe2\x9e\xd6"
      "\x4f\xf9\x8d\xcd\xef\x55\x1d\xe4\x37\x8f\xe3\xba\xba\xd5\xea\x38\xed\x67"
      "\xd9\xc7\xc0\xa1\xf3\x6d\x51\x7d\x53\xb5\xf2\x9c\xc5\xfd\xda\xe8\x33\xf7"
      "\xe5\x0c\x1e\x51\x0a\xdd\x1a\xdb\x94\x5d\xe6\x98\x9d\x7c\x9e\x72\x57\x29"
      "\xec\xc8\xd8\xe6\x87\xfc\x7a\x51\xa9\xf3\x72\xb4\xc4\x3f\xe7\x8b\xe7\x07"
      "\xb6\xa2\x5a\x0c\xe7\x14\x5b\x39\xae\x8e\x8a\xec\xcc\xd8\xb4\x2c\xbd\xdc"
      "\x95\xa4\x64\xf3\x6b\x88\x51\x4e\x2c\xfc\x89\xc3\xb1\x87\xe3\x9e\x64\xaa"
      "\xf7\x6b\xf6\x09\x58\x15\x90\xc7\x3b\xd9\xfc\x2c\xd8\xad\xcc\x90\x60\xd7"
      "\x45\xa6\x7a\x46\x26\x66\x8a\x66\x99\xf1\xe1\xed\x5d\x47\xf5\xb2\xbb\x76"
      "\x1f\xb1\xfa\xd4\x79\xdb\x86\xff\x79\xbf\x25\x5b\x94\x90\xf4\x4f\xed\x67"
      "\xd3\xa9\xe7\xae\xde\x8c\x69\x2a\xdc\xc3\x2c\xa5\x93\x71\xe7\xac\x1a\x75"
      "\x6d\xc2\x39\x05\x09\x7a\xed\xa6\xf7\x21\x41\x93\xd3\x2f\x7f\x1c\x0a\xaa"
      "\x34\x98\xea\xd3\xa1\x70\xf4\xf6\x30\x98\xec\xf8\x24\xd3\x99\xdb\x6f\xa2"
      "\x1f\xd4\xd4\x40\x17\xd0\x7d\x55\xe5\x5f\xfc\xe3\x33\x00\x00\x00\x00\x00"
      "\x80\xff\x36\xfa\x7b\x26\x8f\x3a\x65\x86\xbd\x50\x56\x8b\x7c\x9a\xfa\x38"
      "\xfe\xd9\xdf\xfb\xff\x24\x7f\xd5\xff\xde\xff\x0f\x27\x10\x08\x47\xb2\xcf"
      "\xd1\xec\xa8\xe1\x3e\xac\xd4\xfb\x21\xa7\xc6\xf8\xe2\xed\x66\xfb\xe5\x36"
      "\xf6\x77\x69\x94\xb9\x45\x71\x35\xad\xe1\xdb\x1a\x03\xfd\xeb\xb7\x4f\xfc"
      "\xb8\x1a\x44\x6f\x58\x28\x2a\x3a\x14\x25\x7c\xa8\x36\xd9\x7a\x39\x69\x8d"
      "\xf5\x60\xef\xf4\x97\xc6\x82\x91\x59\xf2\x9e\x88\x62\xd7\xf9\xd4\xdf\xe1"
      "\xb9\x9f\xf7\x7e\x7c\xda\xc5\xdc\xde\x5d\xf9\xd6\x93\xe2\xad\x90\xa7\xab"
      "\x8f\xdc\x6d\x3a\x79\xa7\x1f\xdd\xa7\x1e\xad\x31\xc6\x2f\x76\x39\x1f\x79"
      "\x38\xa8\xc4\x78\x25\xed\x8f\x81\xa3\xd2\x8d\xa5\x0b\x3b\x8d\x8f\x3e\xeb"
      "\xa6\x9d\x63\xd5\x0d\x7e\xbf\x34\x53\x13\x5b\x3a\x69\x18\xc2\x97\x17\x3d"
      "\xc5\xa2\x57\x1e\x65\xb9\x59\xf0\xe9\xc2\xf5\x8e\x97\x67\xd6\x55\xdc\xfd"
      "\x0a\xfe\x1e\x94\x62\xdc\xca\x44\xc5\xd0\xbb\xb2\x4b\x35\x5a\xb1\xbd\x9c"
      "\xcf\x2e\x1f\x15\xeb\x39\xc9\xde\xb8\x26\xf3\x22\xad\x61\x72\x71\xaf\x20"
      "\x89\xbe\x78\xd5\x3e\x33\xe6\xe7\x0d\xeb\xcf\xd8\x0e\xa4\x49\x09\x6f\x1c"
      "\x78\x37\x4a\x4d\xfe\xcb\xc9\x54\x2f\x3d\x90\x5b\x45\x7e\x7f\xa2\xf9\xe9"
      "\x98\x37\xc2\x94\x2e\xdd\xf7\x2f\x38\xfc\x26\xa5\xed\xbe\xfe\xc1\xe0\x84"
      "\x00\x29\x1f\xa1\xac\xe8\xca\xe4\xd5\x10\x49\x3b\x2f\x5e\xc6\xe2\x76\x57"
      "\x07\x99\x50\x05\xee\x35\x3d\xcb\x77\x6f\xe3\x6a\xe3\xa3\xd8\x89\x4c\x34"
      "\x0f\xfd\x36\xa7\x8d\x3e\x41\xc5\x52\x96\x20\xe6\x62\x34\xb4\x28\xd9\xa0"
      "\xc8\xf6\x84\xec\x8f\xce\x03\xb2\x55\xfd\x80\x4b\xb2\x82\x1e\x81\x4b\xf9"
      "\xfd\x2d\x0f\x4e\x3b\x28\xb7\xb3\x28\xe8\x0c\x3e\x8a\x3b\x6c\x7f\x88\x88"
      "\xec\x7c\x32\x6d\x86\xc9\x48\xa1\xca\x76\x52\x40\x52\x62\xee\x31\x32\x5e"
      "\x8e\xd2\xd1\x13\xcb\x01\xe6\x56\xfd\xfa\xd2\xb3\x69\x91\x59\xf7\xf9\x83"
      "\x6e\xc4\x68\x6b\x5b\xf2\xbd\xd2\x73\xd3\xd5\x4f\x1a\x61\x4d\x0d\xba\x90"
      "\x1c\xdf\xc3\x19\x6f\xd4\x62\xdf\x78\x49\xab\x34\x6e\x3b\x3e\x58\xa4\x4a"
      "\x2c\x2c\xc9\x9c\xe9\xd2\x94\xaf\x73\x5f\x1e\xe3\x08\xa7\x82\x11\xe9\xc9"
      "\x6b\x8f\xdf\xcd\x66\x25\x1a\xfd\x91\xab\xbe\xca\x4f\x30\x2d\xd8\x75\xeb"
      "\x45\x3c\x33\xeb\x4e\xfb\x9f\x56\xd5\x0e\x66\x26\x77\x62\x3e\xaa\x15\xaa"
      "\x91\x77\x90\xf8\x52\x50\xf9\xd3\x65\x2b\x8e\xc7\x13\x77\x4f\xb1\x7b\x7b"
      "\x2a\x58\xd0\x13\x5f\x3f\x90\xe8\x32\x4b\x2c\x3f\xf8\xfc\xc1\x67\xf7\xa7"
      "\x82\x33\xc4\xea\xc9\x73\xf4\xab\x0d\x8c\x7e\xc2\xd1\xfe\xef\x83\x3a\xcf"
      "\x17\x5f\xa4\x5d\xe8\x7c\xe1\xa0\xc6\x53\x25\xfe\x2c\xa0\x5a\x80\xe9\xa9"
      "\xad\xef\xa7\x6c\x1d\x93\xee\x4e\xb1\x27\x6a\x07\x48\x84\xda\xfd\x6e\xa6"
      "\x73\xd2\xe9\x55\xad\x89\x72\x73\x15\xcd\x54\x50\xc6\xff\xae\xef\x75\x8a"
      "\x52\xf2\x09\xca\xde\x68\x17\x7a\x32\x66\xc6\xa3\x79\x6b\xe9\x75\xe2\xfc"
      "\xd5\x2b\xbe\x86\x7f\x06\x3e\x50\xb7\x36\xd0\x0b\x98\x24\xa9\x69\xdf\x8d"
      "\x89\xa4\x2f\x28\xb7\xa0\x34\x6d\x7d\xc6\xae\xf4\x84\xa1\x91\xb2\x6a\xf8"
      "\x30\xff\xe8\x06\xc5\x81\xa9\x50\xed\xc2\x52\x65\x92\xaa\xfd\x72\x6e\x27"
      "\x2f\xb7\x48\xf7\x90\xdb\xf8\x97\xf1\xef\xcf\xce\xbd\xc8\x1c\x7a\x41\x6b"
      "\xb1\x86\x74\xcf\x37\x97\xa4\x1d\x33\x9d\xf9\x12\x13\xb5\x21\x7c\x52\xa1"
      "\x19\xbe\x3a\x42\x77\x77\x38\x08\x5e\x4a\x20\x48\x3e\x6d\x13\x95\x9d\x5b"
      "\x67\xee\x8b\x7c\x47\xde\x13\xbe\xb5\x72\x7d\xf6\x72\xf5\x6f\x85\xdd\xf3"
      "\x72\xab\xe4\x96\x6e\xbf\x77\x6c\x50\xae\xed\x7a\xe3\xab\xcc\x9f\x45\x68"
      "\x0a\xd7\xdd\xb8\x7c\x32\x53\xb5\x29\xf8\x6b\x81\x40\x60\x70\x46\xce\x3d"
      "\xa6\x7b\x06\x8a\x92\xa7\x2b\x15\x33\xd4\xab\x69\x1b\x1f\xe5\x84\x7d\x35"
      "\x92\x3c\x42\xb6\xf9\x72\x71\x99\x4f\x3a\x67\x6f\x0a\x79\x19\xcb\xe9\xf7"
      "\x3d\xd2\xcb\xec\x4d\x02\x46\x5b\x32\x9a\xe4\x62\x87\x33\xc4\x65\xb6\x82"
      "\x8b\x3c\xe5\x76\x3f\xe5\x77\xe9\xc8\x5f\xe7\xef\x61\xf3\x90\x75\x90\x93"
      "\x63\x14\x49\x70\x0b\x3b\xbc\xf9\x23\xa5\x64\xc6\xd2\xa6\xdd\x8c\x49\xbe"
      "\x60\x88\xef\x50\x00\x15\x87\x99\xf7\x66\x84\xd3\xf4\x1d\x0b\xf3\xa3\x92"
      "\xf5\x3b\xb4\xad\x6e\xe4\x2d\x15\xde\x69\x3f\xe6\x42\x60\x31\x29\xdb\xda"
      "\x63\xe5\x72\xe4\xcd\x2e\xef\x5d\x33\x07\x13\x45\x02\xc3\x72\x3b\xae\xcd"
      "\x9c\xd0\xfb\x2d\xbc\x67\x9f\x3d\xc9\x12\xef\xdb\x06\xed\x88\x8a\xcd\x3c"
      "\x83\x85\xef\xc4\x8e\xe4\xfd\xfc\xc2\xd2\x6e\x92\xea\x31\x73\x94\x0d\x42"
      "\x21\xed\xa4\xe7\x7f\x68\x54\x0a\xe9\xd0\xbb\x2c\xbf\xd8\xcf\x36\xca\x7e"
      "\x66\xec\x4d\xf6\x8e\x08\x86\xab\x97\x93\x24\xc2\xef\x07\xb4\x66\x9e\x5c"
      "\xfd\xf0\x8e\xf8\x98\x11\x69\xb8\x17\x1d\x91\xd0\x9b\xcd\x80\x88\x3b\xa6"
      "\x2c\x7f\xce\xe6\xd7\x1e\xfe\xfd\xe9\xfd\xd3\x3d\xed\x0e\xc1\x94\x05\x9d"
      "\x2c\x84\x38\x6b\x87\x13\x95\x8d\x75\x5a\xe5\xf5\xeb\x1f\x02\x23\x3a\xf7"
      "\x07\x0a\xe4\x27\x6a\xa6\x58\x1d\xa9\x3e\xbc\x22\xba\x3b\xd7\x86\xec\xed"
      "\xe1\xf7\x01\x9a\xfd\xcd\x56\xfd\xae\xe6\xb2\x2a\x5c\x85\x7b\x99\x7f\x74"
      "\xf2\xee\xde\x77\xd2\x61\xdf\x11\xcd\xb6\x37\x9e\x1a\xfb\x5e\xfa\x5d\x77"
      "\xd0\xd4\xbe\xe2\x93\x75\x49\xec\x87\xcd\x3d\x95\x0f\x5d\x1d\x3b\xf6\x26"
      "\xd7\x33\x2d\x8c\xad\xb0\x0d\xdd\xd3\xdc\x75\xb4\xfb\x4b\xe5\xcf\x49\x31"
      "\xf7\x6d\xfe\xc3\x25\xbb\x5f\xf9\xdd\x21\x1b\x8a\x7a\xd6\x2f\x73\x35\x4d"
      "\xf2\x2b\xfd\xec\x93\xad\x88\x3d\x31\xd1\xd2\xbb\xea\xfe\x75\x77\x42\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xff\xb7\x51\x90\x32\xff\x5b"
      "\x6c\x0e\x72\x5a\xd1\xdc\xa7\xdc\xea\x6f\xbe\xec\x73\xba\xca\xd6\x2f\xc3"
      "\x56\x55\xb9\xd3\x4f\x59\x2d\xea\x4f\xfa\x95\xc7\x25\x76\x69\x14\xd6\xcc"
      "\x62\x66\x76\x5a\x32\x45\xb2\x25\xe3\xd7\x19\x34\xb7\xfe\xd3\x8e\x77\xff"
      "\xcf\x70\xe8\xaf\x94\x92\x40\x20\x5a\x26\x22\x10\x2c\x1f\x7c\x19\x0e\x69"
      "\x6a\x63\xfa\x1f\x6d\x44\x04\x02\x81\x84\x68\xb7\x2f\x81\x40\x47\x44\xdc"
      "\x44\x47\xf4\x4f\x3d\x88\x6c\x10\x08\x04\xb3\xff\x75\x9d\xff\xbe\x58\xb1"
      "\x2c\x7e\xfd\x7f\x44\xdf\x70\x8a\x7f\xd7\x4e\xfb\x4f\x9d\xfc\xf3\xb8\x08"
      "\xd4\x24\x7f\x5f\xcf\xbf\xbb\x4e\x82\xdb\x7f\x3a\x22\xf8\x6f\x88\xf2\xaf"
      "\x79\x96\xc4\xfb\x63\xce\xda\xfe\x4c\xdb\x7d\x3d\x41\x95\x43\xfb\xdc\x8c"
      "\x7c\xff\xf7\x21\x44\x94\xff\x30\x9f\x08\x04\x1a\xe3\x7f\x7e\x3f\xf1\x7f"
      "\xd0\xaf\x89\xa9\xa5\x80\xc0\x0d\x73\x77\x66\x03\x6f\x07\x07\xc6\x99\x3c"
      "\xd2\x81\x10\x7d\x81\xee\xc7\x63\x5f\xcc\xc7\x39\xc2\xc2\x3a\x89\xe7\x67"
      "\x8f\xab\x77\xf5\x79\x3b\x92\x11\x08\x84\x1d\x7f\xbd\xfe\x87\xbf\x67\x2b"
      "\xf3\xdf\x27\xff\x2b\x9e\x23\x10\x08\x54\xff\xd0\xbf\xd4\x7f\x32\x2e\xee"
      "\xff\xcb\xf1\x1f\xf9\x3f\xe4\x6c\x7f\x45\xf2\xbf\x22\xf5\x7f\xd2\xcf\xdf"
      "\x75\xae\xff\xcb\xe3\xff\x19\xe9\x3f\x45\xaa\xff\xe2\xfb\xff\xab\xfe\xa3"
      "\xcf\xec\xff\x9f\x76\xfe\x7f\x7c\xbe\xbf\xfd\x3d\x4e\x9a\xbf\x62\xd5\x5f"
      "\xf1\xd0\x7f\xb1\x1f\x92\xbf\x5f\x44\x04\x62\x22\x02\xe9\xff\xba\x17\xdb"
      "\x10\xfd\xef\x39\x42\xf8\x87\xcf\x8d\x88\x40\x44\x20\xfb\x87\xfb\x28\x11"
      "\x81\xf8\xdf\x72\xe2\xff\x95\x13\xfe\x2d\x27\xfc\xef\x9c\xe8\x9f\x72\xe2"
      "\x7f\xca\x49\xc8\xfe\x69\x5c\xff\x76\xde\xbf\x26\x1a\x09\x11\xd1\xbf\x6f"
      "\xff\xfb\xb8\x7f\x6a\xe7\xfc\xab\x9d\xf4\xaf\x76\xae\x7f\xbc\xd7\xff\x07"
      "\x2e\xfc\xff\xd8\xef\x0b\x20\x2b\xef\x2f\x4e\xf0\xbe\x40\xe3\x84\xe0\x2e"
      "\xc1\xdd\xa5\xb1\xa0\xc1\x82\x25\x40\x70\x87\xe0\x1a\x12\x9c\x86\xa0\x0d"
      "\xc1\xdd\x9d\x00\xc1\x5d\x82\x13\x2c\xb8\x07\x77\x77\x09\x2e\x6f\xd5\x3b"
      "\x61\x6a\x6a\x66\xb2\xb5\x95\xdd\x9d\xcc\xfe\xf7\xf3\xa9\xea\xea\x7b\x9f"
      "\x53\xfd\xed\xf3\x3b\xf7\xe9\xdb\xf7\xfc\xcd\xf5\x84\x7f\x7d\x8f\xf4\xd7"
      "\x1f\xea\xcb\x8f\xcf\x03\xff\xfd\x83\xff\x22\xea\xff\xf0\xe0\xbf\x9e\xeb"
      "\xff\xef\x63\x5f\x97\xfe\x0f\x7a\xf9\x5f\x21\xec\x7f\xf3\x1e\xf4\x3f\xbb"
      "\xfe\xb1\xdf\x7c\x7f\xbd\x18\x51\xff\xba\x16\x35\x4c\xac\xff\xe1\x67\x3e"
      "\xfc\x4f\x7c\xac\x6d\x6e\x1d\xda\x6c\x5f\xbb\xe2\x7d\x63\xfc\x4d\x1f\x61"
      "\x96\x85\xf9\x2b\x3f\xcc\x3f\xca\x2f\xd8\x3e\xf1\xea\xa8\xa1\x59\x66\x25"
      "\xf8\xbb\xfc\x06\x61\xff\xca\x0f\xfb\x8f\xf2\x0f\x3d\x2e\x90\xf8\x5a\xa4"
      "\x93\xab\xff\x36\x7f\xc4\xc7\xfc\x70\xff\x28\x3f\xd2\xbe\xf6\xc3\xba\xdf"
      "\xdb\x9e\xee\x6f\xe7\xf3\xe8\xe3\x7c\x82\xfe\x51\xfe\x8e\x11\x5d\x46\xc7"
      "\x29\x7e\xab\xd2\x67\x7f\x97\x3f\xe3\x63\x7e\xa4\x7f\x94\xff\x38\xa8\xf6"
      "\xfe\x0f\xbd\x97\x8f\xfa\xdb\xfe\xb3\x7f\x9c\x4f\xe4\x7f\x94\xbf\xac\xe6"
      "\xfa\x8a\x2f\x73\x2d\x19\xfc\xb7\xf9\x81\x8f\xf9\x51\xfe\x51\xfe\x67\xa1"
      "\xbb\xd6\xff\x3c\x30\xfe\xcc\xbf\xcd\xdf\xfa\x71\x3e\x51\xff\x51\x7e\xaa"
      "\x2c\xcb\x42\xf7\x84\x76\x2c\xf3\xb7\xf3\x3f\xfc\x31\xff\x93\x7f\x94\x7f"
      "\xe9\x43\xce\xa7\xf1\xf7\xef\x5a\xfa\x77\xf7\x67\xd1\xff\x3a\x9f\x18\xff"
      "\x28\x3f\x56\xb3\x74\x49\x62\x74\xee\x91\xe9\xef\xde\x3b\xc3\xf4\xfe\x5f"
      "\xfd\x1f\x16\xe0\x3f\x4b\xec\xbf\x3e\x63\x85\xfe\xf5\xfc\x9f\xee\xa9\xff"
      "\x57\xfd\x37\xfb\xc2\x84\x18\x61\xfe\xcb\x67\xbe\x68\x7f\x7d\x7d\xf2\x7f"
      "\xe7\x2f\xfa\xef\x84\xf9\x6f\x76\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x73\x55\x68"
      "\xfb\xa8\xdd\xcc\x54\x2b\x07\xe5\xff\x76\x6f\xbb\x32\xcb\x1e\x44\xa8\xde"
      "\xf2\xf4\xdb\xb5\xe7\xab\x9d\xb9\x39\xe5\xde\x9b\x2d\x6f\xd7\x14\xcc\x9a"
      "\x7f\xf2\x99\x46\xa7\x92\x67\xc9\x70\xf0\xe8\xf6\xa3\xd1\x53\xdc\xaa\x7f"
      "\xad\x67\xd9\x83\xdb\xcf\xd5\xfc\x2e\x6b\xed\xb1\x59\xd7\xdf\x18\x94\xfb"
      "\xbb\x70\xf5\xff\xe8\x51\xb2\x49\x85\xfb\xc7\x62\x5d\x8e\xf0\xf4\x48\xc2"
      "\x3b\xf1\xda\x4c\x1f\x93\x75\xe1\x9d\xf7\xc9\x67\xf4\x9f\x3c\xe2\x8b\x3a"
      "\x27\x4e\x7d\x1e\x2f\x67\xdb\x4e\x93\x0a\x0d\xd8\xbc\x64\x50\xdd\x89\xcd"
      "\xeb\x55\x7e\x71\x72\x40\xb9\xd0\x33\x2d\x03\xd7\xae\x96\x5a\x3b\x60\xca"
      "\xc9\xf8\xc7\x96\x9f\x3c\x1d\xd8\x31\xa2\xcb\xe8\x38\xc5\x6f\x55\xfa\xd8"
      "\x57\x50\x20\x10\x48\xf0\xef\x8e\x06\x00\x00\x00\xfe\x63\x54\x7b\xb9\xf3"
      "\x7c\xdc\x0b\x97\x1a\xa5\x4d\xd7\xa5\x79\xd6\xcd\xcf\x8e\x7e\xdc\xc3\xc3"
      "\xfe\x55\x0f\x0a\x44\x0a\x24\x08\x74\x0e\x33\xa6\x7d\xce\x8b\x13\xe2\x7d"
      "\x9f\x67\xe1\xf8\xde\x2f\xde\xbf\xaf\xd9\xf4\xd5\xed\xdd\xf1\x16\x94\x1c"
      "\x5c\xb4\xe5\xc0\x42\xe3\x22\xde\xac\x12\x39\xf7\xf3\xa9\x99\x0e\x0d\x59"
      "\x95\x72\xe7\x37\x5b\xa7\x84\xbd\x5b\x21\xde\x9f\x5d\x47\x35\x1d\xde\x26"
      "\xf7\xb9\x01\x23\xcb\x95\x58\xb7\xff\x76\xb9\xf4\x71\x9e\x97\xad\x56\x2b"
      "\x55\xa9\x36\xe3\xab\xcf\x9e\x9c\xa8\x78\xe4\x6d\xeb\x92\xed\xb8\x90\xf5"
      "\x76\xca\xd8\xd3\x52\xb7\xbc\x54\x72\xce\xde\x6b\xeb\xe3\xb7\xaf\x72\xa5"
      "\xf8\x93\x27\x37\x9a\x14\xec\x58\xb2\xce\xe5\xe0\xdd\x2d\x96\xf6\x18\xba"
      "\x6e\xc7\xf9\xa0\x24\x73\xce\x2c\x6d\x5b\xb5\x6d\xdd\x51\x9f\xad\x7c\x3d"
      "\xa1\xe6\x93\x76\xa7\xde\x9f\xa8\x5b\x6c\x71\xe1\x09\x59\x9a\xff\x90\xe1"
      "\xf6\x95\x5f\x0e\x9e\x3b\x73\x67\xdb\xad\x6c\x87\x7a\xcd\xf8\x23\x7a\xdb"
      "\x86\xf3\x8e\xdf\xaa\x9e\xe4\x60\xda\x73\x9b\x6e\x17\xfa\x72\x7a\xd2\xfe"
      "\x1d\xef\xe5\xdc\x76\xf3\xd1\xbb\xf6\x87\x7f\x49\xf6\x2a\x51\xae\xa7\x6b"
      "\xa6\xa5\xcc\xf2\xf0\xe7\x0e\x49\xb3\xc6\x48\x9f\x38\x51\xc9\x82\x09\xdb"
      "\x7f\x96\x3c\x62\x83\x11\x8d\x53\x9d\x2b\x54\x27\xff\xa5\x67\xfb\xab\x2c"
      "\x6e\x3a\xf8\xf7\xad\x49\xe6\xbf\xec\xfc\xb8\xc0\xe5\x79\xed\xa3\xad\xce"
      "\xd1\xba\xfd\xb3\xb8\x19\x22\xcd\xea\xbd\xf5\xb3\xa1\x97\xbe\x7e\xb4\x67"
      "\xfa\xb9\x08\x4f\x82\x57\xfc\xd4\x61\x6a\xa3\xd3\x8f\x86\x87\x7e\x51\xbe"
      "\xe5\xa7\x09\x7b\x97\x19\x3d\x22\x63\xdd\xc7\xaf\x6e\x6d\x7b\x70\xa1\x44"
      "\xd0\x95\x15\xcb\x96\x2c\x9a\x71\x20\xe3\xb6\x79\x3d\xef\xc4\xed\x95\x3c"
      "\xd5\xb8\x71\x73\xb3\x06\x05\x77\xfb\xb9\x59\x9f\xf8\x7f\xbc\x2d\x7b\x36"
      "\x52\xc4\x78\x45\x9b\xe5\x8e\x30\x3c\xe1\xb8\x25\x9d\x73\xdd\xc8\x7b\x30"
      "\x4e\x86\x8b\x6d\xce\xde\x78\xf0\xfd\x9c\xf5\x61\x43\xf3\x9e\xda\x3d\xa2"
      "\xeb\x95\x77\x03\x8f\x9d\xc9\x18\x3d\xd9\xc5\x0e\x31\xc6\xbd\xea\xfd\x36"
      "\x64\x6c\x96\xc1\x7f\x5e\x59\x57\xbb\x50\xa3\x58\xf9\x1f\xe6\x29\x39\xfd"
      "\xf3\x2a\xf9\x37\x94\x69\x32\x6d\xe0\x80\x89\xcb\x8b\x57\xff\x10\xbf\xf4"
      "\xa1\x9c\x73\x46\xae\x09\x7f\x35\x6d\xaa\x76\xb3\xf2\xad\x98\xba\xeb\xeb"
      "\x13\x4b\x63\x86\x59\x5e\x3f\xfe\xe5\x92\xb3\xbf\x7e\x92\xf3\xf0\xc1\xc5"
      "\xcd\x0a\x94\x78\x53\x6f\x6c\x9a\x42\x11\xaa\x4f\x1b\x9a\xbe\x5f\x96\x14"
      "\x8f\x1b\x8e\x4e\xb3\x23\xe9\xaf\xdf\x1c\xfe\xa3\xe0\x6f\xf5\x0e\xad\xbb"
      "\xbe\x60\xf0\xf1\xa4\x3f\x17\x7e\x91\xf2\x62\x85\xdc\x33\x77\xa7\xae\x3a"
      "\x3b\xd1\xf0\x6b\xb9\x7f\xab\x1c\x63\x59\xe8\x2f\x83\xa2\x17\x2a\x3a\xa1"
      "\x7e\xc8\xc5\x93\x49\xc2\x35\x78\x91\x7c\x4c\xd3\x37\xb1\x06\xaf\xdc\x94"
      "\xfc\xd8\xaf\x8b\xa3\x5d\xad\x56\xaf\x75\xd8\x72\xc5\x66\x6d\xba\x51\xe6"
      "\x7d\x84\xf7\x45\xf3\x56\x2d\x98\xfb\xe1\xf1\xb0\x0d\x32\x2e\x6b\x91\x3b"
      "\x45\xc1\xea\x9d\xaa\xc5\x8d\x32\x79\xea\xc0\xd9\xbd\x9b\x24\x49\xb7\x6d"
      "\x5a\xc7\x45\xe3\xa7\x45\x7c\xd7\x73\x50\xda\xae\x57\x87\x16\xa9\x9f\xb9"
      "\xf1\x77\x93\x82\x9a\x66\xeb\x56\x3b\x59\xbb\x07\x4d\xbf\xdc\x35\x7a\x40"
      "\xb4\xd1\x7d\x97\x5e\xbd\x31\x72\xee\x8b\xe3\x55\xf2\x1f\xfa\xf4\xf5\x9f"
      "\x89\x77\xec\x2f\xf2\x7d\xd8\xd9\x4d\xae\x4f\x7a\x54\xab\xd9\xf9\xa0\x06"
      "\xf1\x22\xee\x8d\x73\x77\xf8\xe9\x0a\x1b\x16\xb4\xab\x54\xe2\x93\x25\xe1"
      "\x9a\x45\x0f\xec\x89\x3f\x71\xeb\x17\xd9\x16\x7e\x95\x25\xcd\x85\x9e\x05"
      "\xda\x27\xb8\xd0\x63\x67\xad\x31\x77\x27\xd7\xad\xd7\x60\xca\xd0\x8e\x33"
      "\xe6\xcc\x1e\xf6\xe1\x4e\xe9\xe6\x9f\x3c\xdc\x93\xf3\xee\xf1\x0f\xcd\x93"
      "\x7d\x1d\x9a\xf1\x42\xac\x2b\xdd\xc7\xf6\xea\xd7\x3d\x43\xd0\xec\xfd\xd1"
      "\xce\x3c\xbb\xf8\xaa\xef\xe6\x52\xc3\x46\x8d\x8f\x1b\xdc\x61\xd4\xac\xeb"
      "\x9d\xcf\x8e\x38\x7a\xeb\xf8\xcf\x4f\x3e\xc4\x8d\x99\x25\x43\xdd\xb3\xcd"
      "\x5a\x9c\xba\x30\x77\xd8\x81\x9a\x59\xc6\x95\xee\xfe\xc5\xb6\xdd\xa5\xb6"
      "\xc4\x6c\xf3\xe3\xb6\xce\x3f\x67\xad\xf0\xf6\xbb\x26\x2d\xaf\x77\x2c\x17"
      "\xe5\x43\x91\x7b\x59\xa3\xff\x31\x28\xfa\x84\x16\xf7\x1e\x2c\x7b\x14\xf2"
      "\x30\x73\x9a\xd1\x55\x56\xe7\xfd\x3d\x49\xfd\x3c\x33\xb7\xb4\x29\x5c\xfc"
      "\xf4\x82\x1b\xbb\x4f\x66\x9a\x13\xff\xe2\x98\x29\xe5\xf2\xdc\x1d\xb9\x35"
      "\x79\xb8\xac\x17\xb2\x7c\x33\x2b\xd5\xa0\x18\x15\x83\xd2\xb7\x59\x70\x77"
      "\xd4\xef\x19\x23\x0e\xac\xf5\xe5\xf8\x02\x2b\xa7\x76\x79\xb2\xb7\xd0\xc9"
      "\x2a\x5b\xf3\x8e\x8f\x59\x72\x6b\x89\x30\xf7\x1e\x76\x59\xdf\xe9\x55\xd6"
      "\x43\xd5\x77\x1f\x5e\xd0\xbc\x5a\xe0\x61\x99\xa1\xfd\x53\x37\x39\xd8\x6b"
      "\xd7\xc3\x22\x8f\x57\xe6\x9d\x39\xbc\xea\x96\xcf\xbb\xed\xba\x5f\xe7\x7d"
      "\x9d\xfc\xc1\x73\x9e\x8c\xdb\x5f\x78\xd8\xf2\x9f\x23\x6e\x39\xfb\xfe\xcb"
      "\xb6\x1d\x52\x15\xfa\xe5\xcc\xd1\xcc\x83\x92\x8e\xb9\xdd\xa9\xe1\xeb\xf7"
      "\x43\x7f\xbb\xb2\x7f\x42\xdc\x1c\x63\x2a\x7f\x93\xb8\xe6\xa9\x17\x7f\x44"
      "\xb9\xd3\x7f\x48\x8f\xf4\xa3\x7b\x34\xef\x96\xe9\xc8\x82\x17\x5f\xd7\x2e"
      "\x39\x76\x74\xa4\x12\x65\x5a\x66\x98\x9e\x2c\x5b\xbc\xdd\x3b\xe7\xbd\x0b"
      "\x0e\x8e\xd7\xff\xbb\x73\xdd\x33\x45\x5a\x1e\xff\x62\xbb\x82\x9b\x72\xa6"
      "\x3b\x76\xf9\xc4\xb1\x64\x99\xcb\xbf\xec\x55\xbd\xe8\x27\xcf\x9f\xef\x1d"
      "\x7d\xf6\xfc\x77\x1f\x72\x2e\x2d\x7b\xf5\xe4\x93\xe5\x1d\x43\xe6\x8e\x1b"
      "\x77\xb9\x76\x99\xe9\x83\xa3\xad\xec\x1e\x25\x77\xd7\x46\x47\x4e\x07\x55"
      "\x9d\x54\xb2\x6c\x8a\xa0\x6d\xf7\xe3\x87\x99\xbb\xad\xde\xea\xa1\xbb\x83"
      "\x77\x9c\xee\xf3\x7d\x8d\x18\x19\x23\xdc\x6f\xbd\x3d\xff\x9b\x77\x15\x2b"
      "\x2f\x6a\x52\x6d\x54\xad\x92\x09\xcb\x0d\xbb\x73\xb7\x6c\xb4\xb6\x8b\xa7"
      "\x34\xfd\x64\xd5\x93\xf3\x99\xc3\xc4\xad\xf4\x43\xec\xb3\xc5\xfb\x9e\xbf"
      "\x31\xb3\x74\xf3\x5c\x5f\x04\xf7\x3b\xf2\x20\x5e\xe4\xee\xdf\xad\x29\x96"
      "\x37\xd6\xdc\x7b\x9b\x13\x67\x6e\x9c\xf1\xf0\x8b\x86\x8b\x9a\x1d\xd9\xbc"
      "\xf5\x70\x8f\x5f\x0a\x3e\x29\xd2\xb9\xee\x93\xe6\x17\xcf\x55\x9c\x75\x73"
      "\xf7\xfb\x5d\x8b\x6a\xbf\x9e\x11\x61\xe3\xaa\x1a\x53\xba\x25\xab\xb3\x66"
      "\x73\xa5\xb1\x61\xbe\x3c\x9d\x22\xef\xbb\xd1\xf9\x67\x95\xdd\xfd\xbe\xf0"
      "\x85\xe1\x45\x0b\x1d\xaf\x1f\x76\x56\x8c\x7b\x2b\xc7\xe6\xea\x97\xad\x4c"
      "\xb6\x6c\x15\x7b\xc6\xbe\xf9\x7d\x82\x6d\x59\x37\x5d\x2a\xbf\xa0\xc3\x84"
      "\xf9\x7d\x92\xa4\x1b\xf0\xf9\xa8\x93\x95\x9e\xac\x19\x3b\x63\xc3\xe8\x07"
      "\xab\x6a\xc4\x28\xd2\x77\xcf\xf4\x0c\x2b\xa7\x24\x2e\xf2\xc3\x9a\x42\xf9"
      "\x4e\xec\x08\x5f\xe6\x4d\xed\x66\xf9\xc3\xc6\xb8\xb4\x78\xf3\xf5\x1c\xd7"
      "\x4a\xde\x1a\x13\xf2\x65\xf8\x15\x47\x5a\xd6\x2a\x74\x6d\x54\xb3\x7c\xa9"
      "\xda\x26\x39\xf7\x47\xb7\xa0\xcf\xe3\xde\x48\x5f\xfd\x55\x98\xe0\xa5\x13"
      "\x0b\x85\x9c\x7d\xf7\xe4\x70\x9a\xeb\x07\xbf\x79\x55\x73\x66\xe2\xfd\xa7"
      "\xb7\x5c\x1f\xbb\x2a\x43\x48\xbf\x0b\x45\x8a\x4d\x38\xfa\xd3\xf2\x2f\xdf"
      "\xed\xea\x73\xa3\xf9\xb8\x0d\x6f\x2f\x45\x28\x1b\xff\xeb\x16\x8b\x6a\xe6"
      "\xcd\x92\x2b\x4d\xb1\xef\xc2\x9d\xfb\xe5\x62\xaa\x9d\xc1\x43\xb7\x45\x1e"
      "\x3b\xb9\xe3\x9a\x52\xa3\x66\xd6\x2e\xdb\xf8\x62\xab\xde\xa5\xd6\xa7\x9b"
      "\x33\x3b\xef\xf6\x67\x25\x3b\xff\x9e\xe7\x44\xc7\x4f\xef\x76\x1a\x9e\x38"
      "\x6b\x8e\x54\x81\xa6\xe3\x7e\xda\xf0\xee\x48\xf2\xfd\xbd\x46\x5f\xb9\x15"
      "\xd4\xe6\xf6\xa4\x89\x43\x7f\xec\x91\xef\x52\x83\x26\x45\x67\x6e\xca\x5c"
      "\xe4\xab\x9c\xb7\x6b\xb5\x69\xf2\x36\xf2\xe4\xf7\xa5\x7a\xde\xa9\xb5\xe9"
      "\xce\xec\x5e\xbb\xc7\x96\x0d\x7f\x22\xfc\x92\x94\x4d\xf7\x25\xbc\xd7\xaa"
      "\x56\x82\xe5\x5f\x37\x8c\xbf\x21\xd1\xba\x7e\x1d\xce\xaf\x9a\x36\x38\xf0"
      "\xc7\xa0\xe0\x43\xc7\x32\x45\xb9\x5a\xf3\x97\x30\x4f\x22\x8f\x68\x39\x38"
      "\xc1\xd1\xc6\xa3\x13\x9c\x9c\xde\x75\x53\xfe\xc0\xed\xe6\x47\xae\x1d\x1c"
      "\xf0\xeb\xda\x3e\xbd\x0e\xa5\x1c\xdf\xbb\xf9\xef\xad\x33\x8d\x8e\x55\x34"
      "\x5a\xe5\x9c\x23\x26\x36\x2a\x14\x3b\x6c\xe7\xf9\xb3\xee\x94\x18\xdf\xa5"
      "\x43\xde\x3d\xcb\xff\x28\x1f\x3d\xf2\xce\x23\x87\x97\x45\x48\xdd\x6e\xe8"
      "\x9e\x90\x4b\x17\x63\xe5\xbd\x34\x66\xcf\xa7\x67\x2a\xb5\x2f\x19\x3a\x6d"
      "\x4d\x82\x61\xc9\x73\x95\xee\xb1\xf0\xc6\x8b\xce\x55\x0e\x0e\x2c\x5f\x38"
      "\xff\xe3\x3b\x2b\xfb\x45\x18\xf1\xdd\xb5\xe1\xad\xe2\x36\x29\x7a\x22\xf7"
      "\x90\xa9\x95\xf6\x4f\x8e\x16\x76\xef\x8a\x49\x23\x2b\x45\xbc\x94\xa2\xf2"
      "\xb3\xf6\xd5\xaf\x2f\x0b\xd3\xff\x71\xad\x54\xb3\xb7\x74\xbe\xf1\x6d\xcd"
      "\x5e\xe9\xca\x44\x9d\xde\x6b\x76\xec\x1f\xf6\xc4\x89\x75\xe0\xcc\xde\xc8"
      "\x21\x2f\xd7\xa7\xa9\x1d\x23\xe4\x8b\x7b\xa7\x76\x1f\xeb\xdc\x30\xc3\xae"
      "\x8e\xe7\x62\xdf\x69\x78\x73\xda\xab\x9a\xc3\x0b\x76\xb8\x17\x92\x71\x7b"
      "\xd1\xc0\x88\xd1\x61\x92\x16\x9d\xb0\xbe\x40\xdc\xc0\xc3\xe4\x97\xf6\xdf"
      "\x79\x57\x2f\x4d\x8e\xd9\x1b\x3f\xab\x5f\x60\xe3\x92\xad\x2f\xae\xa5\x2a"
      "\xfa\x49\xea\x8c\x3f\x34\xe8\x3e\x7b\xc2\x90\x23\x4d\xce\x9f\x1f\xd1\xf2"
      "\x40\x93\xb1\x97\xb7\xd5\x0e\x5f\xea\x6c\x70\xf6\xc7\x5d\xe2\x24\xc9\x7c"
      "\x23\xe7\xaa\x3a\xa5\x8a\xce\xac\x36\x21\xc5\x95\xdd\x9d\x33\x37\x4a\xb2"
      "\x6c\xc3\x8c\x48\xaf\x3b\xd5\x3a\x54\xa1\x70\xba\x3c\x9f\xe5\xdf\x5f\xae"
      "\xf6\x8b\x4a\x1d\x32\x86\x99\x19\x9c\xad\xc8\xd4\xe1\xf9\x22\x26\x7c\xd8"
      "\xbf\xe6\x8d\x2a\x53\xab\x24\x1d\x98\x72\xd7\xf6\xe1\x83\xfa\x5e\x8a\xd9"
      "\xed\xe0\xe0\x39\xdb\x8f\x3f\x98\xdc\xa6\xf5\xbc\xf8\xa7\xdb\x14\xca\x51"
      "\xe9\xcf\x8e\x63\x6b\xe7\x9f\x9c\xa1\xd9\x89\xaf\xda\x57\x1e\x34\xbe\x6a"
      "\xef\x3d\xa9\x83\x36\x3f\xbf\x3e\xbc\x7f\xc7\xba\xf9\x23\xbf\x9d\x30\xe7"
      "\xe5\xbe\xc4\x37\x3a\x3d\x48\x3f\x69\xc3\xdb\x30\x15\xce\x8d\xc8\xf6\x26"
      "\xe5\x8f\x85\xf7\xc7\x1a\xd8\xef\xed\xcb\x8e\xd5\x06\xe5\xdb\xfe\x60\x5d"
      "\x83\xe6\xf9\x83\x97\x2f\x5f\x1d\xfd\x79\xec\x93\xb7\x0b\xa5\x38\xbd\x7b"
      "\xde\x84\x9e\xf3\x72\xbd\x3e\xd3\x72\x6e\xd4\xe4\x83\xfb\x04\x96\xff\xb2"
      "\xf6\xb7\x92\xbf\xbe\x28\x56\x7a\xd9\xfc\x3c\x9d\x7f\x5d\xb4\x60\xc9\x1f"
      "\x09\xaf\xc4\x2a\x7e\x73\xda\xf1\x0e\x0b\x5f\x5c\x0b\xb3\xb4\x6c\xb4\x09"
      "\x67\xde\x16\x9b\x16\x2b\x7a\xbb\xa7\x85\x8f\x67\xfc\x2e\x47\x87\x32\x93"
      "\x2e\x8d\x8e\x3a\x6b\xcc\xd9\xae\x53\x4b\x4f\x6a\xbb\x2e\x43\xa6\x5b\x23"
      "\xa7\x47\xff\x69\xec\x88\xdc\x31\xf2\x4d\xdb\x92\xab\x56\x81\x40\x97\x85"
      "\x47\x86\xef\xab\x1b\xb6\xd7\xd4\xf1\x7d\x3b\xa5\xfb\xb5\x40\xda\x7c\x89"
      "\xb7\x56\x6c\x7c\xeb\xc3\x9f\x97\x8f\xed\x2a\x3e\xee\xd9\xb7\x5f\x45\x3d"
      "\x51\xef\xfe\xea\xe0\x65\x1d\x56\xad\xe8\xb2\xa5\xee\xdc\x37\xb3\xe3\x74"
      "\x8e\xf9\xd5\xb2\xc3\x11\x8b\x25\x79\xb9\x7f\xf0\xab\x61\xf7\xbb\x45\xbd"
      "\x51\xf9\x69\xf5\xa5\x8d\xfa\x8c\x4a\x7f\x63\xfa\xc5\xa8\x9f\x7d\xb3\x63"
      "\xdf\x80\x84\xe5\xae\x2d\x9e\x9a\x3a\x7a\xda\xe5\x3b\xeb\x0c\xdf\x7d\x2d"
      "\x67\x9e\xac\x85\x36\xae\xae\x95\xb0\xfe\xd2\xd7\x79\x22\x06\x9d\x6c\x74"
      "\x6a\x48\xc8\xad\x47\xdf\x86\x16\xca\x5b\xef\xa7\x85\x4b\xe3\x76\x4c\xb3"
      "\x6f\xc3\xf2\xed\x5f\x6f\x9b\xfd\xa6\xed\xdd\xb8\x41\xe7\x5b\x2d\x9b\x9c"
      "\x39\x7e\xda\x68\xd3\xc3\xbe\xfc\xb9\x6b\x50\xb7\xf5\xc3\x36\xe4\x6d\x54"
      "\xe4\x4c\xa2\xd0\xe9\x05\xaa\xb4\x98\x90\x28\x78\xc1\xa1\x7e\xe7\x9a\xec"
      "\x9f\xf2\x43\xc9\xc9\xcd\x97\x55\x0a\xfd\xa5\x4d\xe5\xd2\xef\x92\x5d\xef"
      "\x15\x73\xf8\xa0\xec\x31\x5e\xc4\xca\xd4\xbc\xf4\x95\xb3\x5f\x4c\xdf\x7c"
      "\x2e\xf2\xe3\x87\xe5\x4a\x0e\x4e\xfe\xeb\xdd\xfa\xc7\x13\xe7\xd9\xb8\x65"
      "\x6b\xaf\x88\xd1\x77\x9e\x5a\xb9\x36\xeb\xfc\xfd\x35\x43\x13\x5e\x6b\x91"
      "\xfc\xfe\x9d\xf6\xf3\x57\xc7\x9a\x50\x7d\xd6\xbc\x28\x95\x87\xbc\xcf\x52"
      "\xbb\xed\xae\xbc\x59\x93\xd5\x7c\xb4\x27\xa4\xf5\x89\xa8\x39\xa7\x8f\x1e"
      "\x54\x35\xd2\xc4\x35\x11\xae\x4e\x3b\xdd\x2c\xe6\xa2\x87\x2f\x8e\xc5\x4c"
      "\x18\xbb\x43\xd1\x41\x8b\x6e\x9e\x1f\x9d\xae\x60\xc8\xa4\x49\x21\x17\x16"
      "\x3d\xca\x54\x63\x6c\xb7\x01\x33\xb3\x04\x1e\xef\x6a\x93\x64\xe6\x98\xdb"
      "\xef\x1e\x37\x4e\xd9\x65\x61\xa9\xf9\x2d\x5b\xff\x98\xba\x6b\x8b\x57\x9f"
      "\x44\x8e\x35\xfa\x51\xff\x8e\x17\x2f\x37\x2e\x1b\x3e\xf6\xdc\x0d\xa5\x4e"
      "\x8c\xcf\x74\xf7\x74\xd3\x5a\x7d\x17\xde\x59\xdf\xe3\xbb\x23\xb5\xef\x0f"
      "\x3f\x37\x70\xd2\xfd\x86\x19\x93\xb7\xbd\xbf\xe5\x5a\x99\x78\xdb\x76\x15"
      "\x4c\x92\xe2\xf8\xd8\xda\x67\x76\x44\x2a\x71\xb1\xf3\xb2\x0a\x49\xa6\x64"
      "\xd8\x3d\x39\x7f\xbf\x31\x0d\x93\x8f\xeb\x56\x30\xb4\x51\xf9\x53\xd7\x7b"
      "\x24\x19\x93\xe3\x7e\xd4\x77\x4d\xa3\xc5\x78\xf2\xae\xce\xa2\x3a\xc3\x56"
      "\x5f\x9d\xf5\xac\x71\xa7\xee\x43\xfa\xf6\x5e\x57\x70\xcd\xd5\x12\xa9\xef"
      "\x9f\x3d\x5f\x33\xc5\xfe\x6e\xa1\x2d\x56\x84\x19\x3a\x38\xf1\xd2\xf8\xef"
      "\x2f\x96\x6e\x3b\xf7\x58\xda\x12\x39\xb6\x85\x14\x4b\xb0\xb6\x41\xf6\xea"
      "\x8d\x73\x0d\x8d\x39\xb6\xcb\xb7\xdb\xfa\xe5\xea\x9e\x69\xd0\xf6\x5b\x67"
      "\xe6\x2c\xbd\xb4\xe3\xfb\xc0\xdc\x81\x6d\x57\x25\x9d\xdd\xe2\xde\xcb\x91"
      "\xcf\x66\x4e\x5d\x37\x26\x5e\xee\xcc\x6f\x12\xdf\xfd\xf6\xc3\xbe\x99\xe1"
      "\x8f\xfe\x78\xe2\xca\xf3\x3d\xa7\xdf\x87\xad\x95\x22\x78\x40\xf5\xeb\xc1"
      "\x7d\xb7\x4c\x3a\xf4\xe8\xde\xf0\x32\x47\x7e\x8c\x5c\x78\x69\xfa\x52\xe5"
      "\xca\x7f\xfd\x21\xce\xec\x22\x27\x9e\x3c\x6d\xf2\x68\x41\xcc\xfc\xcd\xf3"
      "\x8c\x49\x53\x2e\xc2\xca\xf7\x95\x8a\x24\x2c\x91\xa2\xe5\x27\x77\x22\xbe"
      "\x38\x38\x71\xd4\x99\xa3\x97\xd6\xc7\xfc\x10\x66\x67\x50\xfb\x90\xca\x75"
      "\xc3\x2d\xf8\xb5\x79\xf1\xd8\xc9\x8e\x7d\x75\xe7\x64\xce\xd1\xdd\x9f\x47"
      "\x6b\xb7\x23\x6a\x93\xa8\x57\x0b\xdc\x6c\x30\xe5\x62\xff\x25\xe1\x36\x27"
      "\xf8\xa2\xc1\xcc\xac\x29\xcb\xbf\xba\x97\x62\x63\xa5\x01\x2b\x76\x17\x4c"
      "\x7c\x77\x5a\x98\x92\x61\x1b\xcc\x6d\x57\xbe\xce\xf0\x56\x35\x66\xdd\x5b"
      "\xb6\x27\xfb\x57\x13\x2b\x8f\x2a\x75\x6b\x68\xe1\x36\x4d\x37\x15\xbf\x9b"
      "\xaf\xd0\xa0\x7c\xa7\xef\xe6\x3b\x9f\xe4\x56\xd4\x08\xa9\x06\xe6\xfa\x74"
      "\xeb\x8e\x6f\x13\x2d\xdc\x17\xee\xc9\x95\xcc\x35\x86\x54\x1a\xd9\x37\xc3"
      "\xa9\xa2\xb7\xd6\x67\x4c\x70\xa9\x60\xb5\xc3\x93\xef\x15\x2b\xfd\xaa\xe9"
      "\xea\xab\x17\x2b\x3c\xb8\xf2\x6b\xf7\x24\x5b\xae\xfc\x72\x73\xf8\xc0\x05"
      "\xdf\x3e\x4e\x99\x39\x64\x62\xac\x49\x99\xce\x1e\xeb\xb2\xa7\x6f\x94\x7c"
      "\x83\x3e\xcd\x1d\x2b\xe4\x49\x94\x90\xf7\x1d\x72\x65\x6b\xdd\xf3\xcf\x56"
      "\xbf\x2e\x39\x7c\xa6\xc8\xe2\x87\x1f\x5a\xa4\xaf\xf2\x6e\x4d\x91\xa6\x6b"
      "\x3e\xeb\xbd\x6e\xdc\x8c\xad\x11\x73\x5c\xe9\x39\xb9\xe2\xba\x76\x53\x5e"
      "\x24\x88\x57\xfc\xf6\x91\xd8\xcb\xa6\x96\x5f\x9c\xe9\xf0\x8b\xc1\x55\x46"
      "\x2e\x0c\xae\xf3\xa8\xe3\xc3\xb2\x23\x32\xf6\xef\xdf\x69\x58\xcf\xa3\xd3"
      "\x87\x1c\xdd\x96\x68\xd0\xe5\x22\x63\x5e\xb4\x5e\x31\x35\x5f\xf2\x3d\x79"
      "\x7a\xee\x5c\xf4\x6d\xf9\x54\xfd\xd2\x5c\x39\x10\x26\xed\xd3\x70\x5b\xc3"
      "\x16\x08\x7d\x74\x77\xe6\xf5\x7c\xdd\xee\xbc\xaa\x19\xe7\xc4\xb1\xba\xad"
      "\xba\x34\x3b\x31\xb2\xe6\xa3\x63\xb7\x2e\xfe\x36\xa8\x4d\x9a\x2e\x3d\xae"
      "\xde\x0a\x8a\x14\x79\xde\x91\x3e\x07\x1b\x0c\x2b\x58\x6c\x7c\xf1\x92\xf5"
      "\xb7\x77\x69\xb9\x3f\xe9\xc9\xc9\x05\x8a\xfd\x74\x7c\x55\xc1\x63\xb1\x6f"
      "\x3c\xaf\x3f\xb4\x44\xb7\x03\x83\x2e\x6d\x9c\x99\xa0\xed\x80\x27\x4f\xcf"
      "\x8d\x48\x79\xaa\x79\xaa\x02\x35\x8b\x77\xbd\x50\x60\x7f\xa3\xc9\x3f\x76"
      "\x8e\x79\xfc\x5c\xb6\x2c\x17\xa6\xac\x98\x98\x26\x68\x4d\x9e\x53\xc1\x79"
      "\x8a\xdf\x7a\xd1\xa6\x55\x94\xa0\x9d\xff\xf2\x7a\x01\xfc\x6f\xec\x71\x83"
      "\x6f\x4b\xbd\xbc\x7d\x22\x24\xf2\xbc\xa3\x8f\x22\xdc\x9e\x10\xf3\xe3\xfe"
      "\x1f\xe1\xaf\x7a\x50\x20\x46\x20\x62\x50\xce\xc0\x98\x7c\xe9\x33\x47\x28"
      "\xb7\xe7\xcb\xc7\xb1\x8f\x9f\xba\x1c\x2b\xc9\xa2\xcb\xf9\x26\xb4\xf9\x75"
      "\x58\x8c\xb5\x51\xd6\xbc\xd8\xdd\x26\xc9\xd5\x13\x7b\x6e\x47\xa8\xb9\x7d"
      "\xeb\x9f\x7d\xca\x0d\xc8\xbd\xa9\xf7\xfa\x16\x77\xe2\xfc\x70\xb7\xd1\xbe"
      "\x16\x19\xb6\x15\xaa\xfc\x5d\xb2\x68\x65\xbe\x49\xb7\x62\xe4\xab\x24\x89"
      "\xe6\x5e\xc8\x9f\xfc\xc4\x67\x59\xae\x17\xbf\x5c\xa2\x6c\xdd\x3a\x6d\xb3"
      "\x57\x5e\x7e\x6c\xc8\xa8\xe0\xca\x6d\x6e\xce\x68\x5f\xa4\xda\xed\xcc\x9f"
      "\xde\xbe\x1e\x08\x94\x6b\xd6\xaf\xec\xa1\xb4\x97\xc7\xad\x88\x97\x6a\xf2"
      "\xb0\x38\xdd\x0b\xdc\x2f\xb8\x33\xf8\x4e\xad\x41\xd9\xe3\xb5\x5a\xfd\xcd"
      "\xa8\xb3\xd5\xe3\x6c\x4f\xb2\x25\x4d\xe9\x75\xa1\x9b\x23\x34\xac\xb8\x78"
      "\xe5\x81\x43\x83\xa3\x84\xa9\x3d\x29\xf3\x17\x0d\x83\xbf\x19\x77\x38\x57"
      "\xf1\xbd\x45\x8a\xfd\x3a\xf8\x93\x94\xcd\x8a\x7f\x7e\x71\xd8\xa9\x97\x4d"
      "\xbe\x6a\xb3\xe5\x54\xa0\x55\xd9\xb8\x5f\xd4\x5f\x54\xf4\x59\xec\x48\x75"
      "\xb7\x27\x8e\xbf\xbd\x6e\x94\xb1\xdd\x46\x4f\x3e\x57\xa7\x49\xcf\xa3\x91"
      "\x33\xc6\x4e\x16\x2d\x7b\x9f\xb5\x71\xd2\xb6\x2d\xff\x70\xc4\xb3\xa4\x89"
      "\x76\xb4\x1f\xfc\x64\x66\x87\x85\x0b\xd7\xe4\x79\x51\x33\x53\xdf\x27\xef"
      "\x87\x36\x1d\xf7\x7a\x7f\xc7\x61\xc9\xbe\x9e\xd0\xba\xd9\xb4\xd5\xc3\xba"
      "\x5c\x7a\xde\x2f\x4e\xa2\x63\x5b\x33\x4d\xfc\xba\xef\xd3\xcf\x1b\x07\x37"
      "\xee\x92\x20\x78\xfb\xbb\xdd\xa3\x0f\x15\xcd\x75\x6f\x60\xab\x9b\x33\x26"
      "\xb4\xf8\xb3\xea\xdc\xf2\x2d\x4b\x9e\x6a\x9c\x3f\x66\xc7\x82\x09\x3b\x97"
      "\xbc\x7d\xf3\xcd\x8c\x0b\x9d\xa6\xfc\x34\xab\x7f\x8b\x7d\x39\x06\x15\x4d"
      "\xbb\xf0\x6a\xd2\x0e\x43\xba\x8e\xaf\xb5\x7b\x5f\xd4\xd3\x33\x96\xdd\x7b"
      "\xb3\x65\x7f\xff\x6b\xdb\x42\xcb\xb4\x2b\x36\xfd\x78\x83\x2b\xad\x12\x97"
      "\x7d\xf9\x2a\x6c\xa4\x0a\xcf\x52\x5c\x5d\x5d\x39\x67\xfa\x2a\x4f\x5b\x15"
      "\x5b\x93\xf6\x5a\xe7\xbd\x9d\xc2\xed\x0e\xad\x95\x62\x59\xd4\x43\x97\x16"
      "\x37\x7f\x79\x62\xc5\xce\x34\x7b\x76\x9d\x7e\xda\xe1\x5f\xbe\x6d\x00\x00"
      "\x00\xf8\x7f\x99\xa3\x07\xf6\x5e\x1c\xbc\xf6\xa7\xc6\x9d\x6b\xb6\x6c\xb8"
      "\xf7\x65\xeb\x7d\x1f\xf7\xff\x88\x7f\xd5\x83\x02\x09\x02\x11\x83\xa2\x04"
      "\x42\x26\x5e\x2e\x90\xb5\xea\xfe\xdd\xa9\x63\x26\xcf\x55\xe3\x6a\x9c\x9d"
      "\x63\x26\xb6\xbb\x74\xf6\x71\xe1\xb8\xb3\x8e\xee\x18\x30\xac\x5b\xc9\xde"
      "\x4f\x9a\x6f\xec\x1a\x21\xdb\xc6\x1a\x91\x43\xef\xbe\x58\xdb\xf8\x40\xe6"
      "\x58\xa7\x07\x0c\x3c\x7d\x2b\xef\x87\x05\xf3\x13\xce\xae\x3a\x39\x4f\x89"
      "\x01\x45\x4b\x74\x1a\x7c\xbf\xc4\x8e\x66\xc5\x87\x46\x0a\x5b\xf8\xe1\xf7"
      "\xff\xf2\xb1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x7f\x41\xc8\xf9\xf3\xd5\x97\x34"
      "\xfd\xf3\x87\x9e\xad\x0b\x97\xfc\x73\xfd\xb5\xc1\xd5\x5b\x9e\x7e\xbb\xf6"
      "\x7c\xb5\x33\x55\x5e\x04\x0f\x6e\xf8\x30\x63\x91\xbb\xa5\xcb\x14\x4b\x56"
      "\xa3\x79\xef\x22\xf9\x66\x3d\x9f\xf5\xf6\xbb\xe6\xb1\xd7\x6e\xa8\x73\xb8"
      "\x4c\x8d\x6f\xcb\xa4\xaf\xf1\xdb\x96\x5c\x7d\xa6\xc4\x3d\xd6\x2e\xfb\xd8"
      "\x3b\x53\xa2\xaf\x1c\xf2\xf9\x98\x49\x77\x1a\x0d\xba\xf3\x2e\x72\xea\x06"
      "\xc1\xd5\x72\x4f\x7d\x7f\x2e\xcc\xa4\xfa\xc3\x1a\xb7\x5f\x90\xa3\xf4\x9f"
      "\xf7\x7e\x2d\x3d\x27\xf2\xf1\x5f\x56\x47\xc9\xdd\x6a\xc2\xa0\x65\x7b\x77"
      "\x85\x5d\x55\x64\xe3\x17\x79\xbe\xee\x31\xff\x7a\xcb\x93\x5d\xba\x2f\x59"
      "\x94\x75\xe9\xa6\xcd\xad\x43\x9b\xed\x6b\x57\xbc\xef\xc7\xbe\x82\x02\x81"
      "\x40\xc4\xa0\x7f\x77\x36\x00\x00\x00\xf0\x9f\xa2\xc0\xd2\x30\xa5\x1a\xe6"
      "\x2d\xb9\xb2\xc6\xbe\xd4\xbd\x92\x24\x5d\xb5\xee\xe3\x1e\x1e\xfe\xaf\x7a"
      "\x50\x20\x52\x20\x62\x50\xae\xc0\x9a\x06\x11\xc7\xde\x7b\xfb\x2a\x4d\xb4"
      "\x3f\x92\xfc\x1a\xbd\x7c\xec\xb3\xb3\x8b\x64\x5a\x58\x7c\x7e\xbb\x89\x99"
      "\xda\x96\x6d\xfb\xa2\xf3\x9d\xfe\xa7\x2a\x26\xca\x90\x39\xd2\x99\xd9\x09"
      "\x9a\xcc\x58\x39\x6f\x6d\xe5\xe8\x6d\x53\xa4\x2f\x7c\xb1\xd3\xfa\x29\x4f"
      "\x7e\x38\x54\x65\x41\xbb\xf5\x25\x0e\xee\xfa\xbc\x52\xd4\xa8\x65\x53\x5e"
      "\x19\xdc\xf6\xdb\xc2\xb3\x3f\x6f\x5e\xe1\xc1\xa1\xa1\xd5\xca\xa6\xfa\xb9"
      "\x60\xda\xa4\xd1\x8b\xef\x1b\xd9\xb8\xcd\xfd\x46\x69\x0f\x3e\xa8\x14\xbd"
      "\xf6\x81\x73\xaf\x7f\xca\x33\x2b\xf3\xa3\xba\xcf\x8e\xc4\x7e\x9b\xe5\xcf"
      "\x1b\x4f\x3e\x89\xf9\x2c\x7c\x99\x18\xb7\xa2\xcc\x8a\x18\x66\x4e\xb7\x94"
      "\x35\x03\x5f\xf6\xae\xdc\x3f\x73\xbe\xd4\x7f\x14\x1d\xf5\xe6\xe1\xfd\x6f"
      "\x4a\x14\x8e\xd5\xa5\x6e\xe6\x6c\xf9\x5a\xb7\x49\xff\xf9\xbc\xec\xfd\x46"
      "\xf4\x9f\x9b\x31\x47\x9a\x45\x29\xe7\x35\xfc\x3c\x74\xf7\xda\x0e\xa3\x2a"
      "\x97\xfd\x24\xcc\xa2\x54\x39\x0f\x56\xd9\xde\x79\x6a\x96\x78\xf9\x93\xe6"
      "\xce\xd2\xb6\xc5\xde\x71\x03\x76\x16\xbb\x12\xf3\x64\xfa\x44\xe7\xa6\xb4"
      "\x0a\xcd\x12\xfb\xe9\xa4\x2e\x9b\x5a\x64\x6c\x57\x6d\xea\xda\x67\x11\xb7"
      "\xbe\xbe\xf8\x6a\xe8\xc3\xca\xe5\xb3\x65\x7a\x5d\xee\xe7\x54\xf3\x36\x24"
      "\x8f\x72\xab\xf8\x9d\x19\xa5\xae\x46\xfc\xac\xef\x9e\xd5\xeb\xc2\x44\x5e"
      "\x39\xa4\xd4\xed\xf2\xd5\xbe\xac\xd4\x62\xfd\xda\xee\x05\x27\xec\x8b\x52"
      "\xbf\xe1\xc2\x94\x8b\x7a\xec\x2b\xda\x32\x76\xc9\xef\x3a\xb5\x0a\x19\xbc"
      "\x28\xda\xc1\x89\x1b\x56\x5f\x5f\xf3\x6c\xdb\xca\x89\x5d\x3a\x06\x1f\xd8"
      "\x39\xfd\xce\x37\xdf\x67\xbd\x37\xea\x44\xa4\x5a\x27\x07\x3c\xcf\xd3\x62"
      "\xef\x95\x63\x43\x3a\x2f\x0a\x69\x7b\xac\xc8\xf7\x07\x92\xae\x4e\x79\x70"
      "\xc5\xaa\xc0\xe8\x9e\x17\xcf\xb5\x3a\x9f\xb4\x65\xea\xa4\xbb\xbf\xf9\x7d"
      "\x4a\xf2\xbb\xdd\x17\xd7\xde\xf5\x2c\x7b\xf1\x1f\xaa\x55\x4e\xfd\x34\x42"
      "\xd2\xf6\xb5\x77\xb4\x3a\x31\xb5\x5f\xbb\xf5\x7d\xd6\x6d\xb9\xb9\xaf\x7d"
      "\xd9\x6b\x73\x2a\x46\x1a\xf0\xc5\xd6\xab\xc9\xc6\x86\xef\x52\x25\x4d\xf4"
      "\xac\xff\xf2\xed\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\xc0\xff\xc7\x0c\x29\x54\xf3\x66\xa4\xa0\x19\x7b\x37\xcd\xe9\x1c\xa7\xca"
      "\xc1\xe7\x1b\xaa\xb7\x3c\xfd\x76\xed\xf9\x6a\x67\x0a\x86\x1b\xb4\xf1\xf5"
      "\xf7\xad\x2a\x5d\x3e\x5b\xf8\x4d\xba\x46\xef\x06\xd5\x7f\xbf\xa7\xda\x94"
      "\x14\x87\x12\x66\xee\xd0\xed\x46\xeb\x64\x97\x4a\x27\x5d\xf2\x2e\x57\xf7"
      "\x0d\x0d\xaf\xbc\x3a\x32\x28\x4c\xea\x07\x5b\x8f\xbd\x7c\x99\x31\x6b\xf0"
      "\x90\xc1\x1d\xd2\x9c\x3b\xd5\xa0\xc5\xbd\x9d\x15\x5f\x4c\x3e\xb5\x67\x75"
      "\xf4\x13\x57\xe6\xcd\x68\x53\xe2\xc4\xc6\x5b\x3d\xee\x7c\x1d\xe3\xab\xb3"
      "\xbb\x06\x0f\x2c\x7a\x68\xf7\xa4\xbb\xe5\x23\x96\x9f\x7e\x2e\x7e\x8b\xe6"
      "\xf1\x22\x84\x94\x7b\xbb\xf2\xe1\xf6\x61\xbd\xb3\x7e\x16\xba\x6b\xfd\xcf"
      "\x03\xe3\xcf\xfc\xd8\x57\x50\x20\x10\x88\x18\xf4\xef\xce\x06\x00\x00\x00"
      "\xfe\x53\x84\x1c\xca\x96\x27\xc2\xbb\xd9\xf9\x2b\x17\x2c\x79\x60\xcb\xbe"
      "\x03\x9b\x3e\xee\xe1\xe1\xff\xaa\x07\x05\x22\x05\x22\x06\x85\x0b\x44\xbc"
      "\x1e\x3d\x30\x33\x28\xff\xb5\x7a\xb3\x1b\x5f\xab\xf6\x3c\x6f\x8b\x07\x05"
      "\xd7\x66\xf8\xf6\xe4\xab\x28\xff\x72\xfb\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\xc0\xff\x42\x93\xf6\x96\xfa\xfc\x44\xa9\x99\xc5"
      "\x7a\xdf\xef\xd4\x6d\xf1\x94\xfd\x8f\xab\xb7\x3c\xfd\x76\xed\xf9\x6a\x67"
      "\x6a\xce\x6d\x5a\x31\x75\xea\x9a\xb9\xa7\x9f\x6f\xd5\x62\x6d\xb4\xeb\x53"
      "\x76\x8d\xf9\x6d\xf8\x27\x33\x47\xee\x3a\xf1\x5b\xd9\x18\x81\xdc\x67\x07"
      "\x17\xf9\xb0\xb1\xe2\xef\xcf\x67\xec\x2a\x7f\x7d\x7f\xbe\x33\x65\xe2\x66"
      "\x9f\x39\x36\x5c\xac\xb9\x6f\x16\x8d\x3b\xd0\x78\xec\xfa\x64\x0f\xdf\x8c"
      "\xbe\x73\xe7\xcf\x9d\xbf\x9f\xdb\xd0\xe4\x97\xfc\xab\xd2\x1c\x0e\xcd\x54"
      "\x28\xec\xec\x96\x35\xe6\x44\xea\xd9\x74\x40\xdd\x5b\x25\x73\xcf\xef\x1c"
      "\xe1\x7a\xa5\x05\x9f\x86\xa9\x91\xb1\xca\xe6\xf9\x37\x76\xfe\x31\x69\x47"
      "\xca\x54\x59\x96\x85\xee\x09\xed\x58\xe6\x63\x5f\x41\x81\x40\x20\xc1\xbf"
      "\x3b\x1a\x00\x00\x00\xf8\x8f\x31\x39\x46\xd6\xed\x2b\x1f\x0c\x4b\xf3\xea"
      "\x87\xe5\x45\x4b\xe4\x28\x76\xee\xe3\x1e\x1e\xf6\xaf\x7a\x50\x20\x52\x20"
      "\x41\x20\x55\xa0\x7d\xdb\x61\xcf\xb6\x7f\xd3\xf6\x68\x68\x85\xfe\xf5\x56"
      "\x8c\x6c\x16\xed\x69\xf8\xf0\x27\x32\x94\xca\x34\x27\xcf\x8d\x17\xb5\xda"
      "\xa5\x4c\x13\x75\x7c\xbf\xa2\xeb\x5f\xe7\x8a\xb9\x67\x4f\xc6\xe9\x0d\xe3"
      "\x6f\x5b\xb0\x7b\xfd\x89\x9a\x0f\x97\x34\xfd\x23\xc5\xfc\xe6\x4d\x87\x17"
      "\xb8\x75\x2f\x4f\x97\x68\x03\x2b\x77\x5c\x35\xe5\x75\xab\x97\x55\xe7\xdf"
      "\x9c\x55\xbd\xc6\xe4\x4f\x33\xcf\x18\x1b\xfe\xd3\xef\xb7\x7e\x7b\xb7\x64"
      "\xa5\xcc\xe7\xd3\x8f\x7f\x39\xf5\x9b\xb8\x9f\xf5\xfd\x34\xc2\x93\xc2\xb3"
      "\x5b\x85\x3d\x7a\x7c\x48\x86\xc2\xf7\x9f\xf4\x5f\xf7\x43\x95\xb2\x09\x67"
      "\x9f\xdf\x38\xfe\xf8\xc1\x37\x13\x43\x72\xc6\xee\x9b\x2b\x76\xbd\xb0\x89"
      "\xb3\xfc\xb4\xb3\x5a\xfd\x52\x4d\xb2\xdc\x1a\x52\x6c\xe1\xee\x5a\x5b\x6b"
      "\x95\xa9\xf0\x7d\xd0\x9c\xd3\x2d\xef\xf7\x39\x1b\x31\xde\x57\xeb\x26\x97"
      "\x8d\xbb\x75\x7c\xe5\x84\xe5\x6a\x7c\x39\x3a\xfc\xab\xe2\xdb\xb3\x17\x18"
      "\xd5\x73\xea\xe6\x2a\x5d\x77\xa6\x4d\x33\xa9\x75\xc1\x7e\x85\xbe\x0d\xdf"
      "\x21\xe6\xb0\x9c\xa9\x23\xb7\x5b\x97\x2d\x77\xe2\x77\x5f\x25\x1c\xb8\xa0"
      "\xd5\x98\xc8\xdd\x2b\x7d\x97\x38\x7a\x9b\x91\xdd\x4f\x0c\xc8\x5c\xb3\x6f"
      "\xe9\xc7\x05\xa6\xbc\xef\x1c\xe3\x69\x82\xe7\xdd\xdf\x37\x38\x77\x37\x55"
      "\x9a\x62\x3d\x47\xe4\xad\x9c\xad\xfd\xd0\x33\xa7\x37\xdf\xe9\x5f\xec\x43"
      "\xe1\x53\x11\x22\xbd\xa8\xdd\x7b\xd4\xe7\xbd\x82\x4f\xde\xfc\x97\x5f\x3e"
      "\x00\x00\x00\xf8\x3f\xe5\xdb\xd8\x83\x93\x8c\x0b\xbf\x36\xed\xd0\x37\xd3"
      "\x0e\xd5\x4e\xd8\x32\xdb\xc7\xfd\x3f\xc2\x5f\xf5\xa0\x40\x8c\x40\xc4\xa0"
      "\x04\x81\x28\xaf\xef\x1d\xaa\xd6\x31\x51\xb8\x8b\x99\xb7\xe7\x3b\xf7\xfb"
      "\xe0\xac\x6d\xaa\x1e\xec\x75\xbb\xee\xf4\x5a\x1f\x52\x4f\x4c\x76\xf9\x7a"
      "\xa9\x56\x2d\x8f\x3e\xc8\xbe\xab\xd9\x8f\xaf\x52\x66\xc9\xd7\x76\x50\x87"
      "\x02\xcd\xe6\x36\x29\x75\xb4\x74\xe9\x1d\x7b\x27\x57\xe8\x59\x78\x60\xc5"
      "\x75\xaf\x6b\x8c\x38\x3e\x74\xf4\xad\xd2\x4d\x4f\xec\x8f\x95\xa4\x74\xbd"
      "\xbb\x11\xb3\xe7\xae\x96\x32\xb4\x64\xf1\xb8\x73\x5e\x54\x5b\x55\xb1\xca"
      "\x8e\x32\x49\xbb\x8f\x4d\x71\xe0\xf3\x98\xcb\xc3\x57\x1f\xb6\x6b\x64\xe9"
      "\xda\x4d\x5a\xbf\x88\x5d\xb8\x7f\xb8\xba\x5d\xef\xdc\x2c\x36\x3a\x57\xb1"
      "\xf2\x1b\x67\xec\xcc\x33\x32\x7a\xdf\x24\xd9\xbb\xa7\x0e\x79\xfd\xe1\xe0"
      "\xcb\x0c\x6f\x47\xa6\xbb\x3a\x6b\xf6\xa9\x8b\xbd\x46\xd6\xce\x32\xae\xc8"
      "\xdb\x11\xf1\x4e\x47\xcf\x9f\x73\x5a\x87\xa7\xcb\xda\x1d\xdb\x1f\xb9\x58"
      "\xe2\x1b\x3b\xc2\xb6\xcc\xb3\xfb\xfd\xfb\xfa\x9f\x26\x4f\x7c\x77\x6c\x99"
      "\x2b\xaf\xff\xe5\x31\x03\x00\x00\xc0\xbf\xaa\xd6\xa1\xf5\x91\x93\xb4\xec"
      "\x1b\x36\x57\x85\xf6\x8b\x17\x27\xfd\xed\x8b\x8f\xfb\x7f\xc4\xbf\xea\x41"
      "\x81\x04\x81\x88\x41\x91\x02\x0b\x16\x24\x2e\x93\xaf\xca\x85\x44\xb9\x87"
      "\xc7\xfe\x39\xdb\xc2\x90\x4d\x4f\xc7\x5c\xac\x70\x2f\x5e\xf5\x7a\x4b\x0b"
      "\xc4\xce\xf9\x7b\xfc\x7b\xb7\x86\x74\x8f\x33\x29\xdf\x88\x04\x69\x42\xd7"
      "\x6c\x7b\x97\x21\xd6\xdb\x5d\xa1\x2d\x13\xf6\x89\x99\xfa\xf3\xfd\x03\xce"
      "\xfd\x58\x7b\xfa\xb0\x6f\x3e\xfb\x97\x8f\x09\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\xfc\x6f\xa4\xd6\xa4\xa7\x3d\xc7\x66\xe8\x57\x75\xdf\x6f\x61\x93\x3d\xcc"
      "\xdb\x6f\x47\xf5\x96\xa7\xdf\xae\x3d\x5f\xed\xcc\xfc\xfe\xeb\xa7\xaf\x98"
      "\x36\x35\xc6\xe8\xec\xd7\x97\x75\xe9\x96\x6f\x59\xa1\x12\x5d\xb7\xd5\x8a"
      "\x31\xea\x46\xaf\xf5\x2b\xfa\x0f\x6f\x13\x33\x5a\xd6\x24\xf7\x8f\x5d\x6e"
      "\x36\xff\x93\x91\x91\xce\x76\x5f\x53\xfb\xf9\xdd\x49\x57\x5f\x97\x7f\xdf"
      "\xe9\xd4\xf8\x01\x71\xff\x38\x53\xe2\xe7\x3e\x09\xdf\xfc\xf0\xf2\xb7\x7d"
      "\x39\xbb\xdf\x8c\x52\x75\xc1\xa5\x58\x7b\xa6\x9f\xad\xf6\x55\xa5\x47\x3d"
      "\x3b\x57\x9b\xb9\xe7\x45\xbe\xc3\x43\xf3\xc7\x9d\x97\xa5\x6d\xb3\xd7\xd5"
      "\x5e\xd7\x79\x76\xe5\x5a\xd7\xc9\xaf\xda\x24\x8f\x15\x69\x5f\xfb\x61\xdd"
      "\xef\x6d\x4f\xf7\xb1\xaf\xa0\x40\x20\x10\x31\xe8\xdf\x9d\x0d\x00\x00\x00"
      "\xfc\xa7\xe8\xf5\x5b\xdc\x6b\x0d\x03\x57\xc6\x2c\x7b\xf7\xfc\xcd\xbe\xd2"
      "\xed\x32\x7f\xdc\xc3\x3f\xae\xde\x41\x81\x48\x81\x88\x41\x51\x02\x31\xbe"
      "\xff\x6c\xc2\xf4\xf1\x87\xbe\xce\x53\xbe\x5e\xd9\x32\x85\x47\x1c\xbe\xb9"
      "\x27\x67\xa7\x90\x86\xf7\x9e\xcf\x4e\x34\xf7\x66\xf3\xf2\xb5\x4a\x66\xbd"
      "\xf4\x6e\xf8\xc8\xd4\x5d\xfa\xdc\xde\x70\x7d\x44\x91\x33\x69\x6f\xed\xab"
      "\x7c\xba\x49\xc8\xe4\x9d\xb7\x13\x2d\x2b\x5d\x37\xd6\xab\x1d\x4b\xca\x57"
      "\x19\x17\x68\x3f\x69\x6f\xf7\x72\x47\x13\x75\x89\x91\xaf\x5d\xc8\xbf\x7c"
      "\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x1f\xa8"
      "\xb9\xab\xf7\xf0\x68\x31\xcb\x8d\x5b\x3b\xf4\xfa\x6f\x39\x07\x9f\x99\x5b"
      "\xbd\xe5\xe9\xb7\x6b\xcf\x57\x3b\x53\x23\x77\x96\x8c\xad\x6f\xf7\x5a\x38"
      "\xb9\xd0\xb9\x1b\x2b\xaf\x4c\xaf\xd6\xfc\xe9\xcc\xfa\x87\xfb\x8e\x5d\xff"
      "\x67\xe8\xe4\xf2\xe7\x6f\x56\xed\x7a\x76\x56\xc9\xa7\x03\x62\xd4\xd8\x9a"
      "\xfa\x6e\xf3\x25\x59\xcb\x1f\xee\x7d\x77\xc0\x84\x9a\x15\x16\x1e\x99\xf3"
      "\xfa\x49\xbc\x29\x4f\x37\xe6\xd8\xdd\x7a\x4e\xc7\x06\xc3\x27\x2d\x9e\xd7"
      "\x38\x49\xff\xb4\x8f\x92\x9c\x59\x5b\xaf\xf4\xe2\x5f\xeb\x16\xcd\x9d\xb3"
      "\xf3\xe2\xcd\x3b\x0a\x0e\xde\x9c\xfa\xc4\xae\x35\x5f\x55\xaf\x77\x33\xf7"
      "\xec\xf6\xb1\xe3\x5e\x68\x1d\x3b\xc2\xb2\x9a\xeb\x2b\xbe\xcc\xb5\x64\xf0"
      "\xc7\xbe\x82\x02\x81\x40\x82\x7f\x77\x34\x00\x00\x00\xf0\x1f\xe3\x54\x84"
      "\x58\x15\x7f\xd8\x36\xb4\xec\xe3\x59\xab\x37\x1f\xc8\x78\xf4\xf0\xc7\x3d"
      "\x3c\xcc\x5f\xf5\xa0\x40\xa4\x40\x82\x40\x84\x40\xbc\xdf\xbe\xdd\x52\x61"
      "\x7d\x87\xe1\xd1\x22\xbc\x8f\xb2\xf1\x4a\xdd\x29\x37\x4b\xdf\x8e\x5f\x37"
      "\x61\xeb\xaa\xf3\xe3\xd7\x19\x7f\x2f\x7c\xcc\xca\xd7\x6e\x44\x2a\x1f\x7e"
      "\x76\xda\xed\xcd\x3a\xc6\xd8\xd2\x70\xd2\xc6\x54\xff\xf2\xb1\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xff\x07\x45\xd9\x3e"
      "\xae\xcb\x86\x73\xfb\x66\x0e\x58\xdd\xb9\xc7\x93\xe6\xc7\x9b\xe7\x3b\x34"
      "\x33\xc5\xac\x7c\x63\x3a\x5d\x6f\xd2\x21\x74\x4a\xc8\x9f\x15\x7b\x34\x8a"
      "\xd3\xa1\xdf\xf1\x21\x59\x7f\xbc\x5a\x74\xde\x57\xe9\xde\xb6\x19\x98\xe6"
      "\xc6\xd7\xd7\x53\x3c\xac\xd9\xb0\x5e\xa0\xc4\xcc\x31\x1d\x8a\x17\xec\xfb"
      "\xf0\x6c\xdc\xea\xc7\x4b\x75\x8b\xf3\xa8\x71\xe2\xd7\x1b\xc6\xe7\x9a\x18"
      "\x2e\x24\xca\x87\xc1\x15\x76\x5e\xbe\xbc\xf8\xeb\x9e\x83\x26\x16\x7d\xdd"
      "\x7c\xc7\x8c\x02\xc5\xff\x2c\xda\xe8\xfc\xb9\x2a\x27\xe3\xec\xae\xd2\xef"
      "\xee\xa9\x4b\x31\x07\x34\x8e\x95\x28\xfd\xe6\xac\xf7\xb6\x3d\x4e\x30\xf6"
      "\x56\xf2\xd7\x83\xa7\xe7\xbf\xdc\x3d\x6c\xd3\x0a\xd1\xbe\x2b\x93\xf5\xf9"
      "\xd1\xdd\x51\xce\xad\xbe\x90\xff\x72\xad\xf7\x4d\x3a\xb6\x5a\xf4\x21\x4b"
      "\xbc\x65\x17\xb3\xde\x79\x5e\xa8\x5a\xe7\x26\x55\x43\xae\x47\xf9\xae\xed"
      "\x87\x8c\x57\xce\x36\xea\xde\x60\x5a\xd1\xb7\x9f\xdc\x5c\x52\xf0\xfb\x42"
      "\x6d\xde\xc6\xb8\xf0\x3c\xb8\xdd\xe6\x3e\x87\x7b\x8f\xba\x11\xd4\xb5\x7e"
      "\xde\x85\x07\xd7\x74\x78\x3c\x35\xfd\xad\x70\x49\x87\x7f\xb9\xf2\x7d\xba"
      "\x41\x29\xc7\x75\x48\x77\xf0\xec\xf2\x85\x2f\xe7\xee\x6e\xbe\xe2\xce\xdb"
      "\x7a\x55\xaf\x77\xcc\xf7\xcb\xf7\x23\x3b\x2c\x6b\x53\x2c\xdb\xea\x8c\xb7"
      "\x37\x5c\x7b\x36\x74\x58\xbb\x24\xbf\xae\x4a\x31\x2a\xfa\xd9\x9c\x71\x0b"
      "\x6c\x99\x58\xe2\x44\xb5\x67\x3b\xea\x9d\x8d\xfe\xe9\xf1\x88\xf7\xb3\x06"
      "\xfa\xd7\xaf\xdf\x2e\xf1\x86\x87\x2b\x53\x96\xba\xd2\xac\xe1\xa6\xa1\x51"
      "\x1b\x24\x7b\x9c\x7f\x40\xda\x65\x51\xda\x37\xce\x77\x2a\xa4\x76\xc8\xf4"
      "\x29\x5d\x27\xed\x8b\x17\x3c\x65\x73\xab\x94\x5d\x1b\x5d\xdd\x17\x33\x34"
      "\xd2\xdc\x9f\x06\x0c\xad\xde\x27\x6b\x86\xbc\x77\xca\xa6\xab\xfb\xbc\x46"
      "\xd8\xe1\xaf\x53\x0c\x1e\x12\xff\xf3\xfb\x31\xbe\x2a\x7f\x30\x6f\xcf\x4f"
      "\x2b\x4c\xca\xb7\xe3\xe9\xcb\x6f\xb6\xd6\xb9\x3e\xfd\xf2\x92\x96\x65\xde"
      "\x5f\xef\x1c\x21\x4d\xc7\x11\xdd\x16\xe7\x5e\x32\xa4\x77\xd0\xd5\x7c\x09"
      "\xda\xd5\xaf\x5b\xf9\xcb\x25\x65\x46\xbe\x49\xdc\x37\xfd\xea\x2c\x8f\x22"
      "\xff\xd4\xb6\x51\x85\xb9\x51\xba\xb7\xaf\xf1\xae\x5c\xdb\x22\xfb\xc2\xcd"
      "\x1e\xd8\xf4\x6e\xed\xdf\x77\x47\x1f\x15\xeb\xc9\xe2\xb1\xf1\xde\xd7\x4c"
      "\x9c\x3b\x52\x91\xd3\x69\x72\xf5\x88\xf5\xc5\x0f\x25\x83\x83\xcb\xf7\xab"
      "\xf2\x47\xa1\x6b\x5f\x9d\x1e\x98\xbd\xe2\xaa\x83\xef\x07\x8f\xf9\xe6\x4e"
      "\xaf\x95\x17\x97\xb7\x6b\xdd\x78\xec\xd9\xc9\xcd\xea\xb7\xac\x56\x3d\xce"
      "\xc3\x48\xe5\xfb\x97\x8e\xb1\xbc\xfe\x84\xb7\x19\x0e\x5d\xad\xf1\xf6\xec"
      "\xa2\x0f\x0d\x83\x3f\x8d\xf6\x66\xd2\xc2\x62\xd7\xfb\x57\xb8\xf9\xf3\xe9"
      "\xe0\xbd\x15\xc3\x05\xa7\x6d\xf8\xfc\x74\xfa\x7d\x79\xca\x7d\xbf\xe5\xe0"
      "\xe9\xc2\x45\x3a\x6e\x1c\x94\x79\x57\xf2\xd3\x21\xa9\x4e\xfd\x14\xb7\xcb"
      "\xf4\x90\xd2\xb3\x23\x0c\xd8\xf2\x6d\xf9\xf5\x51\x87\x2f\x5d\x5c\x21\xcc"
      "\xd9\xbd\x3f\x57\xed\xf0\x73\xfd\x26\x9d\xeb\x1e\x0f\x3d\xb2\x76\xef\xf1"
      "\x83\x1d\x3e\x8d\xd5\x27\x69\xab\x5e\xa3\xf3\xe7\x4a\x10\x2e\xc1\x83\x5f"
      "\xee\x34\x6c\x34\x7d\x5e\xb5\xc8\x7f\x5c\x4e\xd4\x27\x5d\xd4\xe5\xf7\x0b"
      "\x45\x3e\xb3\xe5\xe6\xc4\x1c\xd5\x07\x2d\x1f\x9d\x74\x54\xc7\x5a\x6b\x32"
      "\xf4\xcc\x7d\xb9\xc5\xed\x9e\x6b\xbf\x3e\x92\x3f\x6b\xe5\x63\x19\x93\xa7"
      "\x29\x7a\xb1\x62\xf4\x39\x6d\xca\xff\x9c\xa3\x53\xcf\xaf\x8a\xb5\xdc\xfb"
      "\xcb\xc2\x27\x1d\x3f\xeb\x78\xe8\x9b\x0e\xbf\x95\xba\x5a\x2b\x75\xca\xdf"
      "\x3a\x26\x2a\xb1\xab\xee\x90\xeb\xb3\xa3\x05\xef\x98\xd7\xf8\xe9\xc1\x8b"
      "\x51\xab\x2d\x8f\x7c\x2b\x75\xd5\x7b\x1b\x97\xf5\x69\xb5\x39\x6c\xdc\xb5"
      "\xcd\xe6\xbe\x9f\xd4\xff\x5e\x99\x76\x2d\xa3\x3d\x1f\x31\xb6\xe9\xd6\x09"
      "\x3f\x76\x4f\x72\xa2\x61\xbe\x1c\x9d\x86\x36\x5b\x75\x34\x7e\x98\x27\x33"
      "\x93\xb4\x78\xdc\x22\xf1\x83\xed\x7f\x44\xbd\xb1\x66\x7a\x9c\x0c\xdd\x72"
      "\xa7\xf9\x6c\xec\x8a\x65\xb1\x97\x7d\x7d\x75\x62\xc6\xed\xeb\x16\x84\x3d"
      "\x95\xa3\x79\x86\x8c\x5f\xa4\x5e\x72\x72\xcc\xf6\xd9\x91\x53\xfc\x96\x25"
      "\xc5\xf7\x17\x2f\x97\xfb\xfe\x7e\xa4\xa8\xe1\xf2\xf7\x4d\x1a\x08\xd7\xfa"
      "\xd7\x41\x63\x2b\xcf\x8f\xf3\xb4\xfd\xa6\x67\x87\x43\x33\x0c\xc9\x9b\x6f"
      "\xf4\xf6\x52\x15\x1a\x9d\xfd\x39\x79\x87\x59\x75\xde\xed\xac\x94\xa2\xd5"
      "\xfe\x57\x49\xae\x3d\x8c\x9a\xa6\xf9\x8a\xec\x9f\x9d\x3e\xd9\x3d\x6e\x9f"
      "\x78\x3f\xc4\xac\xfe\x38\x69\xa4\xb5\x0d\xc3\x8e\xcc\xf1\xb4\xfe\xa4\x57"
      "\x27\xaa\xfc\x12\x2b\xf5\x8c\xd4\xf1\x5f\x36\x6d\x34\xf5\x97\x96\x27\x8b"
      "\x55\xbb\xd9\x35\xdf\x86\x1c\x35\x9e\x2e\x88\xbe\xa9\xc2\x0f\xb1\x7a\x9d"
      "\xb9\x3a\xfb\xf3\x26\xdb\x7e\xed\x73\xa3\x6c\x20\x5b\xed\xa9\xb9\x2e\x3c"
      "\x7c\x17\x74\x28\x75\x9a\x38\x5f\x1d\xfe\xfa\x4a\xbf\x30\x91\x57\xee\xaf"
      "\xbe\x7a\xcf\xd7\x7b\x3b\x7e\xc8\xb5\xe3\x75\xfb\x17\x37\x9a\x0f\xbe\xb0"
      "\x7e\x52\x9b\xea\x43\x3f\x2d\x3e\xb6\x5b\xe0\x5c\xd8\x0c\x7b\xf7\x16\x4e"
      "\xb4\x25\xc7\xc2\xf2\x63\x6a\xf5\xe8\xdd\xbe\x54\xd5\x68\x19\xcf\xa6\x5f"
      "\xba\x60\xdd\x88\x6e\x3f\xc6\xe8\xd6\x22\x5d\xc6\xc0\xdd\x31\xe5\xbb\xbf"
      "\x4d\xbe\x28\xff\xb6\x5d\x21\x9d\xcf\xac\x8e\xdf\xe1\xcb\x1e\x6f\xcb\xc6"
      "\x29\x53\xf8\x59\xb8\x77\x05\x32\xdf\xd9\x74\x3a\x53\xea\x76\xc5\x66\x8c"
      "\x7e\x9d\x73\x6b\xda\xf0\x49\xeb\xdc\xd9\x9b\x7d\xdb\xda\x9f\xaf\x7f\xd7"
      "\x32\xe7\xf8\x2b\x03\x37\x3d\x19\x94\xf1\xfc\xdd\x4b\x13\xa3\x1c\x6f\x76"
      "\xaf\x7a\x99\x8a\x9d\x3e\x6f\xd6\x7a\xdb\xc0\xba\xa5\xef\xfd\x78\xac\x4b"
      "\x8f\xe6\x29\xb3\x0f\x8b\x33\xf0\xc8\xf0\xc6\x19\x22\x6c\x4f\xf8\xc9\x1f"
      "\x4d\x67\x9c\xb8\x38\x3a\xec\x0f\xbd\x12\x45\x4c\x10\xbb\xe5\xa1\x34\x33"
      "\x3f\xfc\x3e\xaf\xe4\x6f\xb3\xb6\xcd\xaa\x74\x72\xe1\xf9\x67\x69\x3e\x0c"
      "\xbf\x1b\xb7\x40\xd2\x0d\xef\x36\x4d\x48\xd2\xa2\x55\xa2\x65\x31\x0f\x3c"
      "\xc8\xf3\xc3\xfc\xef\x92\xee\xec\x39\x7c\xd2\x57\x6b\x42\x8b\xf7\xb8\xdb"
      "\x21\x7c\xae\x91\x65\xc3\x86\x49\x19\x77\x47\xe8\xa2\xe4\x53\xe2\xfe\x58"
      "\xac\xd6\xda\x38\x6f\x1a\x5f\x3d\x11\xe9\xe6\x8a\xce\x93\x17\x97\xda\x71"
      "\xb1\xc8\xa5\x88\xbf\xbc\x1f\x58\x30\x4b\xd2\x02\xf3\x0f\xc4\x5b\x18\x72"
      "\xe2\xdb\x46\x09\x37\x97\x99\x13\xb6\xd4\xa7\xbb\x23\x15\x99\x5b\x3b\xca"
      "\xb4\xef\xb3\x9d\x7c\x9e\xb9\xff\xa1\xe1\xe1\x6f\x5e\x5b\x93\xf0\xdd\xb1"
      "\x4c\x83\xb3\xa4\x4a\x1e\x7f\xe5\x92\x75\xa3\x1f\x5d\x28\x10\x65\x4f\xbb"
      "\xb7\xb3\xc2\xce\xeb\xbc\xa5\x75\xa5\x7c\x6d\xdb\x37\x1f\x3d\x21\x67\xfc"
      "\x9c\x69\x7b\x75\x1e\x36\xfe\xdc\xef\x4b\x0f\x4c\xba\x38\x6b\xeb\xc9\xbd"
      "\x4d\xdf\x55\x38\x74\xa3\x41\x48\xd6\x71\x69\x07\x5c\xfd\xed\xe6\x83\x37"
      "\xb9\x9b\xe4\x5f\xd5\xe6\xff\xc7\xce\x5d\x74\x05\xe1\x00\xed\x02\xa7\xbb"
      "\x44\x10\x91\x96\x06\x01\x29\xe9\x2e\x95\xee\x06\x25\x25\xa5\x51\xba\x4b"
      "\xba\xf9\xd3\xdd\x08\x28\x82\x20\x2d\xdd\xd2\xdd\xd2\x5d\x4a\xc8\xdd\xdc"
      "\xf7\x23\xdc\xf3\x9e\x73\xcf\xfc\xb6\xb3\x99\x99\xdd\xb3\x79\xe4\x4f\xf3"
      "\xc8\x8b\x89\x17\x4c\x7e\x58\xce\x67\x19\x0b\xb1\xae\xc8\xb6\x99\x35\x58"
      "\x9a\xf3\x75\x12\x2e\x3f\x62\x1f\xa0\xe3\xcd\x6e\x4e\x90\x6f\x7a\x83\xf5"
      "\xd7\x87\xda\xbb\xbd\x91\xc3\x93\x97\x9e\x36\x07\x07\x87\xc0\xaf\xf4\x55"
      "\x52\x55\xda\xc2\x66\xa8\x85\xdb\xe4\x34\xf2\xc0\x8d\xa0\xd9\x17\x94\x42"
      "\xbf\xe2\x17\x74\xd1\x6d\x16\x9f\x0c\x5d\xc5\x2c\x88\x88\xa7\x14\xf2\x62"
      "\x94\x2d\x7f\xde\x33\x87\xa2\x94\x73\x23\x93\x36\xa1\xfc\xd8\x51\xdc\x55"
      "\x0f\xe0\x30\xea\xa1\x3b\x17\x67\xb4\x9c\xd1\x9c\x6f\x31\x30\x68\x5f\x59"
      "\x64\x37\xa2\xd6\x25\x9b\x97\x25\x23\xb2\xa7\xce\x7e\x97\x9b\xe9\xc2\xbf"
      "\x13\xfa\x5b\x52\x3b\xd5\xd5\x62\xe6\x99\xe4\xf8\x81\x50\xdb\x07\x85\xc0"
      "\xb6\x41\x82\xcf\xe3\xde\xeb\x35\x5d\x2f\x1b\x12\x46\x2f\x6a\x54\x71\x1e"
      "\x05\xc4\x2f\x0a\xd3\x6f\x99\xc8\x7f\xe4\x14\x71\x0b\xaf\x2f\x2a\x9f\x79"
      "\xf2\x57\x38\xe0\xbc\x12\x59\xb0\xb4\x79\xcf\xeb\x91\x91\xb4\x56\x96\x98"
      "\xb0\xfa\x04\xae\x02\x75\x23\x4b\xc6\x71\xdc\x26\x76\xcb\xa6\x02\x41\x4f"
      "\xd7\x18\x7a\xfb\x2f\xb4\xc2\xd1\x72\xc4\xff\xc8\xd5\x35\x3c\xcc\xbc\xbe"
      "\xaa\x90\x6d\xc8\x4d\x6c\x74\xaf\xb4\xaa\x36\xfc\xda\x09\x9a\xa4\xff\x31"
      "\x1a\x1c\x97\xbd\x18\xf4\xa8\xd0\x8a\xfd\xfd\x14\x4d\x3b\xde\x4b\x7e\xe5"
      "\x3f\x58\x3a\xdf\xe7\x84\x78\x5a\x7f\x98\x58\x9d\xfd\x65\x90\xc5\xcb\x99"
      "\x21\x97\x33\x0f\xe0\x7e\x62\x19\xb4\x96\xe3\xb5\xb2\x12\x5b\x46\x45\xaf"
      "\x7f\xef\x8b\xe7\x9b\xd9\xf0\x06\x91\xb4\x31\xb0\xcc\xdc\xf3\xb1\x9d\xda"
      "\x60\x51\x45\xd9\x87\x18\xe4\xd8\x23\x35\x29\xfe\xf4\xb5\x2e\x56\x23\x17"
      "\xf3\xaf\x2d\xa1\xcb\x2c\x6a\xec\xe5\x73\xd1\x4e\xef\xa8\x05\xd4\x03\x78"
      "\xed\xfa\x03\xf5\xfc\x68\x3d\x33\x7e\xaa\xed\x84\xc5\x3b\xe0\x62\x91\xc5"
      "\xdf\xb9\xbe\xfe\x87\xb4\xf2\xbd\xb1\xb0\x25\xc2\x7c\xb2\x25\x7d\x53\xa8"
      "\xe4\xc9\x4f\xb1\xcc\x4d\xcb\x1c\x8e\x20\x39\xef\x4e\x5d\xc7\x57\xea\x4b"
      "\x21\xef\x1f\x5d\x24\x48\xee\xa7\x0b\xf5\x21\x54\xf2\x93\x24\x34\xa6\x3f"
      "\x14\xee\x65\xc4\xea\x7a\x79\xf4\x3e\xb7\x49\xa7\xfe\x1c\x59\xdd\x5a\x3e"
      "\xf1\xde\x76\xaf\x52\xee\xcd\x47\xdb\x14\xdd\xc8\x0f\x05\x02\x2b\xaa\x36"
      "\x01\xd3\x37\xba\x11\x8c\x7f\x69\x16\xdf\xb1\x7c\xa4\xf2\xd0\x8f\x56\xcf"
      "\xfe\x74\xf2\x0a\xd3\x88\x88\x40\x82\xda\xf6\x8d\x08\x7e\x0f\x06\xca\xf1"
      "\x5d\x37\x25\xc3\x54\xda\x17\x96\x4d\x99\x48\x67\x63\x55\x8f\xc1\x81\x3a"
      "\x56\x74\x93\x85\x80\x7c\x4d\xab\xf1\xfa\xe9\xb3\x47\x9f\xbc\x55\x9f\xc9"
      "\x0b\x36\x51\x75\x75\x3b\x06\xf9\x5d\xa8\x3f\x31\x1f\x67\x42\xe1\x76\xc0"
      "\xbd\x79\x59\x3f\xe5\x6e\x8b\xbd\x4b\x22\x95\xea\xca\xde\xf1\x67\x5d\x7e"
      "\xf9\x01\x42\x4c\x68\xd8\x47\x3a\xa6\x7d\xa9\xc2\x52\x5d\x2e\xb9\x4e\xd5"
      "\x34\xb2\x68\x6c\xfb\x6d\xec\x70\x49\x8a\x3a\xea\x1e\x3b\x6d\xf5\xed\xe9"
      "\x6d\x2e\x0d\x3c\x11\x73\x67\xf4\xfa\x07\xca\x59\x99\x6f\x6f\xbc\x12\x36"
      "\x3a\x2d\x6f\xf4\x74\xad\xeb\x1c\x5a\xca\x27\x75\x7e\x29\xa6\x49\xe6\x0e"
      "\x09\x85\xce\x72\x0c\xbf\xef\x69\x7d\x31\x22\x6d\x85\xff\xae\x53\xa6\xd2"
      "\x5b\xe9\x52\xe5\xbe\xf1\xac\x2b\xb3\xc1\xa0\x4b\x61\xd0\xeb\xd0\x27\xf6"
      "\x2f\xa7\xaa\x90\xcd\x87\xe7\xfc\x9f\x16\xee\x87\xbe\xdb\x6d\x54\xf3\xd4"
      "\x61\xea\x4c\x4e\x5f\x74\xdd\x09\xa1\x48\x6a\xed\xd0\x3f\x23\x51\x9a\x33"
      "\x16\x41\x5d\x2d\x72\x52\x1f\xe0\x7a\x6d\xba\x68\xdf\x50\x35\xbd\x64\x90"
      "\x8c\xf5\x77\x8b\x61\xbc\x37\x84\xce\xff\xcd\x8c\x96\x03\x75\xf7\x0f\xb1"
      "\x97\x56\x61\xf8\xb9\xb5\xcf\x3f\x4f\x7e\x8b\x29\x10\x5e\xbb\x4a\x6c\xe9"
      "\x50\x98\xf8\x63\xf1\x57\xd1\xd2\x36\xb5\xb6\xf9\xe3\xc1\x43\x4a\x9f\xd0"
      "\x11\x1d\x7a\xe9\x4a\xee\xd2\xf3\xf3\xf2\xb0\x95\x47\xf8\x85\xae\xf9\x52"
      "\x48\x04\x66\xc1\x87\x1f\x94\x99\xd8\x53\x68\xe8\x4d\x8c\xbf\x7b\x32\xef"
      "\x7e\x4a\x65\x6e\x33\x9b\x14\x6a\xa5\x2a\xfd\x2d\xc8\xa2\xc1\x97\x47\x29"
      "\xe0\xd2\x9d\x81\x46\xe0\xa2\x9a\x13\x1b\xb7\xaf\xaa\x7a\x78\x6c\x7b\xfa"
      "\x80\x7d\x2e\xa7\x03\x31\xb6\xf1\x60\xa1\x27\x32\x3b\x31\x7a\xb3\x35\xaf"
      "\x87\x1d\xdd\xfb\x71\x50\x51\x7c\xa8\xa9\xfe\xec\x47\x39\xc4\xc8\x59\xdf"
      "\x34\xa6\x8b\xb4\x30\xfa\x6c\x1f\xbb\xde\xd0\x87\x9d\x21\xf5\x3c\x7b\x4e"
      "\x8d\xa5\xef\xeb\xd2\x3f\xad\x4a\x4d\x50\x4d\xdf\x8c\x44\x0d\x99\x69\x52"
      "\xbe\x3e\x1f\x11\x78\xf1\xe3\x41\xdb\x84\x33\xe7\x9e\x4d\x84\x11\xc5\xa0"
      "\xa8\xa7\x0f\x71\x61\x61\x54\xa4\x7c\x9b\x48\x02\xd2\xdf\x9b\xb9\xe8\x08"
      "\x7b\xc9\x02\x67\x0a\x9b\x3b\xe9\x83\xe8\xeb\xcd\x4c\x4a\x4e\x81\x44\x0f"
      "\x53\x2c\x44\xa4\xf4\x89\xdb\x12\x7a\x4d\xde\x1b\xfd\xe4\xdf\x92\x2b\xda"
      "\x68\xe1\xaa\x0a\xba\x26\xf9\xde\x3a\x71\xbd\x59\x28\x77\xd3\x96\xcb\xd4"
      "\x0c\x74\x89\x59\xd8\x9f\xf9\x97\xc2\x42\x96\xa4\xae\xf4\xc8\x87\xb8\x82"
      "\x89\xd5\xd7\xb6\x32\xae\xbf\x86\x0d\x75\xa6\x4c\xb6\x14\x4c\xef\xba\xb5"
      "\xfa\xbe\xb3\x11\xc8\xa3\x71\x4e\x4e\x79\xbc\xd0\xa9\x68\x46\x61\x1e\x1d"
      "\xe7\xf4\xbe\xbf\xc8\xf7\xa1\x9a\x2b\x31\x31\x79\x56\x8e\x57\x6e\x04\x73"
      "\x1b\xc5\x95\xf8\x6d\x60\x01\x96\xc2\xf6\xd2\x40\xdc\xda\x44\xb1\xed\x9f"
      "\x33\x5e\x02\x9e\xd3\xee\x84\xe3\x2d\x95\x5a\xbc\xba\xd1\x1f\xfb\xb9\xd5"
      "\xaf\xea\x7e\xa2\x0c\x99\x50\x34\xcb\x22\xaf\x30\x7d\xfa\xaa\x5e\x71\xa0"
      "\xbb\x27\x8a\x88\xbe\x33\xf3\x53\x27\x28\xd6\x78\xf3\xef\x4d\x5a\xea\xd8"
      "\x3b\xb5\x3c\x4e\x6d\x15\xbe\xde\xda\x50\x4a\x2d\x5d\x24\xbc\xf8\x71\x1d"
      "\xa5\xd9\xcf\x6f\xdd\xf7\xbc\x27\x93\x07\xf1\x50\x08\x13\x3b\x4b\x30\x3a"
      "\xee\xed\x7f\xaa\x7e\x36\x2b\x9b\x4f\x1d\x95\x91\xa9\xe5\xde\x1b\x8c\x74"
      "\xc2\x37\x9c\xd6\xbd\x24\x61\xf8\xf2\x80\xaf\xc5\x59\x33\x35\xf0\x57\xd7"
      "\x68\xfa\x06\xa9\xcb\xd2\x51\x95\x4d\x72\xd0\xee\x56\x07\x22\x12\xf5\xb7"
      "\x8f\x99\x04\x5b\x22\x5d\x7f\xb0\xb6\xc6\x3e\x6d\xa0\x5c\x7a\x16\x93\x6e"
      "\x3b\x85\x36\x9c\xb1\x2a\x5e\x1b\xa8\xe3\xb7\xbe\x78\x32\xb1\x88\x1d\xf5"
      "\xf5\xbf\x80\x42\x5b\x27\x6d\x5a\x6f\x1d\x4a\x7c\x69\x59\x06\x81\x8f\xa1"
      "\xda\xaf\xe8\x6e\xf4\x4c\x77\xd6\x78\xf2\xe5\x1f\x28\xdf\x9c\x7d\xb9\xeb"
      "\xac\x62\x61\x1b\x75\x7f\x8c\x38\xf3\x54\x6b\x78\xb1\xaf\xda\xbe\x91\x3e"
      "\xab\xeb\xdb\xc3\x68\x92\x33\x0a\x26\x94\xb7\xa8\x4b\xd2\x89\xee\xb5\x18"
      "\x99\x6e\x15\xdd\x5e\x31\xf5\xd9\xa8\x2d\xf2\xe2\x82\x4d\x9b\x4c\xbd\x6e"
      "\x3a\x97\xb7\x2e\x79\xa3\x0b\x75\x8c\x7b\xf1\x0c\xfe\x3b\x5a\xf6\x33\xa1"
      "\x4e\xa8\x1e\x1c\x81\x2d\xff\xb5\x7c\x51\x92\xfc\xa0\x65\x2c\x32\x80\x80"
      "\xbd\xb9\xbd\x50\x25\x43\xd2\x9e\x47\xee\xc7\xa4\xe5\x54\xc3\xce\x33\xe3"
      "\x56\x9e\x30\x34\xff\xbe\x73\xb4\x68\x56\x4c\xe5\x59\x18\x5a\xb8\x38\x07"
      "\x9e\xf4\xed\x19\xa2\x4a\x1a\x03\x35\x5d\xb8\xaf\xfe\xcd\x0e\x33\x9a\xd0"
      "\xae\x63\x00\x36\xfa\x86\x0f\xb1\xdc\x93\xb3\xd2\x78\xd6\xbe\x56\xf7\x97"
      "\xe3\xbc\x5f\xcb\xfd\xb8\xb5\xa8\xca\xd7\x77\xef\x78\x0e\x1e\xbf\x9f\x20"
      "\x65\x19\xce\x7c\xfb\xae\xfa\xe0\x54\xe7\xaf\xe0\x2f\xf2\x1a\xb4\xfa\x3f"
      "\x13\x6e\xb8\x7d\x7b\xb9\x59\xef\x3c\x9b\x6b\x98\xe4\x5f\x76\xfd\x1b\xd3"
      "\x77\xfc\xa3\xc7\x45\xd1\x2c\x53\xc5\x8e\x12\xb9\xa9\x41\x10\x8b\xfa\xd3"
      "\xba\xf1\xdc\x93\xd0\x0a\xd7\xe8\x58\xf3\xcf\x7a\x60\x96\x6a\x71\xe7\x9e"
      "\xc6\x67\x41\xeb\xac\x4d\xa9\x37\x44\x5f\x6b\x7f\xb5\x3c\x5e\xc1\xd5\x08"
      "\xb9\x15\xea\xe4\xb2\x7c\x6e\x3f\xb0\x45\x2c\xba\x27\x68\x26\xd7\x8b\x9d"
      "\xff\x65\x98\x8c\x01\x5d\x40\x88\xe4\xd5\x7a\x4a\x92\xe5\xbf\xb1\xc4\x28"
      "\x84\xb6\x69\xc9\xc9\xe1\x1b\x9d\x76\x1a\xdf\xcd\x77\xdd\xaa\xb5\x8f\x8c"
      "\x1b\xde\xf0\xe4\x11\x48\xe0\x6a\x7c\xd3\xa9\x64\xd5\x75\xa4\x79\x32\x46"
      "\xed\x8e\xa6\xd6\x52\xc7\xfb\x35\xb0\xf1\x01\x6d\xe6\x8b\xe9\x5a\x43\x03"
      "\x5c\xd2\xc2\x24\x45\x8d\xf7\x88\xcf\x45\xf9\x1a\x2a\x6a\xc3\x7e\x74\xce"
      "\x7d\x3d\x0e\x6d\xd6\x7e\xf3\x6c\x49\x08\x0f\x79\x26\xf0\xb5\xe6\xdb\x79"
      "\x49\xfa\x37\xea\xe8\xdf\xf3\x43\x45\x0f\x73\x76\x93\xdf\x2b\x33\xec\x46"
      "\x36\x75\x3f\x8d\x9f\x62\xdd\xea\x40\x6f\x15\xb5\xea\x7d\x5a\x5d\xde\x5d"
      "\x28\xa1\x81\x57\x60\x5b\xae\xc2\xf0\xa8\x6f\xdd\x98\x50\xf9\xae\xb8\xbf"
      "\x2c\x25\x7a\x89\xe1\xd7\xbc\xb7\x83\x10\x65\xea\x4f\x1f\x07\xe2\x91\x44"
      "\x8e\x6a\x89\x9e\x22\x83\x0f\x74\xe6\xfa\x4e\x15\xdb\xe9\xcb\xa5\xe8\xae"
      "\x2f\x0d\xa9\xee\xa4\x1e\x24\xb0\x4d\xf2\x5b\x13\x38\x77\x0d\xf8\x08\xcc"
      "\x67\x7e\x62\x41\x9c\xe4\xd5\x2f\x7a\x29\x62\x4a\xda\x93\x6f\x79\x72\x4e"
      "\x4b\x27\x89\x26\xea\xf9\x76\x79\xb0\xdb\x6c\x4a\xfe\xf9\xbf\xd9\xba\x25"
      "\xb9\xf8\x05\x5a\x76\x51\x57\x2c\x5b\x1b\x34\x03\xa3\xec\xaa\x3c\xe9\x6b"
      "\x2f\xe6\x15\x52\x9c\xad\x02\xbb\xe6\xf7\x86\xde\x1f\x67\x8f\xf4\x2d\x04"
      "\x6b\x1c\xff\x92\xd1\xac\x39\x08\xd7\x3a\x5a\xbe\xf0\x91\xf7\xed\x6e\xd2"
      "\x42\x7d\x7f\x57\x3e\xf5\x5d\x69\x85\xdb\xe5\x27\x6d\x40\xdd\xc3\x7c\x32"
      "\xb4\x48\xff\xdf\xc8\x04\x16\x57\x4d\x66\x95\xa6\x6f\x25\xbf\x13\x7c\x75"
      "\x9b\xea\xe1\x54\xf3\x6f\x4c\x25\xd3\xe9\xfa\x2f\x97\x44\xd7\x72\x2b\x5b"
      "\xdd\x27\x55\xdd\x38\x24\x7b\x1a\xd9\x94\xd7\xf6\xd5\x2d\xbd\x6b\xd8\xfb"
      "\x7d\xcd\x8f\xef\xb2\xec\xa5\xa2\x9c\x7f\xbb\x93\x65\x4f\x7e\xb7\xd5\xe8"
      "\xff\xbd\x73\x93\x3a\x53\xf5\xfb\xcc\xff\x48\xf8\x6b\x8c\xfe\xdb\xfd\x0d"
      "\xef\xbf\x04\x93\xc2\x83\xba\x6f\xd2\x72\x3c\x64\x8f\x4f\xe8\xc5\x09\xe4"
      "\xf9\x05\x4c\xda\x69\xbf\x3f\xcf\x67\x26\xf2\x43\x63\xa6\x72\xdb\xf3\x66"
      "\x7d\x58\xe5\xc8\xb4\xba\x43\xf3\xa5\x03\x99\x79\xc1\x4a\xc2\x59\xd7\x8a"
      "\xe7\xbb\xb3\x09\x0b\x4f\x85\xec\x73\x99\x53\xa1\xaa\xe9\x0f\x1c\xe8\xb4"
      "\xcb\xea\x4a\x02\x18\x88\x71\x3f\x7e\x1c\xf0\x61\x8f\x98\x68\x34\x27\xb6"
      "\x63\xb5\xb4\x2b\xc6\x72\xe2\xfa\xe6\x11\x79\xe5\x93\x2e\x21\xba\x5f\x4a"
      "\xf3\x30\xe2\x96\xe8\x0c\xf0\x11\xf2\x5b\xaf\xd0\xe6\xf9\x50\xa7\x0d\xf5"
      "\x60\x8a\x65\x25\x2a\xfe\xe2\x9d\x51\xca\x14\x41\x0a\x74\xe4\xeb\xa2\xdf"
      "\x88\xf1\xda\xe1\x96\xe3\x47\x63\x78\xc0\x1d\xf8\xb6\x0b\xa1\x2f\x78\x5a"
      "\xeb\xbf\x40\xa9\x8f\x02\xc1\xe7\x44\x05\x66\x1d\x57\xc9\xd3\x52\xb6\xf7"
      "\xff\x3e\x54\xc5\x72\x04\x11\x9e\x29\x59\x52\xdb\x15\x3a\x2a\xfc\xa0\xdc"
      "\xbb\x6f\x7e\x81\x17\x31\x85\xf2\xe3\x8b\xae\x29\xff\xd8\xe4\x7d\xea\x8a"
      "\xde\xef\xb3\x85\x39\x4a\x92\xc7\x94\x35\xbd\x57\x28\xc4\x7f\xd0\xcd\x0d"
      "\x28\xb5\x0c\x50\x92\xea\xf5\xfc\x51\xe6\xfa\xc5\x71\x79\x0e\x54\xc4\x55"
      "\xfc\x57\xba\xa4\x09\xf1\x71\xed\x30\x7b\xbe\x5a\x6f\x3e\xf4\xda\x36\x7a"
      "\x6b\x5f\xf2\x01\x71\xaa\x75\xd2\x7f\xfd\xe1\xad\xb9\x02\x71\x8a\x1c\xfe"
      "\x5d\xd7\xbf\xec\xc6\x89\xc4\xc9\xcf\x5e\x4f\x46\x78\x18\x7b\x78\xd4\x92"
      "\xd5\xcb\x51\x3f\x12\x61\xfd\x5d\x89\xe2\xf2\x7d\x42\x5a\xaa\x76\x92\x20"
      "\xac\x43\xc5\x8d\xd1\xb9\xb1\x69\x1e\x66\xbf\x36\x99\x70\xfe\xd6\x51\xba"
      "\x48\x0b\x9f\xad\x28\xcb\x7c\x3a\xae\xce\x58\xe6\x69\xbe\x24\xdb\xb5\x6a"
      "\xc0\xdb\x3d\x22\xe5\x88\xc4\x97\x38\x0b\x5e\x2f\x17\xd5\xfa\x2b\x11\xaa"
      "\x83\xe2\xb0\x1e\x8d\xed\xa8\xdd\xcc\x96\x30\x07\x71\x6b\xe7\x07\x5b\x6e"
      "\xe3\x34\x9d\x11\xb7\xbd\x23\xe9\x4a\xcf\xaf\x8d\x8f\xed\x65\xa0\xeb\x54"
      "\xb9\x35\x71\x64\x58\x9b\xbd\x40\x88\xad\x43\x59\x9d\xf3\x98\xa9\xa6\x43"
      "\x15\x30\xf4\xde\xe6\x9c\xfd\x83\x96\x9c\x8a\x37\x2e\x69\x89\x3f\xb8\x6f"
      "\xd7\xf2\x7d\x20\xf5\xab\x49\xbb\xe7\x0d\x76\x6d\xe5\xe4\x53\xf3\x57\x61"
      "\x62\x6f\xc7\xfe\x13\x2b\xfc\x53\xdc\x52\xcc\xc6\x7e\xb4\xf4\xfd\xe3\xb2"
      "\x34\xe2\x78\xd9\x2c\x29\xd2\x3b\xe5\xf8\x70\x6e\xd6\x5d\xaa\x7b\x85\x3d"
      "\xfc\x92\xc1\x16\x6d\x23\x6b\xaf\x1b\x8f\x20\x8c\x0b\x9a\x66\xcd\x9a\x0a"
      "\x21\x8d\x34\x64\x17\xca\x41\x2b\x2f\xa2\x17\xa6\x69\x88\xaa\x0c\x25\x8a"
      "\xc3\x58\x0c\x39\x6b\xbe\x34\x0c\x63\x3a\x71\xe8\x45\x4e\x91\x12\x15\x95"
      "\x66\xc8\x3a\x0f\x0b\xb5\x27\xae\xd6\x28\x18\xd8\x27\x84\xeb\x46\x6e\xfb"
      "\xad\xa6\xf4\xce\x97\xb0\x5a\xd5\xd7\xa9\x3f\x1e\x17\x9e\x50\x59\x3b\x8b"
      "\xd6\x16\xb5\xc7\x5a\x87\x05\x3e\xec\xe0\x53\x6a\x2e\xa3\xb5\x2d\xd5\xff"
      "\x8f\x72\x76\xfa\x20\x4d\xbf\xff\xd5\xf4\xa2\xf1\x7f\x63\xfc\xc6\x59\xea"
      "\x36\xc2\x92\x3f\x66\x98\xb4\x1b\xfc\xc3\xea\x79\x3f\xaf\xa3\x59\xb6\x49"
      "\xbb\xf2\x9b\x65\xe8\x21\x50\x9e\xab\x9f\xac\xe2\x51\x70\x20\x9d\x4d\x36"
      "\x52\x30\x88\x54\xd6\xed\x52\xf9\x8e\xea\x17\x5d\x84\xfd\xe1\xeb\xde\x60"
      "\xaf\x75\x3e\x0c\xef\x19\x56\x23\xad\x61\x9b\xe2\xc6\x58\xc7\x29\x3c\xda"
      "\x50\x58\x8a\x9a\x66\x13\x35\x9f\x7d\x49\x6b\xad\x43\xb0\x43\xe5\x77\x89"
      "\x23\x2c\xcb\xa2\x77\x9e\x10\x91\x70\x74\x60\x94\xca\xa0\xd9\x90\xa7\xe4"
      "\x52\xe4\x65\x50\xfe\xa0\xe9\xef\xe0\x64\x64\x31\x95\x01\x5e\x36\xda\x33"
      "\x6b\xef\x24\xda\xc1\xb2\x66\x04\x81\xe6\x30\xce\x56\x85\xf6\xc9\x77\x1c"
      "\x52\x0e\x27\x4c\x1c\x58\x7d\x12\x5f\xbf\xeb\x49\xe0\x74\xe9\x8e\x8d\x5a"
      "\x48\x30\xa3\x38\x63\xb1\xff\x21\x21\x31\x44\xf4\xb7\xa0\x19\xfb\xae\xea"
      "\x27\x2e\x39\x64\x68\xe1\x48\x98\x38\x70\xd7\x8b\x22\x4b\xb7\x7d\xa3\xc3"
      "\xfa\x65\xbc\x43\x53\xa9\xb8\x42\xbf\xfa\xa9\xcc\xf7\xa1\xc3\xb9\xac\x25"
      "\x9f\x93\xf3\x26\xaf\xe4\xff\xac\x47\x24\x88\xa5\x14\xb9\x82\xf2\xad\x09"
      "\x84\x3d\x8a\xf6\x9d\xc4\x7f\xa1\x3e\x4a\xe0\x92\x9a\x7e\x15\xf1\xbe\x2a"
      "\x9d\x78\x9e\xd7\x52\xdb\x20\x5c\x00\x69\x74\x93\xe7\xa5\xdc\xc7\x47\xe4"
      "\xad\x94\xb4\x99\x76\xfd\x8a\xd8\x32\x7d\xdc\xdf\xda\x31\x1e\x4d\x93\x58"
      "\x6c\x24\x56\x7f\xb1\xec\x77\x93\x27\x69\xc5\xc1\x89\xf3\xb1\xa3\x2b\xa1"
      "\x66\x58\xdd\x29\x76\xa4\x0f\x7e\x89\xba\xcc\x11\x28\xf5\x6a\x79\x69\x00"
      "\x51\x96\x47\xc9\xeb\xa6\x0c\x7d\xb2\x05\x2b\x82\x56\x1c\x0f\x89\xec\x41"
      "\x24\xe6\xf2\x08\x05\x09\x9f\x21\xce\xd5\xc0\x4c\x14\xb1\x1b\x96\xad\xe9"
      "\x97\xd1\xba\xa7\xde\x37\x1e\xdc\x2f\xe7\xa4\x7b\x8b\x88\x2b\x34\xc5\x85"
      "\xb0\x32\x6c\x5b\x5e\x23\x1d\x29\x66\x9a\x3d\x16\x31\x4c\x21\x9b\x41\x6f"
      "\x7b\xb4\xb2\x8a\x98\x64\xc2\x8c\xc2\x70\xea\x99\xf4\xa0\x5c\x31\x3c\xb3"
      "\x7e\x79\xf9\x1a\x33\x62\xfa\x28\xe8\x4a\xa0\x33\x8e\xbc\xd3\x28\x68\x9f"
      "\x49\x73\xf3\xd5\xcd\x3e\x7e\x69\xd0\x9e\xda\x6e\x06\x01\xed\xcc\x21\x7a"
      "\x7c\x48\xfc\x3f\x64\xc9\x09\xcf\x76\xee\xde\xbe\x16\xec\xb5\xbd\xec\xe0"
      "\xc3\xeb\xf8\xac\xc0\x5c\xef\x1d\xc2\x14\x0e\x3b\xb6\x95\xd2\xab\xe4\x74"
      "\x4e\x37\xb5\x52\xe5\xae\x47\x11\xb2\xd7\x8c\xa4\xfb\x58\x8b\x69\x0b\x98"
      "\x0b\x58\x0b\xd8\xb6\x97\x04\x0d\x88\x7c\xa5\x3f\x38\xdf\xab\xfd\x22\x08"
      "\x16\x74\xa3\x28\xde\x4a\xc4\xef\xa2\x57\x4a\x89\xed\x10\x78\xa1\xc5\xd9"
      "\x39\xa1\x53\x3b\xa5\x41\x34\x98\x97\x9a\x90\x68\x3d\x64\x94\x20\x5d\xf4"
      "\xca\xb2\xf0\x55\xd8\xf0\x13\x29\x65\xbc\x06\x35\x0c\x94\x3c\x53\x51\xc5"
      "\xbc\x8c\x04\x96\xe6\x69\x86\xe2\x08\x1c\xa5\x41\x5c\x49\x5b\x62\x93\xc4"
      "\x2f\x62\x0e\x16\x2a\x52\x95\xfe\x13\x23\x1c\x2a\xf3\xf3\x03\xc2\x14\x9e"
      "\xff\x62\xa4\xf6\xb8\x6f\xc5\x04\xff\xfa\x84\x27\xcb\x85\xd4\xc6\x94\x13"
      "\xaa\xef\x5f\x17\x3a\xdd\x7d\x2b\x7c\x55\xe3\x1c\xfd\x23\x79\x9a\x6e\x30"
      "\xb7\x43\x8a\x58\xd3\xfb\x84\x30\x99\x8a\x9f\xdd\xcb\x55\x15\xe1\xe0\x86"
      "\x67\xbd\x15\xa7\x66\x46\x7c\x83\x57\xd7\x93\x3b\xf4\xa1\xa5\xed\xa9\x56"
      "\x35\x9e\x68\xe2\x83\xe3\xe7\x02\x11\xf6\x4d\x3e\x54\x1b\xe7\x23\xbc\xd6"
      "\x68\x5e\x1d\x4c\x8e\x6e\x83\x9d\x26\x3e\xd6\x4b\x52\x85\xed\x14\x54\xbe"
      "\x89\xbf\x64\x68\xfe\x63\x7c\x7c\xb4\x14\xe6\x1a\x82\xe6\xf2\xa4\x5e\xbe"
      "\x5c\xb7\x45\x9e\x8a\xcd\xf6\xb1\x50\xf2\xc7\x6f\x0b\xb5\x22\xa3\x19\x32"
      "\xb9\xe1\xa8\x92\xff\x21\x64\x14\x24\xd2\x93\x4f\xf6\x6f\x31\x69\x5d\x79"
      "\x4b\x33\x96\xb8\xd6\x86\x59\xbb\xfe\x43\x3e\x21\x10\x59\x23\x7f\x79\x84"
      "\x6c\x5a\xd1\x9c\x7a\x9b\x50\x7b\xfc\xc1\xb9\xf3\x29\xee\x4b\xed\xe5\x68"
      "\x0d\x26\x4d\x9a\x1a\x27\xcd\xc7\x4f\x7e\x75\xc9\xfc\xaa\xa1\xc8\xb3\x28"
      "\x2e\x41\x19\x7c\x94\x77\xcc\xe8\xbb\x4f\xaf\xf8\x23\x09\xc1\x2c\xbf\x2a"
      "\xe6\xe6\xa5\x5f\xc2\x05\x65\x98\x46\x9c\x84\xf3\xc6\x7a\xad\xf7\x14\x6e"
      "\xbf\x90\x0a\x2e\x6d\xa7\xa2\x83\xf2\xf7\x57\x25\x62\x29\xb6\x38\x4a\x14"
      "\x5f\xc9\xd5\xc3\x88\x7d\x62\xf4\x35\xa9\x3a\xdb\x55\x5e\xd3\x3f\xea\x47"
      "\xf5\xea\x7a\xce\x94\xf4\xf1\x82\x6b\x69\x17\x4f\xb4\xfc\xe4\xf3\x6d\xc9"
      "\xdf\xd1\x7d\xa4\x9c\xf5\x80\x2e\x8b\xd6\xb3\x73\x9e\x9d\xcb\xf5\xff\x0e"
      "\x7d\xc7\xc3\xb6\x22\x7f\x7b\xba\x7a\x5c\x0f\x66\x9f\xdf\xe5\xe4\x3d\xa3"
      "\x17\x1e\x90\x59\xf0\xed\x21\xc6\x0e\x21\x42\x31\x43\x1d\xa3\x7b\x1c\x4d"
      "\x13\xa5\x9f\x27\xb9\x83\x3f\xdf\xc6\x81\xd4\x6b\x6d\x5d\x41\xb2\xff\x55"
      "\x2b\xbf\x5f\xca\x27\x81\xe3\xe9\x31\xd6\xa7\xc1\x91\xe4\x2f\x22\x1e\x16"
      "\xb9\x7c\x5e\x21\xe6\x2e\xc8\xb3\x83\x6f\xc9\xee\xbe\x6f\xbc\x60\xee\xfb"
      "\x80\xf3\xd9\xe3\xcb\xd3\x69\xf9\x58\xeb\xb6\x5f\x9f\x2f\x19\xea\x12\x4d"
      "\xfe\x9a\x65\xf9\x84\xac\x52\x93\x04\xa3\x39\xbe\x36\x7b\x18\xc1\x18\x91"
      "\x5a\xa5\xe9\xbd\xce\x38\x14\x85\x4c\x9a\x2d\xf1\xa9\xe7\x89\xfc\x86\x19"
      "\x1b\x2d\x8b\xe1\x6c\x79\xe4\xbf\x96\x45\xcc\x7a\x66\xd1\x49\xac\xe1\x10"
      "\x94\x80\x3c\xc7\xdf\x76\xa6\x3e\xa7\x01\xd5\x61\x99\x42\xf6\x71\x0f\x7b"
      "\xdd\x53\x6b\x82\x54\xfc\xea\x23\x4c\x3d\xac\x8f\x70\x9a\xb5\x85\xbe\x87"
      "\x78\x74\x16\x1d\x51\x70\xfe\xd4\x21\x76\x5a\x0a\xd1\x92\x64\x4e\xcf\x7b"
      "\x4e\xbe\x64\xe1\xb4\x81\xc0\x3f\xae\xfa\x27\xfa\xc4\x2e\x8a\xe5\x91\x78"
      "\x78\x59\x64\xc5\x49\x3d\x8a\x67\xb0\xff\xc1\x6f\xeb\xd3\x03\xa5\x82\x00"
      "\x2d\xe5\xae\xd0\xb4\xd7\x44\x9a\xfa\xe1\x68\xb8\xdf\x68\xbe\x62\x4f\x7e"
      "\x6f\xe2\x7e\x9a\xed\x25\xbf\xeb\xf4\x3a\x8e\x4b\xce\xef\x88\xd0\x08\x31"
      "\xe0\x01\x5d\x3e\xae\x3e\xb1\xc6\x1f\xaf\x81\xb8\x7e\xc4\x88\x8f\xa2\xb6"
      "\x3f\xbd\x51\x0a\xad\x94\xf7\x0c\x62\xb1\x27\x4c\x78\x2b\x02\x75\x99\x8a"
      "\x1c\x30\xed\x98\xf9\x95\xd0\x4c\x7c\xf2\xe6\x75\xc9\x74\xb4\x6a\x17\xc7"
      "\x24\x2d\xaa\xcf\x24\xc5\x0f\x53\xb0\x1a\xe8\x94\xdf\x9e\xff\x08\x73\xf2"
      "\x4c\x90\xd0\x42\xc0\x12\xdb\xb1\x5d\xda\xc2\x39\x79\x23\x99\xc5\x35\x79"
      "\xce\xe5\x5c\x31\xd1\x22\x3e\x23\x27\xe1\x85\x1e\xa1\x8a\xa1\x87\xc9\xf1"
      "\xeb\x00\xf9\xc5\x42\xf1\xad\x97\x67\xa6\x56\x46\x7d\xb6\x4d\xf3\x83\x74"
      "\xd9\x4d\xee\x30\x55\x95\x0b\xe5\xd0\x67\xca\xe4\x77\x1a\xbc\xb9\x94\xe4"
      "\xad\x29\x36\x35\xe5\xd9\x23\x17\x3a\x29\xaa\x35\x74\x73\xff\xfa\x0b\x4e"
      "\x97\x37\xbb\x87\xd5\x0d\xfb\x93\x3c\xb9\x71\xd7\xa9\x13\xaa\xc5\x0d\xb6"
      "\xae\xbb\xdb\x5b\x76\xcc\xe4\x3c\x69\x46\x57\xea\xed\xf7\xd6\x63\x82\x12"
      "\xad\x3a\xb0\x2d\xfd\x36\x48\x9c\x59\x3d\x73\x5f\xd3\x1e\x4d\xfa\xa8\xdf"
      "\x3f\xc4\x95\xc8\xa0\x5e\x1f\x38\x70\xfd\x31\x8c\xa5\x7c\x83\xfd\x2c\xb0"
      "\xec\xe4\xbd\x62\x16\xe7\x9c\x76\x58\xc1\x53\x21\x9d\xf1\x85\x7b\x86\x34"
      "\x2a\x2b\x9d\x57\x75\x3d\xb8\x8f\x05\xb3\x58\x0d\xec\xb2\x30\x68\x3e\x8e"
      "\xe7\xf1\x64\x26\xd7\x0e\xea\xf9\x0a\xed\xec\x99\xca\x2f\xe5\x74\x96\xea"
      "\x2a\x19\x5f\x15\xc8\x6e\x71\x57\x5b\xb7\x8e\x3a\xa0\xa9\x5a\x84\xed\xb2"
      "\xcc\xd9\x16\xda\xae\x46\xfd\x5e\x7d\x13\xab\xf5\x4c\xaf\x4d\x66\x7f\xfd"
      "\x18\x29\xaf\xbf\x4e\xe4\x33\x1b\x62\x60\x1a\xb3\x2d\x33\xc7\xe9\x59\xa4"
      "\xe5\x21\xa6\x82\x34\x67\xe0\x2d\xc2\xd2\x9f\xcf\xc1\x76\xe7\x3f\xe3\x11"
      "\x37\x8f\xc6\x36\x88\x10\x4e\x75\xec\x91\xd9\x0e\x64\x87\x19\x37\x7e\xd1"
      "\xa4\x5d\x1b\x3b\xdd\x7c\xfc\x77\xde\xb1\xbd\x15\xaf\x21\xf7\xc0\x65\xeb"
      "\xb5\x47\x25\xbf\x6f\x32\x95\xc0\x13\x4d\xde\x8c\x66\xf5\x2b\x81\x8e\xb5"
      "\xcf\x54\x2d\x3a\xc5\x74\x55\x31\xbb\xaa\x57\x15\xdf\xcf\xb6\x27\x64\x91"
      "\xd7\xfc\x3b\xde\x9e\x3c\x4a\xca\x3f\x0a\xf5\x4e\xdb\xb2\xe9\x4c\xc1\x0e"
      "\xc5\x91\x43\xb5\x3c\xf5\x66\x9b\x3b\x32\xbf\x37\x40\x99\x14\xf0\xc0\x8d"
      "\xfc\xb7\x18\xcd\x4d\x16\xd3\x30\x1e\x96\xdf\xf1\xbb\x4b\x81\xfe\xee\xd1"
      "\x37\xfa\x36\x72\xca\xa8\xe7\xd3\x09\x9f\x8a\xa8\xda\x94\x94\x24\x4d\xfc"
      "\x2c\x14\xd9\xbe\x35\x9c\x3d\x22\xdf\x34\xee\xc5\xa2\x44\xa1\x9b\xdf\x4b"
      "\xb6\x23\x74\xc9\xe3\xc4\x77\xd0\x21\xbb\xff\x85\x1d\xc8\xfa\x50\xbd\xd1"
      "\x79\x19\x61\x4a\x1b\xa7\x40\xdd\xab\x8a\x56\x45\x5e\x81\xea\x23\x96\x2a"
      "\xbb\x48\x9d\x7e\x5f\x17\xc7\xf0\xc3\x20\xfa\x38\x5b\xdb\x6a\x61\x61\xcf"
      "\x81\x1b\xe6\xc2\x0d\x14\x27\xb9\x03\xe9\x4f\xfc\x2f\xe5\x30\xb7\x3e\x65"
      "\x9c\x55\xe4\x3e\xf7\xdb\x63\xe5\x74\x31\x30\x3b\x7c\x7f\x13\xd4\xf2\xd2"
      "\x90\x1a\xc5\x79\xa6\x80\xa1\xb1\x1c\x9d\x06\xaf\x38\xc7\x35\xe6\xaf\x54"
      "\xd2\xa0\x8a\x9c\xee\xd4\x45\x0b\x8e\x55\x5b\xb5\x1b\x6a\x3f\x7d\x06\xe6"
      "\x60\x50\xff\x61\x47\x9e\x18\x0b\xbd\xd8\xb2\x4c\x2b\xe6\x07\xa6\x8b\x24"
      "\x0d\xee\x59\x45\x9f\xf7\x03\x8b\x84\x6f\xaf\x53\x5a\xa5\x45\x8a\x4e\x59"
      "\xe8\x4f\xac\x1f\xdb\xe3\x86\xb1\x78\x3a\x97\xe2\xdc\xff\x9e\x46\xf6\x79"
      "\xf3\x73\x62\x8a\x0c\x7f\x6f\x58\xa9\xd2\x0a\x85\xf9\xfa\xfb\x44\x2e\x9e"
      "\xe0\x2f\xde\xdf\xc5\x3f\xad\xf0\xcc\x6f\x0b\x3b\x0f\xb9\x8f\x0e\xb3\x02"
      "\x4f\x5b\xc8\xc9\x94\xac\x62\x27\xf3\x8a\xc2\xfa\xba\xc9\xfd\x34\x87\x54"
      "\xdc\x1a\xca\xc5\xc6\xcf\xe8\xcf\x64\xf6\x0f\x56\x84\xae\x8a\xee\xc9\x09"
      "\x77\x95\xe7\x34\x2e\xa7\x59\x23\xf9\x2a\xf3\x99\xfa\x95\x66\x2c\xc3\x2f"
      "\x77\xe9\x7f\x9b\x29\x2d\x0f\xe1\x87\x89\x44\xab\xcb\xd7\xfc\xe3\xef\x7a"
      "\x29\x64\x7e\x8e\xff\x4b\x59\xc4\xa4\x79\x36\xdd\x4f\x18\x57\xbb\xe8\xbb"
      "\x4b\xa0\xe5\xc5\x8e\xbf\x21\x76\xd9\xf7\x23\xac\xbf\x6b\x83\x62\xcf\x54"
      "\x2b\x7c\x5b\x1f\x9e\xd1\x34\x85\x71\x16\x6e\x54\x09\xc8\x4d\xa1\x4d\x06"
      "\xbc\x16\x1e\xbb\xb4\x23\x57\xb3\xdb\xbd\x5c\xa3\x60\x50\xe0\xd8\x6c\x2d"
      "\xcf\xc2\x66\x6d\x1f\xb6\x59\x4d\x7e\xba\x66\xc4\x1b\x67\x59\x7d\x9d\xdd"
      "\x8c\xfd\x8c\x6b\xdc\xbc\x54\xa4\xa9\x81\x5b\x5c\x5d\x34\x4c\x32\xb4\x26"
      "\xd8\x2d\xfa\x54\xd2\x1a\x2b\xcf\x98\xf3\xdc\xee\x97\xaa\xd7\xb2\x1e\x71"
      "\x3e\xa1\xcc\xef\x40\xca\xf2\x57\x8e\x47\x0f\x9b\x26\x26\x5d\xa4\x53\x32"
      "\xa3\x9e\x24\xd2\xbe\xc4\xe3\x94\xea\xe5\xf2\x90\x6f\xfa\xb6\xe8\x6c\x97"
      "\x6d\xd1\xd3\x6c\xaa\xc4\xd8\x40\x62\x87\xd9\x1e\xec\x8a\x6f\xcb\x16\x27"
      "\x93\x71\x80\xa1\x35\x5d\xaf\x57\xf6\xb3\xb1\xb5\x3e\xae\x38\x7b\x5f\xce"
      "\x5f\x47\xe0\xa7\x5a\xcf\xd2\x73\x46\x04\xea\xb3\x3f\xa5\x5d\xe5\x63\x82"
      "\xc8\x0f\xb8\x2d\x08\x62\xac\x5e\x90\x56\xe5\xa1\x1f\xd3\x7a\x3e\x18\x77"
      "\x31\x28\x14\xe8\x3c\x11\x28\x6b\x77\xdc\x9f\xc2\x8e\x22\x3e\xcb\x3e\x3e"
      "\x5b\x79\x4b\xe8\xfc\x38\xcf\xf7\xe6\xc6\xdd\x82\x46\xc0\x8d\x90\x63\x6e"
      "\x78\x75\x97\x79\xf4\xdd\xb3\xf6\xa6\x7f\xe4\xe8\x88\x09\x4d\xbf\x9f\xa2"
      "\x94\xdb\x53\xbb\x3b\xeb\x07\x28\x60\xef\x07\x85\x3c\xc9\xe9\x88\x47\x1a"
      "\x6a\x77\xd4\xd7\xc6\xa1\x51\x40\xda\xfc\xa1\xbd\x2e\x17\x1b\x1c\xb1\xb1"
      "\x85\x2a\x34\x67\xf2\x35\x25\x7b\x96\xd2\x35\x4e\xeb\xd4\x96\x08\x85\xdd"
      "\x1c\xc5\xe5\x3f\xec\x3e\x8d\x4e\x53\x5f\x1c\x74\x81\x9d\x62\xed\x80\xdb"
      "\x4f\x37\xb3\x8f\x52\x2b\xa4\x5c\x27\xae\x14\x59\x86\x88\x38\xbf\x84\x6d"
      "\xd8\xec\xa1\x1f\x2e\x54\x77\xb7\x12\x99\x0d\x8d\xa3\x72\x12\x12\x64\x53"
      "\x38\x1c\x7d\xbb\xc4\x68\xe2\x72\x33\xe9\xdc\xad\x22\x23\x56\xf0\x1f\x67"
      "\x1b\x75\x08\xe8\x08\x72\xff\x6c\x4a\xc2\x34\x24\x66\x70\x22\x83\xf2\x72"
      "\xef\xb4\x3f\xbe\xcf\xff\x3e\x4c\x89\xdf\x7b\x66\x5a\x1b\xd3\x09\x67\xea"
      "\x7a\x35\x1a\x5d\x4a\xae\x3b\x77\xc9\x7e\x17\xbf\x62\x58\x77\x51\x82\x02"
      "\x43\x78\x7e\xf0\xf8\x80\x3a\x53\xbc\xe0\x93\xc9\x8a\xc2\xb2\x2e\xdf\xc5"
      "\x73\xd5\xc4\x98\x86\x5f\xe7\x0e\x08\x29\x7f\xfc\x17\x05\xd3\xdc\xcd\x68"
      "\xff\x69\x8e\x2c\xc5\x3c\xb6\x90\xeb\x8c\xe8\x7a\x22\x66\x24\xb0\x9a\x2f"
      "\x47\xca\xc9\x3a\xf6\x49\x11\xc9\x58\xcb\x87\x5f\x0f\xe1\x07\x8b\xff\x27"
      "\x8d\xd7\x5c\x3c\xff\xf2\x14\x2f\xfd\xc2\x9f\x60\xf8\x13\xee\x08\x24\x6a"
      "\xbb\xaa\xdf\x7e\xc8\x5e\x0c\xe4\x6e\x27\xfc\xfd\xc2\xeb\xf5\x54\xe4\x74"
      "\xa8\xb6\xd2\x57\xda\x0b\xf5\xfc\x67\x87\xc5\x3b\x62\xff\x5d\xa7\x61\xc4"
      "\x6a\xe4\xe0\x56\x4d\x08\xaf\xfd\x77\xbf\x71\x75\x95\xe0\xfa\x31\x9f\x37"
      "\xbd\x8f\xe7\x19\xc5\x80\x0a\x62\x49\xc9\x9f\x87\x78\x3e\xb6\x4b\xfa\xc2"
      "\x82\x1b\x1d\x52\x09\x38\x0c\x1d\xad\x56\x62\x13\x17\xac\x8d\x7d\x3c\x36"
      "\x24\x02\xcb\x78\xf4\x14\x92\xec\xcf\x05\x42\x04\xfd\x78\xcb\x1b\xe8\x17"
      "\xec\x27\x30\x64\x8d\x86\x9b\x69\x53\x3d\x37\xbc\x96\x43\xb8\x37\x1d\x43"
      "\xdd\x9f\x31\xfb\xf2\xb6\x46\x0c\xe0\x97\x08\xec\x60\x24\x4e\xbe\x79\x13"
      "\x10\x40\x37\x61\xb7\x7a\xd8\xdc\x6f\xf7\x94\x4c\x43\xbc\xb0\xbe\x10\xd3"
      "\xa0\xc1\xa6\x34\x8c\x89\xec\x33\x29\x11\xcb\xc9\xfe\xc7\x3f\x02\x1f\x04"
      "\x92\x69\x82\xc9\xce\x97\x2b\xd1\x6e\x34\xfe\x04\xbc\xb5\x4c\xff\x85\x93"
      "\xd4\xb1\xfc\xd1\xc1\x87\x31\xa7\x04\xed\x90\xdc\xa1\x64\x86\x2e\x57\x80"
      "\x63\xf9\x91\xba\xec\x5d\x08\x89\x2f\xee\xf2\x30\xef\xf5\xfb\x96\x4e\x87"
      "\x50\x45\x93\xcf\x13\xca\x6d\xc3\xe7\x82\x7f\xc8\x4f\xd3\xa6\xae\x8f\x14"
      "\x5c\x23\x99\x10\xf1\x5f\x05\xa5\xcb\x63\xd9\xac\xe1\x3e\xa6\x3b\x98\x65"
      "\x73\xd2\xdd\x4b\x26\x33\xfc\x21\x58\xfd\x97\xd3\xf6\x53\x10\x79\x96\x8d"
      "\xec\xe9\x77\x5b\x3d\xd3\x0f\xbb\x04\x34\xae\xd8\x83\xdf\x59\x56\x1d\xdd"
      "\x28\x76\xd1\x32\xa7\xfd\x07\xf3\x13\xd6\x37\x0d\x86\xa9\xd3\x04\x70\xc2"
      "\x78\xd4\x45\xf7\xd5\xb5\x1a\x57\x32\x19\x6f\x4d\xdf\xb5\x92\x2a\xd6\xb7"
      "\xb9\x0e\x31\xd0\x54\xbd\x61\x9d\x7b\xfb\xfc\x32\x70\xd5\x53\x09\x09\x27"
      "\x5e\xe1\x6e\x8e\xd7\x96\x30\xda\xb0\xac\xd2\x2f\xf1\x98\x60\x0f\x01\x4f"
      "\xc8\x4a\xf8\xb2\x8b\xd4\x58\x44\x5c\x56\x22\xb8\x57\xec\x22\x52\x2b\x21"
      "\xa5\x69\xe3\x25\x39\x5d\x88\x06\x66\xa9\x92\xb2\x92\x3b\x72\xd7\xe4\x3f"
      "\xe1\x20\xa2\x7e\x63\xfa\x7f\x24\x29\x25\x25\x76\x07\xbf\x68\xda\x31\xd7"
      "\x39\x0d\x6c\x06\x06\x3c\x0a\xad\x05\x0a\x25\xcc\x1e\xfb\x91\xd4\x8e\x64"
      "\x55\x4f\xf2\xf7\x12\x86\xdf\xb7\xad\x0d\x5b\xd6\x58\xd7\x15\xa5\xcd\x89"
      "\xe6\xbb\x1b\x94\xfa\xbc\x1a\xc8\x2e\xab\x68\x9c\xc0\xbf\xd6\xb4\x39\xdf"
      "\x6c\xb4\x7f\xbc\x6a\xbf\x6a\xb2\xb8\x92\xcd\x11\x10\xec\xd1\x47\xfd\x90"
      "\x44\x8d\x96\x26\x99\xa7\xdf\xe3\x70\x25\xcb\xd9\x21\xaf\xed\x8e\x5e\x66"
      "\x21\xa6\x87\xfc\x30\x74\x63\x86\xd8\x82\x03\xa3\xf0\xc7\x08\x46\xad\xc6"
      "\xe9\x43\xbe\x1f\x25\x78\x3c\x35\xff\xba\xb1\x46\x18\x0b\x94\x26\x9f\x4f"
      "\xa9\x36\xd7\x11\xbe\x92\x43\x2c\x50\xbe\xb1\xe3\x7e\xe7\xa0\x9f\x2a\x94"
      "\x4a\x11\x15\xc9\x42\x3c\x49\xae\x8a\x52\x1c\xcd\xb6\x32\x14\x5e\xa3\xe6"
      "\xc3\x8d\x3f\xc7\x6a\xbf\x87\xab\x8c\xf4\x49\xf3\xde\x4e\xff\x41\x08\x46"
      "\xc7\x27\x03\xf3\x45\xc2\x8f\x6f\x19\x28\xbc\xfa\xcc\x66\xb3\x4b\xea\xb8"
      "\xa5\x5e\x1a\xee\x29\x0b\x90\x55\x69\xb7\x94\x34\xdb\xd8\xc7\x38\x07\x05"
      "\x91\xa4\xb3\xe0\xcd\xdb\xed\x9c\x51\x47\xde\xbd\x0e\x68\x9c\xfd\x63\xa0"
      "\x1b\x10\xde\x41\xa4\x3d\x7b\xe5\x1d\x71\xff\xf9\x3a\xc6\x6d\x54\x2b\x67"
      "\x34\xeb\xfd\x5a\x50\x60\x03\xd5\xbf\x0d\x2d\x16\x12\xfd\x2e\x7d\x72\x6c"
      "\xb3\xb7\xdf\x3c\x6d\x02\xca\xff\xc4\xaa\x0a\x09\x73\xf0\x29\x24\x5e\xf5"
      "\xfc\x11\xfd\x4f\x42\x55\x7b\x44\x24\xea\x78\x5e\x76\x6a\x38\x24\x70\xad"
      "\x9c\xf7\x3a\x43\x9b\x30\x5a\x0e\xcd\x2d\x5a\xea\x3a\x3c\xa6\xcb\x53\xa1"
      "\xfb\x73\x88\x82\xa4\xe1\x59\x4a\x7a\x26\x51\xf3\x7c\x9b\x50\x75\xda\x23"
      "\x6f\x1d\xcf\x54\xa3\x24\x04\xdf\xc4\xf4\x83\x68\x0e\x53\x16\xcc\x94\x0f"
      "\x83\x46\x5c\x64\x14\xd4\xf1\x04\xb1\x9a\x4b\xca\x0c\x11\x02\x0c\x19\xb3"
      "\xa2\xa7\xed\x75\xab\xda\x24\x6b\xb5\x7a\xfa\xd2\xb1\xd4\xb5\xe5\x55\x97"
      "\x0e\x6c\xde\x4e\x04\x74\xd4\x29\x4e\x7c\xdb\x66\x32\x47\x4f\x50\xf4\x2f"
      "\x8b\x47\xc9\x18\x45\x6e\x02\x1e\x6c\x92\x13\x88\x50\x4b\x6a\xf1\xea\x15"
      "\xb1\x9e\xac\xaa\xfa\xb7\x2f\x12\xe5\xdc\x7a\x7c\x2c\xc4\x38\x37\x2b\x5a"
      "\x57\x7e\x38\x5b\xa5\x2f\xf8\xa7\xc8\x33\xa8\x48\x2a\x76\x63\x9b\x7c\x60"
      "\x3c\xdd\xe2\x36\x80\xaf\x8c\xe2\x92\xd4\x03\x41\xb3\xa3\x0f\x75\x32\x33"
      "\xfe\x90\x66\xe1\xc8\xa2\xa6\xd2\x50\x5e\x38\x4b\xe1\x59\xc3\x4f\xe2\xa5"
      "\x11\x9e\xf2\x1e\x6e\xc9\x19\xba\xbd\x5c\xf3\xaf\x29\x43\x11\xef\x7a\x4e"
      "\xe4\x5c\x7f\x6d\xe5\x52\xd2\x52\x0e\x36\xbf\x8f\x27\x7d\x19\xb8\x28\x3d"
      "\x98\xbf\x49\x98\xc2\xfe\x35\x35\x2a\x76\xf9\x47\x7d\x8d\x62\x92\x2f\xce"
      "\xd1\xcb\xb0\x61\x5f\x16\xc5\xfd\xa9\xac\xa9\xd7\x6a\x73\xbc\xaf\xd3\x6b"
      "\x28\xa2\x71\xcc\x43\xb3\x7d\x4b\x22\xbf\xec\xc6\x64\xa1\xf2\x9d\x9f\x20"
      "\xba\x79\x8e\xf0\xfc\x7d\xb4\x7e\x7e\x3e\x7b\x5b\x32\xd7\x46\x17\x54\x4f"
      "\x7c\x19\xe4\xf6\x46\xda\xc0\xe4\xde\xb0\xf5\xb2\xfd\x86\x56\x10\x87\x4e"
      "\xf2\xc2\xc1\x8c\xcd\x98\x6f\x51\x68\x35\x87\x76\x1b\x27\xe4\x4a\x46\x11"
      "\x4b\xdb\xbf\xa3\x25\xce\xd5\xe7\xc5\xf4\xe8\xfa\x2f\x93\xbb\x90\x2d\x22"
      "\x57\xa6\xb8\xbd\x70\x5d\x5a\x09\x39\x13\xd9\xf0\x6a\x3c\x64\x03\x36\x91"
      "\x34\x67\x0a\xd5\x8b\xf0\x25\x8c\xfd\xf5\xec\x46\xdc\x8f\x34\xf4\x7f\x1f"
      "\x6a\x4c\x37\xb0\x27\xd0\xdb\xf9\x71\x2f\xdd\x9c\x15\x16\x48\x1c\xee\xbb"
      "\x48\x66\xa5\x8f\x52\x56\xdb\x17\xf3\x53\x70\x73\x39\x71\xe3\xe8\x48\x90"
      "\x87\xb3\x64\xdf\x15\x51\x44\x65\x91\xd6\xd4\x50\xe0\xd9\x26\x12\xb2\x59"
      "\x9b\x87\xc9\x3d\x78\x9d\xe1\x12\x1c\xa3\xfd\xe3\x47\x00\x62\xcb\x4d\xf4"
      "\xd0\x68\x5c\x8a\xd3\x6b\x95\xae\x2e\x45\xbd\xe8\x93\x61\xb6\xf5\xd2\x12"
      "\x8d\x42\x19\xc2\xea\x8f\x6c\x48\x87\xc2\x91\x66\xf2\x6f\x56\xe3\xe8\x25"
      "\x37\xf1\x48\x98\x64\x38\x51\xc8\x1c\x54\x62\x18\x46\x65\x8e\x2a\xe7\x54"
      "\xdb\x7e\x4e\xca\x68\x5b\xae\x47\xbe\x52\xd8\x38\x41\xc3\x8f\x93\xe7\xe1"
      "\xb0\x55\xa7\x6a\xcb\x53\xc6\x4e\xba\xa6\x75\xfd\x63\x3d\xd7\x7d\xfb\x3d"
      "\xc1\xc4\xde\x33\xa9\x95\xd6\x69\x88\x31\x4b\xef\x93\x6b\x69\x70\xa8\xd3"
      "\xe3\x67\xcf\xde\x95\x7e\x5f\x6f\x62\xc6\x08\x79\xa8\x6d\x69\xbb\x57\x37"
      "\xe3\x24\x89\xe1\x29\xa2\xac\x3c\x7b\x51\xf7\xc6\x2a\xfe\xe6\x31\xae\xdb"
      "\xe1\xa4\x22\xaf\x0e\xb9\x57\x82\xdc\x2f\x0a\x07\xc2\xe8\x01\x9e\xc8\x7d"
      "\x0d\x03\xf7\x67\xf7\x65\x84\x72\x54\x3f\xe8\xe3\xcb\xe7\xab\x02\x29\x35"
      "\x03\x83\x71\x55\x0b\x8d\xca\xd5\x9a\x92\x22\x78\x73\x46\x91\xae\x1c\xb1"
      "\x88\x7d\x05\x28\x78\xe7\xcb\x0f\x6a\xad\x95\xbb\x27\x45\x03\x18\x78\xd0"
      "\x8a\xcc\x25\x9f\x95\xee\x90\x0c\x8e\x2f\x97\xb9\x69\x64\xa0\xe9\xed\x73"
      "\xfe\x9c\x9c\xeb\x46\xf0\xcd\x27\xe5\xa1\x59\x18\xbd\xf3\x5c\x37\x4a\x74"
      "\x8a\x73\x58\xef\x54\x0c\x1b\xbb\xbb\x1c\x5c\x7c\x52\x41\x83\x9a\x4c\x48"
      "\x96\x88\x45\x7d\x73\x16\x39\xb8\x9d\xde\xfa\x77\xf6\x91\x78\xed\x38\x4b"
      "\x24\x1e\xba\xdf\xf3\xc2\x3c\x11\xf6\x59\x4e\x32\x2f\xf6\x1e\x87\x6f\xdc"
      "\xc2\xc5\x47\x49\x98\x03\x79\x96\x2f\x4e\x27\x55\xbc\x62\xd4\xa5\xa2\x1b"
      "\xec\x5d\x9e\x4c\xa0\x57\xfe\xa5\x40\xf5\xe6\x0f\xfb\xb4\x5d\xc7\xd7\x8f"
      "\x19\x22\x8c\x47\x84\xbb\x9b\x11\xe0\x52\xb0\x89\x5e\x31\xf4\x87\xce\x16"
      "\x1f\xf9\xd9\x42\xbd\x48\x92\xf7\xd9\xa1\x89\xee\x5f\xb9\xc0\x8c\x58\x02"
      "\x07\x35\x86\xba\x75\x37\xad\x78\x36\xd5\xa9\xee\xac\x8a\xa7\x8b\x65\x54"
      "\x4c\x53\xad\xe4\x6e\xe3\xc6\x22\x78\xdc\x45\x0f\xcf\x0b\x0e\x9e\xe9\x98"
      "\x0a\x05\xbf\x3a\xe1\xc4\xed\xe8\xd9\xfc\x6d\xa0\xb5\xdd\xc4\xfd\x53\x70"
      "\x62\x60\xaa\x61\x54\x1d\x3b\xb6\xb6\x84\x81\x23\x54\x5c\x30\xd5\x6b\xb3"
      "\x34\xe5\x91\xee\x56\x68\x66\xde\x9a\x52\xab\x44\x99\x8c\x41\x29\x5f\x81"
      "\xac\xd5\x6e\x49\xac\x53\x60\xed\x32\x7e\xe2\x9a\x3c\x29\x76\xb4\x98\x3d"
      "\x33\xb7\x1c\x42\xbb\xe4\xea\xa7\x03\x5f\x6e\x6e\xc4\xf0\xcc\x85\x57\x1f"
      "\xb4\x91\xa2\xbf\x77\x86\x67\xa0\x7c\x21\xfb\x26\xef\xc7\xb9\x8c\xfc\x60"
      "\x1d\x89\xde\x42\x86\x6b\xe9\x10\x31\x81\x91\x96\x80\x6f\x63\x4f\x0a\xc9"
      "\xf6\x0f\xa5\x8c\x76\x49\x1d\x69\x7e\xdd\x59\x39\x5a\xd2\x4f\x4f\x02\x6d"
      "\x2e\xe3\xc5\xb2\x5f\xa1\x04\xb5\xaf\xf8\x9f\x31\x8f\xf6\x4c\x5f\x3f\x8c"
      "\xc7\x64\xec\x68\x7e\x2a\x19\x5a\x93\xa3\xad\xba\x34\xdc\xbc\xd2\x18\x88"
      "\x13\x67\x97\xed\x3b\x7c\x13\x62\x68\x56\x43\x8b\x76\xc0\xff\x4f\xff\x81"
      "\x89\xc7\x89\xe5\xd9\x2c\xc9\x1d\x61\x11\xee\x33\x4a\x3e\x0c\x1b\x67\x8c"
      "\x73\xff\x68\x66\x52\xfc\xa2\xf8\xc8\x8e\x38\xaa\xa9\xc6\x00\xff\xb7\x73"
      "\x6a\xba\x4c\xcf\x36\xc5\x59\xff\x93\x8e\x28\xb9\x34\x73\xaf\xa1\xc1\xd7"
      "\xbb\x99\x90\x4e\x0e\x1c\xcb\x7c\xbc\xd8\xff\x32\xf5\x0c\xeb\x76\xed\xe4"
      "\x2b\x5d\x66\xc9\xa4\xaa\xf2\x63\xe5\x08\xcc\x4b\xfd\xe6\xfb\xd3\x5a\x05"
      "\xb2\x99\xfc\xfc\xb1\x95\xc7\xbf\xa9\x6d\xc4\xe2\x08\xe7\x4d\x67\x03\xd2"
      "\x09\x87\xa2\x5e\xfb\x05\xc9\xbd\xe7\x56\xff\xcf\xbb\x8f\x47\x3e\xff\xbf"
      "\xf4\x85\x3a\xcf\x2d\x87\xaf\x95\xc8\xa9\xde\x14\x3d\x1f\xd8\xfa\x68\xe7"
      "\x92\x75\xab\x4a\xc4\x6e\xc5\xd6\xa4\x45\x24\xd3\x29\x10\x13\x07\x6d\xdc"
      "\x24\x57\x78\x9c\xf4\x73\xce\x31\x0b\x73\x6c\x63\x05\x7b\x29\xe6\x0a\x8f"
      "\x93\x6e\xaf\x10\x38\xb1\xfb\xfb\x46\x6f\xe4\xab\x5b\xcc\x56\x59\xa8\xd9"
      "\xee\xe5\xff\xca\xfb\x2b\x84\xbf\xcc\xb6\x7c\x65\xfd\xb2\xb4\x29\x96\x39"
      "\xcd\xbd\x1c\x49\x6b\xaa\x93\xe4\xbb\x30\x13\x87\xf9\x51\x62\x97\xef\x93"
      "\x68\x45\xcb\x86\x6b\x51\xed\x1d\xb6\x23\x53\x9c\xbf\x79\x32\x4c\xf6\x75"
      "\x8d\x42\x42\xb3\x21\x14\x6b\x46\x57\x28\xba\xb1\x5a\x7a\xb3\x1e\xc8\x0e"
      "\xba\xef\x9a\xe8\xc2\xeb\x50\x73\xf2\xd4\x82\xa4\xb5\xf0\xec\x1b\x9e\x25"
      "\x0d\x7d\x70\x8f\xa0\x6a\xce\xb5\xbc\xf8\xc0\x92\x9f\xcc\x7c\xeb\xda\xce"
      "\x70\xc1\x73\x15\x94\x8f\x40\x47\x85\x7e\xf5\xe2\x99\x16\x23\x7e\x8b\x33"
      "\x65\x21\xf5\xef\xcb\x6f\x6d\x99\x99\xf5\xd2\xb2\x06\x14\xc1\xd5\x71\x38"
      "\xc9\xf3\xaf\x7c\x1d\xac\x15\xad\xb8\x09\xdc\xbe\x2d\x58\xc7\xac\xb9\x45"
      "\xad\x5e\x7d\x8b\xca\xf7\x5d\x26\xa0\xfb\x12\x4c\x74\x1d\xc7\x67\xd9\x98"
      "\xb9\x54\x15\xf6\x19\x51\x9d\x5b\xf5\xbd\x75\x7a\x8b\x63\x75\x03\x1d\xea"
      "\x7f\xa7\x45\x9b\x75\xef\x9f\x35\xa7\x4c\x7b\x53\x76\x73\xca\x6f\x7e\x22"
      "\xd2\x8c\xb1\xe0\x34\x20\x26\x4d\x46\xfb\xe0\x95\x84\xf6\xb9\x85\xa5\x07"
      "\xe3\x31\x4a\xfc\xa6\x4e\x49\x2a\xc5\xb6\x07\x3d\xef\xc5\x5c\x43\xd3\x8f"
      "\x29\x34\xdd\xe9\x26\x3f\xe3\x43\x5c\xe6\xb5\x64\x95\xaf\x8a\x9b\xcd\x8d"
      "\x02\xb4\xeb\xb3\x35\x4f\x50\xd2\x7f\x9b\xa4\x95\x35\xf4\xbb\x10\xb5\xff"
      "\x62\xa3\xe7\x9a\x65\xcf\x7c\x7c\xaa\x21\xcd\xa2\xb1\x34\xa5\x36\x75\xe7"
      "\xa0\x41\x7e\xf6\xc8\x1c\xbf\x89\xa3\xcc\x53\xe3\xc9\x4f\x57\xd2\x76\xd1"
      "\x90\x4f\x8c\xa9\xc8\xcb\xf1\xd9\xd5\xa8\x0f\x26\x74\x9b\x6b\x8e\x0c\x9e"
      "\x4d\x2a\x5e\x17\x57\xdc\x7c\x49\x73\xed\xb1\x4b\x30\x5b\x92\x10\x8c\x59"
      "\x33\x78\x33\xe1\x26\xe6\x35\x32\x81\xde\xfe\x4d\xcf\x2f\xa3\xf4\xb1\xe6"
      "\x67\xec\xd3\x07\x6d\x1a\xb1\x16\xa9\xfb\x0d\x1a\xa5\xd2\x11\x46\xc2\xb2"
      "\x34\xc4\xfb\xc7\xa2\x99\x1b\x57\x5a\xc4\x3c\x18\x3d\x1d\x45\x91\x26\xba"
      "\xe2\xd5\xe6\x95\xde\x2e\x45\x6e\xf1\xe1\x87\x5c\x09\x01\xbb\xa7\x95\xf4"
      "\x73\x7c\x6a\xed\x52\x4a\x7f\xb0\xd7\xb6\xc4\x51\x35\x17\x59\xc7\x12\xb7"
      "\x26\x2c\x6f\x89\x78\x2b\x89\x2d\xca\xfb\x9e\xb1\xfe\x0c\xf8\xc3\x6e\xdf"
      "\xee\x9e\x59\x1e\xb3\x5f\x94\x6d\x69\x24\xcd\xbf\xab\xb0\x41\x24\xac\x8b"
      "\xfc\x53\x3f\x70\x79\x22\xed\x8c\xbc\x88\x00\x7d\xdc\x89\x57\x9f\x62\x10"
      "\xa3\x4a\x02\x0f\x2b\xfc\x4d\x70\xf2\xf3\xd5\x63\x8a\xdd\x4a\x27\x23\x2e"
      "\x1a\xc4\x00\xcc\x05\x5b\x51\xcf\x7a\x67\x2c\xb5\xed\x56\x07\x5c\xf2\x50"
      "\x8d\x80\xe7\x47\x9a\xbb\xe5\x4d\xf2\xf7\x09\xb4\x7e\xd6\x1d\x4b\xa4\xe9"
      "\x1d\x2d\xbb\x2d\xae\x29\x1f\x8b\x30\x6a\xf8\x1f\x3c\xc0\x66\xb9\xc7\x61"
      "\x50\x4e\xc5\x18\xff\xa2\xb0\x48\x9b\xbb\xf7\xc9\xf1\xeb\x7f\xa3\xf3\x7f"
      "\x17\xd2\x6a\x33\x84\xae\x88\x25\xea\xfb\xb7\x2b\x63\x33\x0b\x6a\xd8\xa2"
      "\xb8\x74\x9e\xe3\x7f\xf9\xd2\x55\xdf\x8b\xf0\xa2\xc5\x0f\x35\x0b\x6f\x73"
      "\xa4\x6c\x2f\xde\xd3\xfc\x41\x04\x9e\x57\x8f\x07\x56\x6f\x48\x63\x46\x64"
      "\xf6\x95\x53\x09\x31\x2b\xe1\x63\x6b\x0b\x46\xbe\xbc\xb2\x81\xe2\x7a\xeb"
      "\x13\xbe\x6b\xe3\x19\x49\xd2\xe8\x07\x3f\x3f\x6b\xd1\x3f\xa0\x3e\x49\xe7"
      "\xd7\x7f\x3b\xff\xe1\xdd\xbf\x2a\x0a\x5c\x99\x2a\xbf\x74\x9a\x5c\x9d\xf7"
      "\xec\xf6\xed\xb1\xb1\xac\xba\x3e\xd4\x0e\x8a\x9a\x59\xcf\xde\x6c\xfe\x54"
      "\xca\xff\x15\x5c\xa7\xf2\xa5\xc3\xa5\x6b\xeb\x74\x30\x87\xe7\xbd\x55\x46"
      "\xd0\x05\x7a\x9e\xca\xb1\x0c\x57\x68\x84\xe7\x0c\x82\x8e\xca\xfa\x54\x27"
      "\x07\x9e\x50\xca\x15\x59\x61\xc8\x39\x11\xcf\x79\x55\x3d\x81\xce\x90\x87"
      "\xbb\xfc\xef\xed\x1b\xbb\x71\x56\xf9\x57\xb8\xfe\x62\x2b\x85\x49\xb7\x25"
      "\x62\x6d\x03\xdb\xa2\x1f\x6c\x35\x91\x2f\xa2\x5f\x9b\x26\x0d\x07\x3c\x1b"
      "\x93\xc7\x8d\x9a\x5e\x0d\x68\xa9\x9d\xdb\x91\xa7\x10\x43\xb3\x45\x2f\xf0"
      "\xac\xec\x76\x7f\xe1\xe1\x45\xba\x75\xf7\x8a\xd9\x4d\xf6\x4b\x32\x67\x24"
      "\x7f\x2b\x3a\x76\x21\x3e\x55\x63\x58\x70\x1b\x4b\xef\x7d\x47\xee\x09\xa3"
      "\xb7\x6b\x02\xad\xbb\x1b\x0d\x03\xf6\xda\x62\x4c\xc4\xdf\xdf\x7f\xaa\x58"
      "\x9a\x7d\x6c\x4c\xf2\x15\xb3\x8b\x10\x31\x2e\xa3\x5c\x2e\xe3\x93\x3e\x50"
      "\x30\xd6\x1c\x35\xa0\x26\xc7\x0b\xfa\xb8\x3f\x5a\xb0\xde\x7d\xaa\xce\x6e"
      "\x9e\x87\xe8\xa4\x21\xa5\xad\x56\xa7\xa3\xb3\xb0\xe9\x10\x81\xa7\x7c\x96"
      "\xa2\xee\x59\xf8\x86\xee\x3a\xec\xb8\xe4\xc9\xbf\x07\x55\x52\x97\xca\xaa"
      "\xe2\xcf\xd1\x0b\x8d\xa8\x1f\xcb\xaf\x53\xb4\x4c\xb9\x0e\xa1\xb7\xa7\xa2"
      "\x6f\x44\xbc\x44\x8e\x36\x60\x17\xba\x22\xd9\x49\x2d\x60\xb9\x39\x3f\x2d"
      "\x20\x0b\xd4\x59\x49\xa5\xb8\x6e\xd0\x61\x92\x67\xbb\x50\xaa\x88\x8d\x40"
      "\xc8\xd6\xef\xd7\x60\xac\x48\x8f\x2f\xdf\x91\xf0\xf3\xa0\x3a\x52\x47\x3a"
      "\xa0\x3f\x44\x9d\xb8\x94\x70\xaa\xe5\x20\x1c\x6f\xa6\x58\x10\x6e\xfd\x8f"
      "\xf1\xed\x3a\x4f\x04\xd1\x07\xdf\xb8\xa4\x9d\xe2\x0d\xff\xe2\xe1\xe9\xc7"
      "\x82\xc2\xcb\x19\x13\x1d\x25\xc1\xa1\xea\xce\xdf\xbe\x3c\x7b\xf9\x9f\x2e"
      "\x0e\xd7\x16\xc2\x8f\xa0\x25\xb2\x31\x66\xa6\xaf\x7c\x81\x31\xb9\xef\x23"
      "\x1b\x91\x66\xdf\x4a\x9c\xd9\xb4\x56\x84\xa7\xe0\x0e\x5e\x6e\x5c\xf7\x56"
      "\xb0\xe6\xd5\xa3\xa8\x70\x32\xf8\x91\xa5\xf4\xe3\xbd\xc1\xcf\xfd\x2d\x8a"
      "\x4f\xc7\x1e\xf3\xf1\xf5\x82\xb6\xbd\xc3\x47\x95\x99\x85\xf4\x66\xe2\x68"
      "\x66\x95\xf9\x80\xb7\xd7\x74\x8d\xfe\x24\xed\x18\x0b\x82\xfa\x48\x1e\x52"
      "\x35\x88\x95\x68\xf2\xb7\x2b\x15\x51\x8c\x23\x4b\x13\xbf\xba\x79\x72\xcf"
      "\xb7\xf9\x92\xcf\x30\x72\x2b\xde\x9a\x34\xf7\x7e\xde\x1a\xc0\x0e\x5d\x12"
      "\xe4\xbd\x1b\x36\x3d\xa0\xdf\x6c\x42\x8d\x52\xd7\xc8\x47\xcd\x9e\x1b\x70"
      "\x67\xb4\x1e\x3a\xe8\xe1\xbd\x7d\xfd\x3b\xa7\x6c\xec\xa1\x53\x63\xeb\xeb"
      "\x46\x65\x47\x56\x3c\x19\xba\x5b\xe5\x6f\x5a\x61\xe5\xde\x44\x13\xb3\x32"
      "\x19\x25\x41\x01\xd2\x74\x86\xba\xd4\x13\x5b\x91\xa4\x2b\x2f\x52\xb7\xab"
      "\xa6\xcd\xb6\x1d\x57\xe9\x17\xea\x86\x0e\x38\x22\x16\x6b\x8e\x2f\x62\xc5"
      "\x56\xdd\x6e\xdb\xa9\xcd\x18\xd7\x2e\xe5\x52\x4e\x74\x90\x82\x15\xf6\x1a"
      "\xcb\xda\xc9\xeb\xfd\xbe\xe3\x93\xda\x93\xbc\xac\x9d\x4b\x51\xb4\x50\xe1"
      "\xfe\x4c\xf5\x54\x30\xee\xfd\xb5\x42\x37\xb5\xe4\x02\xc7\xfc\x90\x5a\xaa"
      "\x7b\x31\xfa\x67\x2c\x16\x0e\x95\xaf\x69\x08\x35\xae\x27\x73\x16\xe9\x3f"
      "\x93\x33\xb2\x26\x86\x24\x56\xde\x10\xfa\xa6\x77\x9a\x3b\xd4\x2f\xa2\xa0"
      "\xb1\xa9\x8c\x5a\x08\x30\xa1\x18\x08\xca\x39\xd4\x38\xc8\x20\x6e\x5a\x27"
      "\x8d\x87\x04\x19\xd9\x27\xbf\xac\x8c\x1e\x62\x7a\x24\x2d\x80\xe6\xf9\xc6"
      "\x2b\x4b\xf4\xd6\xd1\x2d\xf0\x39\x65\xa8\xc7\xab\x89\xdc\xf7\x98\x8a\x6b"
      "\xfa\x92\x05\x21\x54\xa1\xec\x6c\x6f\x2d\x5e\x29\x49\xdd\xd2\x55\xab\x7d"
      "\x11\xc7\xb3\x7c\x51\xb3\x85\xd7\xae\x3c\x2f\xef\xf2\x4d\xd0\xc6\x61\xdc"
      "\x36\xaa\x8f\xcc\x85\xf4\x8b\x17\x83\xf4\xf3\x53\x8d\xdb\x7a\xf1\xe6\x69"
      "\x36\x82\x89\x11\x6a\xec\x25\x9a\x57\xb8\xc1\x7c\xb5\xa2\xfe\xfc\x61\xac"
      "\x1e\x04\x57\x4f\x35\x46\x43\xbc\xb9\xd8\x55\xa2\xaf\xd5\x2a\xce\x8d\x1f"
      "\x2a\xb0\xa8\xd1\x5d\x1a\xa7\xac\xbf\xa4\x9e\xb1\x0b\x8d\xba\x1a\x96\x91"
      "\x17\xc9\x6a\x13\xe6\xcf\xb2\xc4\x48\xb1\x32\xce\x70\xe6\x9f\xcb\xe7\x1c"
      "\x2c\x73\x9a\xd7\x94\xb3\x33\x4b\x15\x4c\x75\x8a\xa9\x92\x45\xb9\x92\xf0"
      "\xc4\x53\xbd\x21\xf2\xac\x41\x58\x4a\xf8\x87\x7c\xf5\x5b\x6a\xec\x2d\x9d"
      "\x2e\x2d\xfe\xe0\x28\xaa\x85\x90\x0e\x93\xfe\xca\x58\xd1\x9a\xd2\xbd\x7f"
      "\x5e\x24\xc2\x7c\x01\xca\xee\x7f\x36\xee\x54\x69\xcd\x2e\xed\xd5\x04\x3a"
      "\x25\x09\xf4\x5a\xcc\x44\x07\xc4\x6a\x87\xec\xf5\xe8\xd1\xd4\x5e\x8b\x73"
      "\x12\x32\xc3\x3a\x98\x6d\x5a\x8c\x13\xea\xd8\xe2\x58\xf5\xdd\xfd\x39\x79"
      "\x5d\x02\x15\x6e\xb7\xef\x31\x2a\xba\xae\xe8\x8d\xdc\x5f\x94\xfa\xaa\x55"
      "\xf0\xf9\x63\xff\x29\x2b\xc2\x1c\x0d\xcc\xfe\xcb\xef\x91\x92\xb9\x45\xed"
      "\x4d\x6c\xc0\xad\x50\xc3\xf8\xf8\x87\x19\x02\xd2\x70\x70\xce\x1a\x2b\x33"
      "\x9a\x23\x47\x9e\x75\x90\x3c\x72\x27\x86\x91\xf8\x0f\xe9\x74\x93\x14\xa7"
      "\xe0\x99\x07\xf1\x56\x23\x23\x63\x4a\x63\xcf\x93\x55\x33\x87\xec\xc8\x3f"
      "\x1b\xb8\x61\x3e\xf8\x3c\x17\xa8\x6a\x93\x6a\x96\xf5\x03\xc1\xfa\xc6\xa4"
      "\x31\x10\xdf\x3f\xbf\x24\x80\xf2\xca\x26\x4d\xe9\x45\xe1\xc8\x71\xa0\xcd"
      "\x0b\xfe\x6f\xc9\x42\x47\x81\xfb\xf7\x83\xa3\xc8\xfa\x4b\x2f\x11\xa3\x93"
      "\x6a\x67\x5e\x16\x4c\x4d\x5d\xec\xf1\x23\xf2\x91\x98\x9c\xa6\x7d\x70\x3e"
      "\x6c\xf9\xa9\x2e\xe1\x2f\x4b\x27\x3f\x76\x4c\xf7\xb3\xc4\x8c\x79\xf7\xe5"
      "\xb0\x73\x1c\xa9\xb7\x98\x8c\x5f\xdc\x37\x39\xa9\xd5\x94\x6f\xf4\x71\x58"
      "\xb9\xb1\xfc\xa1\xf8\x9c\x69\xc9\xf2\xc1\x92\x38\xc3\x3e\x21\x33\x06\xce"
      "\xcc\x3f\x83\x27\xcb\x56\x8c\x91\x53\xd5\x65\x53\xd7\x6a\x74\xc3\x54\xec"
      "\x28\xaf\x1f\xd6\x23\x06\x65\x9a\xc9\x6f\x99\x26\xa0\x8d\xa3\x14\xbc\x88"
      "\xe9\x5a\xc3\x22\xae\xbf\xee\xfa\x6b\x6d\x22\x19\x6e\x2f\x61\x2e\xf4\x0d"
      "\x8d\x0f\xd1\x6b\x15\x93\x15\x95\xe7\x81\xb3\x7c\x60\x96\x60\x4e\x67\xe0"
      "\xab\x96\xcc\x39\xdf\x0a\xd1\xbf\xf7\xc8\x95\x0f\x72\x1b\x42\x72\x4b\xaa"
      "\x6a\xbc\x45\x51\x18\xbe\x11\x5e\xff\x49\xd8\x94\x9d\x3a\xd5\x68\x55\x29"
      "\x5a\xa5\x7b\xa4\x35\x34\x55\xc8\x57\x37\xb0\xa4\x49\x3e\x8e\xf5\x01\x3f"
      "\xa8\xb3\xe6\x87\xf7\x99\xff\xa0\x02\xd3\xc6\x43\x63\x6a\xf2\x11\x83\x69"
      "\x6e\xa5\xe0\x0c\xf1\xd5\xa8\x3c\x2e\xdc\xaf\xd7\xc1\x24\x67\x88\xed\xbc"
      "\x78\x39\x91\xce\x93\x98\xdd\x5c\x7b\x09\xdb\xc9\x41\x86\x81\x0d\x05\xb5"
      "\x3d\x89\x21\x24\x13\xb7\x4b\x32\x09\x57\x0a\x73\xde\xf8\x57\x04\x6c\xf8"
      "\x97\x6c\xa7\xb8\x0c\xe1\x04\x69\x37\x63\xcc\x2f\x9e\xbd\xa5\xce\x97\xd8"
      "\xa2\x3d\xb4\xe2\xbd\x35\x4a\xc7\x1b\x96\x78\x5c\xd5\x73\x26\x66\x1b\x14"
      "\x74\xe5\x95\xf9\x95\x16\xbb\xc5\xef\xe9\x81\x20\x07\x8d\xaa\xfe\xfe\x7e"
      "\x6b\x97\xc1\xf0\x40\xcc\xdc\x89\xbe\x63\xd9\x04\x2b\x16\x7a\xd4\x13\x94"
      "\xaf\x7d\x0a\x44\xa6\x01\xb7\x4f\xba\xa4\x06\x6b\x4d\xbb\x9e\xfa\xf2\x37"
      "\xe4\xa5\x9a\x86\x1d\xea\x5d\x9a\xdb\x4b\xcb\x29\x12\xfe\x2c\x42\xa0\xe0"
      "\xac\x27\x73\x9b\xa4\x33\x23\xb1\x6d\x8a\x12\xa8\xbd\x38\xb4\xfb\x3c\x29"
      "\x75\x40\xf4\xd3\x94\x44\x9f\x99\xf4\x37\xa5\x7c\x1c\x93\xc3\xcf\x85\xd3"
      "\x49\xee\x0c\xe5\x2a\x8a\x86\x27\xfb\xff\xc5\xb2\x84\xee\x59\x2e\x4d\xad"
      "\x7e\x79\x87\xab\xa5\xbe\x89\x28\x2c\xad\x66\xab\xd0\x4b\xaa\x42\x49\xf3"
      "\xee\x31\x7a\x4e\x74\xbf\x5d\x57\x81\xf2\xdc\xd2\xd9\x3d\xeb\xd0\xf7\x8a"
      "\x6f\x77\x05\x0e\xad\x1d\x68\xee\xf4\x78\x3c\x69\x77\xbb\x4c\xd9\x2c\xe1"
      "\x36\x36\x21\xb3\x82\x38\x87\x3a\x3a\x77\x9f\xdd\x4a\x5e\x89\xe7\x1e\x89"
      "\xd5\x1c\x06\x0e\xfa\x75\x2f\xe2\x46\x0c\xff\x75\x6d\x8c\xa7\x68\xe8\x75"
      "\xda\x4b\x71\x4f\x8b\x1f\xd2\x44\x8e\x6c\x4b\x66\x65\x26\x75\x30\x7f\x9e"
      "\x1f\x85\xde\xb4\xc7\xf8\x5c\x8f\xa7\x6f\x9a\x71\x6b\xfe\x82\xc3\x0f\x5f"
      "\x7e\xe4\x45\xc1\x8a\x3f\x92\xfa\xd0\xf2\x95\xfd\xdb\x68\xff\xe0\x24\xb9"
      "\xb1\xb2\xfd\x45\xcb\xfd\x15\x8d\xb7\x5e\x37\xe9\xa1\x82\x2d\x8d\xdc\x06"
      "\xcc\x1e\xc2\x18\x2f\x8b\xde\xc4\xaa\xbe\x27\xd4\x1f\x55\xb5\xe8\xf3\xf8"
      "\x85\xda\x27\xf3\xef\x7a\xd6\xcf\xb0\xcf\x27\xb0\x21\xe8\x0c\xf1\x33\xd9"
      "\xae\x70\xee\x8b\x79\x99\x46\xdc\x3b\x21\x0a\xd4\xde\x55\xe7\xfc\x46\x1e"
      "\xa7\x10\x05\x53\xb2\x68\x39\x44\x3c\x42\x61\x9b\x71\xff\x6f\x97\x41\x93"
      "\x6a\x78\x9d\x34\x2f\x32\xab\xb8\xc5\x5d\xc2\xd0\xb2\xca\x30\xe8\x2c\x4f"
      "\xa5\x4d\x5f\x45\xd1\x66\x13\xbc\x5a\x9b\x76\xad\xd3\xef\x2b\x29\xaa\x17"
      "\x68\x42\xa6\x4e\x44\x28\x54\x90\xd0\x6a\xfd\x90\x2e\x87\xa6\xe0\xdc\x41"
      "\x68\x1e\xfa\x51\x7b\xee\x06\x0d\x5b\x74\xd6\x87\xea\xf3\x4d\x8f\x14\x5b"
      "\xf4\x17\xf5\x37\x7d\xbb\xf6\x2b\xdb\x8b\x85\x97\xe8\xcb\x8b\x32\xc2\x9e"
      "\xfe\xa6\x28\x25\x74\x4d\x62\x59\xe5\xb6\x56\x6f\x4d\x4d\x67\x4f\x45\x5c"
      "\xb8\x56\x52\x6a\x71\xe2\x6e\x15\xd5\xa8\x78\x5b\xb4\xf5\x5c\x18\x68\x42"
      "\x08\x87\xdf\xfe\x9b\xee\xc8\xef\x30\x7b\xeb\xea\x12\x8e\x8c\xa0\xf9\xcc"
      "\xa9\xd2\xa7\x5d\x0f\x6b\x95\x2f\xa6\x62\x02\x67\x35\xec\xea\x5c\xb9\x16"
      "\xab\xdc\xa9\x37\xf1\x89\xfc\xc8\x88\xd8\x34\x6d\x17\x52\xc2\xf5\x93\x95"
      "\xb1\x4e\xf4\x12\x45\x1a\xc6\x7e\x36\x0c\x12\x21\xcd\xce\x64\x67\x4a\xa2"
      "\x85\xcc\xf4\xdc\x29\x63\x7d\x2e\x7e\xf7\xe6\xc2\x24\x7e\x44\x45\x83\x9a"
      "\xf5\xc7\x82\x7f\x5f\xae\x11\x20\x3e\x4d\xef\x7d\x50\x65\x3c\x17\x39\xa9"
      "\x82\x64\xbf\xff\x77\x4d\xcd\x6f\x46\x5a\x61\xaa\x27\x92\xe8\x17\xf9\xe2"
      "\x97\xf1\xc6\x07\x09\xfc\xda\x7d\x83\xc9\xbf\x32\x91\xf0\xc8\xd3\xc3\x47"
      "\xc3\x8a\x7c\x32\x56\x26\x13\xb9\xf8\x6d\xca\x4a\x7f\x4a\x64\x1c\x7f\xb0"
      "\x59\x8c\xf9\xfd\xfd\xfd\xda\x06\x3a\x0e\x0f\x43\x26\x76\x64\xd7\xc4\xc4"
      "\xec\x67\x95\xef\xc7\xb9\x7c\x47\xbf\x6f\xb9\x51\x5b\xae\xfa\x74\x4f\x5a"
      "\x91\x33\xab\xc4\x07\xfe\xe9\x69\xb9\x34\x50\xb8\x7c\xab\xfe\xcb\xe1\xd5"
      "\x2f\x64\xb5\x70\x87\x94\x75\x4f\x66\xba\x20\xea\x5c\xc5\xcc\x10\x64\xf4"
      "\xa8\x77\xa2\xad\x50\xdf\xd8\x56\xf4\xf0\xa3\x2e\xf5\x99\xac\x09\xc7\x41"
      "\x25\xab\x6a\xb6\xe3\xa8\xd7\xaf\xb8\x7f\x9b\xd3\x7d\xbe\xbe\x3c\xcb\x3b"
      "\xe3\xcf\x08\x78\x83\x69\x9e\x6d\xcd\xf1\xf8\xa6\x14\xfd\x35\xef\x31\x33"
      "\xd9\x5b\x66\xbe\xff\xee\xf2\x83\xf2\x11\xf5\xb1\xa1\x6e\xb8\x2c\xdb\x21"
      "\xd6\x12\x96\x5a\x69\xed\x93\x09\x53\x1c\xd1\xc9\x9d\x9f\x2c\x01\x44\x37"
      "\x14\xb5\xa7\x3b\x4e\x39\x69\x7f\xcb\xd8\xd1\x39\xdb\x17\x9c\xf1\x25\x5c"
      "\x44\x55\xc9\x30\xa7\x77\x8d\x5d\x6f\x31\x89\xcc\x6c\x8a\x32\x8c\xca\x68"
      "\x0c\xc2\x63\x06\x44\x70\xd6\xef\x92\xdf\x6a\x87\xfd\x9a\x60\x5b\xe5\xee"
      "\x28\xd3\x17\x0a\x94\xe4\xc4\x53\x08\x7c\x12\x9e\x93\x49\x52\x51\xe0\x24"
      "\xd3\xbd\x5a\x37\xe1\x4b\x23\x95\xb3\xe7\x7a\xf1\xd9\x71\xdd\xc2\x2e\xb1"
      "\x7d\x3c\x8f\x59\x6b\xf6\x5d\x83\x4a\xd0\x95\xb0\xcc\xc8\x59\x29\xc1\x9a"
      "\xf6\xee\x3c\xfb\x3b\x6b\x0c\x9a\x2b\xf2\x26\xee\x6a\xd7\x41\x9a\x33\xd6"
      "\xc3\x6c\x75\xfe\x5f\x1c\x59\xfc\xcd\xf4\x93\x5c\xa7\x4c\xc9\x6d\x7d\xe7"
      "\xfa\xe2\xa9\xa5\x5f\x6a\x34\x4f\x65\xf7\xab\xf2\x27\x63\x68\x51\x90\x46"
      "\xa8\xba\x2b\x94\xd7\x5d\x82\x5d\xca\xbe\xc9\xd6\xb8\x47\xb1\x98\x74\x1b"
      "\xbd\x61\x65\xc7\xf8\x6f\x05\xd7\xa0\xc6\x0f\x9b\xc5\xad\x5c\x95\x96\x29"
      "\xfd\xb0\x6f\xd8\x77\xb6\x47\x71\xc0\x86\xf3\xe8\x32\x93\x39\x9e\xea\x8f"
      "\xa9\xf8\xb2\x19\xd7\x7b\xee\x21\xc4\x2a\xc2\x6a\x07\xdf\x89\xab\x6c\x51"
      "\xdc\xf0\x88\xcf\xd6\x0b\x1a\xc8\xec\x8c\x8a\xac\xfe\xfd\x81\xaa\xe6\x87"
      "\x24\x9d\x25\x86\xc3\xae\xe1\x37\x9d\x13\x9e\x5d\xe6\xc7\xb1\x81\xff\x65"
      "\x52\x88\x9f\xc6\xa7\xfb\x29\x57\xfc\x0b\xa8\xb6\x2c\x0e\x4f\x14\x42\x1b"
      "\xad\x20\x0b\x1c\x6a\xd7\xee\xcd\xb9\xe8\xdb\x91\xdf\xdc\x1b\xce\x0b\x7f"
      "\xfb\x61\xa5\x81\x47\x1f\xc7\xfc\x41\xc3\x75\x70\xb4\xd1\xbe\xd3\x74\x2f"
      "\x13\x6b\x03\xe9\xd7\xcc\x7f\x67\x84\x2a\xfd\x97\x56\x04\xc4\xc2\x5e\xa3"
      "\x19\x1b\xe5\x5a\xaf\xbe\x93\x62\xb2\xc7\x26\x11\x5c\xcb\x8c\x2f\x56\x04"
      "\xa4\x55\x5f\x8d\x77\xf9\x27\xbf\xf6\x10\x89\xef\x59\x26\x19\x60\xfc\xa8"
      "\xbf\xb7\xfe\x8a\xff\xc5\x6f\x2b\x07\x01\x36\x15\x57\xa2\x3b\xce\x87\x1f"
      "\x10\x3f\xca\x74\x9b\xec\x05\x14\x9e\x09\x3e\x40\x33\x0a\xd3\xc3\x9e\xe5"
      "\xed\x6d\xc0\xf3\xb1\x4a\x99\xba\xe2\xa9\x7c\xf4\x32\x8c\x1b\x67\xa1\xf3"
      "\x64\x9e\x1a\x67\x40\xfd\xee\x89\x57\xd1\x77\xcb\x83\x02\x84\x74\xa4\x0f"
      "\x37\x65\x5b\xe8\x0f\x1f\x98\x4a\x57\x64\x53\xd7\x7d\x4f\xb0\xe8\x7a\x9d"
      "\xfa\x23\x70\x3b\xdc\xdf\xa4\xf3\xbf\xe1\xf0\x3b\xd3\x6a\xfb\xca\x2f\x1d"
      "\x4f\x31\x6d\x88\x3d\xaa\x9b\x83\xdf\xb5\xc7\x2d\x08\xe9\x2c\x5c\x3f\x12"
      "\x41\xdb\xe5\xe3\x38\xa4\x89\xb4\xe5\x8f\xfb\x5a\xa2\xfe\x88\x79\xc8\xaa"
      "\x87\xa3\x60\xcd\x26\xf5\x3c\x7d\xe7\x9a\xd5\x7a\xb8\xef\xe6\x9e\xf7\x51"
      "\x4a\x86\xf1\x04\xab\x6b\x57\x29\x0d\xff\xfd\xef\xb0\x55\xa3\xbd\xbe\xf1"
      "\x4e\x36\x13\x12\x4d\x59\x2b\x2e\xce\x09\x09\xee\xb9\xd4\xde\xce\x8f\x26"
      "\x9c\xb5\x7a\x05\x23\x68\xe2\x0b\xef\x57\x2d\x91\xd7\x49\x10\xdf\xbf\x7c"
      "\xca\x2d\x32\xfa\xef\xb4\x6c\xd4\x64\xc2\x15\x87\xd2\xb2\xaf\xab\xcf\x83"
      "\xa2\x79\xc3\xc3\xa0\x46\xed\x69\xc8\x21\xe5\xbe\x48\xde\xb2\x33\xee\xc7"
      "\x0f\x63\x7d\x4d\x49\xa4\x83\xf3\x44\x48\xe3\x64\xab\xc4\x58\x7a\x05\xd1"
      "\xde\x97\x3d\x2e\x3b\xa7\x5a\x86\x4d\x53\xe6\xcf\xda\xcc\xd6\x69\x85\xbe"
      "\x28\xe3\xd5\xab\xec\x32\x6c\x04\x51\xfe\xf1\xfd\x79\xf6\x96\xb6\x1c\x3b"
      "\xa2\x39\xae\xa5\xca\x2a\x70\x45\x92\x6d\x54\x7c\xa0\x12\xdf\x6b\xf1\x93"
      "\xfd\x72\xe2\x1b\xdf\x7e\xab\x5d\x95\xa5\x0b\xec\xa6\x60\xcf\xf1\x8b\x66"
      "\xf2\xbf\x7f\xda\xbb\x45\x86\x58\x09\xdd\x49\xe6\x08\x43\x5d\x5e\x33\xcd"
      "\x3a\xc9\x12\xdb\x2c\x31\x1a\x7d\x22\x52\xd2\x90\xf7\x23\xbc\xf5\xce\xd8"
      "\x4a\x9d\xc7\xee\x8c\xa9\xcc\xdc\x8f\x49\xaa\x31\xd3\xe3\x18\x11\x0d\x3b"
      "\x6f\xad\xe8\x15\x73\xdf\xd6\xdc\x1e\xd0\xd5\xc8\x15\x5a\x5a\x45\x19\x1a"
      "\xf1\xe4\x75\x19\x20\x14\xbb\x7c\xef\x5a\x2e\xd5\x15\xd8\xc5\x58\xe9\x1b"
      "\x91\x29\xb9\x9f\x6f\x95\xaa\xf3\xa1\xef\x3f\x14\x74\xf3\xe1\x75\x12\xe3"
      "\xbd\x33\x04\x5e\xff\x6f\x01\x73\xbd\x6f\x53\xe3\xc3\x05\x10\xe6\x1c\xca"
      "\x54\xf6\x5c\x98\xde\x39\x76\x6d\x14\x1a\x4d\xa7\xf9\xf5\x38\xb6\xe6\xd6"
      "\xe5\xc4\xa9\xc9\x37\x72\xb2\x23\xc4\xbf\xa8\x7b\xf8\x8a\xfc\xec\xa1\x59"
      "\xbd\x55\xe7\x0a\xd5\x69\xfe\xca\x3b\xa6\x33\xa9\xbb\x97\x2b\x54\x18\x0a"
      "\xd5\xc6\x92\x28\x9f\xd6\xec\x89\x72\x8f\xd6\x5e\x6c\xba\x61\x58\x50\xd7"
      "\x85\x2b\xbe\xaa\x5a\xd5\xdc\x70\xaa\xd9\x19\xff\x4f\x99\xf7\xdc\x66\x27"
      "\x80\x20\x4a\xf9\x5a\x4f\xe4\xb2\xbc\x40\xb5\x52\x1a\x59\x1d\x4f\x68\x66"
      "\x34\xfc\xf1\x7e\x6b\x95\xdb\xd0\x5e\x66\xb7\x09\xa9\x03\x91\xeb\xbd\x29"
      "\xf5\xd6\xbc\x88\x4f\x98\xf9\x4a\x7d\x62\x20\x3d\xbe\xa1\x28\x2b\x1f\xfe"
      "\xd8\xcc\x8f\x8e\x43\x54\x4a\x3c\x92\x9e\xdb\xa1\xbb\x2c\xdd\x35\x4b\xbc"
      "\x16\xf3\x4e\xa5\x1b\x96\x6f\x47\xd5\x7f\x3d\x0e\x45\x6f\x24\x7e\xda\xdb"
      "\xad\xa1\x8b\xaf\x3e\x91\x3c\xdb\x94\x4c\x33\x1f\xa2\xa5\x57\xb2\x7d\x7f"
      "\x98\xa7\x7e\x81\x90\xaa\xe0\x8f\xee\xa7\x59\x8d\xff\x6d\x94\x93\xac\x50"
      "\x16\x63\xcb\x60\xc8\x2b\xe3\xf0\x8d\x61\x05\x79\x6a\xff\xe8\xe9\x07\xa2"
      "\x06\x24\xee\x13\xc7\x8e\x43\x63\x4a\x59\xaf\x3a\x01\x69\x5f\x54\xb7\xd1"
      "\xdf\xe2\x7d\xe4\x48\xd6\xe9\x69\xc5\x0f\xb1\x75\x22\xf9\x0f\x36\xd0\xe7"
      "\xd5\xe3\x19\x05\x09\x5e\xc4\x68\xc8\x23\xe5\x8d\xef\xe9\x29\x59\xfc\x6e"
      "\xb3\xd4\xd8\xe2\xb2\xa7\xa3\x64\xfe\xd1\xce\xf0\xb0\x63\x47\x2e\xca\x27"
      "\x2f\x7f\xca\x74\x4a\x52\xfd\x4e\x9f\x1e\xbd\x8c\xb9\x20\x60\x21\x18\x6b"
      "\x57\x36\xd4\x2a\x3f\x24\x9b\x70\x77\xd2\x7f\x60\x4e\x1b\x87\x22\x20\xf7"
      "\x30\x3a\xab\x37\xa9\xf8\xc3\xa7\xf2\x56\x4b\xa4\xa5\x93\x7d\x6f\xb9\x3a"
      "\xea\x99\xef\x27\xf4\xff\xad\xef\x7e\x3c\x46\xe9\x43\x2d\x57\x8f\x71\xbb"
      "\xee\x1d\x2e\x73\x15\xf3\x6c\xfa\x56\xf2\x5a\xcc\x52\xd9\xa0\xcb\xbe\x0d"
      "\xd5\xe0\xe2\xf7\x47\x1a\x8c\x09\x76\x5c\x57\xa4\x15\xb4\xa9\xc5\x5b\x0c"
      "\x44\xdd\x05\xf4\x6f\x54\x9d\x28\x34\xfa\x51\x5c\xe2\x4a\xd5\xa9\x6d\xf1"
      "\x09\x9f\x42\xef\x70\xf3\xe2\x03\x39\xb0\xcf\x9c\x3e\x4c\x8b\xe1\x5a\xa0"
      "\x51\xc4\xd8\xb2\x67\x8d\xb4\x14\x8f\x14\x64\xec\xa1\xcd\xbb\x9b\x11\xa4"
      "\x12\x1d\xcc\xb7\x84\x48\xa6\xcf\xbf\x2e\x6d\xc2\x6f\x1f\x44\xfb\xd0\x92"
      "\x99\x99\x41\x9a\xfb\xb1\xe0\x89\x40\x15\xfb\x9f\x4a\x1c\x43\x55\x1e\xdb"
      "\x26\xa2\x9a\xf0\xb5\x2f\x1c\x99\xc8\x0c\xf1\xc2\x3d\x02\x81\x92\x29\xdf"
      "\xd0\xb5\x67\xba\x38\xa9\xc9\xb3\x92\xe7\xf8\xc9\x44\x95\x43\x1e\xfc\xd0"
      "\xbc\x96\xe5\xf1\x7b\x88\x20\x80\xff\xd0\xf2\x2b\x92\x7f\xdb\xd7\x3c\x84"
      "\x78\x65\xd2\xd6\x1d\x91\x91\xe8\x45\x77\xd5\xb2\x70\xc7\x17\xdf\x33\x56"
      "\x06\x54\x3f\x6e\x92\x49\x5c\xbb\x68\xb0\xf5\x52\xd5\xab\x07\x08\x7c\x65"
      "\x33\x75\x4b\xa2\x5f\x6e\x93\xc9\xbb\x4f\xcf\x3e\xd6\x6b\x4f\xb6\x90\xc3"
      "\x18\x1b\x99\xce\xe4\xbd\xfe\x8e\xc1\x33\xc3\xfe\xc3\xda\x70\x2d\x35\xd0"
      "\x11\x69\xa9\xe0\x9b\xc9\xd3\x2f\xc8\x3f\x5d\xe3\x9e\x5e\x70\x6d\xfe\x66"
      "\x9c\x44\xd7\x49\x39\x7d\xac\x4d\xc1\xa9\x24\xc6\x17\xda\xa7\xdc\x76\xd9"
      "\x83\x86\x82\xef\x5d\xd5\x48\x99\xae\xaf\x7e\x3c\x95\xf9\xef\xd6\x52\x07"
      "\x6f\xbd\xa6\x9b\x07\x83\xce\xb3\x0e\x31\x47\x82\xc1\x2d\xea\x79\x7b\x8d"
      "\x8d\xf5\xc5\xdc\x8c\x08\x53\xb9\xd3\xd3\x51\x84\x04\x1b\x3f\x51\xea\x67"
      "\x52\x7e\xf9\x4b\x83\xe1\xf2\xc1\xa8\x25\xa8\x8c\x65\x08\x75\x52\xc2\x69"
      "\xe5\x3d\xf8\x6d\x15\xc7\x6c\x55\x7d\xa6\xea\x05\x27\x38\xe8\xb9\x6f\xfa"
      "\x54\x75\x57\xd0\x76\xa5\x52\xdc\xf4\xff\xa0\x0b\xf4\x84\xf0\x74\x65\x45"
      "\x92\x84\x49\x5e\x57\x10\xea\xb2\x46\x2f\x73\x34\xed\x58\x5b\xf4\x7a\x14"
      "\x3d\xf1\xea\x5e\x32\x56\x1c\x3b\x28\xfc\xb7\x1d\x64\x61\x96\x5d\xa1\x37"
      "\xf7\xaa\x68\x78\xa5\x84\x4a\xb7\x1f\xe3\xa6\xd0\x39\x96\xc9\x4f\x7b\x4d"
      "\x92\x42\x5c\xf0\x6e\x6f\xe2\xb1\x37\x97\x5b\xee\x09\xee\x7a\x02\xa6\xe7"
      "\x23\x0e\x89\xbb\xd1\xae\x6e\x69\x94\x86\x6f\x9d\xfb\x2d\x16\xbd\x25\x7c"
      "\x58\x64\x9e\xde\x65\xfa\x78\x4f\xcb\xd8\xca\x7d\x1e\x0d\xf9\x54\xca\x5e"
      "\x3d\x19\x89\x6b\xd0\xb3\x18\xde\x98\x43\xf7\x5d\x22\xc5\x72\x2c\x90\x30"
      "\x93\x8e\x90\x89\xbd\x94\xab\x40\xe3\x58\xef\xa5\x52\x0c\x79\xa7\x50\xdc"
      "\x17\x8f\xfe\xe8\x19\xe5\xb5\x62\x90\xf3\x0a\xbe\x7d\x1d\xfd\xac\x81\x31"
      "\x25\xf2\xfa\x39\xe9\x35\x89\x4e\x2c\x12\x6e\xc9\x8e\x6d\xf1\x67\x6a\x61"
      "\x77\xeb\x46\xc3\x94\xf6\x2f\x92\x75\xdc\x4d\x1d\x43\x25\xad\xea\x74\x37"
      "\xed\xb7\xd3\xcb\x03\xee\xad\xf3\xc6\xb2\xe7\xbc\xd7\x8e\xb2\x95\xe7\xba"
      "\x58\x25\xb6\xd4\x57\xf1\x66\x3f\xa7\x5e\xc7\xd2\xe4\x68\x8b\xa9\xd8\x53"
      "\xcf\x49\x66\xf8\x27\xf5\x48\xea\x55\xbf\xdf\x51\x96\xfc\x42\xdd\xf7\x5a"
      "\x63\x50\xe9\x3b\x17\x3a\xe2\xc4\x07\x3c\x73\xf9\x70\x1c\xad\x81\xd4\xa0"
      "\x1d\xd5\xb6\xac\xb0\xe7\xbe\x8e\xaa\x29\x52\x4f\x3d\xc8\xa8\x91\x3b\x82"
      "\x67\xb6\x7f\xf7\xc5\x9e\x5c\x21\x45\x1a\x79\xf9\x3e\x9f\xb5\xbf\xcc\x69"
      "\xfa\xb1\xad\x68\xf7\xf6\xe9\x9e\x55\x4d\x6b\x29\x4e\x3b\x0e\x92\x94\x13"
      "\xa2\x6f\x2b\x89\x70\x08\xe1\x21\xc6\x53\xbf\x90\x50\x4e\x0d\x4c\x23\xc9"
      "\x1f\x98\x03\x02\xa7\x2b\xd7\x01\xab\xe9\x8c\xe4\xd4\xc2\xd4\x6e\xf7\xcf"
      "\xc5\x1d\x22\x66\x36\xbe\x1a\x88\x58\xf1\x1b\x73\xab\x9e\x7e\xfc\x98\xd5"
      "\x81\xde\xf7\xe2\xeb\x5f\x1d\xc2\x91\x41\xbc\xd3\x3a\xd4\xa2\xb1\xee\x42"
      "\xa3\x94\xad\x7e\x8b\x63\xc1\x73\x5a\x7f\xf9\xc9\xcc\xa7\xcf\x3b\xa6\xdd"
      "\x0e\xb6\x5c\x6f\xd4\x37\x75\xa8\x38\xa2\x8b\xab\xe6\x71\x0a\x88\x1b\x4a"
      "\xc5\x9f\x6f\xff\xd7\x7d\x3f\x17\xa5\x17\x1d\x4e\xa9\xe6\xd9\xd8\xa0\x27"
      "\x7d\xa8\x13\x15\xa9\x84\xe5\x48\xc7\x69\xa8\x4c\x6b\xc5\x99\x2d\x98\xb1"
      "\xb2\x5f\xac\xbc\x57\xfc\x23\xb0\x75\x53\x3d\x39\xe3\x48\xd0\xe8\x67\xf0"
      "\x77\x8d\xfc\x56\x73\x69\xd9\x24\x5b\xae\x29\xf4\x8a\xf5\x6a\xf1\x64\x6d"
      "\x85\x4b\x8a\x3b\x7b\x36\xa6\xb7\xac\xaa\xa7\xc4\x84\x03\x1f\x3c\x9b\xb9"
      "\xa4\x85\xd7\x0d\x1a\x4d\x51\xf2\xad\xbb\xf8\xf6\x7c\x2c\xbd\x16\x51\x5a"
      "\x19\x8e\x30\x42\x49\x1a\xc7\x8a\x57\xa4\x11\x5d\xfd\x1e\x2d\xf9\x4b\xde"
      "\xb3\x67\x1f\x55\xd3\xbb\x1e\x86\x48\x70\xef\xef\x04\x9b\x10\x96\x54\x2a"
      "\xa1\xc5\x17\xe2\xb6\x47\xfe\xf9\xf3\xee\x0f\x39\xe2\x9b\xcd\x67\xc6\x48"
      "\x14\xea\x8e\xc6\x6c\x76\x97\x57\x25\x58\x98\x1a\x56\xbe\x5f\x9c\x8c\x8b"
      "\xd9\xab\x37\x1d\x7c\xde\x36\x89\x27\x31\x73\x8c\x9e\x55\x0a\x28\xcf\x3f"
      "\xb5\xbb\xf0\xd6\x3f\x0b\x88\x2c\x40\xb1\xe1\x72\xd5\x6f\xea\x8f\xe9\x42"
      "\xcf\x21\xb8\xed\xa1\xfe\x7d\x16\x39\xe1\x4b\xb5\x7b\x58\xec\x80\x96\x3b"
      "\x96\x90\x95\xc0\xdb\x54\xa4\x1a\x39\x25\xb1\x20\xa5\xfa\xa9\xcb\xce\xc4"
      "\xb5\x5b\x35\xb0\xb6\x1c\xbd\x66\x74\x3b\x83\x27\xd7\x20\xa3\x53\x09\xf9"
      "\xc5\xc3\x73\x97\x2f\x74\xf4\x8e\x67\x13\x07\x11\xf4\xd8\xc5\x7f\xbb\xb5"
      "\x45\x82\x67\x08\x56\x52\xe6\x85\x4b\xfe\xf2\xfc\x5e\x2a\x2c\xed\x6b\x58"
      "\x5d\x49\x4c\xc7\x18\x1a\x31\x76\x6f\xed\x14\xf7\x17\x2d\xf9\xe0\x2e\x33"
      "\x93\x57\x31\xdc\x97\xa8\x58\x77\xca\x23\x15\xaa\x42\x3c\xf4\xd8\x90\x8e"
      "\x49\x9a\xde\xc4\x78\x65\x55\x3b\xd4\x50\xe8\xea\xf9\xab\xfd\x78\x69\x4b"
      "\xcd\x5a\xed\x82\xbf\x0f\xe7\x4b\xd4\xcd\xb1\x7d\xaa\xe9\x48\x4a\xf4\x71"
      "\x7b\x46\xa2\xbd\xc9\xe2\x9f\x99\x1c\x66\x37\x6a\xde\x86\xd9\x59\x44\xe0"
      "\x2a\xbc\x16\x15\xc3\x2b\xdc\xad\xf7\xb7\xee\x35\xf6\x7d\x6b\xbd\x93\xe9"
      "\x50\xeb\x8f\xa6\x61\x2a\x54\x9e\xe4\xea\x31\x8e\xe3\x73\x3d\xd2\xe0\x23"
      "\xb5\xa3\x6a\xc3\xb3\x77\xf5\xa9\x21\x6a\xd4\x35\x51\xb1\x81\x84\x50\xcc"
      "\xc6\x11\x47\x31\xf4\xf9\x5d\xd4\xa5\xce\xf5\x2b\x4c\x6b\xba\xd2\xb2\x29"
      "\x7e\xaa\xd5\x0b\xc5\x12\x5a\x09\xb1\x5d\x4d\x96\x56\x1f\x19\x63\xce\x0c"
      "\x14\x3a\x36\x83\x7f\xe6\x6b\x2f\x1b\xdb\x9e\xba\x92\xe9\x8a\xbc\x9d\x9d"
      "\xec\x2f\x91\xb3\xbd\x23\x8a\x2e\xcc\xe1\x2c\x79\xa3\x75\x5d\xfe\xe2\x31"
      "\x71\xa6\xcd\x43\x25\xaf\xe3\xfb\x46\x14\xe2\x6e\x95\xfb\xaa\x98\x5d\xb4"
      "\xf2\x26\xa4\x97\xfc\x1b\x4c\x32\x34\x8b\x31\xa4\x37\xb7\x51\xaf\x8e\x69"
      "\xff\x66\x19\x1e\x46\x3b\x63\x3c\x9f\xd7\x0d\x42\x18\xf3\xa5\x46\x33\x9c"
      "\x18\x78\xaa\x51\xba\x34\xd4\xca\xe4\x43\x4a\xa8\xdb\xaa\xc6\x19\xf1\xf1"
      "\xa1\x38\xd9\x3a\x9e\xf1\x2c\xee\xbc\x59\x53\x70\xa4\x63\x90\x26\x85\x91"
      "\x7c\x68\x46\x6d\x79\x7b\xb4\x71\x37\xd2\xae\x09\xc6\xe4\xd8\xe3\x6a\x3a"
      "\x36\x4f\x2d\x17\x21\xda\x93\x31\x63\x1c\x6a\xd4\xf8\xb8\x40\xbd\x8d\x2f"
      "\x7e\x3f\xf7\x72\xd5\xdf\xd4\xd0\x3d\xaf\x33\x6d\x47\x66\x5c\x92\xcf\xbb"
      "\x26\x56\x3c\xd0\x0a\x98\xc5\x53\x49\x20\x4b\xee\x2f\x4a\x39\x08\x78\xe7"
      "\x37\x68\x48\xf7\x6d\xfe\xb1\x4a\x02\x13\x07\xc2\x30\xd5\xee\x9e\xa1\x95"
      "\x07\x87\x11\x26\x1a\xdf\x2f\xc6\xe4\xfe\x98\xa9\xaa\xe7\xef\x75\x2b\xb5"
      "\x76\x7b\x7a\x16\x23\x14\x08\xe7\x88\xe4\xb0\xde\xcb\x66\x9a\x54\x25\x0d"
      "\xc9\x0c\x1e\x30\x0b\x19\x69\xd3\x94\x38\x7c\xfb\xaf\x59\x2c\x43\xe9\x60"
      "\xb1\x33\x41\x78\xed\x06\x7d\xec\xfe\xe6\xfa\x58\x9b\x29\x2b\x75\xa9\x75"
      "\xfb\xdf\xb7\x7f\xe5\x1d\x7c\x5e\x27\x2d\x81\x98\x11\x72\xc7\x19\x01\xaf"
      "\x45\xbe\xa3\xcd\x7b\x4e\x28\x0e\x10\xdf\x6c\x96\x22\x68\x52\xe0\x54\x74"
      "\x2d\xae\xed\x25\xc9\xf4\x8e\x7c\x14\xb5\x30\xf2\xe9\x93\x2f\xf2\xef\xfc"
      "\x75\x1c\x65\x1c\xd1\xf5\x87\xaa\x4a\xcc\x28\x73\xf0\x30\x77\x9b\x64\xde"
      "\xfe\x09\x41\x55\xc6\x7a\xb6\xa4\xf2\x99\xcc\x92\x51\x35\xd9\x47\xbc\x81"
      "\xbf\xcc\x48\xdf\x66\x56\xf5\xf5\xee\xcf\x95\xa9\xc6\x84\x52\x04\x84\xce"
      "\x43\xf1\xb4\xf6\x67\x3e\x68\x61\x70\xb8\x14\x61\x2e\x13\x92\x12\xf3\xa2"
      "\x21\xe4\x94\xaf\xe7\x87\x06\x66\xb7\x39\x57\x7f\x25\x5b\x1e\x0a\x6c\xd8"
      "\x27\x36\x0f\xe4\x9c\x57\x7b\xb2\xa8\x54\xb2\x21\x81\xcc\xab\x46\xc5\x33"
      "\x94\x5f\x86\xa1\x9b\x92\xc4\x87\xec\x7e\x4e\x60\xbc\xbf\xcf\x41\x41\x14"
      "\xee\x37\xd5\x67\xbd\x6f\xf8\xf8\xea\xda\xfe\x46\x76\x4e\xfc\xc2\x3a\xce"
      "\x9d\xc5\x66\x08\xe9\x38\x6e\x2d\xc5\xd1\x25\x44\x7b\xe7\x0f\x15\x62\xec"
      "\xf5\x2d\xa6\xe9\x9e\x66\xc9\x54\x24\x72\xe3\xca\xc6\x92\xfb\x90\xf9\xfb"
      "\xa8\x01\x2c\xc5\x07\xdd\x7c\xff\x1e\x65\x0a\xb0\x25\xa1\x8c\x0a\x21\x10"
      "\xee\x0c\xa1\x1a\xfe\xd8\xa5\xce\x7d\xbf\x69\x4d\x90\x66\x9e\xcc\x44\xf8"
      "\xa1\xef\x10\x3d\x2f\x12\x2d\xd9\x8a\x33\x99\x24\xcc\x6a\xb1\xc3\xcb\xa1"
      "\x2a\x34\x38\x95\x33\xe4\x81\x56\x6d\x59\xd0\x22\x51\x6c\xfc\xda\x63\xc1"
      "\x5c\x87\x83\x20\xd6\xdb\x0f\x69\xdd\x8b\xf4\xc2\xdb\x98\x6e\x1d\x4d\x03"
      "\xa6\xfe\x7a\x9b\xfe\x68\xa2\x98\x1d\xa2\x94\xc7\xb9\xa2\x62\x2b\x54\xb5"
      "\x16\x22\x16\xfd\xa5\xa5\x1a\x5f\x1d\x6f\xb0\xca\x4a\xbf\x53\x1a\xb7\x19"
      "\xca\x57\xfc\xee\xb4\x26\xb0\x50\x23\x5e\x18\xfe\x8c\xf0\x30\x8c\x8b\x71"
      "\x2a\x86\x5d\xd6\x70\xf0\x03\x4e\x65\xda\x9a\x3e\x49\x40\xae\x50\x51\x55"
      "\x78\x9d\x99\x1e\x9f\x13\xb7\x5e\x98\x45\x92\xc2\xb7\xb5\x94\x9e\x77\x2b"
      "\x76\x72\xfc\xc6\xa8\x33\x2d\x1a\xc9\x9e\x59\x17\xde\xdb\x11\xf2\x7b\xe5"
      "\x65\xa7\xf9\xd8\x6d\x09\xc7\x22\x56\x1f\x8e\xbe\xb4\xeb\xec\x78\xdb\x85"
      "\xa8\xa4\xac\x93\xb4\x2f\x5f\x1d\x7b\x1b\xc5\xd6\x3c\x23\xc1\x0c\x95\x0f"
      "\x25\x1b\xc8\xf4\x5a\x62\xfd\xc3\x27\x3a\xf0\xfa\x9f\x5c\xaa\x1d\xe3\xe4"
      "\x7f\x5b\xf6\x6b\xe8\xaf\xf2\x7a\x05\x7f\xd7\x6b\x9d\x46\xac\xa3\xbc\xcf"
      "\xad\x78\x78\xba\xe1\xb6\x7d\xb2\x15\xc4\xfa\xe1\xf5\xd3\x41\x55\x2e\xfd"
      "\x5f\x25\xff\xa1\xeb\x6a\xbd\x8a\xf6\x0c\xf5\xba\xb3\x1e\x17\x3a\x11\xae"
      "\xf7\xa2\x95\x5b\xca\x45\x95\x8e\x92\xac\xf7\x32\x8d\x2a\xb8\x23\x4d\x2e"
      "\x42\x57\x70\x77\xc6\x65\x0b\xb8\x0e\x52\xe0\xcd\xd7\xe3\x9e\x18\x44\xb0"
      "\x09\x6a\xfb\xe7\xa3\x8d\xc7\xa7\xa7\x7e\x8f\xfd\x6b\xae\xdb\xe3\xe5\xef"
      "\xc9\xfb\x58\x03\x0f\x55\x2c\xd5\x83\x43\x13\x92\x08\xef\x5b\xb6\xec\x8c"
      "\x06\x5b\x6a\xcc\xcf\xaa\xb7\xf8\x9f\xb3\x8d\xd1\x6b\x4a\x44\x14\xc9\xae"
      "\x8f\xd7\x06\x38\x1f\xcd\xcb\x35\xdf\x84\xcf\xac\xff\xe4\xcd\x0b\xd6\x1b"
      "\xdb\x4f\xb8\x3e\x67\xb1\xe3\x7d\x72\x4b\x2b\x5b\x5d\x84\x73\x86\xfe\x20"
      "\x4f\x77\xfe\x71\xe8\x65\xce\x9b\x61\x4c\xff\xa7\x3f\x64\xa6\x42\xd3\x3e"
      "\x9c\xfc\x3c\x89\x63\x79\xd0\x66\xfb\x31\xcd\x4c\xe6\x2e\x26\x7c\x6b\xf4"
      "\xc6\xcd\xc4\xb0\x38\x31\x99\x30\xa8\x84\xa3\x7c\x48\x0b\xcf\x32\xa1\x88"
      "\x3c\x53\xab\x38\x6e\x65\xdc\xe9\xad\x2f\xce\xbb\xb7\xb2\x13\xf9\x63\xe4"
      "\xcc\x5d\xb7\x79\x99\x6f\x9e\x70\x0f\x27\x60\x44\xa4\x31\xd2\x7c\x66\x6f"
      "\x67\x3f\x19\xff\xf4\xe9\xa9\x09\x59\xff\x43\xd9\xa2\x99\x0a\xf9\x3f\xde"
      "\x95\x4f\x24\xa9\x0f\xdf\xb1\x9c\xd1\x3d\xf1\xff\x3b\x58\xe8\x7c\x69\x79"
      "\x5c\x43\x9c\xf7\xe8\xf7\x9b\x3b\x31\xbc\xa2\x93\xe4\x88\xdf\x2f\xe8\xb9"
      "\xb5\xde\xdb\x62\x9e\xe1\x6c\xbf\x1e\x99\x73\x78\xb2\xe8\xd8\xb6\x10\x96"
      "\x86\xed\x66\x52\xdc\xa8\x56\x7c\x36\x72\x24\x26\x20\xae\xc4\xb2\x93\x9e"
      "\x80\xb3\x6d\x4a\x39\x20\x82\x6e\xd2\x80\x90\x7d\xa7\x90\xcf\x7e\xb0\x87"
      "\xda\x7f\x80\xb6\x46\x51\xaa\x95\x10\x58\x53\x82\xbe\x66\x35\xfb\x22\xbc"
      "\x4b\x60\x2b\x28\x25\x85\xe4\xf1\x03\x5c\xd4\x6f\xbf\x0d\xf8\x11\x66\xeb"
      "\x8b\x66\x95\x23\x7f\xed\x4a\x9c\x35\x35\x16\xb4\xd2\x84\x86\x3b\xf4\x9d"
      "\xed\xbd\x27\xbe\x32\x54\x8c\x76\x13\x3c\x37\x3b\xbc\x30\xfe\xc7\xfc\x27"
      "\xc7\x74\xd6\xd7\x4c\x26\x79\x71\xbb\x39\x9a\x4e\xb4\xea\x91\x0f\x4d\x0a"
      "\xf6\x50\xd2\x1e\xb2\x71\xd6\xda\x06\x3a\x63\x34\x82\x7b\xe0\xeb\x3f\x67"
      "\x05\xbb\x7b\xe8\xfd\xa3\x17\x2b\x2f\xe3\x12\x16\x8d\xd3\xae\x8d\x5d\xf0"
      "\xcc\xc6\x7f\xb2\xb1\x20\x8f\xf5\xcf\xa4\xd7\xb8\xaf\xd5\x36\xa2\x56\x5a"
      "\xe8\xa5\x22\x9c\xda\x22\xad\xe9\xd4\x29\xb7\x68\x19\x11\x3b\x91\x0a\xff"
      "\xab\x31\x5b\x63\xfc\x9c\xab\x48\xdf\x40\xc8\xb0\xc8\xc0\xe7\xd7\x81\x8d"
      "\x99\x4c\xc5\x5b\x61\x13\xcf\x5f\xb1\x42\xde\x6b\xa8\xcc\x6c\x1a\xf7\x5c"
      "\x26\xa5\x75\x4a\x70\x90\x98\x71\xe9\x6f\xa9\xd1\x93\xd3\xda\xc0\x4f\x09"
      "\xfe\xe5\x8e\x86\x7c\xc2\x14\x82\xf3\xfe\x0c\xc1\xa6\x9d\x92\x2f\x86\x2c"
      "\x6c\xa9\xd0\x3e\xb1\x97\xe5\xeb\xf4\xcb\x4b\xb1\xe4\xb5\x5b\xca\x7e\x47"
      "\xba\xe4\x63\x70\xaa\x64\x7a\x57\x78\xd2\x52\x78\x24\x66\x6f\xbe\x41\xea"
      "\x39\xf7\xd5\x80\x1b\xb1\x76\xbc\xf8\xdb\xb0\xda\xd1\x45\xed\xca\xe4\x86"
      "\xc2\x6b\xa1\x8b\xca\x30\x09\xf4\x32\xd2\xe6\x29\x13\xf1\xdf\x3a\x8e\xe3"
      "\x73\x2c\x39\x95\x5e\xc7\x51\xe7\xfb\x0f\xf2\xbe\x30\xef\xcb\x07\xfe\x28"
      "\x4d\x7e\x7d\x8a\x98\xa8\xad\x32\x95\x2e\xff\xab\x54\xef\x49\xca\x4e\xfd"
      "\x71\x12\xae\x23\x47\x42\x93\x9f\xb6\x0e\x22\x7a\xf2\x64\xdf\x1b\xb2\x9e"
      "\xda\x0e\xfa\xdc\xda\x22\x6c\x9b\xd3\x7b\x96\xa0\xf1\xe6\x13\x6c\x8d\xbd"
      "\x35\x02\xfc\xaf\x84\xc3\x23\xe9\x3e\xcf\xda\x99\x4d\x28\x62\xc5\xdb\x57"
      "\x77\x67\x58\x4c\xe4\xc3\x5a\x7a\x1d\x1b\xb0\xfa\x3b\xe7\x50\x2f\xd2\x6b"
      "\x7f\x96\xe5\x8d\x3b\x6e\x8b\x04\xba\xfc\x78\x3a\xc7\x56\xf4\xf2\xd3\x47"
      "\x17\x74\xf3\x4a\x99\x8c\x8c\xbd\x98\x2f\x53\x12\xd7\xef\x9b\x26\x65\x54"
      "\x4c\xa7\xe8\x4a\xa6\xdf\xbc\xea\xcf\xd4\xa1\xe1\xf5\x94\x94\x15\xef\xa9"
      "\xe3\x20\x6c\x21\x9c\x75\xcc\x61\xf2\x4b\x6d\xed\x6d\x98\x3c\x64\x77\xfa"
      "\xa9\xcf\x66\xd8\x6c\x61\x3a\x2b\x38\x58\xca\x4a\xcf\x37\xf0\xc8\xd1\x60"
      "\xfc\xe5\x62\x90\x00\x76\x5d\xb4\x64\xa4\x14\xce\x74\x83\x08\xef\xa7\x1f"
      "\xaa\xf9\x4f\x2b\xce\x02\xbf\x4b\x50\x22\x78\x12\x71\xa1\x87\x5a\x57\xfe"
      "\xf8\x7a\x4d\xe5\x26\xe9\x7d\xa5\xb7\x6b\xd4\x69\x20\x89\x69\x54\xf3\xdc"
      "\xac\x69\xe2\xd9\x47\xcc\xdb\x10\xa3\x1c\x3a\x5c\xed\x57\x71\x0a\x25\xa5"
      "\xf7\x9b\x7f\x45\x46\x3c\xc8\xbf\x54\xc9\xaf\xfc\x1a\xbb\xe6\x46\x1c\x5b"
      "\x43\xf8\xfd\x80\x3d\xf9\x28\x00\x37\x60\xe7\x4b\xcd\x14\x52\x7f\x75\x3d"
      "\xaa\x3b\x33\x71\x0b\x4b\xc6\xb4\xd9\x9a\xe1\xa7\xc2\x77\x8c\x99\x7b\xe9"
      "\x5f\x03\xb2\x06\xa9\x0e\x44\x05\x4c\x04\x59\xd9\xae\xf6\xd9\x6c\x3e\xaa"
      "\x68\xf2\x21\x8d\xf2\x85\x04\xf3\x49\xe1\xc9\x6d\x67\xf7\x26\x29\x90\xa8"
      "\x6d\xff\x87\x94\xda\xe6\x76\xd2\x99\x46\xcd\xc0\xa6\x3f\xec\x1b\x7c\xd1"
      "\x85\xff\xb4\x59\xf0\x43\x25\x95\xab\xa3\xee\xf8\x35\xee\xf4\x27\x53\xf1"
      "\x9a\x5b\x24\xce\x76\xc1\xe9\x95\xe2\x0d\x11\xf6\x1a\xae\xa7\x0e\x35\x43"
      "\x1d\xfc\x4f\x66\x7b\x34\x9b\xdd\x0b\x29\xa4\x24\x4e\x4a\xd1\x09\x0c\x95"
      "\xbb\x53\x90\xd4\xfa\xad\x13\x3b\xa6\xf6\x93\x14\x6f\x5e\x7c\x1f\x7c\x50"
      "\x2c\x20\xfb\xe2\x9f\xa3\x22\x33\x36\x85\x4a\xf2\xe8\x3b\x25\x77\x33\xa1"
      "\xd3\x94\x06\x32\xe6\x67\xa5\x58\xa4\x07\x69\xf4\x55\x53\x5c\xee\xab\xe9"
      "\xc7\x95\x5a\x96\xdc\xe6\xef\xfa\x72\xa6\xf9\x8c\xd2\x3c\x6b\x17\xcd\x8a"
      "\xf9\x07\x3d\x58\x18\x55\x3c\x4d\x23\x0a\x24\xaa\xd7\x2d\x95\xbf\xd3\x2c"
      "\xc7\xe9\xba\xd5\xb8\x7c\xa7\x3e\xfa\xc8\x83\x53\x76\xae\x7f\x28\x35\x5b"
      "\xad\xf6\xe5\x7d\x52\x46\x77\xe2\x43\x01\xca\xa8\x83\xb0\xa5\x05\x44\x7b"
      "\xcb\xe3\xfa\x88\x6b\xec\x60\x56\x4b\xa1\x08\xa4\x09\xcb\xaf\x19\x4a\xff"
      "\x95\xea\xff\xe2\xf0\x1b\x21\xfe\x96\x99\xf8\xcb\x53\x36\xf3\x3b\xee\x2b"
      "\xab\xc6\x05\x4d\xac\xf6\x2f\xb2\x49\x2c\xe4\x56\xc4\x4f\xb6\xe5\x56\xd3"
      "\x09\xb9\xe4\xde\x34\x6c\x30\x12\xb8\x5a\xba\x45\xba\xef\x0a\xbc\x09\x47"
      "\x61\xc9\x90\xe1\xb3\x21\x23\x4e\x8d\x99\x4c\xb3\x78\xa3\xa5\x9f\xd6\xfa"
      "\x28\x68\xd8\x52\x11\xb5\xaa\x7f\xe9\xeb\xad\x95\xcc\x50\x9c\x34\x87\x0f"
      "\xb5\x2e\x6d\x91\xaa\xeb\x75\x06\x92\xbb\xe4\xbf\x92\xfb\x65\x4e\x52\xce"
      "\xfa\x0d\x91\x7f\xf4\xd6\x42\xdd\x74\xd7\x25\xa8\x4a\x84\xc1\xa5\x06\xc7"
      "\x13\xd3\x58\xc5\xb2\x26\xfa\x59\x81\x37\x18\x09\xf3\xc6\x9f\x54\x88\xf5"
      "\xf1\xe8\xc2\x45\x91\x8d\xac\x8b\xf7\xbb\x75\xf1\x9e\xb3\xb1\x6b\x9f\xc9"
      "\x1c\x6b\xda\x69\x6c\x68\x3e\x22\x0f\xf8\x16\xfc\x2b\xcc\xe5\xa4\xe5\xb3"
      "\x91\x72\x3f\x22\x87\xb5\xdc\xda\x90\x42\x40\xd2\x45\x42\x56\xe6\xc6\x9f"
      "\x1c\x6f\xa5\x7f\xbe\x9f\xbf\xea\x7c\x73\x5e\xfe\xd7\x85\x4d\xf8\x16\xc9"
      "\xa8\x1c\x9f\x6b\x60\xae\xa2\x98\x4a\x5c\xd7\x9b\xf5\x65\x69\xe4\xef\xaf"
      "\xda\xeb\xd3\xe7\xa9\x91\x4a\xf4\xcc\x16\x4b\xf4\x37\xa4\x96\xfd\xb3\x1b"
      "\x9e\xed\xd6\x01\x5a\x71\x4d\x2e\x3c\x68\xbc\x21\xb9\x73\x81\xab\x7a\x46"
      "\x99\x42\x8f\xac\xaa\xed\x67\x3c\xac\x27\x02\x46\xfe\x73\x7e\xa8\xca\x62"
      "\x34\xfa\x28\xc7\x2c\xa2\x61\xda\xe6\x96\x8d\x25\x46\xe0\x53\xf9\xfc\x84"
      "\xb1\xb8\x89\xba\x08\xad\x5b\xd3\x8f\xab\x39\xab\x79\xe2\x92\xf9\x87\xad"
      "\x7d\xc2\x42\x55\xa6\xed\x69\xeb\xa9\xda\x4b\xa6\xf8\x0b\x8b\x77\x8e\x2f"
      "\xee\xe7\xa3\x0d\x26\xa2\x48\x93\xfa\x3b\x75\xdd\x4b\x53\xc6\xec\xcf\x0d"
      "\xbb\x7a\x9f\xaa\x20\xac\x2b\xa9\x34\x5b\xfe\x1e\x34\xd9\xae\xc4\x10\x08"
      "\x6f\x7b\x66\x97\x83\x7e\xfd\x61\xb5\xfb\xb1\xf5\xef\x5f\xaa\x3a\xe2\x1b"
      "\x2c\x06\xb3\xcf\x09\xe8\x73\xf6\x45\x36\x53\xd0\xbb\xa5\x14\xc5\xc5\x70"
      "\xae\xe2\x37\x06\xbd\xd3\x32\xcc\x43\xf1\x1e\xa0\x94\xde\xd4\x3f\x5d\xe1"
      "\xf6\x9b\xe5\xc3\x7c\xeb\x3d\x97\xbf\xb4\xc3\x38\xd0\xb4\xf6\xf5\x2f\xf1"
      "\xa8\xf1\x51\xf5\x50\x64\xd0\x99\x8b\x25\xfa\xdc\xf2\xff\x76\xff\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\xfc\x8f\x11\x6b\xa9\xfe\x76\xbe\xa6\xce\xee\x54"
      "\xce\x01\x03\x3f\xc2\x6d\x6d\xeb\xd9\xdb\xfa\x45\xad\xb9\xc9\x79\xc3\xd2"
      "\xa0\x47\x4f\x8f\x97\x5e\x5c\xb5\xbc\x90\x69\x50\xbe\x19\x91\xc6\x9d\x49"
      "\x17\xa9\x9a\xf1\x21\x2d\x42\x0a\xef\x26\xdc\xf2\x9f\xa2\xd2\x26\x2a\xdc"
      "\x69\xad\x0f\x50\xf1\xb4\x34\xb0\xf5\xf8\xe4\x69\x10\xcb\xaa\xbd\x77\x3d"
      "\x4f\xa7\x17\x7a\x9f\x44\x4e\x74\xa7\x8e\x2b\xcf\xf5\x40\x82\xab\xc2\x28"
      "\x65\xf7\x17\xce\x86\x94\xb6\x85\xe3\x21\x07\xb9\x6b\x78\x8d\x25\x76\x9c"
      "\xb6\x64\x3e\x99\xdc\xeb\xb7\x0d\xa8\x37\x26\x6c\x9a\xcc\x55\xe7\x58\x94"
      "\xf2\x27\x28\xfa\x83\xf7\x7e\x35\xf1\xff\xb3\x17\x0a\x02\x02\xc2\xe3\xff"
      "\xdd\xd7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xdf\x58\x47\x10\x93\xbe"
      "\x61\x28\x37\x93\xb4\x7e\xbd\x5f\x29\x25\x24\xf7\x3f\x39\x1c\xf1\xff\xce"
      "\x51\x10\x30\x10\x1e\x23\xa0\x22\xa0\x8a\x45\xaf\x3c\xef\x65\x65\x8e\x32"
      "\x08\xaa\x23\x2e\xb3\x0b\x9d\xaf\x43\xe8\x8d\xfe\x5e\x5a\xe0\x34\xf1\x39"
      "\x2d\x8d\xe7\x90\xc6\x79\x21\x48\xe7\xe9\x69\xfc\xd9\xff\xf2\x39\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xff"
      "\x87\x8c\xe9\x87\xfa\x9a\xe7\xc9\x27\xa6\x33\xfc\x2e\x2b\x49\xaf\xf7\xb4"
      "\xad\x67\x6f\xeb\x17\xb5\xe6\x2c\x84\x37\xa9\x4a\x2b\x3a\x16\x0e\x09\xd4"
      "\x5a\x50\xee\xdd\xdf\x9e\x9c\x3b\xd9\xd8\x99\x4b\xb0\x11\xba\x86\x51\x4c"
      "\x6f\xd1\xbd\xfb\xfc\x0e\xcf\x23\xda\xf9\x28\x74\xab\x8b\xf5\x8d\xe9\x84"
      "\x60\x0f\xba\xcd\xe6\xa8\x22\x4f\xe0\x3d\xe9\x8d\x9f\xed\x12\x36\x21\x36"
      "\x69\x93\x8d\x02\xcd\xd1\xb1\x5b\x30\x22\x96\x45\xfc\xd3\x2a\x49\x3e\xa2"
      "\xc5\x15\xd4\xd5\x86\xd7\xaf\x3e\xf1\x1d\xd8\x2f\xbf\x58\xc7\xac\x21\xf7"
      "\xfa\x4c\x8e\x40\xc5\x72\xd4\x49\xee\x86\x78\x30\xb5\x72\xcf\x75\x46\x32"
      "\xf8\x7f\xd8\xaf\xd3\x28\x9f\xeb\x3e\x6e\xe0\x7f\xcc\x34\x88\xcb\x12\x9a"
      "\x2c\xd9\x2e\x64\x2b\x44\x22\x5b\x64\x18\x1a\x89\x9a\xc1\xd5\x30\x1a\x12"
      "\x09\x19\x4b\x8d\xa9\xa6\xc5\x28\x63\x0c\x32\xf6\x2c\x63\x2c\xd5\x74\x99"
      "\x64\x92\x6d\x0a\x95\xad\x52\xa8\x0c\x4d\x8b\x25\xfb\x58\xeb\xb2\xcd\xb8"
      "\x9f\xe4\x9c\xfb\xf9\x7d\xae\xe3\x9c\xeb\x7e\xbd\x9e\xbe\x9f\x7c\x7e\xef"
      "\xef\x39\xbf\x73\xde\x5f\xad\xba\x79\x57\x50\x20\x10\x08\x09\xba\xb5\xdd"
      "\x00\x00\x00\xc0\xff\x8a\xa3\x25\xb2\x63\xa2\xb6\x7f\x9e\x54\x67\xf0\x1f"
      "\x5d\xe2\x2e\x67\x9c\xbe\xb9\xc3\x83\xff\xce\x83\x02\xc5\x03\x21\x41\x55"
      "\x03\x7f\xbc\xf8\x6e\xb5\xb9\x05\xdf\x14\xde\x35\x22\x6c\x73\xb5\xd0\x1a"
      "\xe5\xaa\xbe\x15\xf8\x6c\x47\xea\x0b\x09\x0b\xef\x1c\xb0\xe3\xc7\xe7\x2f"
      "\xac\xf9\xac\xd9\x23\x7b\xdb\xbc\xd2\xaf\x41\x42\xa3\xe9\xa5\xb6\x1d\xef"
      "\x5d\x7d\xd0\x8f\x2b\x62\x12\x8b\x26\x3f\xd9\x78\xf1\x77\xa1\x9b\xbb\xbf"
      "\xda\x23\x6d\xff\x2b\x4f\x1d\xbe\x94\xf5\x5c\xef\x2b\x45\xbf\xe8\xf5\x62"
      "\xbd\x6e\xcf\xf7\x9c\x55\xfa\x44\xee\xce\x2d\xe1\x2d\x6e\x7f\xe0\x9d\xe5"
      "\x6d\x63\x16\xb5\xfc\xe1\x87\xd8\x32\x05\xd3\x02\x9f\xcf\x69\x59\xe4\xcb"
      "\x2f\xc7\x6d\xdb\xb4\xf1\x62\x8b\xd7\x8a\xb5\xef\x99\x9a\xb3\x39\xfa\x4a"
      "\x78\xcb\x0e\x65\x12\x3b\xed\x2d\xb5\xf5\xb7\x03\x9b\xfa\x0d\xd8\xfd\x68"
      "\xab\xda\x4b\x52\x3a\x7d\xd3\xb6\xfa\x6d\x79\xbf\xbd\x94\x7e\xdf\x4b\xef"
      "\xc7\xbf\x5d\xf2\xd8\xfd\x8d\xbe\xa9\x30\x6a\xd7\xd5\xe1\x5b\x7e\xe9\x5f"
      "\xa2\xe5\xd9\xad\xef\x55\xec\x90\xbd\xfd\x9d\x92\xfd\x26\xdd\x68\xd9\xad"
      "\xeb\xf4\x88\x29\x87\xfb\x76\x7f\xeb\x5f\x95\x97\xdc\xfb\xec\x4f\xaf\x96"
      "\x5d\x78\x23\xfe\xcb\xd8\x31\x65\x26\x4c\x7c\xa4\xd9\xba\x29\xd7\xd3\xae"
      "\x6d\x99\x94\x75\x8b\x9f\x01\x00\x00\x00\xfe\xab\x32\x5e\x68\xb6\xa5\xe8"
      "\xca\x06\xcd\xa3\x3e\xbe\x33\x29\x75\x68\x89\xf4\x9b\xfb\x3f\xe4\xef\x3c"
      "\x28\x50\x36\x10\x12\x54\x31\x70\x29\x7f\xdf\xe5\x47\x7e\x9c\x15\x5a\xf3"
      "\xe0\xbc\x76\x17\x5a\xcd\x18\xf0\x7b\x6c\x44\x41\x74\xcf\xa7\x1a\xf6\x79"
      "\xb1\xed\xea\x2f\x7a\x0f\xea\x7e\x31\xa2\x4d\x58\x95\x93\x79\x1f\x74\xfd"
      "\xb9\x30\xb8\xdf\x9e\xfc\x77\xdb\x2d\x7a\x3d\xf1\xed\x6f\xef\x0e\x1f\xf3"
      "\xf9\x87\x11\xc1\x05\xc5\x77\xef\x59\xd6\xb8\xf8\x63\xed\x66\x14\x44\xac"
      "\xf9\xa0\xc4\x27\x4b\x0f\x7e\xd9\x77\xcf\xde\x2a\x67\xdb\x3c\xb9\xfd\xad"
      "\x53\xed\xea\xdd\x75\xbc\xfd\xae\x73\x15\x4e\x14\x9b\x90\x90\xd8\xb3\xce"
      "\xb4\x81\x75\xf7\x97\x89\xa9\x72\x31\xa4\x4e\xfe\xb4\xcf\x0a\x1b\x9d\xb8"
      "\x77\xda\x0f\xb9\x59\xef\x2c\xa9\xfc\x60\xa7\x56\xd5\x66\xbf\x7a\xb6\xc4"
      "\x82\x32\xef\xaf\x68\xba\xa8\xe2\xc1\xa6\xc3\x67\xd5\x1e\xd3\x6f\xe4\x4b"
      "\xd3\x53\x22\x17\x66\x97\x5b\xb8\xb4\xdc\xf9\x9f\x37\x26\x36\xeb\x75\x8b"
      "\xeb\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x81\x40\xad\xbb"
      "\x06\xcd\xa9\x78\xb6\xd2\xa4\xce\x99\x85\x91\xe3\x77\xa6\x5e\x8a\x1a\x96"
      "\x7b\x7d\x6d\x5e\xe4\x81\x96\xd9\xc1\x0f\x95\xa9\x95\x32\x7d\xc3\x8d\xdc"
      "\xdb\x37\x8f\x18\x12\xbe\xe8\xd7\x69\x4f\x6d\x59\x5c\x7f\xd6\xc7\x2d\x0e"
      "\xff\xd1\xf6\xa5\x23\xab\x4f\x3c\x99\xb0\x72\xe8\xf0\x0a\xd9\x55\x8f\x7d"
      "\x95\xb6\x2b\xbd\x4d\x5a\xc7\x3b\x8f\x1d\x79\xee\x7c\xc4\x1f\x5d\x82\x37"
      "\x8f\x0d\xbf\x67\x58\x9d\xdc\x95\xbb\xa3\x5e\x28\x32\xeb\x48\x44\xfc\xee"
      "\x0d\x85\x23\x6b\x5f\x7d\xec\x64\xc6\xfc\x79\x91\x37\x06\xa5\xef\x68\x3f"
      "\x74\x7b\xf0\xaf\x83\xf2\x9f\x58\x39\xea\x58\xc9\x23\xc5\x4f\x3d\xda\x3d"
      "\x7b\xcd\x83\xf1\xd3\x1e\x1a\x55\x25\xfb\xf6\xb7\x1a\xa7\xdf\xbc\x2b\x28"
      "\x10\x08\x84\xde\xda\x6a\x00\x00\x00\xe0\x7f\x46\xf7\xf6\x23\x4b\xb7\x2d"
      "\xdf\x38\x6e\xe8\x8b\x5f\x64\xff\x9a\xb8\xac\xd4\xcd\x1d\x5e\xe4\xef\x3c"
      "\x28\x50\x3c\x10\x1a\xa8\x16\x78\xa2\xfa\x94\xc7\xf7\xed\x3f\x56\xbc\x48"
      "\xc4\xe4\x43\x83\x8b\xfc\xb6\xb5\x76\x58\x44\x85\xb8\x19\x15\x5b\x1f\x7c"
      "\x61\x73\x9d\xe2\xa9\x49\xf9\x91\xcf\xcd\xfb\xb0\x5a\x58\xc8\x88\x16\xb1"
      "\xe9\xeb\x26\x47\x3c\x32\xfe\xc8\xa4\x8c\x13\xcd\xd2\xab\x0f\xbf\xde\x31"
      "\x61\xfb\x97\x95\xc2\x2b\xcd\x3c\xd8\xa6\xde\xc2\x5e\xe5\xaf\xe6\xfc\x79"
      "\x7a\x74\xd7\xaa\xfd\xba\xdc\xd9\xa9\x7d\x50\xf6\xd9\x15\xf5\x67\x35\xfa"
      "\x76\x66\x4e\x66\x8d\x63\xc7\x27\x36\x79\xf8\xe1\x16\x1b\x5b\x1d\x18\x33"
      "\x3b\xfd\xda\xd6\xe4\x92\xe1\x25\xc3\xf2\x83\xea\xd5\x7f\xff\xa7\x6a\x39"
      "\x51\x71\xb7\x27\xa5\x6c\x5a\xb8\xf0\xec\xb0\xc2\xe8\xc8\xe8\xea\x2b\x9f"
      "\x1d\xb8\xe0\xaf\x90\xbb\xcb\xa4\xdc\xb7\x3e\x72\xc9\xa6\x75\x8b\x27\x3e"
      "\x31\xae\x55\xf1\x45\xdd\x02\xb9\x99\xd9\x33\xa6\x47\xbe\xdb\xab\x75\x78"
      "\x8f\x5e\xcb\xc7\xb7\x18\x70\x6c\xe9\x9b\xbb\xaa\x97\x7e\x7b\xc5\xd8\xf2"
      "\x69\x97\x3e\x3e\x7d\xaa\x7a\xb7\x41\xdf\x77\x08\xff\x30\xfa\x50\x46\xdd"
      "\x71\x4f\x3f\xd0\xf9\xb9\x5f\xca\xe7\xd7\xcb\x5e\xd9\xaf\x75\x61\xec\xc5"
      "\x72\x3f\xaf\xca\x7c\xad\xe7\x81\x90\x5d\x47\xeb\x8d\xbe\xc5\xcf\x01\x00"
      "\x00\x00\xff\x15\xeb\xaf\x17\xf4\xfd\xf4\xf4\xcb\xff\xe9\xda\xaa\xd3\x3b"
      "\x35\x4e\xc5\xf4\xb9\xb9\xff\x83\xff\xce\x83\x02\x65\x03\x21\x41\x23\x02"
      "\xf3\x3f\x8a\x3f\xf1\x49\xcc\xea\xe7\xa6\x15\xbd\x90\xd4\xbb\x61\xbf\x99"
      "\x7d\x3b\x3c\x93\xda\x62\xeb\x9a\x37\x8e\x64\xed\x4c\x9d\x39\x6b\x66\xcd"
      "\x52\x59\x29\xd1\x3f\x1e\xba\xb3\xef\xf6\x9d\xd5\x72\xda\xed\xaf\xd0\xfe"
      "\xde\xe8\x36\x2f\x7f\x35\x3b\x24\x2c\xe3\x42\xdc\x80\x8a\x63\xce\xc4\x6f"
      "\x9c\xf0\x68\xb9\x84\x0b\x15\x17\x2c\x9f\x38\x70\xe5\xbc\xbb\x27\x44\x7e"
      "\xf3\xd1\xc1\x86\xa5\x9f\xaf\x73\xe1\xe9\xb9\x8d\x2e\xae\xe9\x5f\xf0\x7e"
      "\xd6\xdc\x51\x9d\x23\xff\xba\x72\xb0\xe2\x92\x33\xfd\x3e\xbd\x76\xf4\xfb"
      "\xc5\x05\xcb\xb3\x42\xb3\x7a\x1e\x3a\x32\x74\x40\x50\xe6\x1d\x77\xad\xdf"
      "\xdd\xf5\xe5\x93\xfd\xa3\xc3\x37\x66\x3f\xfa\xc3\xb2\x25\x0b\x6a\x5f\xad"
      "\xb8\xaf\x71\x89\x9f\x2a\x4f\x69\x70\xe5\x8d\xbd\x7f\x36\x0f\x2d\x7f\xa5"
      "\xd6\xe9\x01\x95\xb7\x86\x7f\x59\xa9\xc7\xaa\x87\x97\x25\x15\x89\x5f\xfe"
      "\xc1\xa3\x17\x12\xbb\xc7\xde\x38\xd8\x2b\x6b\x5a\xf0\xc8\x26\x25\xc3\x3f"
      "\x4c\x8d\xda\x91\x54\xbb\xde\xfc\xf6\xef\xf6\xa9\x3f\x3d\xfa\x8e\xdb\x26"
      "\x57\x8b\x9b\x7b\xf7\x2b\xaf\x55\xda\x16\x56\x74\x5f\xd4\x8b\xf5\xc3\xda"
      "\x24\xcf\xbe\x3f\x7c\xc9\x7b\x1b\x66\xbf\xb6\xaa\xfc\xd5\x11\xc5\x16\xbc"
      "\x9a\x9e\x7b\xe0\xc4\x4f\xa9\xfd\x57\xf4\x1b\xbb\x63\x60\xc8\xfe\x3f\xc2"
      "\x6a\x3c\x55\x64\x43\xfe\xc3\x5f\x6d\xb8\xe7\xf2\xfe\xe1\xc1\xc1\xdf\x4d"
      "\x9f\xb4\xb8\x77\xf5\x1d\x47\x4b\x65\x54\x6d\xfa\xed\x2f\xf3\x1f\xcf\x8a"
      "\x3b\xdd\xf0\xfc\xbb\x11\x4d\x3e\x1a\x5a\x32\xf7\xbe\xd7\x52\x0a\x7b\x9c"
      "\x5b\xb5\xa4\x69\xea\xda\xd7\xc3\x92\xf7\xac\x3a\x19\x5e\xee\xaf\x6d\x0f"
      "\x64\xf4\x79\xb2\x7c\xb3\xf9\x1d\x6e\x8c\x6b\xdb\x29\xb4\xb0\xf4\x6d\xaf"
      "\x7f\x33\x6b\xf5\xe8\x01\x35\xe3\xfe\xf5\x56\x6e\xf2\xd1\xc9\x27\x4f\xbc"
      "\xde\xae\x59\x64\xcc\xa7\x1b\xa7\x7c\x37\xf6\xd0\x84\xfc\xa7\x4b\x9d\x79"
      "\x3f\x2d\x6d\xd1\x9a\x4e\xc1\x35\x86\x9d\xab\xf6\xe6\x85\x94\xe6\xbf\xd4"
      "\xfa\xeb\xdb\x9c\x35\x9f\x84\xfd\x56\x76\x77\xf9\x7d\x23\x72\xd6\x7e\x9a"
      "\xd8\xff\xc6\xc2\xac\xb5\x2b\xfa\xf6\xcc\x88\xde\xb0\xb2\x4e\xef\x33\x99"
      "\xc5\xef\xeb\xdd\x2d\x79\x73\xcf\x9a\x77\x65\xf6\xcc\x0a\x4a\xca\x7f\x68"
      "\xd6\x33\x07\x5a\xf6\x6f\x5a\x3e\x69\x68\x5e\xcd\xb0\xa3\x5f\xe5\xef\xee"
      "\xdf\xbe\xc7\x3b\xbf\x2f\xfe\xc7\x0b\x15\xee\x3c\xdf\xaa\xdf\x86\xdc\xa0"
      "\x84\x57\xf2\x72\x6e\x6c\x2d\xf7\xf4\x1f\x99\x53\x16\x64\x05\x75\x7c\xb7"
      "\x6c\x9f\xc1\x03\xe3\x56\x76\xde\x58\x7f\x50\x7a\xee\xd7\x8f\x8f\x9a\xfd"
      "\xfa\xe6\xca\x2d\xaf\xac\xeb\x73\x47\xcd\xe6\x5f\xef\x6f\x11\xd1\xf0\x93"
      "\xcc\xc4\xcc\xf8\x6e\x59\x57\xf7\xcf\x9f\x7e\xbd\x6e\x46\xaf\x4b\x7d\x52"
      "\x56\x15\xee\x3b\x7b\xf6\x4c\x70\xa3\xf1\x15\x23\xa6\x94\x3c\x1f\x1a\x55"
      "\x37\xb3\x49\xfc\xa8\x66\xcf\xec\x2b\x38\xf0\x6a\xd8\xda\x1d\xb3\x2f\x5f"
      "\x6d\x5a\xec\xe4\xbe\xcd\x13\x07\xce\x7c\x22\x6e\x59\xfd\xe4\xae\x3d\xaa"
      "\x35\xaa\x9d\xb2\xae\xdf\xb9\x0a\xf1\x31\x6d\x8a\x25\xec\xbb\xa3\xe3\x8c"
      "\xa8\x12\x9d\x2b\x8f\xcf\x0e\x3b\x12\x5d\xa5\x55\x5e\xb1\xaf\x46\x1e\x1a"
      "\x35\x6d\x53\xff\xfa\x39\x35\xae\xde\xd6\x64\x62\xfd\xd8\xfc\x9e\x4f\xd7"
      "\x7a\x79\xd1\xe1\x84\x37\xdb\xcc\x2d\x5a\x63\x59\xcc\xe7\xd7\x4f\xf5\xba"
      "\xb2\xf5\x81\x16\xeb\x93\xce\x1d\x1b\xdb\x38\x78\xc4\xe7\x61\xf7\x0f\xab"
      "\x54\xe6\xe7\x62\x39\xf7\x36\xef\xff\xec\xc6\x66\x75\xf3\x9a\xe6\xf7\x5d"
      "\xd6\x2b\xfc\xe9\x82\x22\x33\x62\xb6\x5c\xbb\xb6\x61\xdd\xd4\xa5\xcd\x6a"
      "\x56\x09\xde\x9c\x51\xb5\x46\x5c\x95\x86\xfd\xcb\x54\x4a\xdf\xd5\xa5\x4c"
      "\xb9\xe3\x6d\xe7\x2d\xdb\x16\x88\x6f\xd8\x71\xfa\x87\xb3\x0e\xd7\x7c\xf0"
      "\x9e\xd0\x98\xaa\xff\x48\x9f\xbb\xf2\x7c\xda\xba\x81\x5d\x4f\x5e\x2f\x9c"
      "\xba\x2c\xbe\xf9\xd4\x23\xb3\x6b\xbd\x39\xf6\xb7\x6b\x99\x3d\x63\x07\xf4"
      "\x7e\xe9\xda\x1b\xd9\x77\xbc\xf8\xd7\x89\xe3\x13\x27\x34\xbf\xb1\xe1\xeb"
      "\xae\x69\x0d\x0e\xc7\x0c\x8a\x5e\x3e\xf9\x72\x93\x4d\x73\x1e\x7f\xb1\x70"
      "\x66\x78\xcd\xe2\xbf\x57\x9d\x55\x73\x7d\xd7\xae\x93\xb2\xe7\x26\x3e\xd0"
      "\x7a\x50\xdc\x6b\xdf\x5c\x98\x5a\x90\xb5\x35\x69\xfb\xde\x0a\x1f\xbe\x95"
      "\x55\xd0\xed\xb1\x51\xed\xd6\xed\xfa\x63\xfe\x92\xe7\x2e\xcf\xae\x7a\xa1"
      "\xd2\x85\x8b\xd5\x26\x9e\xab\x9a\x38\xf7\x89\xac\xf4\xdc\x94\xc7\x3b\x2f"
      "\x6a\xbe\x3e\xec\x83\x67\x52\xce\x0d\xb9\xbf\x62\xa5\xb4\x7f\xb7\x48\xba"
      "\xf4\xd2\xce\xa0\xe4\x0a\x03\xde\x59\xba\x29\xf4\xbb\x5b\xfc\x5b\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x7f\x76\xf8\xd3\x41\x69\x5b\x92"
      "\xd7\xc6\x77\x0b\xdd\x99\x57\x7a\xfb\x63\xef\x47\x0d\xcb\xbd\xbe\x36\x2f"
      "\xf2\xc0\xc7\x7d\x92\x8f\x0f\x19\xb6\x27\x6b\x63\x87\xf2\xf7\x4f\x6d\xbe"
      "\xe0\xcb\x06\x3b\x87\x3f\xd6\xe3\xfe\x71\xcb\x1a\x96\x7b\x25\xe1\xfa\xcf"
      "\x0d\x9e\x39\x1f\x34\xb2\xed\xe4\xf7\x9f\xad\x30\xa5\xcb\xd4\x77\x8b\xee"
      "\x6a\x9b\xfc\xef\x9e\xed\xea\xf6\x68\x3a\x74\xcc\x84\xb4\xc2\xe5\x49\x0f"
      "\x0c\xfc\x61\xc6\xcb\x8d\xeb\xad\xfe\x75\x62\xe2\xc5\x47\x1a\x7f\x5f\xed"
      "\xa9\x0b\xef\xfc\xe7\xc1\xf6\x43\x7e\xf9\xfe\x91\x07\x3f\xd9\x76\xf9\xfa"
      "\xdb\x6f\x7e\xfb\xf0\xa7\xf3\xc3\x1f\x7b\xa3\xc9\xcb\xdf\xd6\x1d\x5c\x58"
      "\x31\x79\x4d\x46\x5e\xf9\x21\xf5\xaa\x96\x1d\x9f\xd0\xf0\xe6\x5d\x41\x81"
      "\x40\x20\x24\xe8\xd6\x76\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\xff\xbf\x39\xb3\xbd\x49\xbb\xc5\x39\x5d\x27"
      "\x15\x6d\xda\xbb\xda\x8a\x9f\x5a\x14\x46\x0d\xcb\xbd\xbe\x36\x2f\xf2\xc0"
      "\xa1\xf7\x52\xd7\x0d\xa9\x70\x65\x59\x83\x7b\x96\x74\xed\x91\xb2\xfa\xbe"
      "\xa1\xc7\x1a\xc7\x3e\x3b\xf6\xfc\xef\xa3\xfe\x91\x3f\x7d\xc3\xf3\xef\x95"
      "\x0a\xbf\x67\xef\x0b\xd7\xba\x34\x4b\x3e\x31\xbb\x72\x44\x8f\xde\x6f\x6d"
      "\x7d\xf3\xa3\x4d\xb5\x4a\xcf\x9b\x7e\xf4\xec\xe9\xa2\x75\xc3\xab\xbc\x56"
      "\x3b\xbd\xfb\x82\x8f\x26\xff\x90\x3b\xaf\x77\x93\x1d\x8d\x82\xb7\x4d\x3b"
      "\xb5\x6c\x7d\xeb\x61\x1d\x96\x34\x28\x3b\xf0\xde\x2a\x09\xed\xf7\x5c\xfe"
      "\x29\xa3\x59\xb1\xfd\xcb\x43\xb3\x52\x13\x0a\xde\x5e\x7f\xf7\x8a\x88\xc9"
      "\xbb\xcf\xb7\xae\x72\xa4\xf8\x8f\xd9\x37\xef\x0a\x0a\x04\x02\xa1\xb7\xb6"
      "\x1a\x00\x00\x00\xf8\x9f\x11\x55\x67\xdf\x2f\x69\xe5\xc7\x8f\xfd\xb5\x67"
      "\x48\xff\xe0\xec\x67\xab\xde\xdc\xe1\x45\xfe\xce\x83\x02\xc5\x03\xa1\x81"
      "\xdb\x02\x67\x4a\x1d\x8f\x1e\x38\xba\x73\xe5\x31\x15\xcf\x0d\xfe\x79\xdc"
      "\xd2\x84\x45\x7f\x6e\x1d\xd7\x22\x72\xd3\x13\xa9\x75\x26\x5d\x8d\xfd\xae"
      "\xc5\x27\x6b\x26\xcc\x88\x9d\xfa\xc0\xdd\x95\xe3\xeb\xcd\x1d\x39\xe5\xd4"
      "\xa9\x0a\xb7\xf8\xb3\x00\x00\x00\x80\xff\xcb\x80\x3a\xfb\xf6\x8e\xa8\xd9"
      "\xe7\xbe\xdb\xb7\x4e\x8e\x7c\x22\x33\x2f\xf1\xe6\xfe\x0f\xfa\x3b\x0f\x0a"
      "\x94\x0d\x84\x04\xfd\x33\xf0\xf1\xd7\x6d\x22\x8a\x0c\x9b\x53\xff\xd0\xa5"
      "\xe6\xf5\x3f\xbd\x2d\xf4\x70\x99\xf7\x56\xcf\x7b\x75\xcb\x92\xd3\x71\xdd"
      "\xc7\x9e\xbc\x92\x17\xb3\x60\xdc\x9e\xeb\xb1\x7f\x8e\x19\xdf\xed\xcd\x7d"
      "\x9b\x96\xb7\x19\xf8\xc1\xc1\xc1\x43\x2b\xb5\xfe\x22\xa4\x69\xce\x07\xdf"
      "\x56\x98\x9c\xd6\xb0\x64\x99\x06\x7d\x4a\xcd\xe9\x7b\xff\x93\xdf\x1f\x8c"
      "\x2d\xb7\xaa\xce\x9c\x21\x9d\xcb\x46\x35\x0d\xbe\x3d\xa8\xcd\x3f\x5f\x8a"
      "\x9d\x1b\xdd\xf1\x83\xcf\x27\x6f\x2b\xfd\xd1\xd4\x19\x5b\x3a\x5e\x2c\xd6"
      "\x25\x67\xf3\xd2\x4f\x62\xee\xaa\x77\x3a\xf5\xec\xbc\xce\x25\x6e\x4f\x6b"
      "\x3c\xa7\x72\xcd\xd6\xff\x6e\x1e\xd1\xbd\x63\xe4\x8c\x4d\x73\x47\x15\x6c"
      "\x5e\x3b\xba\xdd\xe8\x15\x1f\xe7\x94\xde\x53\xaf\xe0\x72\xfe\x5f\xa3\x53"
      "\xee\x19\xbe\x7f\xc4\xfa\xe7\x62\xe2\xca\x74\xa8\x96\xd9\x61\xc1\xd7\x55"
      "\xba\x4f\xa8\x32\x77\xd6\xa5\x36\x8b\xeb\x1f\x29\xf6\xf0\xca\xa7\xe6\xd4"
      "\x6b\x5e\xfe\xc9\x55\x33\x7f\x5f\x7b\xf5\xf1\x91\x8b\x7a\x7f\xfc\xd9\xb2"
      "\xcf\xdb\x64\x74\x1b\xfa\x7c\xa7\xc7\x1e\xfa\xe2\x91\xa1\x89\xbf\x8e\x7d"
      "\xfe\xe7\xe1\xaf\x7c\x34\x64\xd0\xea\x5f\xb2\x46\xbf\xd2\x6a\x70\xad\x27"
      "\xbf\x3f\x95\x5a\x67\xef\xb8\x09\xb7\x95\x1b\x38\x38\xaa\xcb\x7f\xce\x24"
      "\xff\xf6\xc6\xee\x0f\xfb\x47\x6c\x58\xfd\x55\xd5\x6e\x4b\x6b\x94\xdf\xde"
      "\xf1\x42\xd2\x4f\x53\x7a\x75\x2e\x28\xb9\x62\xda\xaa\x1f\x16\xec\x6c\xb1"
      "\x35\xec\x9e\x79\x47\xf3\x66\xdc\xfb\xe8\x2d\x7e\x46\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\xe0\xff\xb0\x03\x07\x02\x00\x00\x00\x00\x40\xfe\xaf"
      "\x8d\x50\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x85\xfd\xfa\x0b\x91\xaa\x7a"
      "\xe0\x00\x7e\xee\xcc\xec\xcf\xd1\x51\x7f\xa3\xfd\x71\x53\xa1\xb5\x02\xd9"
      "\xad\x05\xd1\x17\xfb\x07\x21\x6c\x59\xc1\x1a\xf4\x10\x25\x85\x94\xab\x62"
      "\x6a\x6b\x3e\xb4\x51\xd8\x5a\xc4\x0e\x1b\xc4\x66\x2f\x41\x0f\xa5\x60\x0f"
      "\x3d\xd4\x8a\x08\x69\x10\x51\xb8\x44\x2b\xac\x04\xd5\x53\x60\xda\x43\xf4"
      "\x5f\x62\x43\x82\xda\xd8\xdd\x7b\x77\x67\xaf\x73\xdb\xdd\x29\x85\xea\xf3"
      "\x81\xcb\x99\x73\xee\xbd\xdf\x7b\xce\xb9\x67\xee\xcc\x05\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x3f\x6f\x4e\xa1\x71\xac\x1c\x78"
      "\x7e\xcf\x2f\xed\x4b\xdb\x3e\x7e\xb6\x63\xf8\x99\xf5\xc7\x77\xee\x3b\xb8"
      "\xf3\x8e\xb6\xa1\x7d\x6d\x77\xbd\xf4\xfb\x81\x87\x0e\x1d\xd9\xf5\xda\x9c"
      "\xed\x8d\xab\x37\xef\xda\x70\xcb\xe1\x5b\x8f\x9c\xd9\x72\x45\xfb\x6f\xd3"
      "\x06\x77\x8d\x17\xcd\x71\xb5\x18\x42\x34\x1c\x85\xb0\x6d\xff\xd9\x2f\x7a"
      "\x4e\x0c\x2e\x19\x6d\x8b\x42\x08\xf9\xa8\xdc\x1d\xc2\xa2\x28\x77\x62\x51"
      "\x94\x4a\x58\xf5\x6b\x08\x61\xf3\x44\x3f\xa7\xee\x7c\x67\x78\xcd\x96\xd1"
      "\xb2\xfb\x85\x39\x53\xda\xff\x9f\x0a\x49\x8f\x2b\x94\xf2\x49\x7f\xc6\x95"
      "\xa7\xf6\x97\x7f\x97\x62\xbc\xce\x5e\xbd\xee\xc7\xef\xb7\x77\xde\x39\xd8"
      "\x77\xdf\x0d\xb7\x37\x2f\xed\x7a\xb0\x7b\xf2\x90\xa8\x58\xb5\x9e\x42\x58"
      "\xb8\x29\x7d\x7e\xae\x46\xee\xc3\x8f\x6c\x6b\x69\x79\xb4\xe3\xc9\xc6\x8d"
      "\x7b\x77\xef\xbe\xf2\x9b\x37\x0b\x9f\xf7\x3c\xd0\xf2\xc9\xa1\x2f\xcf\x76"
      "\x9c\xb9\xba\xb7\x77\x28\xf7\xc3\xb7\x37\xde\x7d\xea\xd3\xbd\x8f\x37\x84"
      "\x10\xe6\xc6\xdb\xa8\x64\xb5\x36\x26\x17\x8f\xcb\x7b\x42\x08\xf3\xaa\xf2"
      "\xd7\x4e\x33\xae\x6b\x66\x38\xfe\xd6\x8c\xfa\xf2\xb8\xfc\x5f\x5c\x96\xa6"
      "\xc9\x49\xf6\xaf\x98\xe1\xf1\x69\x85\x54\x39\x6f\x96\xe7\xcf\x56\xad\x7b"
      "\x76\x31\xcd\xbf\xc4\xd7\x4b\x24\xe3\x5c\x18\x97\xc7\xe3\xb2\x79\x96\x39"
      "\xf9\x64\x8b\x42\x2e\x0a\x85\x89\x67\xf1\x8e\x68\x72\x8d\x84\xaa\xfb\x16"
      "\x85\x28\x34\x54\x3d\x47\xa3\x90\x1b\xab\xe7\x26\xea\x61\xac\x1e\x26\xeb"
      "\x51\xaa\x9e\x4b\xd5\xf3\x0d\xa9\x71\x8d\x5d\x37\x5e\x68\xf9\x28\x9a\xda"
      "\x9e\x1c\x97\x6a\x6f\x8a\xdb\x0b\x71\xfb\x8a\xea\x67\x7d\x0d\xf7\x66\xb4"
      "\x5f\x15\x97\xc5\xf8\x8b\x7a\x3e\xa9\x87\xf4\x87\x71\xa5\x0b\x3e\x4c\x8c"
      "\x6b\x4c\xd2\xaf\xd3\x7f\xd2\x97\x4b\x21\x57\xf5\x0c\xaa\xd5\x9e\xf4\x77"
      "\x6d\x7c\x33\x4a\x71\x5b\x29\x5a\x7c\xc1\x39\x23\x35\x24\xfb\xde\xdb\x51"
      "\xd9\x3a\xf8\xd8\xba\xe7\xca\x19\xfd\x88\xfa\xa3\x38\x3f\x9a\xcc\x6f\x98"
      "\x79\xfe\xcd\x9d\xcb\x8e\x96\x2a\xad\x07\x1b\xb3\xf2\x37\xe5\xe2\xfc\x5c"
      "\x5d\xfd\x1f\x3a\x77\xd3\xb2\xaf\x8a\x9f\x1d\xcd\xcc\xef\x4b\xf2\xf3\x35"
      "\xf3\x0b\xd3\xe4\x17\x07\x3b\x5f\x7c\xea\xbb\x0f\x56\x66\xce\xcf\x4f\xc9"
      "\xfc\x14\xea\xea\xff\x87\x7d\x5d\x2f\x5f\xbe\xee\xeb\x0d\x4d\x59\xf9\xaf"
      "\x27\xf9\xc5\xba\xf2\xcf\x15\x36\x9e\x1c\xe9\x3e\xbc\x3f\xb3\xff\xab\x92"
      "\xf9\x99\x5b\x57\x7e\xff\xfd\xc7\xda\xcf\xaf\x79\xab\x37\x33\x3f\x24\xf9"
      "\xf3\xea\xca\x6f\xaa\x0c\x1c\x7b\xa3\x67\xc9\x81\xcc\xfc\xf7\x93\xf9\x29"
      "\xd5\x95\x7f\x6d\x6b\x7f\xe5\xa3\xca\x9e\xf5\x99\xf3\x7f\x2a\xc9\x5f\x50"
      "\x57\xfe\xe9\x91\xd5\x3f\x2f\x39\x39\xf0\x76\xe6\xfa\xbc\x2d\x99\x9f\x72"
      "\x5d\xf9\x8b\xb7\xae\x5c\x5e\x7e\xe2\xe9\xeb\xb3\x9e\x9d\x51\xf7\xf4\xbf"
      "\xb0\xef\x5e\xec\x1f\x79\x80\x7f\xb0\xcb\xe2\xff\x58\x95\xb8\x5e\xef\x7b"
      "\xea\x5f\x55\xf5\xbe\xf0\x4a\x39\x1a\xff\xcf\x37\x3f\xde\x16\xfc\x9d\x17"
      "\x4a\x89\xaa\xde\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x80\x3f\xd8\x81\x03\x19\x00\x00\x00\x00\x61\xfe\xd6\x79\xb4\x1f\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x3e\x0a\x00\x00\xff\xff\xa9\xaa\x4c\xe7",
      72195);
  syz_mount_image(/*fs=*/0x20011a00, /*dir=*/0x20000080, /*flags=*/0,
                  /*opts=*/0x20011a80, /*chdir=*/3, /*size=*/0x11a03,
                  /*img=*/0x200234c0);
  return 0;
}

^ permalink raw reply	[relevance 1%]

* Re: [bug report] ASoC: audio-graph-card2: add Codec2Codec support
  2024-05-08 15:14 63% [bug report] ASoC: audio-graph-card2: add Codec2Codec support Dan Carpenter
@ 2024-05-09  0:13 64% ` Kuninori Morimoto
  2024-05-09  6:49 64%   ` Dan Carpenter
  0 siblings, 1 reply; 200+ results
From: Kuninori Morimoto @ 2024-05-09  0:13 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: linux-sound


Hi Dan

> Hello Kuninori Morimoto,
> 
> Commit c3a15c92a67b ("ASoC: audio-graph-card2: add Codec2Codec
> support") from Oct 12, 2021 (linux-next), leads to the following
> Smatch static checker warning:
> 
> 	sound/soc/generic/audio-graph-card2.c:1206 graph_count_c2c()
> 	warn: already decremented on line 1206 'lnk->kobj.kref.refcount.refs.counter'
> 
> sound/soc/generic/audio-graph-card2.c
>     1194 static int graph_count_c2c(struct simple_util_priv *priv,
>     1195                            struct device_node *lnk,
>     1196                            struct link_info *li)
>     1197 {
>     1198         struct device_node *ports = of_get_parent(lnk);
>     1199         struct device_node *port0 = lnk;
>     1200         struct device_node *port1 = of_get_next_child(ports, lnk);
>                                                                       ^^^
> 
> This calls of_node_put() on lnk.
> 
>     1201         struct device_node *ep0 = port_to_endpoint(port0);
>     1202         struct device_node *ep1 = port_to_endpoint(port1);
>     1203         struct device_node *codec0 = of_graph_get_remote_port(ep0);
>     1204         struct device_node *codec1 = of_graph_get_remote_port(ep1);
>     1205 
> --> 1206         of_node_get(lnk);
> 
> So this of_node_get() undoes the put.  But if the reference count
> dropped to zero then this would be a use afer free.

Thank you for pointing it.

This "lnk" is used as "port0", and of_node_get(lnk) was for it,
but this function doesn't call of_node_put(port0).
So yes, indeed this of_node_get() is not needed.
Let's remove it. 
Thank you for your help !!

Best regards
---
Renesas Electronics
Ph.D. Kuninori Morimoto

^ permalink raw reply	[relevance 64%]

* [BUG] fetch error when arbitrary branch changes a submodule url
@ 2024-05-08 23:45 53% Martin Veilleux
  0 siblings, 0 replies; 200+ results
From: Martin Veilleux @ 2024-05-08 23:45 UTC (permalink / raw)
  To: git

[-- Attachment #1: Type: text/plain, Size: 1027 bytes --]

issue: fetch will give a fatal error once when a new arbitrary branch on 
the remote contains a submodule url change with updated sha

This was an issue I originally opened on git-for-windows a while back. 
(https://github.com/git-for-windows/git/issues/3404)

But it's actually reproducible on Linux

Seems to be a regression since I could not repro on version 1.9

Issue still present on version 2.45.0.31.gd4cc1ec35f

Local repro steps (complete test script attached)
- create repo A with a commit on master
- create repo B with a commit on master
- create repo X and add a submodule S1 pointing to A, commit to master.
- clone repo X with submodules to repo Z
- in repo X, create branch X1 from master. Change submodule S1 url to 
repo B and commit on X1.
- in repo Z, fetch and notice the fatal error "upload-pack: not our ref SHA"

 From there, you can then quickly repro the error like so:
- in repo Z , delete branch origin/X1 and then fetch again.

Current workaround is to set submodule.recurse to false

-- 

Martin

[-- Attachment #2: repro_git_bug.sh --]
[-- Type: text/plain, Size: 2747 bytes --]

#!/bin/bash

die()
{
    echo "FATAL program error"
    exit 1
}

gitTry()
{
    echo "git $*"
    git $*
}

gitNoFail()
{
    echo "git $*"
    git $* || die
}

createRepo()
{
    local name=$1
    [[ -n "$name" ]] || die
    mkdir $name || die
    pushd $name >/dev/null
    pwd
    gitNoFail init
    echo line1>readme.txt
    gitNoFail add readme.txt
    gitNoFail commit -m first
    popd >/dev/null
    echo "created git repo '$name'"
}

printHeader()
{
    echo "=============================================================="
    if [[ -n "$1" ]]; then
        echo "$1"
        echo "=============================================================="
    fi
}

setupEnv()
{
    if [[ -n "$GIT_PATH" ]]; then
        [[ -e "$GIT_PATH/git" ]] || die
        echo "user provided custom git in ${GIT_PATH}"
        export PATH="${GIT_PATH}:${PATH}"
        gitNoFail --version
    fi
}

main()
{
    setupEnv
    local root=$(pwd)
    rm -rf child{1,2} user1 server1
    local gitArgs="-c protocol.file.allow=always"
    #create submodule repos
    printHeader "create submodule repo 1"
    createRepo child1
    printHeader "create submodule repo 2"
    createRepo child2
    #workaround for identical initial SHA (is this a bug?)
    pushd child2 >/dev/null
    touch foobar
    gitNoFail add foobar
    gitNoFail commit -m second
    popd >/dev/null

    #create a repo intended as the server repo that all users clone from
    printHeader "setup server repo"
    createRepo server1
    #add submodule
    pushd server1 >/dev/null
    gitNoFail ${gitArgs} submodule add -b master "${root}/child1" sub1
    gitNoFail commit -m added_submodule
    popd >/dev/null
    
    #a user clones from server
    printHeader "setup user repo"
    gitNoFail ${gitArgs} clone --recurse-submodules server1 user1

    #change a submodule url in an arbitrary branch. This branch would have been pushed to the server by another user.
    printHeader "switch submodule url"
    pushd server1 >/dev/null
    pwd
    gitNoFail checkout -b exper
    gitNoFail config --file=.gitmodules submodule.sub1.url "${root}/child2"
    gitNoFail ${gitArgs} submodule sync -- sub1
    gitNoFail ${gitArgs} submodule update --remote -- sub1
    gitNoFail add --all
    gitNoFail commit -m switch_submodule_url
    popd >/dev/null

    #now user will update
    pushd user1 >/dev/null
    printHeader "user updates"
    pwd
    #this will give an error, but shouldn't
    gitTry fetch

    #test again
    printHeader "try again"
    gitNoFail branch -r -D origin/exper
    gitTry fetch

    #test workaround
    printHeader "workaround"
    gitNoFail branch -r -D origin/exper
    gitNoFail config submodule.recurse false
    gitNoFail fetch

    popd >/dev/null
}

main $@


^ permalink raw reply	[relevance 53%]

* Re: [bug report] rcu: Kill rnp->ofl_seq and use only rcu_state.ofl_lock for exclusion
  2024-05-08 17:38 64%       ` Dan Carpenter
@ 2024-05-08 23:50 63%         ` Paul E. McKenney
  2024-05-09  6:46 64%           ` Dan Carpenter
  0 siblings, 1 reply; 200+ results
From: Paul E. McKenney @ 2024-05-08 23:50 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: dwmw, rcu

On Wed, May 08, 2024 at 08:38:06PM +0300, Dan Carpenter wrote:
> On Wed, May 08, 2024 at 10:32:43AM -0700, Paul E. McKenney wrote:
> > 
> > Agreed, and please see below for the proposed cleanup in this case.
> > 
> > 							Thanx, Paul
> 
> Thanks!  Did you see the other warning I mentioned?
> 
>     kernel/rcu/srcutree.c:910 srcu_gp_end()
>     warn: mixing irq and irqsave

I did, but then I promptly forgot about it.  Thank you for the reminder.

> Btw, I'm mostly sending you these because I know you're interested in
> these sorts of cleanups.  I didn't bother sending one to aacraid people,
> for example.  :P

Maintainer's choice!  ;-)

How about the following?

							Thanx, Paul

------------------------------------------------------------------------

commit 75a3b18f319a1f06df94cfeef81d7dd6a38cd59b
Author: Paul E. McKenney <paulmck@kernel.org>
Date:   Wed May 8 16:47:16 2024 -0700

    srcu: Disable interrupts directly in srcu_gp_end()
    
    Interrupts are enabled in srcu_gp_end(), so this commit switches from
    spin_lock_irqsave_rcu_node() and spin_unlock_irqrestore_rcu_node()
    to spin_lock_irq_rcu_node() and spin_unlock_irq_rcu_node().
    
    Link: https://lore.kernel.org/all/febb13ab-a4bb-48b4-8e97-7e9f7749e6da@moroto.mountain/
    
    Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
    Signed-off-by: Paul E. McKenney <paulmck@kernel.org>

diff --git a/kernel/rcu/srcutree.c b/kernel/rcu/srcutree.c
index 98f79ba01b0af..9a8b7ecd2ff45 100644
--- a/kernel/rcu/srcutree.c
+++ b/kernel/rcu/srcutree.c
@@ -846,7 +846,6 @@ static void srcu_gp_end(struct srcu_struct *ssp)
 	bool cbs;
 	bool last_lvl;
 	int cpu;
-	unsigned long flags;
 	unsigned long gpseq;
 	int idx;
 	unsigned long mask;
@@ -908,12 +907,12 @@ static void srcu_gp_end(struct srcu_struct *ssp)
 	if (!(gpseq & counter_wrap_check))
 		for_each_possible_cpu(cpu) {
 			sdp = per_cpu_ptr(ssp->sda, cpu);
-			spin_lock_irqsave_rcu_node(sdp, flags);
+			spin_lock_irq_rcu_node(sdp);
 			if (ULONG_CMP_GE(gpseq, sdp->srcu_gp_seq_needed + 100))
 				sdp->srcu_gp_seq_needed = gpseq;
 			if (ULONG_CMP_GE(gpseq, sdp->srcu_gp_seq_needed_exp + 100))
 				sdp->srcu_gp_seq_needed_exp = gpseq;
-			spin_unlock_irqrestore_rcu_node(sdp, flags);
+			spin_unlock_irq_rcu_node(sdp);
 		}
 
 	/* Callback initiation done, allow grace periods after next. */

^ permalink raw reply related	[relevance 63%]

* [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
                     ` (10 preceding siblings ...)
  2024-05-08 11:42 64% ` bugzilla-daemon
@ 2024-05-08 22:38 64% ` bugzilla-daemon
  2024-05-09  7:49 64% ` bugzilla-daemon
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-08 22:38 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218305

--- Comment #65 from Mario Limonciello (AMD) (mario.limonciello@amd.com) ---
Especially paired with the fact that different adapters don't trigger it I
stand by this being an EC issue as the EC controls the throttling behavior.

I suggest you guys raise with HP and point them at this issue.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* kernel bug?
@ 2024-05-08 21:57 64% glenn
  0 siblings, 0 replies; 200+ results
From: glenn @ 2024-05-08 21:57 UTC (permalink / raw)
  To: linux-sound

Greetings,

Is it possible that I am suffering a kernel bug?  My  AMD
ACP/ACP3X/ACP6x sound card does not work and I have tried everything.

Thanks,
--glenn

^ permalink raw reply	[relevance 64%]

* Re: [bug report] soc: qcom: rpmh-rsc: Sleep waiting for tcs slots to be free
  2024-05-08 14:49 60% [bug report] soc: qcom: rpmh-rsc: Sleep waiting for tcs slots to be free Dan Carpenter
@ 2024-05-08 21:01 64% ` Stephen Boyd
  2024-05-09  6:41 64%   ` Dan Carpenter
  0 siblings, 1 reply; 200+ results
From: Stephen Boyd @ 2024-05-08 21:01 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: linux-arm-msm

Quoting Dan Carpenter (2024-05-08 07:49:34)
> Hello Stephen Boyd,
>
> Commit 2bc20f3c8487 ("soc: qcom: rpmh-rsc: Sleep waiting for tcs
> slots to be free") from Jul 24, 2020 (linux-next), leads to the
> following Smatch static checker warning:
>
>         drivers/soc/qcom/rpmh-rsc.c:658 rpmh_rsc_send_data()
>         warn: mixing irqsave and irq
>
> drivers/soc/qcom/rpmh-rsc.c
>     645 int rpmh_rsc_send_data(struct rsc_drv *drv, const struct tcs_request *msg)
>     646 {
>     647         struct tcs_group *tcs;
>     648         int tcs_id;
>     649         unsigned long flags;
>     650
>     651         tcs = get_tcs_for_msg(drv, msg);
>     652         if (IS_ERR(tcs))
>     653                 return PTR_ERR(tcs);
>     654
>     655         spin_lock_irqsave(&drv->lock, flags);
>
> flags saves if this is called with IRQs disabled.  I don't think it is.
>
>     656
>     657         /* Wait forever for a free tcs. It better be there eventually! */
> --> 658         wait_event_lock_irq(drv->tcs_wait,
>     659                             (tcs_id = claim_tcs_for_req(drv, tcs, msg)) >= 0,
>     660                             drv->lock);
>
> This will enable IRQs and then disable them again.  If this were called
> with IRQs disabled then this would probably be bad.  (But again, I don't
> think it is).
>
>     661
>     662         tcs->req[tcs_id - tcs->offset] = msg;
>     663         set_bit(tcs_id, drv->tcs_in_use);
>     664         if (msg->state == RPMH_ACTIVE_ONLY_STATE && tcs->type != ACTIVE_TCS) {
>     665                 /*
>     666                  * Clear previously programmed WAKE commands in selected
>     667                  * repurposed TCS to avoid triggering them. tcs->slots will be
>     668                  * cleaned from rpmh_flush() by invoking rpmh_rsc_invalidate()
>     669                  */
>     670                 write_tcs_reg_sync(drv, drv->regs[RSC_DRV_CMD_ENABLE], tcs_id, 0);
>     671                 enable_tcs_irq(drv, tcs_id, true);
>     672         }
>     673         spin_unlock_irqrestore(&drv->lock, flags);
>
> And then it sets it back to whatever it was when it was called.  So
> that's fine.
>

I see. I think you want this sort of patch so that it is clearer that
this can't be called with interrupts disabled? Would Smatch be happier?

---8<----
diff --git a/drivers/soc/qcom/rpmh-rsc.c b/drivers/soc/qcom/rpmh-rsc.c
index a021dc71807b..568d0b8c52d6 100644
--- a/drivers/soc/qcom/rpmh-rsc.c
+++ b/drivers/soc/qcom/rpmh-rsc.c
@@ -645,13 +645,14 @@ int rpmh_rsc_send_data(struct rsc_drv *drv,
const struct tcs_request *msg)
 {
 	struct tcs_group *tcs;
 	int tcs_id;
-	unsigned long flags;
+
+	might_sleep();

 	tcs = get_tcs_for_msg(drv, msg);
 	if (IS_ERR(tcs))
 		return PTR_ERR(tcs);

-	spin_lock_irqsave(&drv->lock, flags);
+	spin_lock_irq(&drv->lock);

 	/* Wait forever for a free tcs. It better be there eventually! */
 	wait_event_lock_irq(drv->tcs_wait,
@@ -669,7 +670,7 @@ int rpmh_rsc_send_data(struct rsc_drv *drv, const
struct tcs_request *msg)
 		write_tcs_reg_sync(drv, drv->regs[RSC_DRV_CMD_ENABLE], tcs_id, 0);
 		enable_tcs_irq(drv, tcs_id, true);
 	}
-	spin_unlock_irqrestore(&drv->lock, flags);
+	spin_unlock_irq(&drv->lock);

 	/*
 	 * These two can be done after the lock is released because:

^ permalink raw reply related	[relevance 64%]

* Re: 6.9/BUG: Bad page state in process kswapd0 pfn:d6e840
  2024-05-08 10:16 64% ` Mikhail Gavrilov
@ 2024-05-08 17:45 64%   ` David Hildenbrand
  2024-05-09 11:59 64%     ` Mikhail Gavrilov
  0 siblings, 1 reply; 200+ results
From: David Hildenbrand @ 2024-05-08 17:45 UTC (permalink / raw)
  To: Mikhail Gavrilov, Linux List Kernel Mailing,
	Linux Memory Management List

On 08.05.24 12:16, Mikhail Gavrilov wrote:
> On Mon, Mar 18, 2024 at 2:55 PM Mikhail Gavrilov
> <mikhail.v.gavrilov@gmail.com> wrote:
>>
>> Hi,
>> Today I  saw for the first time "BUG: Bad page state in process
>> kswapd0  pfn:d6e840"
>>
>> Trace:
>> BUG: Bad page state in process kswapd0  pfn:d6e840
>> page: refcount:0 mapcount:0 mapping:000000007512f4f2 index:0x2796c2c7c
>> pfn:0xd6e840
>> aops:btree_aops ino:1
>> flags: 0x17ffffe0000008(uptodate|node=0|zone=2|lastcpupid=0x3fffff)
>> page_type: 0xffffffff()
>> raw: 0017ffffe0000008 dead000000000100 dead000000000122 ffff88826d0be4c0
>> raw: 00000002796c2c7c 0000000000000000 00000000ffffffff 0000000000000000
>> page dumped because: non-NULL mapping
>> Modules linked in: uvcvideo uvc videobuf2_vmalloc videobuf2_memops
>> videobuf2_v4l2 videobuf2_common videodev rndis_host uas cdc_ether
>> usbnet usb_storage mii overlay tun uinput snd_seq_dummy snd_hrtimer
>> rfcomm nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet
>> nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4
>> nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack
>> nf_defrag_ipv6 nf_defrag_ipv4 ip_set nf_tables qrtr bnep sunrpc
>> binfmt_misc snd_usb_audio snd_usbmidi_lib snd_ump snd_rawmidi mc
>> amd_atl intel_rapl_msr intel_rapl_common snd_hda_codec_hdmi mt76x2u
>> mt7921e edac_mce_amd snd_hda_intel mt76x2_common mt7921_common
>> snd_intel_dspcfg mt76x02_usb snd_intel_sdw_acpi mt76_usb mt792x_lib
>> snd_hda_codec mt76x02_lib mt76_connac_lib btusb btrtl mt76
>> snd_hda_core btintel kvm_amd btbcm btmtk snd_hwdep mac80211 snd_seq
>> kvm vfat snd_seq_device bluetooth libarc4 fat irqbypass snd_pcm rapl
>> cfg80211 snd_timer wmi_bmof pcspkr snd i2c_piix4 k10temp rfkill
>> soundcore joydev
>>   apple_mfi_fastcharge gpio_amdpt gpio_generic loop nfnetlink zram
>> amdgpu hid_apple crct10dif_pclmul crc32_pclmul crc32c_intel
>> polyval_clmulni polyval_generic amdxcp i2c_algo_bit drm_ttm_helper ttm
>> ghash_clmulni_intel drm_exec gpu_sched drm_suballoc_helper
>> sha512_ssse3 nvme drm_buddy sha256_ssse3 sha1_ssse3 drm_display_helper
>> nvme_core sp5100_tco r8169 ccp cec realtek nvme_auth video wmi
>> ip6_tables ip_tables fuse
>> CPU: 17 PID: 268 Comm: kswapd0 Tainted: G        W    L    -------
>> ---  6.9.0-0.rc0.20240315gite5eb28f6d1af.8.fc41.x86_64+debug #1
>> Hardware name: Micro-Star International Co., Ltd. MS-7D73/MPG B650I
>> EDGE WIFI (MS-7D73), BIOS 1.82 01/24/2024
>> Call Trace:
>>   <TASK>
>>   dump_stack_lvl+0xce/0xf0
>>   bad_page+0xd4/0x230
>>   ? __pfx_bad_page+0x10/0x10
>>   ? page_bad_reason+0x9d/0x1f0
>>   free_unref_page_prepare+0x80e/0xe00
>>   ? __pfx___mem_cgroup_uncharge_folios+0x10/0x10
>>   ? __pfx_lock_release+0x10/0x10
>>   free_unref_folios+0x26e/0x9c0
>>   ? _raw_spin_unlock_irq+0x28/0x60
>>   move_folios_to_lru+0xc0e/0xe80
>>   ? __pfx_move_folios_to_lru+0x10/0x10
>>   evict_folios+0xe5c/0x1610
>>   ? evict_folios+0x5f3/0x1610
>>   ? __pfx_lock_acquire+0x10/0x10
>>   ? __pfx_evict_folios+0x10/0x10
>>   ? rcu_is_watching+0x15/0xb0
>>   ? rcu_is_watching+0x15/0xb0
>>   ? __pfx_lock_acquire+0x10/0x10
>>   ? __pfx___might_resched+0x10/0x10
>>   ? mem_cgroup_get_nr_swap_pages+0x25/0x120
>>   try_to_shrink_lruvec+0x4d8/0x800
>>   ? rcu_is_watching+0x15/0xb0
>>   ? __pfx_try_to_shrink_lruvec+0x10/0x10
>>   ? lock_release+0x581/0xc60
>>   ? __pfx_lock_release+0x10/0x10
>>   shrink_one+0x37c/0x6f0
>>   shrink_node+0x1d60/0x3080
>>   ? shrink_node+0x1d47/0x3080
>>   ? shrink_node+0x1afa/0x3080
>>   ? __pfx_shrink_node+0x10/0x10
>>   ? pgdat_balanced+0x7b/0x1a0
>>   balance_pgdat+0x88b/0x1480
>>   ? rcu_is_watching+0x15/0xb0
>>   ? __pfx_balance_pgdat+0x10/0x10
>>   ? __switch_to+0x409/0xdd0
>>   ? __switch_to_asm+0x37/0x70
>>   ? __schedule+0x10cd/0x61d0
>>   ? __pfx_debug_object_free+0x10/0x10
>>   ? __try_to_del_timer_sync+0xe5/0x140
>>   ? __pfx_lock_release+0x10/0x10
>>   ? __pfx___might_resched+0x10/0x10
>>   ? set_pgdat_percpu_threshold+0x1c4/0x2f0
>>   ? __pfx_calculate_pressure_threshold+0x10/0x10
>>   kswapd+0x51d/0x910
>>   ? __pfx_kswapd+0x10/0x10
>>   ? __pfx_autoremove_wake_function+0x10/0x10
>>   ? lockdep_hardirqs_on+0x80/0x110
>>   ? __kthread_parkme+0xba/0x1f0
>>   ? __pfx_kswapd+0x10/0x10
>>   kthread+0x2ed/0x3c0
>>   ? _raw_spin_unlock_irq+0x28/0x60
>>   ? __pfx_kthread+0x10/0x10
>>   ret_from_fork+0x31/0x70
>>   ? __pfx_kthread+0x10/0x10
>>   ret_from_fork_asm+0x1a/0x30
>>   </TASK>
>>
>> Quick googling doesn't give a reassuring answer.
>> If it is really a hardware problem then it is unclear what is the culprit here.
>> The memory was checked a year ago by testmem86 and no errors were found.
>> Considering the absolute randomness of the appearance of this bug
>> message, it may be worth ignoring it, but an unpleasant aftertaste
>> remains.
>>
>> Machine spec: https://linux-hardware.org/?probe=24b7696f8a
>> I attached below full kernel log and build config.
>>
>> --
>> Best Regards,
>> Mike Gavrilov.
> 
> Sorry for writing again, but no one answered me.
> Of course, I checked my memory again and ensured that it was fine.
> I even changed three motherboards, but this error appears once a week.
> Every time the common phrase is "BUG: Bad page state in process" but
> the process can be different.
> kcompactd, kswapd, kworker, btrfs-transacti
> I don’t know if this will help, but usually this happens when I run
> the “docker pull” command and a huge container is being updated.

"page dumped because: non-NULL mapping"

Is the relevant bit. We are freeing a page, but page->mapping is not 
NULL. IIUC, it might happen under memory pressure when reclaiming memory.

It's weird that only you are seeing that, if it would be something 
"obvious" I would expect multiple reports :/

-- 
Cheers,

David / dhildenb


^ permalink raw reply	[relevance 64%]

* Re: [bug report] rcu: Kill rnp->ofl_seq and use only rcu_state.ofl_lock for exclusion
  2024-05-08 17:32 64%     ` Paul E. McKenney
@ 2024-05-08 17:38 64%       ` Dan Carpenter
  2024-05-08 23:50 63%         ` Paul E. McKenney
  0 siblings, 1 reply; 200+ results
From: Dan Carpenter @ 2024-05-08 17:38 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: dwmw, rcu

On Wed, May 08, 2024 at 10:32:43AM -0700, Paul E. McKenney wrote:
> 
> Agreed, and please see below for the proposed cleanup in this case.
> 
> 							Thanx, Paul

Thanks!  Did you see the other warning I mentioned?

    kernel/rcu/srcutree.c:910 srcu_gp_end()
    warn: mixing irq and irqsave

Btw, I'm mostly sending you these because I know you're interested in
these sorts of cleanups.  I didn't bother sending one to aacraid people,
for example.  :P

regards,
dan carpenter


^ permalink raw reply	[relevance 64%]

* [PATCH V5 0/6] bug fixes and enhancements to 6 GHz band support
@ 2024-05-08 17:36 61% Pradeep Kumar Chitrapu
  0 siblings, 0 replies; 200+ results
From: Pradeep Kumar Chitrapu @ 2024-05-08 17:36 UTC (permalink / raw)
  To: ath12k; +Cc: linux-wireless, Pradeep Kumar Chitrapu

In 6 GHz band, add support for
1. channel 2.
2. Fix packet drop issues.
3. AMPDU aggregation
4. SMPS configuration

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

changes in v5:
 - update commit desscription in patch 5/6
 - rebase

changes in V4:
 - add back missed changes between V2 and V3 - details below
 - add acked-by tag for patches 1/6, 2/6, 3/6, 4/6
 - add back missed tested-by tags per patch in V3
 - Add back missed patch portion to handle disabling SMPS
   configuration in 6GHz for WCN7850 in 6 GHz band in 6/6.
 - capitilize smps to SMPS in patch 5/6

changes in v3:
 - address review comments for fixing ath12k-check issues.

changes in v2:
 - Disable smps for WCN7850 after review comment from Boachen
 - Added Tested-on tag for WCN7850

Pradeep Kumar Chitrapu (6):
  wifi: ath12k: add channel 2 into 6 GHz channel list
  wifi: ath12k: Correct 6 GHz frequency value in rx status
  wifi: ath12k: fix survey dump collection in 6 GHz
  wifi: ath12k: add 6 GHz params in peer assoc command
  wifi: ath12k: refactor SMPS configuration
  wifi: ath12k: support SMPS configuration for 6 GHz

 drivers/net/wireless/ath/ath12k/core.h  |   2 +-
 drivers/net/wireless/ath/ath12k/dp_rx.c |   9 +-
 drivers/net/wireless/ath/ath12k/hw.c    |   3 +
 drivers/net/wireless/ath/ath12k/hw.h    |   1 +
 drivers/net/wireless/ath/ath12k/mac.c   | 122 ++++++++++++++++++++----
 drivers/net/wireless/ath/ath12k/wmi.c   |  10 +-
 6 files changed, 122 insertions(+), 25 deletions(-)


base-commit: 69b8a1a48efe2f1d921336cf00dc70db68873550
-- 
2.17.1



^ permalink raw reply	[relevance 61%]

* Re: [bug report] rcu: Kill rnp->ofl_seq and use only rcu_state.ofl_lock for exclusion
  2024-05-08 14:55 64%   ` Dan Carpenter
@ 2024-05-08 17:32 64%     ` Paul E. McKenney
  2024-05-08 17:38 64%       ` Dan Carpenter
  0 siblings, 1 reply; 200+ results
From: Paul E. McKenney @ 2024-05-08 17:32 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: dwmw, rcu

On Wed, May 08, 2024 at 05:55:38PM +0300, Dan Carpenter wrote:
> On Wed, May 08, 2024 at 07:33:38AM -0700, Paul E. McKenney wrote:
> > On Wed, May 08, 2024 at 03:29:12PM +0300, Dan Carpenter wrote:
> > > Hello David Woodhouse,
> > > 
> > > Commit 82980b1622d9 ("rcu: Kill rnp->ofl_seq and use only
> > > rcu_state.ofl_lock for exclusion") from Feb 16, 2021 (linux-next),
> > > leads to the following Smatch static checker warning:
> > > 
> > > 	kernel/rcu/tree.c:1844 rcu_gp_init()
> > > 	warn: mixing irq and irqsave
> > 
> > There are actually cases where this does make sense, one example being
> > where some called function (for example, rcu_report_qs_rnp() below)
> > needs a flags argument.
> > 
> 
> I only found one false positive which was kind of related to that in
> __run_hrtimer().
> 
>   1643  
>   1644  static void __run_hrtimer(struct hrtimer_cpu_base *cpu_base,
>   1645                            struct hrtimer_clock_base *base,
>   1646                            struct hrtimer *timer, ktime_t *now,
>   1647                            unsigned long flags) __must_hold(&cpu_base->lock)
>                                                 ^^^^^
> 
>   1648  {
> ....
> 
>   1678          /*
>   1679           * The timer is marked as running in the CPU base, so it is
>   1680           * protected against migration to a different CPU even if the lock
>   1681           * is dropped.
>   1682           */
>   1683          raw_spin_unlock_irqrestore(&cpu_base->lock, flags);
>                                                             ^^^^^
> We potentially enable IRQs.
> 
>   1684          trace_hrtimer_expire_entry(timer, now);
>   1685          expires_in_hardirq = lockdep_hrtimer_enter(timer);
>   1686  
>   1687          restart = fn(timer);
>   1688  
>   1689          lockdep_hrtimer_exit(expires_in_hardirq);
>   1690          trace_hrtimer_expire_exit(timer);
>   1691          raw_spin_lock_irq(&cpu_base->lock);
>                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Then disable them again.
> 
>   1692  
> 
> Of course the other warnings are mostly not "bugs" because the callers
> haven't disabled IRQs.  They're just in need of clean up.

Agreed, and please see below for the proposed cleanup in this case.

							Thanx, Paul

------------------------------------------------------------------------

commit 43e96791e7d1605803093b34fb70217fe29ddaeb
Author: Paul E. McKenney <paulmck@kernel.org>
Date:   Wed May 8 10:28:43 2024 -0700

    rcu: Disable interrupts directly in rcu_gp_init()
    
    Interrupts are enabled in rcu_gp_init(), so this commit switches from
    local_irq_save() and local_irq_restore() to local_irq_disable() and
    local_irq_enable().
    
    Link: https://lore.kernel.org/all/febb13ab-a4bb-48b4-8e97-7e9f7749e6da@moroto.mountain/
    
    Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
    Signed-off-by: Paul E. McKenney <paulmck@kernel.org>

diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index d5507ac1bbf19..7560e204198bb 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -1841,7 +1841,7 @@ static noinline_for_stack bool rcu_gp_init(void)
 	WRITE_ONCE(rcu_state.gp_state, RCU_GP_ONOFF);
 	/* Exclude CPU hotplug operations. */
 	rcu_for_each_leaf_node(rnp) {
-		local_irq_save(flags);
+		local_irq_disable();
 		arch_spin_lock(&rcu_state.ofl_lock);
 		raw_spin_lock_rcu_node(rnp);
 		if (rnp->qsmaskinit == rnp->qsmaskinitnext &&
@@ -1849,7 +1849,7 @@ static noinline_for_stack bool rcu_gp_init(void)
 			/* Nothing to do on this leaf rcu_node structure. */
 			raw_spin_unlock_rcu_node(rnp);
 			arch_spin_unlock(&rcu_state.ofl_lock);
-			local_irq_restore(flags);
+			local_irq_enable();
 			continue;
 		}
 
@@ -1886,7 +1886,7 @@ static noinline_for_stack bool rcu_gp_init(void)
 
 		raw_spin_unlock_rcu_node(rnp);
 		arch_spin_unlock(&rcu_state.ofl_lock);
-		local_irq_restore(flags);
+		local_irq_enable();
 	}
 	rcu_gp_slow(gp_preinit_delay); /* Races with CPU hotplug. */
 

^ permalink raw reply related	[relevance 64%]

* Re: [bug report] wifi: ath12k: flush all packets before suspend
  2024-05-08 16:51 64% ` Jeff Johnson
@ 2024-05-08 17:31 64%   ` Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-08 17:31 UTC (permalink / raw)
  To: Jeff Johnson; +Cc: quic_bqiang, linux-wireless, ath12k

On Wed, May 08, 2024 at 09:51:33AM -0700, Jeff Johnson wrote:
> On 5/8/2024 5:29 AM, Dan Carpenter wrote:
> > Hello Baochen Qiang,
> > 
> > Commit 692921ead832 ("wifi: ath12k: flush all packets before
> > suspend") from Apr 22, 2024 (linux-next), leads to the following
> > Smatch static checker warning:
> > 
> > 	drivers/net/wireless/ath/ath12k/core.c:58 ath12k_core_suspend()
> > 	warn: sleeping in atomic context
> 
> Hi Dan,
> I'm not seeing this as part of my standard make W=1 C=1
> 
> What do I need to do in order to see this?
> build_kernel_data.sh ??
>

Yeah.  This is a smatch warning that requires build_kernel_data.sh
(probably you have to build several times which takes forever).  The
might_sleep() is in synchronize_net().

It's better to do run time testing.  If you run with
CONFIG_DEBUG_ATOMIC_SLEEP=y
then it will trigger a stack trace.

regards,
dan carpenter

^ permalink raw reply	[relevance 64%]

* Re: [PATCH v2] Bug fix: ensure P4 "err" is displayed when exception is raised.
  2024-05-08 11:46 51% ` [PATCH v2] " Fahad Alrashed via GitGitGadget
@ 2024-05-08 16:53 61%   ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-05-08 16:53 UTC (permalink / raw)
  To: Fahad Alrashed via GitGitGadget; +Cc: git, Karthik Nayak, Fahad Alrashed

"Fahad Alrashed via GitGitGadget" <gitgitgadget@gmail.com> writes:

> From: Fahad Alrashed <fahad@keylock.net>
> Subject: Re: [PATCH v2] Bug fix: ensure P4 "err" is displayed when exception is raised.

Our convention is to use the name of the area as the prefix, e.g.,

	git-p4: show Perforce error to the user

in the title.  Documentation/SubmittingPatches has more guidance on
the title, like omitting the full-stop at the end, and on the
proposed log message in general.

> During "git p4 clone" if p4 process returns an error from the server,
> it will store the message in the 'err' variable. Then it will send a
> text command "die-now" to git-fast-import. However, git-fast-import
> raises an exception: "fatal: Unsupported command: die-now" and err is
> never displayed.

Nicely explained.

> This patch ensures that err is dispayed using
> "finally:".

Instead, we write it more like

	Ensure that err is shown to the end user.

The implementation (i.e., catching an error with try/finally) can be
seen from the patch text.  What is more important to capture in the
proposed log message is what _effect_ the commit wanted to make,
which is a good way to show _why_ we are making the change.

The intent of the original code being to always die at this point.
Even though it is necessary to enclose the earlier part up to
.wait() inside a try block to catch an exception, the two calls to
die() do not have to be inside finally block (in other words,
finally block could be just a no-op, and the die() calls can be done
after the whole try/finally block that kills the fast-import by
sending die-now and makes sure .wait() sees the process go), which
may have made the intent of the fix even more clear, which is "we
use the try/finally construct only to work around an exception
thrown by killing the fast-import process".

The patch posted as-is is not wrong per-se, though.

Thanks.

> diff --git a/git-p4.py b/git-p4.py
> index 28ab12c72b6..f1ab31d5403 100755
> --- a/git-p4.py
> +++ b/git-p4.py
> @@ -3253,17 +3253,19 @@ def streamP4FilesCb(self, marshalled):
>              if self.stream_have_file_info:
>                  if "depotFile" in self.stream_file:
>                      f = self.stream_file["depotFile"]
> -            # force a failure in fast-import, else an empty
> -            # commit will be made
> -            self.gitStream.write("\n")
> -            self.gitStream.write("die-now\n")
> -            self.gitStream.close()
> -            # ignore errors, but make sure it exits first
> -            self.importProcess.wait()
> -            if f:
> -                die("Error from p4 print for %s: %s" % (f, err))
> -            else:
> -                die("Error from p4 print: %s" % err)
> +            try:
> +                # force a failure in fast-import, else an empty
> +                # commit will be made
> +                self.gitStream.write("\n")
> +                self.gitStream.write("die-now\n")
> +                self.gitStream.close()
> +                # ignore errors, but make sure it exits first
> +                self.importProcess.wait()
> +            finally:
> +                if f:
> +                    die("Error from p4 print for %s: %s" % (f, err))
> +                else:
> +                    die("Error from p4 print: %s" % err)
>  
>          if 'depotFile' in marshalled and self.stream_have_file_info:
>              # start of a new file - output the old one first
>
> base-commit: 235986be822c9f8689be2e9a0b7804d0b1b6d821

^ permalink raw reply	[relevance 61%]

* Re: [bug report] wifi: ath12k: flush all packets before suspend
  2024-05-08 12:29 64% [bug report] wifi: ath12k: flush all packets before suspend Dan Carpenter
@ 2024-05-08 16:51 64% ` Jeff Johnson
  2024-05-08 17:31 64%   ` Dan Carpenter
  0 siblings, 1 reply; 200+ results
From: Jeff Johnson @ 2024-05-08 16:51 UTC (permalink / raw)
  To: Dan Carpenter, quic_bqiang; +Cc: linux-wireless, ath12k

On 5/8/2024 5:29 AM, Dan Carpenter wrote:
> Hello Baochen Qiang,
> 
> Commit 692921ead832 ("wifi: ath12k: flush all packets before
> suspend") from Apr 22, 2024 (linux-next), leads to the following
> Smatch static checker warning:
> 
> 	drivers/net/wireless/ath/ath12k/core.c:58 ath12k_core_suspend()
> 	warn: sleeping in atomic context

Hi Dan,
I'm not seeing this as part of my standard make W=1 C=1

What do I need to do in order to see this?
build_kernel_data.sh ??



^ permalink raw reply	[relevance 64%]

* Re: [bug report][bisected] kmemleak in rdma_core observed during blktests nvme/rdma use siw
  2024-05-08 15:56 64%                   ` Jason Gunthorpe
@ 2024-05-08 16:19 64%                     ` Chuck Lever
  0 siblings, 0 replies; 200+ results
From: Chuck Lever @ 2024-05-08 16:19 UTC (permalink / raw)
  To: Jason Gunthorpe
  Cc: Zhu Yanjun, Yi Zhang, Guoqing Jiang, RDMA mailing list,
	Shinichiro Kawasaki, leonro

On Wed, May 08, 2024 at 12:56:37PM -0300, Jason Gunthorpe wrote:
> On Wed, May 08, 2024 at 05:31:00PM +0200, Zhu Yanjun wrote:
> > 在 2024/5/8 15:08, Yi Zhang 写道:
> > > So bisect shows it was introduced with below commit, please help check
> > > and fix it, thanks.
> > > 
> > > commit f8ef1be816bf9a0c406c696368c2264a9597a994
> > > Author: Chuck Lever <chuck.lever@oracle.com>
> > > Date:   Mon Jul 17 11:12:32 2023 -0400
> > > 
> > >      RDMA/cma: Avoid GID lookups on iWARP devices
> > 
> > Not sure if the following can fix this problem or not.
> > Please let me know the test result.
> > Thanks a lot.
> > 
> > diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
> > index 1e2cd7c8716e..901e6c40d560 100644
> > --- a/drivers/infiniband/core/cma.c
> > +++ b/drivers/infiniband/core/cma.c
> > @@ -715,9 +715,13 @@ cma_validate_port(struct ib_device *device, u32 port,
> >                 rcu_read_lock();
> >                 ndev = rcu_dereference(sgid_attr->ndev);
> >                 if (!net_eq(dev_net(ndev), dev_addr->net) ||
> > -                   ndev->ifindex != bound_if_index)
> > +                   ndev->ifindex != bound_if_index) {
> > +                       rdma_put_gid_attr(sgid_attr);
> >                         sgid_attr = ERR_PTR(-ENODEV);
> > +               }
> >                 rcu_read_unlock();
> > +               if (!IS_ERR(sgid_attr))
> > +                       rdma_put_gid_attr(sgid_attr);
> >                 goto out;
> >         }
> 
> That does look needed regardless!
> 
> Chuck?

Releasing the sgid_attr looks sensible.

Reviewed-by: Chuck Lever <chuck.lever@oracle.com>

-- 
Chuck Lever

^ permalink raw reply	[relevance 64%]

* Re: [linux-next:master] [rcu/nocb] 4c66bc7cac: BUG:using_smp_processor_id()in_preemptible
  2024-05-08  4:55 64% ` Z qiang
  2024-05-08  9:01 64%   ` Oliver Sang
@ 2024-05-08 16:14 64%   ` Frederic Weisbecker
  2024-05-09  7:23 64%     ` Z qiang
  1 sibling, 1 reply; 200+ results
From: Frederic Weisbecker @ 2024-05-08 16:14 UTC (permalink / raw)
  To: Z qiang
  Cc: kernel test robot, oe-lkp, lkp, Linux Memory Management List,
	Paul E. McKenney, rcu

Le Wed, May 08, 2024 at 12:55:25PM +0800, Z qiang a écrit :
> >
> >
> >
> > Hello,
> >
> > kernel test robot noticed "BUG:using_smp_processor_id()in_preemptible" on:
> >
> > commit: 4c66bc7cacc08e8abcf5049d2b90bfd800904336 ("rcu/nocb: Use kthread parking instead of ad-hoc implementation")
> > https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
> >
> > [test failed on linux-next/master 9221b2819b8a4196eecf5476d66201be60fbcf29]
> >
> > in testcase: boot
> >
> > compiler: gcc-13
> > test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G
> >
> > (please refer to attached dmesg/kmsg for entire log/backtrace)
> >
> >
> > +--------------------------------------------------------------+------------+------------+
> > |                                                              | 6deb20902f | 4c66bc7cac |
> > +--------------------------------------------------------------+------------+------------+
> > | BUG:using_smp_processor_id()in_preemptible                   | 0          | 12         |
> > +--------------------------------------------------------------+------------+------------+
> >
> >
> > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > the same patch/commit), kindly add following tags
> > | Reported-by: kernel test robot <oliver.sang@intel.com>
> > | Closes: https://lore.kernel.org/oe-lkp/202405072252.959dadc4-lkp@intel.com
> >
> >
> > [    4.099901][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.101313][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.102493][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.104098][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.104398][   T18] Call Trace:
> > [    4.104398][   T18]  <TASK>
> > [ 4.104398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.104398][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.104398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.104398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.104398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.104398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> 
> 
> Please try the following modifications:
> 
> diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
> index 340bbefe5f65..b93e40206621 100644
> --- a/kernel/rcu/tree_plugin.h
> +++ b/kernel/rcu/tree_plugin.h
> @@ -28,8 +28,8 @@ static bool rcu_rdp_is_offloaded(struct rcu_data *rdp)
>                 !(lockdep_is_held(&rcu_state.barrier_mutex) ||
>                   (IS_ENABLED(CONFIG_HOTPLUG_CPU) && lockdep_is_cpus_held()) ||
>                   rcu_lockdep_is_held_nocb(rdp) ||
> -                 (rdp == this_cpu_ptr(&rcu_data) &&
> -                  !(IS_ENABLED(CONFIG_PREEMPT_COUNT) && preemptible())) ||
> +                  (!(IS_ENABLED(CONFIG_PREEMPT_COUNT) && preemptible()) &&
> +                   rdp == this_cpu_ptr(&rcu_data)) ||

Looks good, would you like to send a proper patch with changelog?

Thanks.

>                   rcu_current_is_nocb_kthread(rdp)),
>                 "Unsafe read of RCU_NOCB offloaded state"



>         );
> 
> Thanks
> Zqiang
> 
> 
> > [ 4.104398][ T18] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
> > [ 4.104398][ T18] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4421 (discriminator 16))
> > [ 4.104398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.104398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.104398][ T18] kthread (kernel/kthread.c:388)
> > [ 4.104398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.104398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.104398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.104398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.104398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.104398][   T18]  </TASK>
> > [    4.106221][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.107796][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.108547][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.109667][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.111064][   T18] Call Trace:
> > [    4.111064][   T18]  <TASK>
> > [ 4.111064][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.111064][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.111064][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.111064][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.111064][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.111064][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.111064][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.111064][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.111064][ T18] kthread (kernel/kthread.c:388)
> > [ 4.111064][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.111064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.111064][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.111064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.111064][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.111064][   T18]  </TASK>
> > [    4.132677][    T1] NMI watchdog: Perf NMI watchdog permanently disabled
> > [    4.135331][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.137454][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.137849][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.139414][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.141064][   T18] Call Trace:
> > [    4.141064][   T18]  <TASK>
> > [ 4.141064][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.141064][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.141064][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.141064][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.141064][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.141064][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.141064][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.141064][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.141064][ T18] kthread (kernel/kthread.c:388)
> > [ 4.141064][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.141064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.141064][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.141064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.141064][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.141064][   T18]  </TASK>
> > [    4.141391][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.143427][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.144497][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.146055][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.147731][   T18] Call Trace:
> > [    4.147731][   T18]  <TASK>
> > [ 4.147731][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.147731][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.147731][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.147731][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.147731][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.147731][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.147731][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.147731][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.147731][ T18] kthread (kernel/kthread.c:388)
> > [ 4.147731][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.147731][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.147731][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.147731][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.147731][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.147731][   T18]  </TASK>
> > [    4.148538][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.150537][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.151144][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.152635][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.154398][   T18] Call Trace:
> > [    4.154398][   T18]  <TASK>
> > [ 4.154398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.154398][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.154398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.154398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.154398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.154398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.154398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.154398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.154398][ T18] kthread (kernel/kthread.c:388)
> > [ 4.154398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.154398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.154398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.154398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.154398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.154398][   T18]  </TASK>
> > [    4.156100][    T1] smp: Bringing up secondary CPUs ...
> > [    4.159421][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.161134][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.162569][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.164398][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.164398][   T18] Call Trace:
> > [    4.164398][   T18]  <TASK>
> > [ 4.164398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.164398][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.164398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.164398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.164398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.164398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.164398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.164398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.164398][ T18] kthread (kernel/kthread.c:388)
> > [ 4.164398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.164398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.164398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.164398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.164398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.164398][   T18]  </TASK>
> > [    4.168016][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.170139][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.171170][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.173242][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.174398][   T18] Call Trace:
> > [    4.174398][   T18]  <TASK>
> > [ 4.174398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.174398][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.174398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.174398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.174398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.174398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.174398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.174398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.174398][ T18] kthread (kernel/kthread.c:388)
> > [ 4.174398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.174398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.174398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.174398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.174398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.174398][   T18]  </TASK>
> > [    4.189949][    T1] smpboot: x86: Booting SMP configuration:
> > [    4.191158][    T1] .... node  #0, CPUs:      #1
> > [    1.668906][    T0] masked ExtINT on CPU#1
> > [    4.202955][   T29] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/1/29
> > [ 4.204471][ T29] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.205845][   T29] CPU: 0 PID: 29 Comm: rcuop/1 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.207731][   T29] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.207731][   T29] Call Trace:
> > [    4.207731][   T29]  <TASK>
> > [ 4.207731][ T29] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.207731][ T29] dump_stack (lib/dump_stack.c:124)
> > [ 4.207731][ T29] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.207731][ T29] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.207731][ T29] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.207731][ T29] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.207731][ T29] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
> > [ 4.207731][ T29] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4421 (discriminator 16))
> > [ 4.207731][ T29] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.207731][ T29] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.207731][ T29] kthread (kernel/kthread.c:388)
> > [ 4.207731][ T29] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.207731][ T29] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.207731][ T29] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.207731][ T29] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.207731][ T29] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.207731][   T29]  </TASK>
> > [    4.207989][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.209997][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.211188][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.212898][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.214398][   T18] Call Trace:
> > [    4.214398][   T18]  <TASK>
> > [ 4.214398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.214398][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.214398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.214398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.214398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.214398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.214398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.214398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.214398][ T18] kthread (kernel/kthread.c:388)
> > [ 4.214398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.214398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.214398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.214398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.214398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.214398][   T18]  </TASK>
> > [    4.215399][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.217064][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.217772][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.219363][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.221064][   T18] Call Trace:
> > [    4.221064][   T18]  <TASK>
> > [ 4.221064][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.221064][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.221064][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.221064][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.221064][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.221064][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.221064][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.221064][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.221064][ T18] kthread (kernel/kthread.c:388)
> > [ 4.221064][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.221064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.221064][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.221064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.221064][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.221064][   T18]  </TASK>
> >
> >
> >
> > The kernel config and materials to reproduce are available at:
> > https://download.01.org/0day-ci/archive/20240507/202405072252.959dadc4-lkp@intel.com
> >
> >
> >
> > --
> > 0-DAY CI Kernel Test Service
> > https://github.com/intel/lkp-tests/wiki
> >
> >


^ permalink raw reply	[relevance 64%]

* Re: [BUG REPORT] Deadlock when executing xfs/708 on xfs-linux's for-next
  2024-05-07 22:20 64% ` Darrick J. Wong
@ 2024-05-08 16:09 64%   ` Darrick J. Wong
  2024-05-09  4:56 64%     ` Christoph Hellwig
  0 siblings, 1 reply; 200+ results
From: Darrick J. Wong @ 2024-05-08 16:09 UTC (permalink / raw)
  To: Chandan Babu R; +Cc: Linux-XFS mailing list

On Tue, May 07, 2024 at 03:20:39PM -0700, Darrick J. Wong wrote:
> On Mon, May 06, 2024 at 09:47:33AM +0530, Chandan Babu R wrote:
> > Hi,
> > 
> > Executing xfs/708 on xfs-linux's current for-next (commit
> > 25576c5420e61dea4c2b52942460f2221b8e46e8) causes the following hung task
> > timeout to be printed,
> 
> Do you have any odd kasan/lockdep features enabled?

Never mind that.

I /think/ I figured this out -- the xfarray_sort_scan function can
return an error if a fatal signal has been received.  Unfortunately the
callsites all assume that an error return means that si->folio doesn't
point at a folio, so they don't bother calling xfarray_sort_scan_done,
so we leak a locked page and that's what the folio_wait_bit_common is
stuck on.

--D

> > [ 6328.415475] run fstests xfs/708 at 2024-05-04 15:35:29
> > [ 6328.964720] XFS (loop16): EXPERIMENTAL online scrub feature in use. Use at your own risk!
> > [ 6329.258411] XFS (loop5): Mounting V5 Filesystem e96086f0-a2f9-4424-a1d5-c75d53d823be
> > [ 6329.265694] XFS (loop5): Ending clean mount
> > [ 6329.267899] XFS (loop5): Quotacheck needed: Please wait.
> > [ 6329.280141] XFS (loop5): Quotacheck: Done.
> > [ 6329.291589] XFS (loop5): EXPERIMENTAL online scrub feature in use. Use at your own risk!
> > [ 7865.474615] INFO: task xfs_io:143725 blocked for more than 122 seconds.
> > [ 7865.476744]       Not tainted 6.9.0-rc4+ #1
> > [ 7865.478109] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> > [ 7865.479827] task:xfs_io          state:D stack:0     pid:143725 tgid:143725 ppid:117661 flags:0x00004006
> > [ 7865.481685] Call Trace:
> > [ 7865.482761]  <TASK>
> > [ 7865.483801]  __schedule+0x69c/0x17a0
> > [ 7865.485053]  ? __pfx___schedule+0x10/0x10
> > [ 7865.486372]  ? _raw_spin_lock_irq+0x8b/0xe0
> > [ 7865.487576]  schedule+0x74/0x1b0
> > [ 7865.488749]  io_schedule+0xc4/0x140
> > [ 7865.489943]  folio_wait_bit_common+0x254/0x650
> 
> Huh.  So we're evicting a shmem inode and it's stuck waiting for a
> folio?
> 
> > [ 7865.491308]  ? __pfx_folio_wait_bit_common+0x10/0x10
> > [ 7865.492596]  ? __pfx_find_get_entries+0x10/0x10
> > [ 7865.493875]  ? __pfx_wake_page_function+0x10/0x10
> > [ 7865.495222]  ? lru_add_drain_cpu+0x1dd/0x2e0
> > [ 7865.496399]  shmem_undo_range+0x9d5/0xb40
> 
> Can you addr2line this to figure out what exactly shmem_undo_range was
> trying to do?  Is memory tight here?
> 
> > [ 7865.497558]  ? __pfx_shmem_undo_range+0x10/0x10
> > [ 7865.498757]  ? poison_slab_object+0x106/0x190
> > [ 7865.500003]  ? kfree+0xfc/0x300
> > [ 7865.501107]  ? xfs_scrub_metadata+0x84e/0xdf0 [xfs]
> > [ 7865.502466]  ? xfs_ioc_scrub_metadata+0x9e/0x120 [xfs]
> > [ 7865.503900]  ? wakeup_preempt+0x161/0x260
> > [ 7865.505105]  ? _raw_spin_lock+0x85/0xe0
> > [ 7865.506214]  ? __pfx__raw_spin_lock+0x10/0x10
> > [ 7865.507334]  ? _raw_spin_lock+0x85/0xe0
> > [ 7865.508410]  ? __pfx__raw_spin_lock+0x10/0x10
> > [ 7865.509524]  ? __pfx__raw_spin_lock+0x10/0x10
> > [ 7865.510638]  ? _raw_spin_lock+0x85/0xe0
> > [ 7865.511677]  ? kasan_save_track+0x14/0x30
> > [ 7865.512754]  ? kasan_save_free_info+0x3b/0x60
> > [ 7865.513872]  ? poison_slab_object+0x106/0x190
> > [ 7865.515084]  ? xfs_scrub_metadata+0x84e/0xdf0 [xfs]
> > [ 7865.516326]  ? kfree+0xfc/0x300
> > [ 7865.517302]  ? xfs_scrub_metadata+0x84e/0xdf0 [xfs]
> > [ 7865.518578]  shmem_evict_inode+0x322/0x8f0
> > [ 7865.519626]  ? __inode_wait_for_writeback+0xcf/0x1a0
> > [ 7865.520801]  ? __pfx_shmem_evict_inode+0x10/0x10
> > [ 7865.521951]  ? __pfx___inode_wait_for_writeback+0x10/0x10
> > [ 7865.523136]  ? __pfx_wake_bit_function+0x10/0x10
> > [ 7865.524207]  ? __pfx__raw_spin_lock+0x10/0x10
> > [ 7865.525243]  ? __pfx__raw_spin_lock+0x10/0x10
> > [ 7865.526236]  evict+0x24e/0x560
> > [ 7865.527091]  __dentry_kill+0x17d/0x4d0
> > [ 7865.528107]  dput+0x263/0x430
> > [ 7865.529006]  __fput+0x2fc/0xaa0
> > [ 7865.529927]  task_work_run+0x132/0x210
> > [ 7865.530891]  ? __pfx_task_work_run+0x10/0x10
> > [ 7865.531910]  get_signal+0x1a8/0x1910
> > [ 7865.532917]  ? kasan_save_track+0x14/0x30
> > [ 7865.533885]  ? kasan_save_free_info+0x3b/0x60
> > [ 7865.534880]  ? __pfx_get_signal+0x10/0x10
> > [ 7865.535793]  ? poison_slab_object+0xbe/0x190
> > [ 7865.536784]  ? __pfx_ioctl_has_perm.constprop.0.isra.0+0x10/0x10
> > [ 7865.537952]  arch_do_signal_or_restart+0x7b/0x2f0
> > [ 7865.539014]  ? __pfx_arch_do_signal_or_restart+0x10/0x10
> > [ 7865.540091]  ? restore_fpregs_from_fpstate+0x96/0x150
> > [ 7865.541123]  ? __pfx_restore_fpregs_from_fpstate+0x10/0x10
> > [ 7865.542209]  ? security_file_ioctl+0x51/0x90
> > [ 7865.543153]  syscall_exit_to_user_mode+0x1c2/0x200
> > [ 7865.544165]  do_syscall_64+0x72/0x170
> > [ 7865.545033]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
> > [ 7865.546095] RIP: 0033:0x7f4d18c3ec6b
> > [ 7865.547033] RSP: 002b:00007ffe2056f878 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > [ 7865.548407] RAX: fffffffffffffffc RBX: 0000000000000001 RCX: 00007f4d18c3ec6b
> > [ 7865.549757] RDX: 00007ffe2056f880 RSI: 00000000c040583c RDI: 0000000000000003
> > [ 7865.551047] RBP: 000000001bd46c40 R08: 0000000000000002 R09: 0000000000000000
> > [ 7865.552317] R10: 00007f4d18d9eac0 R11: 0000000000000246 R12: 0000000000000000
> > [ 7865.553619] R13: 000000001bd46bc0 R14: 000000001bd46520 R15: 0000000000000004
> > [ 7865.555005]  </TASK>
> > 
> > The following is the contents from fstests config file,
> > 
> > FSTYP=xfs
> > TEST_DIR=/media/test
> > SCRATCH_MNT=/media/scratch
> > DUMP_CORRUPT_FS=1
> > SOAK_DURATION=1320
> > 
> > TEST_DEV=/dev/loop16
> > SCRATCH_DEV_POOL="/dev/loop5 /dev/loop6 /dev/loop7 /dev/loop8 /dev/loop9 /dev/loop10 /dev/loop11 /dev/loop12"
> 
> Huh.  Does the problem go away if the loop devices are directio=1 ?
> 
> --D
> 
> > MKFS_OPTIONS='-f -m reflink=1,rmapbt=1, -i sparse=1,'
> > MOUNT_OPTIONS='-o usrquota,grpquota,prjquota'
> > TEST_FS_MOUNT_OPTS="$TEST_FS_MOUNT_OPTS -o usrquota,grpquota,prjquota"
> > USE_EXTERNAL=no
> > LOGWRITES_DEV=/dev/loop15
> > 
> > -- 
> > Chandan
> 

^ permalink raw reply	[relevance 64%]

* Re: [bug report][bisected] kmemleak in rdma_core observed during blktests nvme/rdma use siw
  2024-05-08 15:31 64%                 ` Zhu Yanjun
@ 2024-05-08 15:56 64%                   ` Jason Gunthorpe
  2024-05-08 16:19 64%                     ` Chuck Lever
  0 siblings, 1 reply; 200+ results
From: Jason Gunthorpe @ 2024-05-08 15:56 UTC (permalink / raw)
  To: Zhu Yanjun, Chuck Lever
  Cc: Yi Zhang, Guoqing Jiang, RDMA mailing list, Shinichiro Kawasaki,
	leonro, chuck.lever

On Wed, May 08, 2024 at 05:31:00PM +0200, Zhu Yanjun wrote:
> 在 2024/5/8 15:08, Yi Zhang 写道:
> > So bisect shows it was introduced with below commit, please help check
> > and fix it, thanks.
> > 
> > commit f8ef1be816bf9a0c406c696368c2264a9597a994
> > Author: Chuck Lever <chuck.lever@oracle.com>
> > Date:   Mon Jul 17 11:12:32 2023 -0400
> > 
> >      RDMA/cma: Avoid GID lookups on iWARP devices
> 
> Not sure if the following can fix this problem or not.
> Please let me know the test result.
> Thanks a lot.
> 
> diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
> index 1e2cd7c8716e..901e6c40d560 100644
> --- a/drivers/infiniband/core/cma.c
> +++ b/drivers/infiniband/core/cma.c
> @@ -715,9 +715,13 @@ cma_validate_port(struct ib_device *device, u32 port,
>                 rcu_read_lock();
>                 ndev = rcu_dereference(sgid_attr->ndev);
>                 if (!net_eq(dev_net(ndev), dev_addr->net) ||
> -                   ndev->ifindex != bound_if_index)
> +                   ndev->ifindex != bound_if_index) {
> +                       rdma_put_gid_attr(sgid_attr);
>                         sgid_attr = ERR_PTR(-ENODEV);
> +               }
>                 rcu_read_unlock();
> +               if (!IS_ERR(sgid_attr))
> +                       rdma_put_gid_attr(sgid_attr);
>                 goto out;
>         }

That does look needed regardless!

Chuck?

Jason

^ permalink raw reply	[relevance 64%]

* Re: [bug report][bisected] kmemleak in rdma_core observed during blktests nvme/rdma use siw
  2024-05-08 13:08 64%               ` [bug report][bisected] " Yi Zhang
  2024-05-08 14:37 64%                 ` Zhu Yanjun
@ 2024-05-08 15:31 64%                 ` Zhu Yanjun
  2024-05-08 15:56 64%                   ` Jason Gunthorpe
  1 sibling, 1 reply; 200+ results
From: Zhu Yanjun @ 2024-05-08 15:31 UTC (permalink / raw)
  To: Yi Zhang, Guoqing Jiang
  Cc: RDMA mailing list, Shinichiro Kawasaki, Jason Gunthorpe, leonro,
	chuck.lever

在 2024/5/8 15:08, Yi Zhang 写道:
> So bisect shows it was introduced with below commit, please help check
> and fix it, thanks.
> 
> commit f8ef1be816bf9a0c406c696368c2264a9597a994
> Author: Chuck Lever <chuck.lever@oracle.com>
> Date:   Mon Jul 17 11:12:32 2023 -0400
> 
>      RDMA/cma: Avoid GID lookups on iWARP devices

Not sure if the following can fix this problem or not.
Please let me know the test result.
Thanks a lot.

diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 1e2cd7c8716e..901e6c40d560 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -715,9 +715,13 @@ cma_validate_port(struct ib_device *device, u32 port,
                 rcu_read_lock();
                 ndev = rcu_dereference(sgid_attr->ndev);
                 if (!net_eq(dev_net(ndev), dev_addr->net) ||
-                   ndev->ifindex != bound_if_index)
+                   ndev->ifindex != bound_if_index) {
+                       rdma_put_gid_attr(sgid_attr);
                         sgid_attr = ERR_PTR(-ENODEV);
+               }
                 rcu_read_unlock();
+               if (!IS_ERR(sgid_attr))
+                       rdma_put_gid_attr(sgid_attr);
                 goto out;
         }
Zhu Yanjun

> 
> On Tue, Apr 30, 2024 at 7:51 PM Yi Zhang <yi.zhang@redhat.com> wrote:
>>
>> On Mon, Apr 29, 2024 at 8:54 AM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>>>
>>>
>>>
>>> On 4/28/24 20:42, Yi Zhang wrote:
>>>> On Sun, Apr 28, 2024 at 10:54 AM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>>>>>
>>>>>
>>>>> On 4/26/24 16:44, Yi Zhang wrote:
>>>>>> On Fri, Apr 26, 2024 at 1:56 PM Yi Zhang <yi.zhang@redhat.com> wrote:
>>>>>>> On Wed, Apr 24, 2024 at 9:28 PM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> On 4/8/24 14:03, Yi Zhang wrote:
>>>>>>>>> Hi
>>>>>>>>> I found the below kmemleak issue during blktests nvme/rdma on the
>>>>>>>>> latest linux-rdma/for-next, please help check it and let me know if
>>>>>>>>> you need any info/testing for it, thanks.
>>>>>>>> Could you share which test case caused the issue? I can't reproduce
>>>>>>>> it with 6.9-rc3+ kernel (commit 586b5dfb51b) with the below.
>>>>>>> It can be reproduced by [1], you can find more info from the symbol
>>>>>>> info[2], I also attached the config file, maybe you can this config
>>>>>>> file
>>>>>> Just attached the config file
>>>>>>
>>>>> I tried with the config, but still unlucky.
>>>>>
>>>>> # nvme_trtype=rdma ./check nvme/012
>>>>> nvme/012 (run mkfs and data verification fio job on NVMeOF block
>>>>> device-backed ns)
>>>>> nvme/012 (run mkfs and data verification fio job on NVMeOF block
>>>>> device-backed ns) [passed]
>>>>>        runtime  52.763s  ...  392.027s device: nvme0
>>>>>
>>>>>>> [1] nvme_trtype=rdma ./check nvme/012
>>>>>>> [2]
>>>>>>> unreferenced object 0xffff8883a87e8800 (size 192):
>>>>>>>      comm "rdma", pid 2355, jiffies 4294836069
>>>>>>>      hex dump (first 32 bytes):
>>>>>>>        32 00 00 00 00 00 00 00 c0 ff ff ff 1f 00 00 00  2...............
>>>>>>>        10 88 7e a8 83 88 ff ff 10 88 7e a8 83 88 ff ff  ..~.......~.....
>>>>>>>      backtrace (crc 4db191c4):
>>>>>>>        [<ffffffff8cd251bd>] kmalloc_trace+0x30d/0x3b0
>>>>>>>        [<ffffffffc207eff7>] alloc_gid_entry+0x47/0x380 [ib_core]
>>>>>>>        [<ffffffffc2080206>] add_modify_gid+0x166/0x930 [ib_core]
>>>>>>>        [<ffffffffc2081468>] ib_cache_update.part.0+0x6d8/0x910 [ib_core]
>>>>>>>        [<ffffffffc2082e1a>] ib_cache_setup_one+0x24a/0x350 [ib_core]
>>>>>>>        [<ffffffffc207749e>] ib_register_device+0x9e/0x3a0 [ib_core]
>>>>>>>        [<ffffffffc24ac389>] 0xffffffffc24ac389
>>>>>>>        [<ffffffffc20c6cd8>] nldev_newlink+0x2b8/0x520 [ib_core]
>>>>>>>        [<ffffffffc2083fe3>] rdma_nl_rcv_msg+0x2c3/0x520 [ib_core]
>>>>>>>        [<ffffffffc208448c>]
>>>>>>> rdma_nl_rcv_skb.constprop.0.isra.0+0x23c/0x3a0 [ib_core]
>>>>>>>        [<ffffffff8e30e715>] netlink_unicast+0x445/0x710
>>>>>>>        [<ffffffff8e30f151>] netlink_sendmsg+0x761/0xc40
>>>>>>>        [<ffffffff8e09da89>] __sys_sendto+0x3a9/0x420
>>>>>>>        [<ffffffff8e09dbec>] __x64_sys_sendto+0xdc/0x1b0
>>>>>>>        [<ffffffff8e9afad3>] do_syscall_64+0x93/0x180
>>>>>>>        [<ffffffff8ea00126>] entry_SYSCALL_64_after_hwframe+0x71/0x79
>>>>>>>
>>>>>>> (gdb) l *(alloc_gid_entry+0x47)
>>>>>>> 0x2eff7 is in alloc_gid_entry (./include/linux/slab.h:628).
>>>>>>> 623
>>>>>>> 624 if (size > KMALLOC_MAX_CACHE_SIZE)
>>>>>>> 625 return kmalloc_large(size, flags);
>>>>>>> 626
>>>>>>> 627 index = kmalloc_index(size);
>>>>>>> 628 return kmalloc_trace(
>>>>>>> 629 kmalloc_caches[kmalloc_type(flags, _RET_IP_)][index],
>>>>>>> 630 flags, size);
>>>>>>> 631 }
>>>>>>> 632 return __kmalloc(size, flags);
>>>>>>>
>>>>>>> (gdb) l *(add_modify_gid+0x166)
>>>>>>> 0x30206 is in add_modify_gid (drivers/infiniband/core/cache.c:447).
>>>>>>> 442 * empty table entries instead of storing them.
>>>>>>> 443 */
>>>>>>> 444 if (rdma_is_zero_gid(&attr->gid))
>>>>>>> 445 return 0;
>>>>>>> 446
>>>>>>> 447 entry = alloc_gid_entry(attr);
>>>>>>> 448 if (!entry)
>>>>>>> 449 return -ENOMEM;
>>>>>>> 450
>>>>>>> 451 if (rdma_protocol_roce(attr->device, attr->port_num)) {
>>>>>>>
>>>>>>>
>>>>>>>> use_siw=1 nvme_trtype=rdma ./check nvme/
>>>>>>>>
>>>>>>>>> # dmesg | grep kmemleak
>>>>>>>>> [   67.130652] kmemleak: Kernel memory leak detector initialized (mem
>>>>>>>>> pool available: 36041)
>>>>>>>>> [   67.130728] kmemleak: Automatic memory scanning thread started
>>>>>>>>> [ 1051.771867] kmemleak: 2 new suspected memory leaks (see
>>>>>>>>> /sys/kernel/debug/kmemleak)
>>>>>>>>> [ 1832.796189] kmemleak: 8 new suspected memory leaks (see
>>>>>>>>> /sys/kernel/debug/kmemleak)
>>>>>>>>> [ 2578.189075] kmemleak: 17 new suspected memory leaks (see
>>>>>>>>> /sys/kernel/debug/kmemleak)
>>>>>>>>> [ 3330.710984] kmemleak: 4 new suspected memory leaks (see
>>>>>>>>> /sys/kernel/debug/kmemleak)
>>>>>>>>>
>>>>>>>>> unreferenced object 0xffff88855da53400 (size 192):
>>>>>>>>>       comm "rdma", pid 10630, jiffies 4296575922
>>>>>>>>>       hex dump (first 32 bytes):
>>>>>>>>>         37 00 00 00 00 00 00 00 c0 ff ff ff 1f 00 00 00  7...............
>>>>>>>>>         10 34 a5 5d 85 88 ff ff 10 34 a5 5d 85 88 ff ff  .4.].....4.]....
>>>>>>>>>       backtrace (crc 47f66721):
>>>>>>>>>         [<ffffffff911251bd>] kmalloc_trace+0x30d/0x3b0
>>>>>>>>>         [<ffffffffc2640ff7>] alloc_gid_entry+0x47/0x380 [ib_core]
>>>>>>>>>         [<ffffffffc2642206>] add_modify_gid+0x166/0x930 [ib_core]
>>>>>>>> I guess add_modify_gid is called from config_non_roce_gid_cache, not sure
>>>>>>>> why we don't check the return value of it here.
>>>>>>>>
>>>>>>>> Looks put_gid_entry is called in case add_modify_gid returns failure, it
>>>>>>>> would
>>>>>>>> trigger schedule_free_gid -> queue_work(ib_wq, &entry->del_work), then
>>>>>>>> free_gid_work -> free_gid_entry_locked would free storage asynchronously by
>>>>>>>> put_gid_ndev and also entry.
>>>>>>>>
>>>>>>>>>         [<ffffffffc2643468>] ib_cache_update.part.0+0x6d8/0x910 [ib_core]
>>>>>>>>>         [<ffffffffc2644e1a>] ib_cache_setup_one+0x24a/0x350 [ib_core]
>>>>>>>>>         [<ffffffffc263949e>] ib_register_device+0x9e/0x3a0 [ib_core]
>>>>>>>>>         [<ffffffffc2a3d389>] 0xffffffffc2a3d389
>>>>>>>>>         [<ffffffffc2688cd8>] nldev_newlink+0x2b8/0x520 [ib_core]
>>>>>>>>>         [<ffffffffc2645fe3>] rdma_nl_rcv_msg+0x2c3/0x520 [ib_core]
>>>>>>>>>         [<ffffffffc264648c>]
>>>>>>>>> rdma_nl_rcv_skb.constprop.0.isra.0+0x23c/0x3a0 [ib_core]
>>>>>>>>>         [<ffffffff9270e7b5>] netlink_unicast+0x445/0x710
>>>>>>>>>         [<ffffffff9270f1f1>] netlink_sendmsg+0x761/0xc40
>>>>>>>>>         [<ffffffff9249db29>] __sys_sendto+0x3a9/0x420
>>>>>>>>>         [<ffffffff9249dc8c>] __x64_sys_sendto+0xdc/0x1b0
>>>>>>>>>         [<ffffffff92db0ad3>] do_syscall_64+0x93/0x180
>>>>>>>>>         [<ffffffff92e00126>] entry_SYSCALL_64_after_hwframe+0x71/0x79
>>>>>>>> After ib_cache_setup_one failed, maybe ib_cache_cleanup_one is needed
>>>>>>>> which flush ib_wq to ensure storage is freed. Could you try with the change?
>>>>>>> Will try it later.
>>>>>>>
>>>>>> The kmemleak still can be reproduced with this change:
>>>>>>
>>>>>> unreferenced object 0xffff8881f89fde00 (size 192):
>>>>>>      comm "rdma", pid 8708, jiffies 4295703453
>>>>>>      hex dump (first 32 bytes):
>>>>>>        02 00 00 00 00 00 00 00 c0 ff ff ff 1f 00 00 00  ................
>>>>>>        10 de 9f f8 81 88 ff ff 10 de 9f f8 81 88 ff ff  ................
>>>>>>      backtrace (crc 888c494b):
>>>>>>        [<ffffffffa7d251bd>] kmalloc_trace+0x30d/0x3b0
>>>>>>        [<ffffffffc1efeff7>] alloc_gid_entry+0x47/0x380 [ib_core]
>>>>>>        [<ffffffffc1f00206>] add_modify_gid+0x166/0x930 [ib_core]
>>>>>>        [<ffffffffc1f01468>] ib_cache_update.part.0+0x6d8/0x910 [ib_core]
>>>>>>        [<ffffffffc1f02e1a>] ib_cache_setup_one+0x24a/0x350 [ib_core]
>>>>>>        [<ffffffffc1ef749e>] ib_register_device+0x9e/0x3a0 [ib_core]
>>>>>>        [<ffffffffc22ee389>]
>>>>>> siw_qp_state_to_ib_qp_state+0x28a9/0xfffffffffffd1520 [siw]
>>>>> Is it possible to run the test with rxe instead of siw? In case it is
>>>>> only happened
>>>>> with siw, I'd suggest to revert 0b988c1bee28 to check if it causes the
>>>>> issue.
>>>>> But I don't understand why siw_qp_state_to_ib_qp_state was appeared in the
>>>>> middle of above trace.
>>>> Hi Guoqing
>>>> This issue only can be reproduced with siw, I did more testing today
>>>> and it cannot be reproduced with 6.5, seems it was introduced from
>>>> 6.6-rc1, and I saw there are some siw updates from 6.6-rc1.
>>>
>>> Yes, pls bisect them.
>>
>> Sure, will do that after I back from holiday next week.
>>
>>>
>>>   > git log --oneline v6.5..v6.6-rc1 drivers/infiniband/sw/siw/|cat
>>> 9dfccb6d0d3d RDMA/siw: Call llist_reverse_order in siw_run_sq
>>> bee024d20451 RDMA/siw: Correct wrong debug message
>>> b056327bee09 RDMA/siw: Balance the reference of cep->kref in the error path
>>> 91f36237b4b9 RDMA/siw: Fix tx thread initialization.
>>> bad5b6e34ffb RDMA/siw: Fabricate a GID on tun and loopback devices
>>> 9191df002926 RDMA/siw: use vmalloc_array and vcalloc
>>>
>>> Thanks,
>>> Guoqing
>>>
>>
>>
>> --
>> Best Regards,
>>    Yi Zhang
> 
> 
> 


^ permalink raw reply related	[relevance 64%]

* [bug report] ASoC: audio-graph-card2: add Codec2Codec support
@ 2024-05-08 15:14 63% Dan Carpenter
  2024-05-09  0:13 64% ` Kuninori Morimoto
  0 siblings, 1 reply; 200+ results
From: Dan Carpenter @ 2024-05-08 15:14 UTC (permalink / raw)
  To: kuninori.morimoto.gx; +Cc: linux-sound

Hello Kuninori Morimoto,

Commit c3a15c92a67b ("ASoC: audio-graph-card2: add Codec2Codec
support") from Oct 12, 2021 (linux-next), leads to the following
Smatch static checker warning:

	sound/soc/generic/audio-graph-card2.c:1206 graph_count_c2c()
	warn: already decremented on line 1206 'lnk->kobj.kref.refcount.refs.counter'

sound/soc/generic/audio-graph-card2.c
    1194 static int graph_count_c2c(struct simple_util_priv *priv,
    1195                            struct device_node *lnk,
    1196                            struct link_info *li)
    1197 {
    1198         struct device_node *ports = of_get_parent(lnk);
    1199         struct device_node *port0 = lnk;
    1200         struct device_node *port1 = of_get_next_child(ports, lnk);
                                                                      ^^^

This calls of_node_put() on lnk.

    1201         struct device_node *ep0 = port_to_endpoint(port0);
    1202         struct device_node *ep1 = port_to_endpoint(port1);
    1203         struct device_node *codec0 = of_graph_get_remote_port(ep0);
    1204         struct device_node *codec1 = of_graph_get_remote_port(ep1);
    1205 
--> 1206         of_node_get(lnk);

So this of_node_get() undoes the put.  But if the reference count
dropped to zero then this would be a use afer free.

    1207 
    1208         /*
    1209          * codec2codec {
    1210          *        ports {
    1211          * =>        lnk:        port@0 { endpoint { ... }; };
    1212          *                port@1 { endpoint { ... }; };
    1213          *        };
    1214          * };
    1215          */
    1216         /*
    1217          * DON'T REMOVE platforms
    1218          * see
    1219          *        simple-card.c :: simple_count_noml()
    1220          */
    1221         li->num[li->link].cpus                =
    1222         li->num[li->link].platforms        = graph_counter(codec0);
    1223 
    1224         li->num[li->link].codecs        = graph_counter(codec1);
    1225 
    1226         of_node_put(ports);
    1227         of_node_put(port1);
    1228         of_node_put(ep0);
    1229         of_node_put(ep1);
    1230         of_node_put(codec0);
    1231         of_node_put(codec1);
    1232 
    1233         return 0;
    1234 }

regards,
dan carpenter

^ permalink raw reply	[relevance 63%]

* Re: [bug report] rcu: Kill rnp->ofl_seq and use only rcu_state.ofl_lock for exclusion
  2024-05-08 14:33 64% ` Paul E. McKenney
@ 2024-05-08 14:55 64%   ` Dan Carpenter
  2024-05-08 17:32 64%     ` Paul E. McKenney
  0 siblings, 1 reply; 200+ results
From: Dan Carpenter @ 2024-05-08 14:55 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: dwmw, rcu

On Wed, May 08, 2024 at 07:33:38AM -0700, Paul E. McKenney wrote:
> On Wed, May 08, 2024 at 03:29:12PM +0300, Dan Carpenter wrote:
> > Hello David Woodhouse,
> > 
> > Commit 82980b1622d9 ("rcu: Kill rnp->ofl_seq and use only
> > rcu_state.ofl_lock for exclusion") from Feb 16, 2021 (linux-next),
> > leads to the following Smatch static checker warning:
> > 
> > 	kernel/rcu/tree.c:1844 rcu_gp_init()
> > 	warn: mixing irq and irqsave
> 
> There are actually cases where this does make sense, one example being
> where some called function (for example, rcu_report_qs_rnp() below)
> needs a flags argument.
> 

I only found one false positive which was kind of related to that in
__run_hrtimer().

  1643  
  1644  static void __run_hrtimer(struct hrtimer_cpu_base *cpu_base,
  1645                            struct hrtimer_clock_base *base,
  1646                            struct hrtimer *timer, ktime_t *now,
  1647                            unsigned long flags) __must_hold(&cpu_base->lock)
                                                ^^^^^

  1648  {
....

  1678          /*
  1679           * The timer is marked as running in the CPU base, so it is
  1680           * protected against migration to a different CPU even if the lock
  1681           * is dropped.
  1682           */
  1683          raw_spin_unlock_irqrestore(&cpu_base->lock, flags);
                                                            ^^^^^
We potentially enable IRQs.

  1684          trace_hrtimer_expire_entry(timer, now);
  1685          expires_in_hardirq = lockdep_hrtimer_enter(timer);
  1686  
  1687          restart = fn(timer);
  1688  
  1689          lockdep_hrtimer_exit(expires_in_hardirq);
  1690          trace_hrtimer_expire_exit(timer);
  1691          raw_spin_lock_irq(&cpu_base->lock);
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Then disable them again.

  1692  

Of course the other warnings are mostly not "bugs" because the callers
haven't disabled IRQs.  They're just in need of clean up.

regards,
dan carpenter


^ permalink raw reply	[relevance 64%]

* [bug report] soc: qcom: rpmh-rsc: Sleep waiting for tcs slots to be free
@ 2024-05-08 14:49 60% Dan Carpenter
  2024-05-08 21:01 64% ` Stephen Boyd
  0 siblings, 1 reply; 200+ results
From: Dan Carpenter @ 2024-05-08 14:49 UTC (permalink / raw)
  To: swboyd; +Cc: linux-arm-msm

Hello Stephen Boyd,

Commit 2bc20f3c8487 ("soc: qcom: rpmh-rsc: Sleep waiting for tcs
slots to be free") from Jul 24, 2020 (linux-next), leads to the
following Smatch static checker warning:

	drivers/soc/qcom/rpmh-rsc.c:658 rpmh_rsc_send_data()
	warn: mixing irqsave and irq

drivers/soc/qcom/rpmh-rsc.c
    645 int rpmh_rsc_send_data(struct rsc_drv *drv, const struct tcs_request *msg)
    646 {
    647         struct tcs_group *tcs;
    648         int tcs_id;
    649         unsigned long flags;
    650 
    651         tcs = get_tcs_for_msg(drv, msg);
    652         if (IS_ERR(tcs))
    653                 return PTR_ERR(tcs);
    654 
    655         spin_lock_irqsave(&drv->lock, flags);

flags saves if this is called with IRQs disabled.  I don't think it is.

    656 
    657         /* Wait forever for a free tcs. It better be there eventually! */
--> 658         wait_event_lock_irq(drv->tcs_wait,
    659                             (tcs_id = claim_tcs_for_req(drv, tcs, msg)) >= 0,
    660                             drv->lock);

This will enable IRQs and then disable them again.  If this were called
with IRQs disabled then this would probably be bad.  (But again, I don't
think it is).

    661 
    662         tcs->req[tcs_id - tcs->offset] = msg;
    663         set_bit(tcs_id, drv->tcs_in_use);
    664         if (msg->state == RPMH_ACTIVE_ONLY_STATE && tcs->type != ACTIVE_TCS) {
    665                 /*
    666                  * Clear previously programmed WAKE commands in selected
    667                  * repurposed TCS to avoid triggering them. tcs->slots will be
    668                  * cleaned from rpmh_flush() by invoking rpmh_rsc_invalidate()
    669                  */
    670                 write_tcs_reg_sync(drv, drv->regs[RSC_DRV_CMD_ENABLE], tcs_id, 0);
    671                 enable_tcs_irq(drv, tcs_id, true);
    672         }
    673         spin_unlock_irqrestore(&drv->lock, flags);

And then it sets it back to whatever it was when it was called.  So
that's fine.

    674 
    675         /*
    676          * These two can be done after the lock is released because:
    677          * - We marked "tcs_in_use" under lock.
    678          * - Once "tcs_in_use" has been marked nobody else could be writing
    679          *   to these registers until the interrupt goes off.
    680          * - The interrupt can't go off until we trigger w/ the last line
    681          *   of __tcs_set_trigger() below.
    682          */
    683         __tcs_buffer_write(drv, tcs_id, 0, msg);
    684         __tcs_set_trigger(drv, tcs_id, true);
    685 
    686         return 0;
    687 }

regards,
dan carpenter

^ permalink raw reply	[relevance 60%]

* Re: [bug report] usb: typec: ucsi: Only enable supported notifications
  2024-05-08 14:34 64%   ` Dan Carpenter
@ 2024-05-08 14:45 64%     ` Diogo Ivo
  0 siblings, 0 replies; 200+ results
From: Diogo Ivo @ 2024-05-08 14:45 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: linux-usb, heikki.krogerus, diogo.ivo

On Wed, May 08, 2024 at 05:34:57PM GMT, Dan Carpenter wrote:
> On Wed, May 08, 2024 at 03:22:49PM +0100, Diogo Ivo wrote:
> > Hello Dan,
> > 
> > On Wed, May 08, 2024 at 10:53:05AM GMT, Dan Carpenter wrote:
> > > Hello Diogo Ivo,
> > > 
> > > Commit 27ffe4ff0b33 ("usb: typec: ucsi: Only enable supported
> > > notifications") from Mar 27, 2024 (linux-next), leads to the
> > > following Smatch static checker warning:
> > > 
> > > 	drivers/usb/typec/ucsi/ucsi.c:1671 ucsi_get_supported_notifications()
> > > 	warn: was expecting a 64 bit value instead of '((((1))) << (24))'
> > > 
> > > drivers/usb/typec/ucsi/ucsi.c
> > >     1665 static u64 ucsi_get_supported_notifications(struct ucsi *ucsi)
> > >     1666 {
> > >     1667         u8 features = ucsi->cap.features;
> > >     1668         u64 ntfy = UCSI_ENABLE_NTFY_ALL;
> > >     1669 
> > >     1670         if (!(features & UCSI_CAP_ALT_MODE_DETAILS))
> > > --> 1671                 ntfy &= ~UCSI_ENABLE_NTFY_CAM_CHANGE;
> > > 
> > > ntfy is a u64 but UCSI_ENABLE_NTFY_CAM_CHANGE is unsigned long.  So on
> > > a 32 bit system this will clear the high 32 bits.  So far as I can see
> > > ntfy should just be a u32.  Either way, the types should match.
> > > BIT_ULL() is the way to do that if it really needs to be a u64.
> > 
> > In my view this variable really should be a u64 and the definitions of
> > the UCSI_ENABLE_NTFY_* need to be changed to BIT_ULL(). This is due to
> > UCSI versions 2.0 and up definining a new notification on bit 33, crossing
> > the u32 barrier. My suggestion for addressing this is sending two
> > patches, one for changing BIT() -> BIT_ULL() and adding the missing
> > define for the notification of bit 33 and a separate patch to handle
> > this new notification bit in ucsi_get_supported_notifications()/ucsi_init().
> > 
> > Thank you for the report and please let me know if this sounds
> > reasonable, or if it would be better to split the changes in another
> > way.
> 
> Yes, this sounds reasonable to me.  I don't know the hardware at all and
> didn't know you were planning to add a BIT(33).

To be honest this was not something I had thought about and I looked
into it after seeing your report; if this extra notification was not
there the best solution would probably be to use u32.

Best regards,
Diogo

^ permalink raw reply	[relevance 64%]

* [bug report] nvme-fc: fix io timeout to abort I/O
@ 2024-05-08 14:43 60% Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-08 14:43 UTC (permalink / raw)
  To: james.smart; +Cc: linux-nvme

Hello James Smart,

Commit 52793d62a696 ("nvme-fc: fix io timeout to abort I/O") from Oct
16, 2020 (linux-next), leads to the following Smatch static checker
warning:

	drivers/nvme/host/fc.c:3239 nvme_fc_delete_association()
	warn: mixing irqsave and irq

drivers/nvme/host/fc.c
    3219 static void
    3220 nvme_fc_delete_association(struct nvme_fc_ctrl *ctrl)
    3221 {
    3222         struct nvmefc_ls_rcv_op *disls = NULL;
    3223         unsigned long flags;
    3224 
    3225         if (!test_and_clear_bit(ASSOC_ACTIVE, &ctrl->flags))
    3226                 return;
    3227 
    3228         spin_lock_irqsave(&ctrl->lock, flags);
    3229         set_bit(FCCTRL_TERMIO, &ctrl->flags);
    3230         ctrl->iocnt = 0;
    3231         spin_unlock_irqrestore(&ctrl->lock, flags);
                                                     ^^^^^
    3232 
    3233         __nvme_fc_abort_outstanding_ios(ctrl, false);
    3234 
    3235         /* kill the aens as they are a separate path */
    3236         nvme_fc_abort_aen_ops(ctrl);
    3237 
    3238         /* wait for all io that had to be aborted */
--> 3239         spin_lock_irq(&ctrl->lock);
    3240         wait_event_lock_irq(ctrl->ioabort_wait, ctrl->iocnt == 0, ctrl->lock);
    3241         clear_bit(FCCTRL_TERMIO, &ctrl->flags);
    3242         spin_unlock_irq(&ctrl->lock);
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This will enable IRQs

    3243 
    3244         nvme_fc_term_aen_ops(ctrl);
    3245 
    3246         /*
    3247          * send a Disconnect(association) LS to fc-nvme target
    3248          * Note: could have been sent at top of process, but
    3249          * cleaner on link traffic if after the aborts complete.
    3250          * Note: if association doesn't exist, association_id will be 0
    3251          */
    3252         if (ctrl->association_id)
    3253                 nvme_fc_xmt_disconnect_assoc(ctrl);
    3254 
    3255         spin_lock_irqsave(&ctrl->lock, flags);

So the flags here doesn't work as intended.  It will just enable IRQs
at the end.

    3256         ctrl->association_id = 0;
    3257         disls = ctrl->rcv_disconn;
    3258         ctrl->rcv_disconn = NULL;
    3259         spin_unlock_irqrestore(&ctrl->lock, flags);
    3260         if (disls)
    3261                 /*
    3262                  * if a Disconnect Request was waiting for a response, send
    3263                  * now that all ABTS's have been issued (and are complete).
    3264                  */
    3265                 nvme_fc_xmt_ls_rsp(disls);
    3266 
    3267         if (ctrl->ctrl.tagset) {
    3268                 nvme_fc_delete_hw_io_queues(ctrl);
    3269                 nvme_fc_free_io_queues(ctrl);
    3270         }
    3271 
    3272         __nvme_fc_delete_hw_queue(ctrl, &ctrl->queues[0], 0);
    3273         nvme_fc_free_queue(&ctrl->queues[0]);
    3274 
    3275         /* re-enable the admin_q so anything new can fast fail */
    3276         nvme_unquiesce_admin_queue(&ctrl->ctrl);
    3277 
    3278         /* resume the io queues so that things will fast fail */
    3279         nvme_unquiesce_io_queues(&ctrl->ctrl);
    3280 
    3281         nvme_fc_ctlr_inactive_on_rport(ctrl);
    3282 }

regards,
dan carpenter


^ permalink raw reply	[relevance 60%]

* Re: [bug report][bisected] kmemleak in rdma_core observed during blktests nvme/rdma use siw
  2024-05-08 13:08 64%               ` [bug report][bisected] " Yi Zhang
@ 2024-05-08 14:37 64%                 ` Zhu Yanjun
  2024-05-08 15:31 64%                 ` Zhu Yanjun
  1 sibling, 0 replies; 200+ results
From: Zhu Yanjun @ 2024-05-08 14:37 UTC (permalink / raw)
  To: Yi Zhang, Guoqing Jiang
  Cc: RDMA mailing list, Shinichiro Kawasaki, Jason Gunthorpe, leonro,
	chuck.lever

在 2024/5/8 15:08, Yi Zhang 写道:
> So bisect shows it was introduced with below commit, please help check
> and fix it, thanks.
> 
> commit f8ef1be816bf9a0c406c696368c2264a9597a994
> Author: Chuck Lever <chuck.lever@oracle.com>
> Date:   Mon Jul 17 11:12:32 2023 -0400
> 
>      RDMA/cma: Avoid GID lookups on iWARP devices

Got it. Thanks a lot. I will delve into this problem.

Zhu Yanjun

> 
> On Tue, Apr 30, 2024 at 7:51 PM Yi Zhang <yi.zhang@redhat.com> wrote:
>>
>> On Mon, Apr 29, 2024 at 8:54 AM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>>>
>>>
>>>
>>> On 4/28/24 20:42, Yi Zhang wrote:
>>>> On Sun, Apr 28, 2024 at 10:54 AM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>>>>>
>>>>>
>>>>> On 4/26/24 16:44, Yi Zhang wrote:
>>>>>> On Fri, Apr 26, 2024 at 1:56 PM Yi Zhang <yi.zhang@redhat.com> wrote:
>>>>>>> On Wed, Apr 24, 2024 at 9:28 PM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> On 4/8/24 14:03, Yi Zhang wrote:
>>>>>>>>> Hi
>>>>>>>>> I found the below kmemleak issue during blktests nvme/rdma on the
>>>>>>>>> latest linux-rdma/for-next, please help check it and let me know if
>>>>>>>>> you need any info/testing for it, thanks.
>>>>>>>> Could you share which test case caused the issue? I can't reproduce
>>>>>>>> it with 6.9-rc3+ kernel (commit 586b5dfb51b) with the below.
>>>>>>> It can be reproduced by [1], you can find more info from the symbol
>>>>>>> info[2], I also attached the config file, maybe you can this config
>>>>>>> file
>>>>>> Just attached the config file
>>>>>>
>>>>> I tried with the config, but still unlucky.
>>>>>
>>>>> # nvme_trtype=rdma ./check nvme/012
>>>>> nvme/012 (run mkfs and data verification fio job on NVMeOF block
>>>>> device-backed ns)
>>>>> nvme/012 (run mkfs and data verification fio job on NVMeOF block
>>>>> device-backed ns) [passed]
>>>>>        runtime  52.763s  ...  392.027s device: nvme0
>>>>>
>>>>>>> [1] nvme_trtype=rdma ./check nvme/012
>>>>>>> [2]
>>>>>>> unreferenced object 0xffff8883a87e8800 (size 192):
>>>>>>>      comm "rdma", pid 2355, jiffies 4294836069
>>>>>>>      hex dump (first 32 bytes):
>>>>>>>        32 00 00 00 00 00 00 00 c0 ff ff ff 1f 00 00 00  2...............
>>>>>>>        10 88 7e a8 83 88 ff ff 10 88 7e a8 83 88 ff ff  ..~.......~.....
>>>>>>>      backtrace (crc 4db191c4):
>>>>>>>        [<ffffffff8cd251bd>] kmalloc_trace+0x30d/0x3b0
>>>>>>>        [<ffffffffc207eff7>] alloc_gid_entry+0x47/0x380 [ib_core]
>>>>>>>        [<ffffffffc2080206>] add_modify_gid+0x166/0x930 [ib_core]
>>>>>>>        [<ffffffffc2081468>] ib_cache_update.part.0+0x6d8/0x910 [ib_core]
>>>>>>>        [<ffffffffc2082e1a>] ib_cache_setup_one+0x24a/0x350 [ib_core]
>>>>>>>        [<ffffffffc207749e>] ib_register_device+0x9e/0x3a0 [ib_core]
>>>>>>>        [<ffffffffc24ac389>] 0xffffffffc24ac389
>>>>>>>        [<ffffffffc20c6cd8>] nldev_newlink+0x2b8/0x520 [ib_core]
>>>>>>>        [<ffffffffc2083fe3>] rdma_nl_rcv_msg+0x2c3/0x520 [ib_core]
>>>>>>>        [<ffffffffc208448c>]
>>>>>>> rdma_nl_rcv_skb.constprop.0.isra.0+0x23c/0x3a0 [ib_core]
>>>>>>>        [<ffffffff8e30e715>] netlink_unicast+0x445/0x710
>>>>>>>        [<ffffffff8e30f151>] netlink_sendmsg+0x761/0xc40
>>>>>>>        [<ffffffff8e09da89>] __sys_sendto+0x3a9/0x420
>>>>>>>        [<ffffffff8e09dbec>] __x64_sys_sendto+0xdc/0x1b0
>>>>>>>        [<ffffffff8e9afad3>] do_syscall_64+0x93/0x180
>>>>>>>        [<ffffffff8ea00126>] entry_SYSCALL_64_after_hwframe+0x71/0x79
>>>>>>>
>>>>>>> (gdb) l *(alloc_gid_entry+0x47)
>>>>>>> 0x2eff7 is in alloc_gid_entry (./include/linux/slab.h:628).
>>>>>>> 623
>>>>>>> 624 if (size > KMALLOC_MAX_CACHE_SIZE)
>>>>>>> 625 return kmalloc_large(size, flags);
>>>>>>> 626
>>>>>>> 627 index = kmalloc_index(size);
>>>>>>> 628 return kmalloc_trace(
>>>>>>> 629 kmalloc_caches[kmalloc_type(flags, _RET_IP_)][index],
>>>>>>> 630 flags, size);
>>>>>>> 631 }
>>>>>>> 632 return __kmalloc(size, flags);
>>>>>>>
>>>>>>> (gdb) l *(add_modify_gid+0x166)
>>>>>>> 0x30206 is in add_modify_gid (drivers/infiniband/core/cache.c:447).
>>>>>>> 442 * empty table entries instead of storing them.
>>>>>>> 443 */
>>>>>>> 444 if (rdma_is_zero_gid(&attr->gid))
>>>>>>> 445 return 0;
>>>>>>> 446
>>>>>>> 447 entry = alloc_gid_entry(attr);
>>>>>>> 448 if (!entry)
>>>>>>> 449 return -ENOMEM;
>>>>>>> 450
>>>>>>> 451 if (rdma_protocol_roce(attr->device, attr->port_num)) {
>>>>>>>
>>>>>>>
>>>>>>>> use_siw=1 nvme_trtype=rdma ./check nvme/
>>>>>>>>
>>>>>>>>> # dmesg | grep kmemleak
>>>>>>>>> [   67.130652] kmemleak: Kernel memory leak detector initialized (mem
>>>>>>>>> pool available: 36041)
>>>>>>>>> [   67.130728] kmemleak: Automatic memory scanning thread started
>>>>>>>>> [ 1051.771867] kmemleak: 2 new suspected memory leaks (see
>>>>>>>>> /sys/kernel/debug/kmemleak)
>>>>>>>>> [ 1832.796189] kmemleak: 8 new suspected memory leaks (see
>>>>>>>>> /sys/kernel/debug/kmemleak)
>>>>>>>>> [ 2578.189075] kmemleak: 17 new suspected memory leaks (see
>>>>>>>>> /sys/kernel/debug/kmemleak)
>>>>>>>>> [ 3330.710984] kmemleak: 4 new suspected memory leaks (see
>>>>>>>>> /sys/kernel/debug/kmemleak)
>>>>>>>>>
>>>>>>>>> unreferenced object 0xffff88855da53400 (size 192):
>>>>>>>>>       comm "rdma", pid 10630, jiffies 4296575922
>>>>>>>>>       hex dump (first 32 bytes):
>>>>>>>>>         37 00 00 00 00 00 00 00 c0 ff ff ff 1f 00 00 00  7...............
>>>>>>>>>         10 34 a5 5d 85 88 ff ff 10 34 a5 5d 85 88 ff ff  .4.].....4.]....
>>>>>>>>>       backtrace (crc 47f66721):
>>>>>>>>>         [<ffffffff911251bd>] kmalloc_trace+0x30d/0x3b0
>>>>>>>>>         [<ffffffffc2640ff7>] alloc_gid_entry+0x47/0x380 [ib_core]
>>>>>>>>>         [<ffffffffc2642206>] add_modify_gid+0x166/0x930 [ib_core]
>>>>>>>> I guess add_modify_gid is called from config_non_roce_gid_cache, not sure
>>>>>>>> why we don't check the return value of it here.
>>>>>>>>
>>>>>>>> Looks put_gid_entry is called in case add_modify_gid returns failure, it
>>>>>>>> would
>>>>>>>> trigger schedule_free_gid -> queue_work(ib_wq, &entry->del_work), then
>>>>>>>> free_gid_work -> free_gid_entry_locked would free storage asynchronously by
>>>>>>>> put_gid_ndev and also entry.
>>>>>>>>
>>>>>>>>>         [<ffffffffc2643468>] ib_cache_update.part.0+0x6d8/0x910 [ib_core]
>>>>>>>>>         [<ffffffffc2644e1a>] ib_cache_setup_one+0x24a/0x350 [ib_core]
>>>>>>>>>         [<ffffffffc263949e>] ib_register_device+0x9e/0x3a0 [ib_core]
>>>>>>>>>         [<ffffffffc2a3d389>] 0xffffffffc2a3d389
>>>>>>>>>         [<ffffffffc2688cd8>] nldev_newlink+0x2b8/0x520 [ib_core]
>>>>>>>>>         [<ffffffffc2645fe3>] rdma_nl_rcv_msg+0x2c3/0x520 [ib_core]
>>>>>>>>>         [<ffffffffc264648c>]
>>>>>>>>> rdma_nl_rcv_skb.constprop.0.isra.0+0x23c/0x3a0 [ib_core]
>>>>>>>>>         [<ffffffff9270e7b5>] netlink_unicast+0x445/0x710
>>>>>>>>>         [<ffffffff9270f1f1>] netlink_sendmsg+0x761/0xc40
>>>>>>>>>         [<ffffffff9249db29>] __sys_sendto+0x3a9/0x420
>>>>>>>>>         [<ffffffff9249dc8c>] __x64_sys_sendto+0xdc/0x1b0
>>>>>>>>>         [<ffffffff92db0ad3>] do_syscall_64+0x93/0x180
>>>>>>>>>         [<ffffffff92e00126>] entry_SYSCALL_64_after_hwframe+0x71/0x79
>>>>>>>> After ib_cache_setup_one failed, maybe ib_cache_cleanup_one is needed
>>>>>>>> which flush ib_wq to ensure storage is freed. Could you try with the change?
>>>>>>> Will try it later.
>>>>>>>
>>>>>> The kmemleak still can be reproduced with this change:
>>>>>>
>>>>>> unreferenced object 0xffff8881f89fde00 (size 192):
>>>>>>      comm "rdma", pid 8708, jiffies 4295703453
>>>>>>      hex dump (first 32 bytes):
>>>>>>        02 00 00 00 00 00 00 00 c0 ff ff ff 1f 00 00 00  ................
>>>>>>        10 de 9f f8 81 88 ff ff 10 de 9f f8 81 88 ff ff  ................
>>>>>>      backtrace (crc 888c494b):
>>>>>>        [<ffffffffa7d251bd>] kmalloc_trace+0x30d/0x3b0
>>>>>>        [<ffffffffc1efeff7>] alloc_gid_entry+0x47/0x380 [ib_core]
>>>>>>        [<ffffffffc1f00206>] add_modify_gid+0x166/0x930 [ib_core]
>>>>>>        [<ffffffffc1f01468>] ib_cache_update.part.0+0x6d8/0x910 [ib_core]
>>>>>>        [<ffffffffc1f02e1a>] ib_cache_setup_one+0x24a/0x350 [ib_core]
>>>>>>        [<ffffffffc1ef749e>] ib_register_device+0x9e/0x3a0 [ib_core]
>>>>>>        [<ffffffffc22ee389>]
>>>>>> siw_qp_state_to_ib_qp_state+0x28a9/0xfffffffffffd1520 [siw]
>>>>> Is it possible to run the test with rxe instead of siw? In case it is
>>>>> only happened
>>>>> with siw, I'd suggest to revert 0b988c1bee28 to check if it causes the
>>>>> issue.
>>>>> But I don't understand why siw_qp_state_to_ib_qp_state was appeared in the
>>>>> middle of above trace.
>>>> Hi Guoqing
>>>> This issue only can be reproduced with siw, I did more testing today
>>>> and it cannot be reproduced with 6.5, seems it was introduced from
>>>> 6.6-rc1, and I saw there are some siw updates from 6.6-rc1.
>>>
>>> Yes, pls bisect them.
>>
>> Sure, will do that after I back from holiday next week.
>>
>>>
>>>   > git log --oneline v6.5..v6.6-rc1 drivers/infiniband/sw/siw/|cat
>>> 9dfccb6d0d3d RDMA/siw: Call llist_reverse_order in siw_run_sq
>>> bee024d20451 RDMA/siw: Correct wrong debug message
>>> b056327bee09 RDMA/siw: Balance the reference of cep->kref in the error path
>>> 91f36237b4b9 RDMA/siw: Fix tx thread initialization.
>>> bad5b6e34ffb RDMA/siw: Fabricate a GID on tun and loopback devices
>>> 9191df002926 RDMA/siw: use vmalloc_array and vcalloc
>>>
>>> Thanks,
>>> Guoqing
>>>
>>
>>
>> --
>> Best Regards,
>>    Yi Zhang
> 
> 
> 


^ permalink raw reply	[relevance 64%]

* Re: [bug report] usb: typec: ucsi: Only enable supported notifications
  2024-05-08 14:22 64% ` Diogo Ivo
@ 2024-05-08 14:34 64%   ` Dan Carpenter
  2024-05-08 14:45 64%     ` Diogo Ivo
  0 siblings, 1 reply; 200+ results
From: Dan Carpenter @ 2024-05-08 14:34 UTC (permalink / raw)
  To: Diogo Ivo; +Cc: linux-usb, heikki.krogerus

On Wed, May 08, 2024 at 03:22:49PM +0100, Diogo Ivo wrote:
> Hello Dan,
> 
> On Wed, May 08, 2024 at 10:53:05AM GMT, Dan Carpenter wrote:
> > Hello Diogo Ivo,
> > 
> > Commit 27ffe4ff0b33 ("usb: typec: ucsi: Only enable supported
> > notifications") from Mar 27, 2024 (linux-next), leads to the
> > following Smatch static checker warning:
> > 
> > 	drivers/usb/typec/ucsi/ucsi.c:1671 ucsi_get_supported_notifications()
> > 	warn: was expecting a 64 bit value instead of '((((1))) << (24))'
> > 
> > drivers/usb/typec/ucsi/ucsi.c
> >     1665 static u64 ucsi_get_supported_notifications(struct ucsi *ucsi)
> >     1666 {
> >     1667         u8 features = ucsi->cap.features;
> >     1668         u64 ntfy = UCSI_ENABLE_NTFY_ALL;
> >     1669 
> >     1670         if (!(features & UCSI_CAP_ALT_MODE_DETAILS))
> > --> 1671                 ntfy &= ~UCSI_ENABLE_NTFY_CAM_CHANGE;
> > 
> > ntfy is a u64 but UCSI_ENABLE_NTFY_CAM_CHANGE is unsigned long.  So on
> > a 32 bit system this will clear the high 32 bits.  So far as I can see
> > ntfy should just be a u32.  Either way, the types should match.
> > BIT_ULL() is the way to do that if it really needs to be a u64.
> 
> In my view this variable really should be a u64 and the definitions of
> the UCSI_ENABLE_NTFY_* need to be changed to BIT_ULL(). This is due to
> UCSI versions 2.0 and up definining a new notification on bit 33, crossing
> the u32 barrier. My suggestion for addressing this is sending two
> patches, one for changing BIT() -> BIT_ULL() and adding the missing
> define for the notification of bit 33 and a separate patch to handle
> this new notification bit in ucsi_get_supported_notifications()/ucsi_init().
> 
> Thank you for the report and please let me know if this sounds
> reasonable, or if it would be better to split the changes in another
> way.

Yes, this sounds reasonable to me.  I don't know the hardware at all and
didn't know you were planning to add a BIT(33).

regards,
dan carpenter


^ permalink raw reply	[relevance 64%]

* Re: [bug report] rcu: Kill rnp->ofl_seq and use only rcu_state.ofl_lock for exclusion
  2024-05-08 12:29 46% [bug report] rcu: Kill rnp->ofl_seq and use only rcu_state.ofl_lock for exclusion Dan Carpenter
@ 2024-05-08 14:33 64% ` Paul E. McKenney
  2024-05-08 14:55 64%   ` Dan Carpenter
  0 siblings, 1 reply; 200+ results
From: Paul E. McKenney @ 2024-05-08 14:33 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: dwmw, rcu

On Wed, May 08, 2024 at 03:29:12PM +0300, Dan Carpenter wrote:
> Hello David Woodhouse,
> 
> Commit 82980b1622d9 ("rcu: Kill rnp->ofl_seq and use only
> rcu_state.ofl_lock for exclusion") from Feb 16, 2021 (linux-next),
> leads to the following Smatch static checker warning:
> 
> 	kernel/rcu/tree.c:1844 rcu_gp_init()
> 	warn: mixing irq and irqsave

There are actually cases where this does make sense, one example being
where some called function (for example, rcu_report_qs_rnp() below)
needs a flags argument.

But...

>         kernel/rcu/srcutree.c:910 srcu_gp_end()
>         warn: mixing irq and irqsave
> 
> kernel/rcu/tree.c
>     1782 static noinline_for_stack bool rcu_gp_init(void)
>     1783 {
>     1784         unsigned long flags;
>     1785         unsigned long oldmask;
>     1786         unsigned long mask;
>     1787         struct rcu_data *rdp;
>     1788         struct rcu_node *rnp = rcu_get_root();
>     1789         bool start_new_poll;
>     1790 
>     1791         WRITE_ONCE(rcu_state.gp_activity, jiffies);
>     1792         raw_spin_lock_irq_rcu_node(rnp);
>     1793         if (!rcu_state.gp_flags) {
>     1794                 /* Spurious wakeup, tell caller to go back to sleep.  */
>     1795                 raw_spin_unlock_irq_rcu_node(rnp);
>     1796                 return false;
>     1797         }
>     1798         WRITE_ONCE(rcu_state.gp_flags, 0); /* Clear all flags: New GP. */
>     1799 
>     1800         if (WARN_ON_ONCE(rcu_gp_in_progress())) {
>     1801                 /*
>     1802                  * Grace period already in progress, don't start another.
>     1803                  * Not supposed to be able to happen.
>     1804                  */
>     1805                 raw_spin_unlock_irq_rcu_node(rnp);
>     1806                 return false;
>     1807         }
>     1808 
>     1809         /* Advance to a new grace period and initialize state. */
>     1810         record_gp_stall_check_time();
>     1811         /* Record GP times before starting GP, hence rcu_seq_start(). */
>     1812         rcu_seq_start(&rcu_state.gp_seq);
>     1813         ASSERT_EXCLUSIVE_WRITER(rcu_state.gp_seq);
>     1814         start_new_poll = rcu_sr_normal_gp_init();
>     1815         trace_rcu_grace_period(rcu_state.name, rcu_state.gp_seq, TPS("start"));
>     1816         rcu_poll_gp_seq_start(&rcu_state.gp_seq_polled_snap);
>     1817         raw_spin_unlock_irq_rcu_node(rnp);
>                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Enables IRQs
> 
>     1818 
>     1819         /*
>     1820          * The "start_new_poll" is set to true, only when this GP is not able
>     1821          * to handle anything and there are outstanding users. It happens when
>     1822          * the rcu_sr_normal_gp_init() function was not able to insert a dummy
>     1823          * separator to the llist, because there were no left any dummy-nodes.
>     1824          *
>     1825          * Number of dummy-nodes is fixed, it could be that we are run out of
>     1826          * them, if so we start a new pool request to repeat a try. It is rare
>     1827          * and it means that a system is doing a slow processing of callbacks.
>     1828          */
>     1829         if (start_new_poll)
>     1830                 (void) start_poll_synchronize_rcu();
>     1831 
>     1832         /*
>     1833          * Apply per-leaf buffered online and offline operations to
>     1834          * the rcu_node tree. Note that this new grace period need not
>     1835          * wait for subsequent online CPUs, and that RCU hooks in the CPU
>     1836          * offlining path, when combined with checks in this function,
>     1837          * will handle CPUs that are currently going offline or that will
>     1838          * go offline later.  Please also refer to "Hotplug CPU" section
>     1839          * of RCU's Requirements documentation.
>     1840          */
>     1841         WRITE_ONCE(rcu_state.gp_state, RCU_GP_ONOFF);
>     1842         /* Exclude CPU hotplug operations. */
>     1843         rcu_for_each_leaf_node(rnp) {
> --> 1844                 local_irq_save(flags);
>                          ^^^^^^^^^^^^^^^^^^^^^
> It doesn't make sense to mix irq and irqsave.  Either it can be called
> with IRQs disabled or it can't...

... that is not the case here.  We could use local_irq_disable().

I can queue a patch.

However...

>     1845                 arch_spin_lock(&rcu_state.ofl_lock);
>     1846                 raw_spin_lock_rcu_node(rnp);
>     1847                 if (rnp->qsmaskinit == rnp->qsmaskinitnext &&
>     1848                     !rnp->wait_blkd_tasks) {
>     1849                         /* Nothing to do on this leaf rcu_node structure. */
>     1850                         raw_spin_unlock_rcu_node(rnp);
>     1851                         arch_spin_unlock(&rcu_state.ofl_lock);
>     1852                         local_irq_restore(flags);
>     1853                         continue;
>     1854                 }
>     1855 
>     1856                 /* Record old state, apply changes to ->qsmaskinit field. */
>     1857                 oldmask = rnp->qsmaskinit;
>     1858                 rnp->qsmaskinit = rnp->qsmaskinitnext;
>     1859 
>     1860                 /* If zero-ness of ->qsmaskinit changed, propagate up tree. */
>     1861                 if (!oldmask != !rnp->qsmaskinit) {
>     1862                         if (!oldmask) { /* First online CPU for rcu_node. */
>     1863                                 if (!rnp->wait_blkd_tasks) /* Ever offline? */
>     1864                                         rcu_init_new_rnp(rnp);
>     1865                         } else if (rcu_preempt_has_tasks(rnp)) {
>     1866                                 rnp->wait_blkd_tasks = true; /* blocked tasks */
>     1867                         } else { /* Last offline CPU and can propagate. */
>     1868                                 rcu_cleanup_dead_rnp(rnp);
>     1869                         }
>     1870                 }
>     1871 
>     1872                 /*
>     1873                  * If all waited-on tasks from prior grace period are
>     1874                  * done, and if all this rcu_node structure's CPUs are
>     1875                  * still offline, propagate up the rcu_node tree and
>     1876                  * clear ->wait_blkd_tasks.  Otherwise, if one of this
>     1877                  * rcu_node structure's CPUs has since come back online,
>     1878                  * simply clear ->wait_blkd_tasks.
>     1879                  */
>     1880                 if (rnp->wait_blkd_tasks &&
>     1881                     (!rcu_preempt_has_tasks(rnp) || rnp->qsmaskinit)) {
>     1882                         rnp->wait_blkd_tasks = false;
>     1883                         if (!rnp->qsmaskinit)
>     1884                                 rcu_cleanup_dead_rnp(rnp);
>     1885                 }
>     1886 
>     1887                 raw_spin_unlock_rcu_node(rnp);
>     1888                 arch_spin_unlock(&rcu_state.ofl_lock);
>     1889                 local_irq_restore(flags);
>     1890         }
>     1891         rcu_gp_slow(gp_preinit_delay); /* Races with CPU hotplug. */
>     1892 
>     1893         /*
>     1894          * Set the quiescent-state-needed bits in all the rcu_node
>     1895          * structures for all currently online CPUs in breadth-first
>     1896          * order, starting from the root rcu_node structure, relying on the
>     1897          * layout of the tree within the rcu_state.node[] array.  Note that
>     1898          * other CPUs will access only the leaves of the hierarchy, thus
>     1899          * seeing that no grace period is in progress, at least until the
>     1900          * corresponding leaf node has been initialized.
>     1901          *
>     1902          * The grace period cannot complete until the initialization
>     1903          * process finishes, because this kthread handles both.
>     1904          */
>     1905         WRITE_ONCE(rcu_state.gp_state, RCU_GP_INIT);
>     1906         rcu_for_each_node_breadth_first(rnp) {
>     1907                 rcu_gp_slow(gp_init_delay);
>     1908                 raw_spin_lock_irqsave_rcu_node(rnp, flags);

... here we do need flags because ...

>     1909                 rdp = this_cpu_ptr(&rcu_data);
>     1910                 rcu_preempt_check_blocked_tasks(rnp);
>     1911                 rnp->qsmask = rnp->qsmaskinit;
>     1912                 WRITE_ONCE(rnp->gp_seq, rcu_state.gp_seq);
>     1913                 if (rnp == rdp->mynode)
>     1914                         (void)__note_gp_changes(rnp, rdp);
>     1915                 rcu_preempt_boost_start_gp(rnp);
>     1916                 trace_rcu_grace_period_init(rcu_state.name, rnp->gp_seq,
>     1917                                             rnp->level, rnp->grplo,
>     1918                                             rnp->grphi, rnp->qsmask);
>     1919                 /* Quiescent states for tasks on any now-offline CPUs. */
>     1920                 mask = rnp->qsmask & ~rnp->qsmaskinitnext;
>     1921                 rnp->rcu_gp_init_mask = mask;
>     1922                 if ((mask || rnp->wait_blkd_tasks) && rcu_is_leaf_node(rnp))
>     1923                         rcu_report_qs_rnp(mask, rnp, rnp->gp_seq, flags);

... rcu_report_qs_rnp() needs them.

>     1924                 else
>     1925                         raw_spin_unlock_irq_rcu_node(rnp);

And we do have the odd ignoring of those flags here.  Which is fine.

							Thanx, Paul

>     1926                 cond_resched_tasks_rcu_qs();
>     1927                 WRITE_ONCE(rcu_state.gp_activity, jiffies);
>     1928         }
>     1929 
>     1930         // If strict, make all CPUs aware of new grace period.
>     1931         if (IS_ENABLED(CONFIG_RCU_STRICT_GRACE_PERIOD))
>     1932                 on_each_cpu(rcu_strict_gp_boundary, NULL, 0);
>     1933 
>     1934         return true;
>     1935 }
> 
> regards,
> dan carpenter

^ permalink raw reply	[relevance 64%]

* Re: [bug report] usb: typec: ucsi: Only enable supported notifications
  2024-05-08  7:53 64% [bug report] usb: typec: ucsi: Only enable supported notifications Dan Carpenter
@ 2024-05-08 14:22 64% ` Diogo Ivo
  2024-05-08 14:34 64%   ` Dan Carpenter
  0 siblings, 1 reply; 200+ results
From: Diogo Ivo @ 2024-05-08 14:22 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: linux-usb, heikki.krogerus, diogo.ivo

Hello Dan,

On Wed, May 08, 2024 at 10:53:05AM GMT, Dan Carpenter wrote:
> Hello Diogo Ivo,
> 
> Commit 27ffe4ff0b33 ("usb: typec: ucsi: Only enable supported
> notifications") from Mar 27, 2024 (linux-next), leads to the
> following Smatch static checker warning:
> 
> 	drivers/usb/typec/ucsi/ucsi.c:1671 ucsi_get_supported_notifications()
> 	warn: was expecting a 64 bit value instead of '((((1))) << (24))'
> 
> drivers/usb/typec/ucsi/ucsi.c
>     1665 static u64 ucsi_get_supported_notifications(struct ucsi *ucsi)
>     1666 {
>     1667         u8 features = ucsi->cap.features;
>     1668         u64 ntfy = UCSI_ENABLE_NTFY_ALL;
>     1669 
>     1670         if (!(features & UCSI_CAP_ALT_MODE_DETAILS))
> --> 1671                 ntfy &= ~UCSI_ENABLE_NTFY_CAM_CHANGE;
> 
> ntfy is a u64 but UCSI_ENABLE_NTFY_CAM_CHANGE is unsigned long.  So on
> a 32 bit system this will clear the high 32 bits.  So far as I can see
> ntfy should just be a u32.  Either way, the types should match.
> BIT_ULL() is the way to do that if it really needs to be a u64.

In my view this variable really should be a u64 and the definitions of
the UCSI_ENABLE_NTFY_* need to be changed to BIT_ULL(). This is due to
UCSI versions 2.0 and up definining a new notification on bit 33, crossing
the u32 barrier. My suggestion for addressing this is sending two
patches, one for changing BIT() -> BIT_ULL() and adding the missing
define for the notification of bit 33 and a separate patch to handle
this new notification bit in ucsi_get_supported_notifications()/ucsi_init().

Thank you for the report and please let me know if this sounds
reasonable, or if it would be better to split the changes in another
way.

Best regards,
Diogo

^ permalink raw reply	[relevance 64%]

* Re: [Linux kernel bug] general protection fault in alloc_object
  2024-05-07  6:32  2% [Linux kernel bug] general protection fault in alloc_object Sam Sun
@ 2024-05-08 14:20 62% ` Thomas Gleixner
  2024-05-09 15:45 64%   ` David Sterba
  0 siblings, 1 reply; 200+ results
From: Thomas Gleixner @ 2024-05-08 14:20 UTC (permalink / raw)
  To: Sam Sun, linux-kernel, akpm; +Cc: syzkaller-bugs, xrivendell7, reiserfs-devel

On Tue, May 07 2024 at 14:32, Sam Sun wrote:
> ```
> general protection fault, probably for non-canonical address
> 0xdffffc0040000001: 0000 [#1] PREEMPT SMP KASAN NOPTI
> KASAN: probably user-memory-access in range
> [0x0000000200000008-0x000000020000000f]

This is a reiserfs issue. It crashes at random places:

[  348.634665][ T5992] REISERFS (device loop0): Using tea hash to sort names
[  348.780602][ T5993] (udev-worker)[5993]: segfault at 200000001 ip 0000000200000001 sp 00007fffca0e6190 error 14 in udevadm[5613a8f19000+1a000] likely on CPU 3 (core 0, socket 3)
[  348.796165][ T5993] Code: Unable to access opcode bytes at 0x1ffffffd7.
[  348.831600][ T5016] systemd-journald[5016]: /var/log/journal/a042c4e41bfd4c9697a628486ba7707d/system.journal: Journal file corrupted, rotating.
[  348.840565][ T6004] systemd-udevd[6004]: segfault at 100040048 ip 00007fde601b58a3 sp 00007fffca0e6250 error 4 in libc.so.6[7fde60108000+155000] likely on CPU 5 (core 0, socket 5)
[  348.844214][ T6004] Code: 89 10 49 8b b4 24 a8 10 00 00 eb 34 0f 1f 00 4c 8b 2d 69 f5 0f 00 64 45 8b 75 00 e8 27 42 fc ff e8 52 fe fa ff e9 01 fe ff ff <48> 8b 0a 48 8b 42 08 48 89 41 08 48 89 08 49 8b b4 24 a8 10 00 00
[  356.765557][ T5992] ==================================================================
[  356.767188][ T5992] BUG: unable to handle page fault for address: 0000000100040058
[  356.767204][ T5992] #PF: supervisor read access in kernel mode
[  356.767219][ T5992] #PF: error_code(0x0000) - not-present page
[  356.767233][ T5992] PGD 80000004ca01f067 P4D 80000004ca01f067 PUD 0 
[  356.767266][ T5992] Oops: 0000 [#1] PREEMPT SMP KASAN PTI
[  356.767294][ T5992] CPU: 4 PID: 5992 Comm: a Not tainted 6.9.0-rc7-00012-gdccb07f2914c-dirty #43
[  356.767325][ T5992] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[  356.767342][ T5992] RIP: 0010:stack_depot_save_flags+0x14b/0x8e0

Can we just get rid of this mess?

Thanks,

        tglx

^ permalink raw reply	[relevance 62%]

* Re: [PATCH] power: Remove arch specific module bug stuff
  @ 2024-05-08 13:39 64% ` Michael Ellerman
  0 siblings, 0 replies; 200+ results
From: Michael Ellerman @ 2024-05-08 13:39 UTC (permalink / raw)
  To: mpe, npiggin, linux; +Cc: linuxppc-dev, linux-kernel

On Fri, 03 May 2024 01:23:17 +0100, linux@treblig.org wrote:
> The last function to reference module_bug_list went in 2008's
>   commit b9754568ef17 ("powerpc: Remove dead module_find_bug code")
> but I don't think that was called since 2006's
>   commit 73c9ceab40b1 ("[POWERPC] Generic BUG for powerpc")
> 
> Now that the list has gone, I think we can also clean up the bug
> entries in mod_arch_specific.
> 
> [...]

Applied to powerpc/next.

[1/1] power: Remove arch specific module bug stuff
      https://git.kernel.org/powerpc/c/4071739249fd2e647e7058dbab0db4ddc0a0c427

cheers

^ permalink raw reply	[relevance 64%]

* [Bug 218820] New: The empty file occupies incorrect blocks
@ 2024-05-08 13:33 57% bugzilla-daemon
  2024-05-09  3:35 54% ` Theodore Ts'o
                   ` (2 more replies)
  0 siblings, 3 replies; 200+ results
From: bugzilla-daemon @ 2024-05-08 13:33 UTC (permalink / raw)
  To: linux-ext4

https://bugzilla.kernel.org/show_bug.cgi?id=218820

            Bug ID: 218820
           Summary: The empty file occupies incorrect blocks
           Product: File System
           Version: 2.5
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: ext4
          Assignee: fs_ext4@kernel-bugs.osdl.org
          Reporter: zhangchi_seg@smail.nju.edu.cn
        Regression: No

Created attachment 306275
  --> https://bugzilla.kernel.org/attachment.cgi?id=306275&action=edit
reproduce.c

Hi,

I mounted an ext4 image, created a file, and wrote to it, but the blocks
occupied by this file were incorrect after I `truncate` it. I can reproduce
this with the latest linux kernel
https://git.kernel.org/torvalds/t/linux-6.9-rc7.tar.gz


The following is the triggering script:
```
dd if=/dev/zero of=ext4-0.img bs=1M count=120
mkfs.ext4 ext4-0.img
g++ -static reproduce.c
losetup /dev/loop0 ext4-0.img
mkdir /root/mnt
./a.out
stat /root/mnt/a
```

After run the script, you will get the following outputs:
```
  File: /root/mnt/a
  Size: 0               Blocks: 82         IO Block: 1024   regular empty file
Device: 700h/1792d      Inode: 12          Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:unlabeled_t:s0
Access: 2024-05-08 11:47:48.000000000 +0000
Modify: 2024-05-08 11:47:48.000000000 +0000
Change: 2024-05-08 11:47:48.000000000 +0000
 Birth: -
```

The size of file `a` is 0, yet it occupies 82 blocks. Normally, it should only
occupy 2 blocks.

The contents of `reproduce.c` :
```
#include <assert.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
#include <stddef.h>
#include <unistd.h>
#include <pthread.h>
#include <errno.h>
#include <dirent.h>

#include <string>

#include <sys/mount.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <sys/wait.h>
#include <sys/xattr.h>
#include <sys/mount.h>
#include <sys/statfs.h>
#include <fcntl.h>

#define ALIGN 4096

void* align_alloc(size_t size) {
    void *ptr = NULL;
    int ret = posix_memalign(&ptr, ALIGN, size);
    if (ret) {
      printf("align error\n");
      exit(1);
    }
    return ptr;
}

int main()
{
    mount("/dev/loop0", "/root/mnt", "ext4", 0, "");

    creat("/root/mnt/a", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
    int fd = open("/root/mnt/a", O_RDWR);
    mount(NULL, "/root/mnt/", NULL, MS_REMOUNT, "nodelalloc");
    sync();

    char *buf = (char*)align_alloc(4096*20);
    memset(buf, 'a' + 15, 4096*20);
    write(fd, buf, 4096*10);

    truncate("/root/mnt/a", 0);
    close(fd);
    return 0;
}
```

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 57%]

* Re: [bug report][bisected] kmemleak in rdma_core observed during blktests nvme/rdma use siw
  @ 2024-05-08 13:08 64%               ` Yi Zhang
  2024-05-08 14:37 64%                 ` Zhu Yanjun
  2024-05-08 15:31 64%                 ` Zhu Yanjun
  0 siblings, 2 replies; 200+ results
From: Yi Zhang @ 2024-05-08 13:08 UTC (permalink / raw)
  To: Guoqing Jiang, Yanjun Zhu
  Cc: RDMA mailing list, Shinichiro Kawasaki, Jason Gunthorpe, leonro,
	chuck.lever

So bisect shows it was introduced with below commit, please help check
and fix it, thanks.

commit f8ef1be816bf9a0c406c696368c2264a9597a994
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Mon Jul 17 11:12:32 2023 -0400

    RDMA/cma: Avoid GID lookups on iWARP devices

On Tue, Apr 30, 2024 at 7:51 PM Yi Zhang <yi.zhang@redhat.com> wrote:
>
> On Mon, Apr 29, 2024 at 8:54 AM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
> >
> >
> >
> > On 4/28/24 20:42, Yi Zhang wrote:
> > > On Sun, Apr 28, 2024 at 10:54 AM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
> > >>
> > >>
> > >> On 4/26/24 16:44, Yi Zhang wrote:
> > >>> On Fri, Apr 26, 2024 at 1:56 PM Yi Zhang <yi.zhang@redhat.com> wrote:
> > >>>> On Wed, Apr 24, 2024 at 9:28 PM Guoqing Jiang <guoqing.jiang@linux.dev> wrote:
> > >>>>> Hi,
> > >>>>>
> > >>>>> On 4/8/24 14:03, Yi Zhang wrote:
> > >>>>>> Hi
> > >>>>>> I found the below kmemleak issue during blktests nvme/rdma on the
> > >>>>>> latest linux-rdma/for-next, please help check it and let me know if
> > >>>>>> you need any info/testing for it, thanks.
> > >>>>> Could you share which test case caused the issue? I can't reproduce
> > >>>>> it with 6.9-rc3+ kernel (commit 586b5dfb51b) with the below.
> > >>>> It can be reproduced by [1], you can find more info from the symbol
> > >>>> info[2], I also attached the config file, maybe you can this config
> > >>>> file
> > >>> Just attached the config file
> > >>>
> > >> I tried with the config, but still unlucky.
> > >>
> > >> # nvme_trtype=rdma ./check nvme/012
> > >> nvme/012 (run mkfs and data verification fio job on NVMeOF block
> > >> device-backed ns)
> > >> nvme/012 (run mkfs and data verification fio job on NVMeOF block
> > >> device-backed ns) [passed]
> > >>       runtime  52.763s  ...  392.027s device: nvme0
> > >>
> > >>>> [1] nvme_trtype=rdma ./check nvme/012
> > >>>> [2]
> > >>>> unreferenced object 0xffff8883a87e8800 (size 192):
> > >>>>     comm "rdma", pid 2355, jiffies 4294836069
> > >>>>     hex dump (first 32 bytes):
> > >>>>       32 00 00 00 00 00 00 00 c0 ff ff ff 1f 00 00 00  2...............
> > >>>>       10 88 7e a8 83 88 ff ff 10 88 7e a8 83 88 ff ff  ..~.......~.....
> > >>>>     backtrace (crc 4db191c4):
> > >>>>       [<ffffffff8cd251bd>] kmalloc_trace+0x30d/0x3b0
> > >>>>       [<ffffffffc207eff7>] alloc_gid_entry+0x47/0x380 [ib_core]
> > >>>>       [<ffffffffc2080206>] add_modify_gid+0x166/0x930 [ib_core]
> > >>>>       [<ffffffffc2081468>] ib_cache_update.part.0+0x6d8/0x910 [ib_core]
> > >>>>       [<ffffffffc2082e1a>] ib_cache_setup_one+0x24a/0x350 [ib_core]
> > >>>>       [<ffffffffc207749e>] ib_register_device+0x9e/0x3a0 [ib_core]
> > >>>>       [<ffffffffc24ac389>] 0xffffffffc24ac389
> > >>>>       [<ffffffffc20c6cd8>] nldev_newlink+0x2b8/0x520 [ib_core]
> > >>>>       [<ffffffffc2083fe3>] rdma_nl_rcv_msg+0x2c3/0x520 [ib_core]
> > >>>>       [<ffffffffc208448c>]
> > >>>> rdma_nl_rcv_skb.constprop.0.isra.0+0x23c/0x3a0 [ib_core]
> > >>>>       [<ffffffff8e30e715>] netlink_unicast+0x445/0x710
> > >>>>       [<ffffffff8e30f151>] netlink_sendmsg+0x761/0xc40
> > >>>>       [<ffffffff8e09da89>] __sys_sendto+0x3a9/0x420
> > >>>>       [<ffffffff8e09dbec>] __x64_sys_sendto+0xdc/0x1b0
> > >>>>       [<ffffffff8e9afad3>] do_syscall_64+0x93/0x180
> > >>>>       [<ffffffff8ea00126>] entry_SYSCALL_64_after_hwframe+0x71/0x79
> > >>>>
> > >>>> (gdb) l *(alloc_gid_entry+0x47)
> > >>>> 0x2eff7 is in alloc_gid_entry (./include/linux/slab.h:628).
> > >>>> 623
> > >>>> 624 if (size > KMALLOC_MAX_CACHE_SIZE)
> > >>>> 625 return kmalloc_large(size, flags);
> > >>>> 626
> > >>>> 627 index = kmalloc_index(size);
> > >>>> 628 return kmalloc_trace(
> > >>>> 629 kmalloc_caches[kmalloc_type(flags, _RET_IP_)][index],
> > >>>> 630 flags, size);
> > >>>> 631 }
> > >>>> 632 return __kmalloc(size, flags);
> > >>>>
> > >>>> (gdb) l *(add_modify_gid+0x166)
> > >>>> 0x30206 is in add_modify_gid (drivers/infiniband/core/cache.c:447).
> > >>>> 442 * empty table entries instead of storing them.
> > >>>> 443 */
> > >>>> 444 if (rdma_is_zero_gid(&attr->gid))
> > >>>> 445 return 0;
> > >>>> 446
> > >>>> 447 entry = alloc_gid_entry(attr);
> > >>>> 448 if (!entry)
> > >>>> 449 return -ENOMEM;
> > >>>> 450
> > >>>> 451 if (rdma_protocol_roce(attr->device, attr->port_num)) {
> > >>>>
> > >>>>
> > >>>>> use_siw=1 nvme_trtype=rdma ./check nvme/
> > >>>>>
> > >>>>>> # dmesg | grep kmemleak
> > >>>>>> [   67.130652] kmemleak: Kernel memory leak detector initialized (mem
> > >>>>>> pool available: 36041)
> > >>>>>> [   67.130728] kmemleak: Automatic memory scanning thread started
> > >>>>>> [ 1051.771867] kmemleak: 2 new suspected memory leaks (see
> > >>>>>> /sys/kernel/debug/kmemleak)
> > >>>>>> [ 1832.796189] kmemleak: 8 new suspected memory leaks (see
> > >>>>>> /sys/kernel/debug/kmemleak)
> > >>>>>> [ 2578.189075] kmemleak: 17 new suspected memory leaks (see
> > >>>>>> /sys/kernel/debug/kmemleak)
> > >>>>>> [ 3330.710984] kmemleak: 4 new suspected memory leaks (see
> > >>>>>> /sys/kernel/debug/kmemleak)
> > >>>>>>
> > >>>>>> unreferenced object 0xffff88855da53400 (size 192):
> > >>>>>>      comm "rdma", pid 10630, jiffies 4296575922
> > >>>>>>      hex dump (first 32 bytes):
> > >>>>>>        37 00 00 00 00 00 00 00 c0 ff ff ff 1f 00 00 00  7...............
> > >>>>>>        10 34 a5 5d 85 88 ff ff 10 34 a5 5d 85 88 ff ff  .4.].....4.]....
> > >>>>>>      backtrace (crc 47f66721):
> > >>>>>>        [<ffffffff911251bd>] kmalloc_trace+0x30d/0x3b0
> > >>>>>>        [<ffffffffc2640ff7>] alloc_gid_entry+0x47/0x380 [ib_core]
> > >>>>>>        [<ffffffffc2642206>] add_modify_gid+0x166/0x930 [ib_core]
> > >>>>> I guess add_modify_gid is called from config_non_roce_gid_cache, not sure
> > >>>>> why we don't check the return value of it here.
> > >>>>>
> > >>>>> Looks put_gid_entry is called in case add_modify_gid returns failure, it
> > >>>>> would
> > >>>>> trigger schedule_free_gid -> queue_work(ib_wq, &entry->del_work), then
> > >>>>> free_gid_work -> free_gid_entry_locked would free storage asynchronously by
> > >>>>> put_gid_ndev and also entry.
> > >>>>>
> > >>>>>>        [<ffffffffc2643468>] ib_cache_update.part.0+0x6d8/0x910 [ib_core]
> > >>>>>>        [<ffffffffc2644e1a>] ib_cache_setup_one+0x24a/0x350 [ib_core]
> > >>>>>>        [<ffffffffc263949e>] ib_register_device+0x9e/0x3a0 [ib_core]
> > >>>>>>        [<ffffffffc2a3d389>] 0xffffffffc2a3d389
> > >>>>>>        [<ffffffffc2688cd8>] nldev_newlink+0x2b8/0x520 [ib_core]
> > >>>>>>        [<ffffffffc2645fe3>] rdma_nl_rcv_msg+0x2c3/0x520 [ib_core]
> > >>>>>>        [<ffffffffc264648c>]
> > >>>>>> rdma_nl_rcv_skb.constprop.0.isra.0+0x23c/0x3a0 [ib_core]
> > >>>>>>        [<ffffffff9270e7b5>] netlink_unicast+0x445/0x710
> > >>>>>>        [<ffffffff9270f1f1>] netlink_sendmsg+0x761/0xc40
> > >>>>>>        [<ffffffff9249db29>] __sys_sendto+0x3a9/0x420
> > >>>>>>        [<ffffffff9249dc8c>] __x64_sys_sendto+0xdc/0x1b0
> > >>>>>>        [<ffffffff92db0ad3>] do_syscall_64+0x93/0x180
> > >>>>>>        [<ffffffff92e00126>] entry_SYSCALL_64_after_hwframe+0x71/0x79
> > >>>>> After ib_cache_setup_one failed, maybe ib_cache_cleanup_one is needed
> > >>>>> which flush ib_wq to ensure storage is freed. Could you try with the change?
> > >>>> Will try it later.
> > >>>>
> > >>> The kmemleak still can be reproduced with this change:
> > >>>
> > >>> unreferenced object 0xffff8881f89fde00 (size 192):
> > >>>     comm "rdma", pid 8708, jiffies 4295703453
> > >>>     hex dump (first 32 bytes):
> > >>>       02 00 00 00 00 00 00 00 c0 ff ff ff 1f 00 00 00  ................
> > >>>       10 de 9f f8 81 88 ff ff 10 de 9f f8 81 88 ff ff  ................
> > >>>     backtrace (crc 888c494b):
> > >>>       [<ffffffffa7d251bd>] kmalloc_trace+0x30d/0x3b0
> > >>>       [<ffffffffc1efeff7>] alloc_gid_entry+0x47/0x380 [ib_core]
> > >>>       [<ffffffffc1f00206>] add_modify_gid+0x166/0x930 [ib_core]
> > >>>       [<ffffffffc1f01468>] ib_cache_update.part.0+0x6d8/0x910 [ib_core]
> > >>>       [<ffffffffc1f02e1a>] ib_cache_setup_one+0x24a/0x350 [ib_core]
> > >>>       [<ffffffffc1ef749e>] ib_register_device+0x9e/0x3a0 [ib_core]
> > >>>       [<ffffffffc22ee389>]
> > >>> siw_qp_state_to_ib_qp_state+0x28a9/0xfffffffffffd1520 [siw]
> > >> Is it possible to run the test with rxe instead of siw? In case it is
> > >> only happened
> > >> with siw, I'd suggest to revert 0b988c1bee28 to check if it causes the
> > >> issue.
> > >> But I don't understand why siw_qp_state_to_ib_qp_state was appeared in the
> > >> middle of above trace.
> > > Hi Guoqing
> > > This issue only can be reproduced with siw, I did more testing today
> > > and it cannot be reproduced with 6.5, seems it was introduced from
> > > 6.6-rc1, and I saw there are some siw updates from 6.6-rc1.
> >
> > Yes, pls bisect them.
>
> Sure, will do that after I back from holiday next week.
>
> >
> >  > git log --oneline v6.5..v6.6-rc1 drivers/infiniband/sw/siw/|cat
> > 9dfccb6d0d3d RDMA/siw: Call llist_reverse_order in siw_run_sq
> > bee024d20451 RDMA/siw: Correct wrong debug message
> > b056327bee09 RDMA/siw: Balance the reference of cep->kref in the error path
> > 91f36237b4b9 RDMA/siw: Fix tx thread initialization.
> > bad5b6e34ffb RDMA/siw: Fabricate a GID on tun and loopback devices
> > 9191df002926 RDMA/siw: use vmalloc_array and vcalloc
> >
> > Thanks,
> > Guoqing
> >
>
>
> --
> Best Regards,
>   Yi Zhang



-- 
Best Regards,
  Yi Zhang


^ permalink raw reply	[relevance 64%]

* Re: [BUG][v6.9-rc6] Deadlock with: Revert "drm/qxl: simplify qxl_fence_wait"
  2024-05-07  9:03 64%         ` Steven Rostedt
@ 2024-05-08 12:42 64%           ` Anders Blomdell
  0 siblings, 0 replies; 200+ results
From: Anders Blomdell @ 2024-05-08 12:42 UTC (permalink / raw)
  To: Steven Rostedt, David Airlie
  Cc: Linus Torvalds, Maxime Ripard, LKML, Alex Constantino,
	Timo Lindfors, Gerd Hoffmann, Maarten Lankhorst,
	Thomas Zimmermann, Daniel Vetter



On 2024-05-07 11:03, Steven Rostedt wrote:
> On Tue, 7 May 2024 15:54:21 +1000
> David Airlie <airlied@redhat.com> wrote:
> 
>> I expec this will reintroduce the other problems that caused this
>> change in the first place, but I think this should at least bring us
>> back to regression equilibrium. I can't recommend anyone use qxl hw
>> over virtio-gpu hw in their VMs, since virtio-gpu is actually hw
>> designed for virt.
> 
> I agree that it will likely cause the issues that this was addressing
> to come back, but you can't have a fix that introduces a deadlock.
> 
> Perhaps the deadlock didn't exist before, and the printk updates
> changed the way it works to introduce it now?
It deadlocks on 6.8.8 under qemu/kvm,  reverting the patch fixes the problem there as well (6.8.7 hangs as well, but I have not tested reverting on that version)

/Anders

^ permalink raw reply	[relevance 64%]

* Re: [PATCH 0/3] qedf misc bug fixes
  2024-05-08 10:15 64%   ` Martin Wilck
@ 2024-05-08 12:32 64%     ` Martin K. Petersen
  0 siblings, 0 replies; 200+ results
From: Martin K. Petersen @ 2024-05-08 12:32 UTC (permalink / raw)
  To: Martin Wilck
  Cc: martin.petersen, Lee Duncan, Saurav Kashyap,
	GR-QLogic-Storage-Upstream, linux-scsi


Martin,

> Martin P., any chance to get this set applied?

The series had a test robot warning and I requested a v2 to be posted
with the fix rolled in.

https://lore.kernel.org/all/yq1h6fq8cv3.fsf@ca-mkp.ca.oracle.com/

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[relevance 64%]

* [bug report] wifi: ath12k: flush all packets before suspend
@ 2024-05-08 12:29 64% Dan Carpenter
  2024-05-08 16:51 64% ` Jeff Johnson
  0 siblings, 1 reply; 200+ results
From: Dan Carpenter @ 2024-05-08 12:29 UTC (permalink / raw)
  To: quic_bqiang; +Cc: linux-wireless, ath12k

Hello Baochen Qiang,

Commit 692921ead832 ("wifi: ath12k: flush all packets before
suspend") from Apr 22, 2024 (linux-next), leads to the following
Smatch static checker warning:

	drivers/net/wireless/ath/ath12k/core.c:58 ath12k_core_suspend()
	warn: sleeping in atomic context

drivers/net/wireless/ath/ath12k/core.c
    48         int ret, i;
    49 
    50         if (!ab->hw_params->supports_suspend)
    51                 return -EOPNOTSUPP;
    52 
    53         rcu_read_lock();
               ^^^^^^^^^^^^^^^
Disables preemption.

    54         for (i = 0; i < ab->num_radios; i++) {
    55                 ar = ath12k_mac_get_ar_by_pdev_id(ab, i);
    56                 if (!ar)
    57                         continue;
--> 58                 ret = ath12k_mac_wait_tx_complete(ar);
                                        ^^^^^^^
Sleeping in atomic context.

    59                 if (ret) {
    60                         ath12k_warn(ab, "failed to wait tx complete: %d\n", ret);
    61                         rcu_read_unlock();
    62                         return ret;
    63                 }
    64         }
    65         rcu_read_unlock();

regards,
dan carpenter

^ permalink raw reply	[relevance 64%]

* [bug report] rcu: Kill rnp->ofl_seq and use only rcu_state.ofl_lock for exclusion
@ 2024-05-08 12:29 46% Dan Carpenter
  2024-05-08 14:33 64% ` Paul E. McKenney
  0 siblings, 1 reply; 200+ results
From: Dan Carpenter @ 2024-05-08 12:29 UTC (permalink / raw)
  To: dwmw, paulmck; +Cc: rcu

Hello David Woodhouse,

Commit 82980b1622d9 ("rcu: Kill rnp->ofl_seq and use only
rcu_state.ofl_lock for exclusion") from Feb 16, 2021 (linux-next),
leads to the following Smatch static checker warning:

	kernel/rcu/tree.c:1844 rcu_gp_init()
	warn: mixing irq and irqsave

        kernel/rcu/srcutree.c:910 srcu_gp_end()
        warn: mixing irq and irqsave

kernel/rcu/tree.c
    1782 static noinline_for_stack bool rcu_gp_init(void)
    1783 {
    1784         unsigned long flags;
    1785         unsigned long oldmask;
    1786         unsigned long mask;
    1787         struct rcu_data *rdp;
    1788         struct rcu_node *rnp = rcu_get_root();
    1789         bool start_new_poll;
    1790 
    1791         WRITE_ONCE(rcu_state.gp_activity, jiffies);
    1792         raw_spin_lock_irq_rcu_node(rnp);
    1793         if (!rcu_state.gp_flags) {
    1794                 /* Spurious wakeup, tell caller to go back to sleep.  */
    1795                 raw_spin_unlock_irq_rcu_node(rnp);
    1796                 return false;
    1797         }
    1798         WRITE_ONCE(rcu_state.gp_flags, 0); /* Clear all flags: New GP. */
    1799 
    1800         if (WARN_ON_ONCE(rcu_gp_in_progress())) {
    1801                 /*
    1802                  * Grace period already in progress, don't start another.
    1803                  * Not supposed to be able to happen.
    1804                  */
    1805                 raw_spin_unlock_irq_rcu_node(rnp);
    1806                 return false;
    1807         }
    1808 
    1809         /* Advance to a new grace period and initialize state. */
    1810         record_gp_stall_check_time();
    1811         /* Record GP times before starting GP, hence rcu_seq_start(). */
    1812         rcu_seq_start(&rcu_state.gp_seq);
    1813         ASSERT_EXCLUSIVE_WRITER(rcu_state.gp_seq);
    1814         start_new_poll = rcu_sr_normal_gp_init();
    1815         trace_rcu_grace_period(rcu_state.name, rcu_state.gp_seq, TPS("start"));
    1816         rcu_poll_gp_seq_start(&rcu_state.gp_seq_polled_snap);
    1817         raw_spin_unlock_irq_rcu_node(rnp);
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Enables IRQs

    1818 
    1819         /*
    1820          * The "start_new_poll" is set to true, only when this GP is not able
    1821          * to handle anything and there are outstanding users. It happens when
    1822          * the rcu_sr_normal_gp_init() function was not able to insert a dummy
    1823          * separator to the llist, because there were no left any dummy-nodes.
    1824          *
    1825          * Number of dummy-nodes is fixed, it could be that we are run out of
    1826          * them, if so we start a new pool request to repeat a try. It is rare
    1827          * and it means that a system is doing a slow processing of callbacks.
    1828          */
    1829         if (start_new_poll)
    1830                 (void) start_poll_synchronize_rcu();
    1831 
    1832         /*
    1833          * Apply per-leaf buffered online and offline operations to
    1834          * the rcu_node tree. Note that this new grace period need not
    1835          * wait for subsequent online CPUs, and that RCU hooks in the CPU
    1836          * offlining path, when combined with checks in this function,
    1837          * will handle CPUs that are currently going offline or that will
    1838          * go offline later.  Please also refer to "Hotplug CPU" section
    1839          * of RCU's Requirements documentation.
    1840          */
    1841         WRITE_ONCE(rcu_state.gp_state, RCU_GP_ONOFF);
    1842         /* Exclude CPU hotplug operations. */
    1843         rcu_for_each_leaf_node(rnp) {
--> 1844                 local_irq_save(flags);
                         ^^^^^^^^^^^^^^^^^^^^^
It doesn't make sense to mix irq and irqsave.  Either it can be called
with IRQs disabled or it can't...

    1845                 arch_spin_lock(&rcu_state.ofl_lock);
    1846                 raw_spin_lock_rcu_node(rnp);
    1847                 if (rnp->qsmaskinit == rnp->qsmaskinitnext &&
    1848                     !rnp->wait_blkd_tasks) {
    1849                         /* Nothing to do on this leaf rcu_node structure. */
    1850                         raw_spin_unlock_rcu_node(rnp);
    1851                         arch_spin_unlock(&rcu_state.ofl_lock);
    1852                         local_irq_restore(flags);
    1853                         continue;
    1854                 }
    1855 
    1856                 /* Record old state, apply changes to ->qsmaskinit field. */
    1857                 oldmask = rnp->qsmaskinit;
    1858                 rnp->qsmaskinit = rnp->qsmaskinitnext;
    1859 
    1860                 /* If zero-ness of ->qsmaskinit changed, propagate up tree. */
    1861                 if (!oldmask != !rnp->qsmaskinit) {
    1862                         if (!oldmask) { /* First online CPU for rcu_node. */
    1863                                 if (!rnp->wait_blkd_tasks) /* Ever offline? */
    1864                                         rcu_init_new_rnp(rnp);
    1865                         } else if (rcu_preempt_has_tasks(rnp)) {
    1866                                 rnp->wait_blkd_tasks = true; /* blocked tasks */
    1867                         } else { /* Last offline CPU and can propagate. */
    1868                                 rcu_cleanup_dead_rnp(rnp);
    1869                         }
    1870                 }
    1871 
    1872                 /*
    1873                  * If all waited-on tasks from prior grace period are
    1874                  * done, and if all this rcu_node structure's CPUs are
    1875                  * still offline, propagate up the rcu_node tree and
    1876                  * clear ->wait_blkd_tasks.  Otherwise, if one of this
    1877                  * rcu_node structure's CPUs has since come back online,
    1878                  * simply clear ->wait_blkd_tasks.
    1879                  */
    1880                 if (rnp->wait_blkd_tasks &&
    1881                     (!rcu_preempt_has_tasks(rnp) || rnp->qsmaskinit)) {
    1882                         rnp->wait_blkd_tasks = false;
    1883                         if (!rnp->qsmaskinit)
    1884                                 rcu_cleanup_dead_rnp(rnp);
    1885                 }
    1886 
    1887                 raw_spin_unlock_rcu_node(rnp);
    1888                 arch_spin_unlock(&rcu_state.ofl_lock);
    1889                 local_irq_restore(flags);
    1890         }
    1891         rcu_gp_slow(gp_preinit_delay); /* Races with CPU hotplug. */
    1892 
    1893         /*
    1894          * Set the quiescent-state-needed bits in all the rcu_node
    1895          * structures for all currently online CPUs in breadth-first
    1896          * order, starting from the root rcu_node structure, relying on the
    1897          * layout of the tree within the rcu_state.node[] array.  Note that
    1898          * other CPUs will access only the leaves of the hierarchy, thus
    1899          * seeing that no grace period is in progress, at least until the
    1900          * corresponding leaf node has been initialized.
    1901          *
    1902          * The grace period cannot complete until the initialization
    1903          * process finishes, because this kthread handles both.
    1904          */
    1905         WRITE_ONCE(rcu_state.gp_state, RCU_GP_INIT);
    1906         rcu_for_each_node_breadth_first(rnp) {
    1907                 rcu_gp_slow(gp_init_delay);
    1908                 raw_spin_lock_irqsave_rcu_node(rnp, flags);
    1909                 rdp = this_cpu_ptr(&rcu_data);
    1910                 rcu_preempt_check_blocked_tasks(rnp);
    1911                 rnp->qsmask = rnp->qsmaskinit;
    1912                 WRITE_ONCE(rnp->gp_seq, rcu_state.gp_seq);
    1913                 if (rnp == rdp->mynode)
    1914                         (void)__note_gp_changes(rnp, rdp);
    1915                 rcu_preempt_boost_start_gp(rnp);
    1916                 trace_rcu_grace_period_init(rcu_state.name, rnp->gp_seq,
    1917                                             rnp->level, rnp->grplo,
    1918                                             rnp->grphi, rnp->qsmask);
    1919                 /* Quiescent states for tasks on any now-offline CPUs. */
    1920                 mask = rnp->qsmask & ~rnp->qsmaskinitnext;
    1921                 rnp->rcu_gp_init_mask = mask;
    1922                 if ((mask || rnp->wait_blkd_tasks) && rcu_is_leaf_node(rnp))
    1923                         rcu_report_qs_rnp(mask, rnp, rnp->gp_seq, flags);
    1924                 else
    1925                         raw_spin_unlock_irq_rcu_node(rnp);
    1926                 cond_resched_tasks_rcu_qs();
    1927                 WRITE_ONCE(rcu_state.gp_activity, jiffies);
    1928         }
    1929 
    1930         // If strict, make all CPUs aware of new grace period.
    1931         if (IS_ENABLED(CONFIG_RCU_STRICT_GRACE_PERIOD))
    1932                 on_each_cpu(rcu_strict_gp_boundary, NULL, 0);
    1933 
    1934         return true;
    1935 }

regards,
dan carpenter

^ permalink raw reply	[relevance 46%]

* [PATCH v2] Bug fix: ensure P4 "err" is displayed when exception is raised.
  2024-05-04  5:57 56% [PATCH] Bug fix: ensure P4 "err" is displayed when exception is raised Fahad Alrashed via GitGitGadget
  2024-05-06 12:01 64% ` Karthik Nayak
@ 2024-05-08 11:46 51% ` Fahad Alrashed via GitGitGadget
  2024-05-08 16:53 61%   ` Junio C Hamano
  1 sibling, 1 reply; 200+ results
From: Fahad Alrashed via GitGitGadget @ 2024-05-08 11:46 UTC (permalink / raw)
  To: git; +Cc: Karthik Nayak, Fahad Alrashed, Fahad Alrashed

From: Fahad Alrashed <fahad@keylock.net>

During "git p4 clone" if p4 process returns an error from the server,
it will store the message in the 'err' variable. Then it will send a
text command "die-now" to git-fast-import. However, git-fast-import
raises an exception: "fatal: Unsupported command: die-now" and err is
never displayed. This patch ensures that err is dispayed using
"finally:".

Signed-off-by: Fahad Alrashed <fahad@keylock.net>
---
    In git p4, git fast-import fails from die-now command and err (from
    Perforce) is not shown
    
    When importing from Perforce using git p4 clone <depot location>,
    cloning works fine until Perforce command p4 raises an error. This error
    message is stored in err variable then git-fast-import is sent a die-now
    command to kill it. An exception is raised fatal: Unsupported command:
    die-now.
    
    This patch forces python to call die() with the err message returned
    from Perforce.
    
    This commit fixes the root cause of a bug that took me hours to find.
    I'm sure many faced the cryptic error and declared that git-p4 is not
    working for them.

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1668%2Falrashedf%2Fmaster-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1668/alrashedf/master-v2
Pull-Request: https://github.com/git/git/pull/1668

Range-diff vs v1:

 1:  8dd2c730128 ! 1:  8d5b982bd08 Bug fix: ensure P4 "err" is displayed when exception is raised.
     @@ Metadata
       ## Commit message ##
          Bug fix: ensure P4 "err" is displayed when exception is raised.
      
     -    Bug fix: During "git p4 clone" if p4 process returns
     -    an error from the server, it will store it in variable
     -    "err". The it will send a text command "die-now" to
     -    git-fast-import. However, git-fast-import raises an
     -    exception: "fatal: Unsupported command: die-now"
     -    and err is never displayed. This patch ensures that
     -    err is dispayed using "finally:"
     +    During "git p4 clone" if p4 process returns an error from the server,
     +    it will store the message in the 'err' variable. Then it will send a
     +    text command "die-now" to git-fast-import. However, git-fast-import
     +    raises an exception: "fatal: Unsupported command: die-now" and err is
     +    never displayed. This patch ensures that err is dispayed using
     +    "finally:".
      
          Signed-off-by: Fahad Alrashed <fahad@keylock.net>
      


 git-p4.py | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/git-p4.py b/git-p4.py
index 28ab12c72b6..f1ab31d5403 100755
--- a/git-p4.py
+++ b/git-p4.py
@@ -3253,17 +3253,19 @@ def streamP4FilesCb(self, marshalled):
             if self.stream_have_file_info:
                 if "depotFile" in self.stream_file:
                     f = self.stream_file["depotFile"]
-            # force a failure in fast-import, else an empty
-            # commit will be made
-            self.gitStream.write("\n")
-            self.gitStream.write("die-now\n")
-            self.gitStream.close()
-            # ignore errors, but make sure it exits first
-            self.importProcess.wait()
-            if f:
-                die("Error from p4 print for %s: %s" % (f, err))
-            else:
-                die("Error from p4 print: %s" % err)
+            try:
+                # force a failure in fast-import, else an empty
+                # commit will be made
+                self.gitStream.write("\n")
+                self.gitStream.write("die-now\n")
+                self.gitStream.close()
+                # ignore errors, but make sure it exits first
+                self.importProcess.wait()
+            finally:
+                if f:
+                    die("Error from p4 print for %s: %s" % (f, err))
+                else:
+                    die("Error from p4 print: %s" % err)
 
         if 'depotFile' in marshalled and self.stream_have_file_info:
             # start of a new file - output the old one first

base-commit: 235986be822c9f8689be2e9a0b7804d0b1b6d821
-- 
gitgitgadget

^ permalink raw reply related	[relevance 51%]

* [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
                     ` (9 preceding siblings ...)
  2024-05-08 11:21 64% ` bugzilla-daemon
@ 2024-05-08 11:42 64% ` bugzilla-daemon
  2024-05-08 22:38 64% ` bugzilla-daemon
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-08 11:42 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218305

--- Comment #64 from Daan Vanoverloop (vanoverloopdaan@gmail.com) ---
I just encountered the issue again, but this time I unplugged my power adapter
while the device was suspended, which can also trigger this bug. When I look at
the smn_value, I find 0x017f1201 again (the "normal" value). When I plug in the
adapter, I can work around the issue and find smn_value 0x017f1221. The value
will stay on 0x017f1221 until I do a suspend/wake cycle, which resets it back
to 0x017f1201, regardless of whether I the low clock speed issue occurred or
not. Any kind of plugging or unplugging of the power adapter while the device
is awake causes it to change to 0x017f1221. Plugging and unplugging while
suspended does not seem to have any effect on this value, as it would always
reset to 0x017f1201 when waking from suspend.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
                     ` (8 preceding siblings ...)
  2024-05-08 11:14 64% ` bugzilla-daemon
@ 2024-05-08 11:21 64% ` bugzilla-daemon
  2024-05-08 11:42 64% ` bugzilla-daemon
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-08 11:21 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218305

--- Comment #63 from Daan Vanoverloop (vanoverloopdaan@gmail.com) ---
Yes, I tried it a few times and I'm pretty sure this is correct. I noticed that
the value only changes to 0x017f1221 after unplugging the power adapter. But
I'll try again just to make sure.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
                     ` (7 preceding siblings ...)
  2024-05-08  7:39 64% ` bugzilla-daemon
@ 2024-05-08 11:14 64% ` bugzilla-daemon
  2024-05-08 11:21 64% ` bugzilla-daemon
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-08 11:14 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218305

--- Comment #62 from Mario Limonciello (AMD) (mario.limonciello@amd.com) ---
Are you sure you didn't mix up 2 & 3?

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* Re: 6.9/BUG: Bad page state in process kswapd0 pfn:d6e840
  @ 2024-05-08 10:16 64% ` Mikhail Gavrilov
  2024-05-08 17:45 64%   ` David Hildenbrand
  0 siblings, 1 reply; 200+ results
From: Mikhail Gavrilov @ 2024-05-08 10:16 UTC (permalink / raw)
  To: Linux List Kernel Mailing, Linux Memory Management List

[-- Attachment #1: Type: text/plain, Size: 5383 bytes --]

On Mon, Mar 18, 2024 at 2:55 PM Mikhail Gavrilov
<mikhail.v.gavrilov@gmail.com> wrote:
>
> Hi,
> Today I  saw for the first time "BUG: Bad page state in process
> kswapd0  pfn:d6e840"
>
> Trace:
> BUG: Bad page state in process kswapd0  pfn:d6e840
> page: refcount:0 mapcount:0 mapping:000000007512f4f2 index:0x2796c2c7c
> pfn:0xd6e840
> aops:btree_aops ino:1
> flags: 0x17ffffe0000008(uptodate|node=0|zone=2|lastcpupid=0x3fffff)
> page_type: 0xffffffff()
> raw: 0017ffffe0000008 dead000000000100 dead000000000122 ffff88826d0be4c0
> raw: 00000002796c2c7c 0000000000000000 00000000ffffffff 0000000000000000
> page dumped because: non-NULL mapping
> Modules linked in: uvcvideo uvc videobuf2_vmalloc videobuf2_memops
> videobuf2_v4l2 videobuf2_common videodev rndis_host uas cdc_ether
> usbnet usb_storage mii overlay tun uinput snd_seq_dummy snd_hrtimer
> rfcomm nf_conntrack_netbios_ns nf_conntrack_broadcast nft_fib_inet
> nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4
> nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack
> nf_defrag_ipv6 nf_defrag_ipv4 ip_set nf_tables qrtr bnep sunrpc
> binfmt_misc snd_usb_audio snd_usbmidi_lib snd_ump snd_rawmidi mc
> amd_atl intel_rapl_msr intel_rapl_common snd_hda_codec_hdmi mt76x2u
> mt7921e edac_mce_amd snd_hda_intel mt76x2_common mt7921_common
> snd_intel_dspcfg mt76x02_usb snd_intel_sdw_acpi mt76_usb mt792x_lib
> snd_hda_codec mt76x02_lib mt76_connac_lib btusb btrtl mt76
> snd_hda_core btintel kvm_amd btbcm btmtk snd_hwdep mac80211 snd_seq
> kvm vfat snd_seq_device bluetooth libarc4 fat irqbypass snd_pcm rapl
> cfg80211 snd_timer wmi_bmof pcspkr snd i2c_piix4 k10temp rfkill
> soundcore joydev
>  apple_mfi_fastcharge gpio_amdpt gpio_generic loop nfnetlink zram
> amdgpu hid_apple crct10dif_pclmul crc32_pclmul crc32c_intel
> polyval_clmulni polyval_generic amdxcp i2c_algo_bit drm_ttm_helper ttm
> ghash_clmulni_intel drm_exec gpu_sched drm_suballoc_helper
> sha512_ssse3 nvme drm_buddy sha256_ssse3 sha1_ssse3 drm_display_helper
> nvme_core sp5100_tco r8169 ccp cec realtek nvme_auth video wmi
> ip6_tables ip_tables fuse
> CPU: 17 PID: 268 Comm: kswapd0 Tainted: G        W    L    -------
> ---  6.9.0-0.rc0.20240315gite5eb28f6d1af.8.fc41.x86_64+debug #1
> Hardware name: Micro-Star International Co., Ltd. MS-7D73/MPG B650I
> EDGE WIFI (MS-7D73), BIOS 1.82 01/24/2024
> Call Trace:
>  <TASK>
>  dump_stack_lvl+0xce/0xf0
>  bad_page+0xd4/0x230
>  ? __pfx_bad_page+0x10/0x10
>  ? page_bad_reason+0x9d/0x1f0
>  free_unref_page_prepare+0x80e/0xe00
>  ? __pfx___mem_cgroup_uncharge_folios+0x10/0x10
>  ? __pfx_lock_release+0x10/0x10
>  free_unref_folios+0x26e/0x9c0
>  ? _raw_spin_unlock_irq+0x28/0x60
>  move_folios_to_lru+0xc0e/0xe80
>  ? __pfx_move_folios_to_lru+0x10/0x10
>  evict_folios+0xe5c/0x1610
>  ? evict_folios+0x5f3/0x1610
>  ? __pfx_lock_acquire+0x10/0x10
>  ? __pfx_evict_folios+0x10/0x10
>  ? rcu_is_watching+0x15/0xb0
>  ? rcu_is_watching+0x15/0xb0
>  ? __pfx_lock_acquire+0x10/0x10
>  ? __pfx___might_resched+0x10/0x10
>  ? mem_cgroup_get_nr_swap_pages+0x25/0x120
>  try_to_shrink_lruvec+0x4d8/0x800
>  ? rcu_is_watching+0x15/0xb0
>  ? __pfx_try_to_shrink_lruvec+0x10/0x10
>  ? lock_release+0x581/0xc60
>  ? __pfx_lock_release+0x10/0x10
>  shrink_one+0x37c/0x6f0
>  shrink_node+0x1d60/0x3080
>  ? shrink_node+0x1d47/0x3080
>  ? shrink_node+0x1afa/0x3080
>  ? __pfx_shrink_node+0x10/0x10
>  ? pgdat_balanced+0x7b/0x1a0
>  balance_pgdat+0x88b/0x1480
>  ? rcu_is_watching+0x15/0xb0
>  ? __pfx_balance_pgdat+0x10/0x10
>  ? __switch_to+0x409/0xdd0
>  ? __switch_to_asm+0x37/0x70
>  ? __schedule+0x10cd/0x61d0
>  ? __pfx_debug_object_free+0x10/0x10
>  ? __try_to_del_timer_sync+0xe5/0x140
>  ? __pfx_lock_release+0x10/0x10
>  ? __pfx___might_resched+0x10/0x10
>  ? set_pgdat_percpu_threshold+0x1c4/0x2f0
>  ? __pfx_calculate_pressure_threshold+0x10/0x10
>  kswapd+0x51d/0x910
>  ? __pfx_kswapd+0x10/0x10
>  ? __pfx_autoremove_wake_function+0x10/0x10
>  ? lockdep_hardirqs_on+0x80/0x110
>  ? __kthread_parkme+0xba/0x1f0
>  ? __pfx_kswapd+0x10/0x10
>  kthread+0x2ed/0x3c0
>  ? _raw_spin_unlock_irq+0x28/0x60
>  ? __pfx_kthread+0x10/0x10
>  ret_from_fork+0x31/0x70
>  ? __pfx_kthread+0x10/0x10
>  ret_from_fork_asm+0x1a/0x30
>  </TASK>
>
> Quick googling doesn't give a reassuring answer.
> If it is really a hardware problem then it is unclear what is the culprit here.
> The memory was checked a year ago by testmem86 and no errors were found.
> Considering the absolute randomness of the appearance of this bug
> message, it may be worth ignoring it, but an unpleasant aftertaste
> remains.
>
> Machine spec: https://linux-hardware.org/?probe=24b7696f8a
> I attached below full kernel log and build config.
>
> --
> Best Regards,
> Mike Gavrilov.

Sorry for writing again, but no one answered me.
Of course, I checked my memory again and ensured that it was fine.
I even changed three motherboards, but this error appears once a week.
Every time the common phrase is "BUG: Bad page state in process" but
the process can be different.
kcompactd, kswapd, kworker, btrfs-transacti
I don’t know if this will help, but usually this happens when I run
the “docker pull” command and a huge container is being updated.

-- 
Best Regards,
Mike Gavrilov.

[-- Attachment #2: dmesg-Bad-page-state-in-process-kcompactd0.zip --]
[-- Type: application/zip, Size: 58945 bytes --]

[-- Attachment #3: dmesg-BUG-Bad-page-state-in-process-kswapd0.zip --]
[-- Type: application/zip, Size: 55879 bytes --]

[-- Attachment #4: dmesg-BUG-Bad-page-state-in-process-kcompactd0-2.zip --]
[-- Type: application/zip, Size: 87628 bytes --]

[-- Attachment #5: dmesg-BUG-Bad-page-state-in-process-kworker-1.zip --]
[-- Type: application/zip, Size: 319235 bytes --]

^ permalink raw reply	[relevance 64%]

* Re: [PATCH 0/3] qedf misc bug fixes
  @ 2024-05-08 10:15 64%   ` Martin Wilck
  2024-05-08 12:32 64%     ` Martin K. Petersen
  0 siblings, 1 reply; 200+ results
From: Martin Wilck @ 2024-05-08 10:15 UTC (permalink / raw)
  To: martin.petersen, Lee Duncan, Saurav Kashyap
  Cc: GR-QLogic-Storage-Upstream, linux-scsi

On Wed, 2024-05-01 at 15:28 -0700, Lee Duncan wrote:
> On Fri, Mar 15, 2024 at 3:06 AM Saurav Kashyap <skashyap@marvell.com>
> wrote:
> > ...
> 
> If not too late, for the series:
> 
> Reviewed-by: Lee Duncan <lduncan@suse.com>
> 

Martin P., any chance to get this set applied?

Thanks, Martin W.

^ permalink raw reply	[relevance 64%]

* Re: [BUG][v6.9-rc6] Deadlock with: Revert "drm/qxl: simplify qxl_fence_wait"
  2024-05-07 15:46 64%             ` Timo Lindfors
@ 2024-05-08  9:56 64%               ` Gerd Hoffmann
  0 siblings, 0 replies; 200+ results
From: Gerd Hoffmann @ 2024-05-08  9:56 UTC (permalink / raw)
  To: Timo Lindfors
  Cc: David Airlie, Linus Torvalds, Maxime Ripard, Steven Rostedt, LKML,
	Alex Constantino, Maarten Lankhorst, Thomas Zimmermann,
	Daniel Vetter

On Tue, May 07, 2024 at 06:46:41PM GMT, Timo Lindfors wrote:
> The qxl + spice + firefox combination scrolls smoothly even if I force
> firefox to use wayland.

scrolling sending 2d accel bitblits works only when running the xorg
xserver with the qxl driver.  xwayland wouldn't do that.  So that
doesn't explain the performance difference.

> I suppose I could write a more synthetic test if it would be useful?

Well, don't work on qemu graphics any more.  So I can't sink much time
into this, and my memories on details are starting to fade ...

> With systemtap I can trace what happens during a single scroll event.

Had a brief look at the driver source code.  One possibly important
difference is damage tracking.

qxl seems to send updates for the list of damaged rectangle to the host
(see qxl_draw_dirty_fb).

virtio-gpu goes call drm_atomic_helper_damage_merged() to get a single
rectangle covering all regions which need updating and works with that.

Which could very well explain the performance difference.  If you want
dig deeper I'd suggest to start there.

HTH & take care,
  Gerd


^ permalink raw reply	[relevance 64%]

* [BUG REPORT] generic/561 fails when testing xfs on next-20240506 kernel
@ 2024-05-08  9:01 55% Chandan Babu R
  0 siblings, 0 replies; 200+ results
From: Chandan Babu R @ 2024-05-08  9:01 UTC (permalink / raw)
  To: yi.zhang; +Cc: brauner, Linux-XFS mailing list

Hi,

generic/561 fails when testing XFS on a next-20240506 kernel as shown below,

# ./check generic/561
FSTYP         -- xfs (debug)
PLATFORM      -- Linux/x86_64 xfs-crc-rtdev-extsize-28k 6.9.0-rc7-next-20240506+ #1 SMP PREEMPT_DYNAMIC Mon May  6 07:53:46 GMT 2024
MKFS_OPTIONS  -- -f -rrtdev=/dev/loop14 -f -m reflink=0,rmapbt=0, -d rtinherit=1 -r extsize=28k /dev/loop5
MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 -ortdev=/dev/loop14 /dev/loop5 /media/scratch

generic/561       - output mismatch (see /var/lib/xfstests/results/xfs-crc-rtdev-extsize-28k/6.9.0-rc7-next-20240506+/xfs_crc_rtdev_extsize_28k/generic/561.out.bad)
    --- tests/generic/561.out   2024-05-06 08:18:09.681430366 +0000
    +++ /var/lib/xfstests/results/xfs-crc-rtdev-extsize-28k/6.9.0-rc7-next-20240506+/xfs_crc_rtdev_extsize_28k/generic/561.out.bad        2024-05-08 09:14:24.908010133 +0000
    @@ -1,2 +1,5 @@
     QA output created by 561
    +/media/scratch/dir/p0/d0XXXXXXXXXXXXXXXXXXXXXXX/d486/d4bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/d5bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/d212XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/d11XXXXXXXXX/d54/de4/d158/d27f/d895/d1307XXX/d8a4/d832XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/r112fXXXXXXXXXXX: FAILED
    +/media/scratch/dir/p0/d0XXXXXXXXXXXXXXXXXXXXXXX/d486/d4bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/d5bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/d212XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/d11XXXXXXXXX/d54/de4/d158/d27f/d13a3XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/d13c0XXXXXXXX/d2301X/d222bXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/d1240XXXXXXXXXXXXXXXXXXXXXXXX/d722XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/d1380XXXXXXXXXXXXXXXX/dc62XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/r10d5: FAILED
    +md5sum: WARNING: 2 computed checksums did NOT match
     Silence is golden
    ...
    (Run 'diff -u /var/lib/xfstests/tests/generic/561.out /var/lib/xfstests/results/xfs-crc-rtdev-extsize-28k/6.9.0-rc7-next-20240506+/xfs_crc_rtdev_extsize_28k/generic/561.out.bad'  to see the entire diff)
Ran: generic/561
Failures: generic/561
Failed 1 of 1 tests

The following was the fstest configuration used for the test run,

  FSTYP=xfs
  TEST_DIR=/media/test
  SCRATCH_MNT=/media/scratch
  TEST_DEV=/dev/loop16
  TEST_LOGDEV=/dev/loop13
  SCRATCH_DEV_POOL="/dev/loop5 /dev/loop6 /dev/loop7 /dev/loop8 /dev/loop9 /dev/loop10 /dev/loop11 /dev/loop12"
  MKFS_OPTIONS='-f -m crc=1,reflink=0,rmapbt=0, -i sparse=0 -lsize=1g'
  TEST_FS_MOUNT_OPTS="-o logdev=/dev/loop13"
  MOUNT_OPTIONS='-o usrquota,grpquota,prjquota'
  TEST_FS_MOUNT_OPTS="$TEST_FS_MOUNT_OPTS -o usrquota,grpquota,prjquota"
  SCRATCH_LOGDEV=/dev/loop15
  USE_EXTERNAL=yes
  LOGWRITES_DEV=/dev/loop15

Git bisect produced the following as the first bad commit,

commit 943bc0882cebf482422640924062a7daac5a27ba
Author: Zhang Yi <yi.zhang@huawei.com>
Date:   Wed Mar 20 19:05:45 2024 +0800

    iomap: don't increase i_size if it's not a write operation

    Increase i_size in iomap_zero_range() and iomap_unshare_iter() is not
    needed, the caller should handle it. Especially, when truncate partial
    block, we should not increase i_size beyond the new EOF here. It doesn't
    affect xfs and gfs2 now because they set the new file size after zero
    out, it doesn't matter that a transient increase in i_size, but it will
    affect ext4 because it set file size before truncate. So move the i_size
    updating logic to iomap_write_iter().

    Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
    Link: https://lore.kernel.org/r/20240320110548.2200662-7-yi.zhang@huaweicloud.com
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Darrick J. Wong <djwong@kernel.org>
    Signed-off-by: Christian Brauner <brauner@kernel.org>

 fs/iomap/buffered-io.c | 50 +++++++++++++++++++++++++-------------------------
 1 file changed, 25 insertions(+), 25 deletions(-)
 
-- 
Chandan

^ permalink raw reply	[relevance 55%]

* Re: [linux-next:master] [rcu/nocb] 4c66bc7cac: BUG:using_smp_processor_id()in_preemptible
  2024-05-08  4:55 64% ` Z qiang
@ 2024-05-08  9:01 64%   ` Oliver Sang
  2024-05-08 16:14 64%   ` Frederic Weisbecker
  1 sibling, 0 replies; 200+ results
From: Oliver Sang @ 2024-05-08  9:01 UTC (permalink / raw)
  To: Z qiang
  Cc: Frederic Weisbecker, oe-lkp, lkp, Linux Memory Management List,
	Paul E. McKenney, rcu, yujie.liu, oliver.sang

hi, Z qiang,

On Wed, May 08, 2024 at 12:55:25PM +0800, Z qiang wrote:
> >
> >
> >
> > Hello,
> >
> > kernel test robot noticed "BUG:using_smp_processor_id()in_preemptible" on:
> >
> > commit: 4c66bc7cacc08e8abcf5049d2b90bfd800904336 ("rcu/nocb: Use kthread parking instead of ad-hoc implementation")
> > https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
> >
> > [test failed on linux-next/master 9221b2819b8a4196eecf5476d66201be60fbcf29]
> >
> > in testcase: boot
> >
> > compiler: gcc-13
> > test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G
> >
> > (please refer to attached dmesg/kmsg for entire log/backtrace)
> >
> >
> > +--------------------------------------------------------------+------------+------------+
> > |                                                              | 6deb20902f | 4c66bc7cac |
> > +--------------------------------------------------------------+------------+------------+
> > | BUG:using_smp_processor_id()in_preemptible                   | 0          | 12         |
> > +--------------------------------------------------------------+------------+------------+
> >
> >
> > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > the same patch/commit), kindly add following tags
> > | Reported-by: kernel test robot <oliver.sang@intel.com>
> > | Closes: https://lore.kernel.org/oe-lkp/202405072252.959dadc4-lkp@intel.com
> >
> >
> > [    4.099901][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.101313][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.102493][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.104098][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.104398][   T18] Call Trace:
> > [    4.104398][   T18]  <TASK>
> > [ 4.104398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.104398][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.104398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.104398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.104398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.104398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> 
> 
> Please try the following modifications:


the issue gone with below patch.

Tested-by: kernel test robot <oliver.sang@intel.com>

> 
> diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
> index 340bbefe5f65..b93e40206621 100644
> --- a/kernel/rcu/tree_plugin.h
> +++ b/kernel/rcu/tree_plugin.h
> @@ -28,8 +28,8 @@ static bool rcu_rdp_is_offloaded(struct rcu_data *rdp)
>                 !(lockdep_is_held(&rcu_state.barrier_mutex) ||
>                   (IS_ENABLED(CONFIG_HOTPLUG_CPU) && lockdep_is_cpus_held()) ||
>                   rcu_lockdep_is_held_nocb(rdp) ||
> -                 (rdp == this_cpu_ptr(&rcu_data) &&
> -                  !(IS_ENABLED(CONFIG_PREEMPT_COUNT) && preemptible())) ||
> +                  (!(IS_ENABLED(CONFIG_PREEMPT_COUNT) && preemptible()) &&
> +                   rdp == this_cpu_ptr(&rcu_data)) ||
>                   rcu_current_is_nocb_kthread(rdp)),
>                 "Unsafe read of RCU_NOCB offloaded state"
>         );
> 
> Thanks
> Zqiang
> 
> 
> > [ 4.104398][ T18] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
> > [ 4.104398][ T18] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4421 (discriminator 16))
> > [ 4.104398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.104398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.104398][ T18] kthread (kernel/kthread.c:388)
> > [ 4.104398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.104398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.104398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.104398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.104398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.104398][   T18]  </TASK>
> > [    4.106221][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.107796][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.108547][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.109667][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.111064][   T18] Call Trace:
> > [    4.111064][   T18]  <TASK>
> > [ 4.111064][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.111064][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.111064][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.111064][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.111064][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.111064][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.111064][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.111064][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.111064][ T18] kthread (kernel/kthread.c:388)
> > [ 4.111064][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.111064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.111064][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.111064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.111064][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.111064][   T18]  </TASK>
> > [    4.132677][    T1] NMI watchdog: Perf NMI watchdog permanently disabled
> > [    4.135331][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.137454][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.137849][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.139414][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.141064][   T18] Call Trace:
> > [    4.141064][   T18]  <TASK>
> > [ 4.141064][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.141064][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.141064][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.141064][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.141064][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.141064][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.141064][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.141064][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.141064][ T18] kthread (kernel/kthread.c:388)
> > [ 4.141064][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.141064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.141064][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.141064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.141064][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.141064][   T18]  </TASK>
> > [    4.141391][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.143427][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.144497][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.146055][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.147731][   T18] Call Trace:
> > [    4.147731][   T18]  <TASK>
> > [ 4.147731][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.147731][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.147731][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.147731][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.147731][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.147731][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.147731][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.147731][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.147731][ T18] kthread (kernel/kthread.c:388)
> > [ 4.147731][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.147731][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.147731][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.147731][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.147731][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.147731][   T18]  </TASK>
> > [    4.148538][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.150537][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.151144][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.152635][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.154398][   T18] Call Trace:
> > [    4.154398][   T18]  <TASK>
> > [ 4.154398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.154398][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.154398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.154398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.154398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.154398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.154398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.154398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.154398][ T18] kthread (kernel/kthread.c:388)
> > [ 4.154398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.154398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.154398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.154398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.154398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.154398][   T18]  </TASK>
> > [    4.156100][    T1] smp: Bringing up secondary CPUs ...
> > [    4.159421][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.161134][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.162569][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.164398][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.164398][   T18] Call Trace:
> > [    4.164398][   T18]  <TASK>
> > [ 4.164398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.164398][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.164398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.164398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.164398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.164398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.164398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.164398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.164398][ T18] kthread (kernel/kthread.c:388)
> > [ 4.164398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.164398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.164398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.164398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.164398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.164398][   T18]  </TASK>
> > [    4.168016][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.170139][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.171170][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.173242][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.174398][   T18] Call Trace:
> > [    4.174398][   T18]  <TASK>
> > [ 4.174398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.174398][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.174398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.174398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.174398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.174398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.174398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.174398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.174398][ T18] kthread (kernel/kthread.c:388)
> > [ 4.174398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.174398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.174398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.174398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.174398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.174398][   T18]  </TASK>
> > [    4.189949][    T1] smpboot: x86: Booting SMP configuration:
> > [    4.191158][    T1] .... node  #0, CPUs:      #1
> > [    1.668906][    T0] masked ExtINT on CPU#1
> > [    4.202955][   T29] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/1/29
> > [ 4.204471][ T29] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.205845][   T29] CPU: 0 PID: 29 Comm: rcuop/1 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.207731][   T29] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.207731][   T29] Call Trace:
> > [    4.207731][   T29]  <TASK>
> > [ 4.207731][ T29] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.207731][ T29] dump_stack (lib/dump_stack.c:124)
> > [ 4.207731][ T29] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.207731][ T29] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.207731][ T29] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.207731][ T29] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.207731][ T29] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
> > [ 4.207731][ T29] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4421 (discriminator 16))
> > [ 4.207731][ T29] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.207731][ T29] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.207731][ T29] kthread (kernel/kthread.c:388)
> > [ 4.207731][ T29] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.207731][ T29] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.207731][ T29] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.207731][ T29] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.207731][ T29] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.207731][   T29]  </TASK>
> > [    4.207989][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.209997][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.211188][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.212898][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.214398][   T18] Call Trace:
> > [    4.214398][   T18]  <TASK>
> > [ 4.214398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.214398][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.214398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.214398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.214398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.214398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.214398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.214398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.214398][ T18] kthread (kernel/kthread.c:388)
> > [ 4.214398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.214398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.214398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.214398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.214398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.214398][   T18]  </TASK>
> > [    4.215399][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> > [ 4.217064][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [    4.217772][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> > [    4.219363][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [    4.221064][   T18] Call Trace:
> > [    4.221064][   T18]  <TASK>
> > [ 4.221064][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> > [ 4.221064][ T18] dump_stack (lib/dump_stack.c:124)
> > [ 4.221064][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> > [ 4.221064][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> > [ 4.221064][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> > [ 4.221064][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> > [ 4.221064][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> > [ 4.221064][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> > [ 4.221064][ T18] kthread (kernel/kthread.c:388)
> > [ 4.221064][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> > [ 4.221064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.221064][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> > [ 4.221064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> > [ 4.221064][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> > [    4.221064][   T18]  </TASK>
> >
> >
> >
> > The kernel config and materials to reproduce are available at:
> > https://download.01.org/0day-ci/archive/20240507/202405072252.959dadc4-lkp@intel.com
> >
> >
> >
> > --
> > 0-DAY CI Kernel Test Service
> > https://github.com/intel/lkp-tests/wiki
> >
> >


^ permalink raw reply	[relevance 64%]

* [bug report] usb: typec: ucsi: Only enable supported notifications
@ 2024-05-08  7:53 64% Dan Carpenter
  2024-05-08 14:22 64% ` Diogo Ivo
  0 siblings, 1 reply; 200+ results
From: Dan Carpenter @ 2024-05-08  7:53 UTC (permalink / raw)
  To: diogo.ivo; +Cc: linux-usb

Hello Diogo Ivo,

Commit 27ffe4ff0b33 ("usb: typec: ucsi: Only enable supported
notifications") from Mar 27, 2024 (linux-next), leads to the
following Smatch static checker warning:

	drivers/usb/typec/ucsi/ucsi.c:1671 ucsi_get_supported_notifications()
	warn: was expecting a 64 bit value instead of '((((1))) << (24))'

drivers/usb/typec/ucsi/ucsi.c
    1665 static u64 ucsi_get_supported_notifications(struct ucsi *ucsi)
    1666 {
    1667         u8 features = ucsi->cap.features;
    1668         u64 ntfy = UCSI_ENABLE_NTFY_ALL;
    1669 
    1670         if (!(features & UCSI_CAP_ALT_MODE_DETAILS))
--> 1671                 ntfy &= ~UCSI_ENABLE_NTFY_CAM_CHANGE;

ntfy is a u64 but UCSI_ENABLE_NTFY_CAM_CHANGE is unsigned long.  So on
a 32 bit system this will clear the high 32 bits.  So far as I can see
ntfy should just be a u32.  Either way, the types should match.
BIT_ULL() is the way to do that if it really needs to be a u64.

    1672 
    1673         if (!(features & UCSI_CAP_PDO_DETAILS))
    1674                 ntfy &= ~(UCSI_ENABLE_NTFY_PWR_LEVEL_CHANGE |
    1675                           UCSI_ENABLE_NTFY_CAP_CHANGE);
    1676 
    1677         if (!(features & UCSI_CAP_EXT_SUPPLY_NOTIFICATIONS))
    1678                 ntfy &= ~UCSI_ENABLE_NTFY_EXT_PWR_SRC_CHANGE;
    1679 
    1680         if (!(features & UCSI_CAP_PD_RESET))
    1681                 ntfy &= ~UCSI_ENABLE_NTFY_PD_RESET_COMPLETE;
    1682 
    1683         return ntfy;
    1684 }

regards,
dan carpenter

^ permalink raw reply	[relevance 64%]

* [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
                     ` (6 preceding siblings ...)
  2024-05-07  8:24 64% ` bugzilla-daemon
@ 2024-05-08  7:39 64% ` bugzilla-daemon
  2024-05-08 11:14 64% ` bugzilla-daemon
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-08  7:39 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218305

--- Comment #61 from Daan Vanoverloop (vanoverloopdaan@gmail.com) ---
I was able to reproduce the issue consistently at work with the USB power
adapter that was included with the laptop, with or without a display and USB
devices plugged in. I was not able to reproduce the issue with a different USB
power adapter at home.

These are the smn values I found:

1) at bootup: 0x017f1201
2) after reproducing the issue: 0x017f1201
3) after doing the workaround (unplugging the power adapter): 0x017f1221

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* [bug report] nvmet: implement unique discovery NQN
@ 2024-05-08  7:39 62% Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-08  7:39 UTC (permalink / raw)
  To: hare; +Cc: linux-nvme

Hello Hannes Reinecke,

Commit 95409e277d83 ("nvmet: implement unique discovery NQN") from
Apr 3, 2024 (linux-next), leads to the following Smatch static
checker warning:

	drivers/nvme/target/configfs.c:2206 nvmet_root_discovery_nqn_store()
	warn: 'nvmet_disc_subsys->subsysnqn' sometimes too small '224' size = 256

drivers/nvme/target/configfs.c
    2185 static ssize_t nvmet_root_discovery_nqn_store(struct config_item *item,
    2186                 const char *page, size_t count)
    2187 {
    2188         struct list_head *entry;
    2189         size_t len;
    2190 
    2191         len = strcspn(page, "\n");
    2192         if (!len || len > NVMF_NQN_FIELD_LEN - 1)
                                   ^^^^^^^^^^^^^^^^^^^^^^
There is some kind of mix up between these.

/* NQN names in commands fields specified one size */
#define NVMF_NQN_FIELD_LEN      256

/* However the max length of a qualified name is another size */
#define NVMF_NQN_SIZE           223

    2193                 return -EINVAL;
    2194 
    2195         down_write(&nvmet_config_sem);
    2196         list_for_each(entry, &nvmet_subsystems_group.cg_children) {
    2197                 struct config_item *item =
    2198                         container_of(entry, struct config_item, ci_entry);
    2199 
    2200                 if (!strncmp(config_item_name(item), page, len)) {
    2201                         pr_err("duplicate NQN %s\n", config_item_name(item));
    2202                         up_write(&nvmet_config_sem);
    2203                         return -EINVAL;
    2204                 }
    2205         }
--> 2206         memset(nvmet_disc_subsys->subsysnqn, 0, NVMF_NQN_FIELD_LEN);
                                                         ^^^^^^^^^^^^^^^^^^
    2207         memcpy(nvmet_disc_subsys->subsysnqn, page, len);
                                                            ^^^
Which leads to memory corruption.  The nvmet_disc_subsys->subsysnqn
struct member is allocated in nvmet_subsys_alloc() with a MAXIMUM of
224 bytes depending on the input string.

	subsys->subsysnqn = kstrndup(subsysnqn, NVMF_NQN_SIZE, GFP_KERNEL);

There is also a harmless off by one.  kstrndup() is allocating up to
NVMF_NQN_SIZE + 1, but at the top of this function we're subtracting 1.

It should be allocated like:

	subsys->subsysnqn = kzalloc(subsysnqn, NVMF_NQN_SIZE or NVMF_NQN_FIELD_LEN + 1, GFP_KERNEL);
	if (!subsys->subsysnqn)
		return -ENOMEM or whatever;
	strscpy(subsys->subsysnqn, subsysnqn);

    2208         up_write(&nvmet_config_sem);
    2209 
    2210         return len;
    2211 }

regards,
dan carpenter


^ permalink raw reply	[relevance 62%]

* [syzbot] [bcachefs?] BUG: MAX_LOCK_DEPTH too low! (4)
@ 2024-05-08  7:27 32% syzbot
  0 siblings, 0 replies; 200+ results
From: syzbot @ 2024-05-08  7:27 UTC (permalink / raw)
  To: bfoster, kent.overstreet, linux-bcachefs, linux-kernel,
	syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    9221b2819b8a Add linux-next specific files for 20240503
git tree:       linux-next
console+strace: https://syzkaller.appspot.com/x/log.txt?x=11a1d9df180000
kernel config:  https://syzkaller.appspot.com/x/.config?x=8ab537f51a6a0d98
dashboard link: https://syzkaller.appspot.com/bug?extid=46405fa9afa07e6c8c40
compiler:       Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=11631754980000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=17e27a28980000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/3e67dbdc3c37/disk-9221b281.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/ade618fa19f8/vmlinux-9221b281.xz
kernel image: https://storage.googleapis.com/syzbot-assets/df12e5073c97/bzImage-9221b281.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/19d03db08a95/mount_0.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+46405fa9afa07e6c8c40@syzkaller.appspotmail.com

bcachefs (loop0): resume_logged_ops... done
bcachefs (loop0): going read-write
bcachefs (loop0): done starting filesystem
BUG: MAX_LOCK_DEPTH too low!
turning off the locking correctness validator.
depth: 48  max: 48!
48 locks held by syz-executor356/5097:
 #0: ffff888023ae8420 (sb_writers#9){.+.+}-{0:0}, at: mnt_want_write+0x3f/0x90 fs/namespace.c:409
 #1: ffff888076ab88b8 (&sb->s_type->i_mutex_key#15){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:791 [inline]
 #1: ffff888076ab88b8 (&sb->s_type->i_mutex_key#15){+.+.}-{3:3}, at: do_truncate+0x20c/0x310 fs/open.c:63
 #2: ffff888077780ab8 (&c->snapshot_create_lock){.+.+}-{3:3}, at: bch2_truncate+0x16c/0x2c0 fs/bcachefs/io_misc.c:290
 #3: ffff888077784258 (&c->btree_trans_barrier){.+.+}-{0:0}, at: srcu_lock_acquire include/linux/srcu.h:116 [inline]
 #3: ffff888077784258 (&c->btree_trans_barrier){.+.+}-{0:0}, at: srcu_read_lock include/linux/srcu.h:215 [inline]
 #3: ffff888077784258 (&c->btree_trans_barrier){.+.+}-{0:0}, at: bch2_trans_srcu_lock+0xb1/0x220 fs/bcachefs/btree_iter.c:3024
 #4: ffff888023040870 (&dev->mutex){....}-{3:3}, at: six_relock_type fs/bcachefs/six.h:289 [inline]
 #4: ffff888023040870 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x142/0x9c0 fs/bcachefs/btree_locking.c:506
 #5: ffff888023040870 (&dev->mutex){....}-{3:3}, at: btree_node_lock_increment fs/bcachefs/btree_locking.h:248 [inline]
 #5: ffff888023040870 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x67c/0x9c0 fs/bcachefs/btree_locking.c:508
 #6: ffff888023040870 (&dev->mutex){....}-{3:3}, at: btree_node_lock_increment fs/bcachefs/btree_locking.h:248 [inline]
 #6: ffff888023040870 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x67c/0x9c0 fs/bcachefs/btree_locking.c:508
 #7: ffff888023040870 (&dev->mutex){....}-{3:3}, at: btree_node_lock_increment fs/bcachefs/btree_locking.h:248 [inline]
 #7: ffff888023040870 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x67c/0x9c0 fs/bcachefs/btree_locking.c:508
 #8: ffff888023040870 (&dev->mutex){....}-{3:3}, at: btree_node_lock_increment fs/bcachefs/btree_locking.h:248 [inline]
 #8: ffff888023040870 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x67c/0x9c0 fs/bcachefs/btree_locking.c:508
 #9: ffff888023040870 (&dev->mutex){....}-{3:3}, at: btree_node_lock_increment fs/bcachefs/btree_locking.h:248 [inline]
 #9: ffff888023040870 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x67c/0x9c0 fs/bcachefs/btree_locking.c:508
 #10: ffff888023040870 (&dev->mutex){....}-{3:3}, at: btree_node_lock_increment fs/bcachefs/btree_locking.h:248 [inline]
 #10: ffff888023040870 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x67c/0x9c0 fs/bcachefs/btree_locking.c:508
 #11: ffff888023040870 (&dev->mutex){....}-{3:3}, at: btree_node_lock_increment fs/bcachefs/btree_locking.h:248 [inline]
 #11: ffff888023040870 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x67c/0x9c0 fs/bcachefs/btree_locking.c:508
 #12: ffff888023040870 (&dev->mutex){....}-{3:3}, at: btree_node_lock_increment fs/bcachefs/btree_locking.h:248 [inline]
 #12: ffff888023040870 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x67c/0x9c0 fs/bcachefs/btree_locking.c:508
 #13: ffff888076a78f38 (&dev->mutex){....}-{3:3}, at: six_relock_type fs/bcachefs/six.h:289 [inline]
 #13: ffff888076a78f38 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x142/0x9c0 fs/bcachefs/btree_locking.c:506
 #14: ffff888076a79090 (&dev->mutex){....}-{3:3}, at: six_relock_type fs/bcachefs/six.h:289 [inline]
 #14: ffff888076a79090 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x142/0x9c0 fs/bcachefs/btree_locking.c:506
 #15: ffff888076a791e8 (&dev->mutex){....}-{3:3}, at: six_relock_type fs/bcachefs/six.h:289 [inline]
 #15: ffff888076a791e8 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x142/0x9c0 fs/bcachefs/btree_locking.c:506
 #16: ffff888076a79340 (&dev->mutex){....}-{3:3}, at: six_relock_type fs/bcachefs/six.h:289 [inline]
 #16: ffff888076a79340 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x142/0x9c0 fs/bcachefs/btree_locking.c:506
 #17: ffff888076a79498 (&dev->mutex){....}-{3:3}, at: six_relock_type fs/bcachefs/six.h:289 [inline]
 #17: ffff888076a79498 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x142/0x9c0 fs/bcachefs/btree_locking.c:506
 #18: ffff888076a795f0 (&dev->mutex){....}-{3:3}, at: six_relock_type fs/bcachefs/six.h:289 [inline]
 #18: ffff888076a795f0 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x142/0x9c0 fs/bcachefs/btree_locking.c:506
 #19: ffff888076a79748 (&dev->mutex){....}-{3:3}, at: six_relock_type fs/bcachefs/six.h:289 [inline]
 #19: ffff888076a79748 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x142/0x9c0 fs/bcachefs/btree_locking.c:506
 #20: ffff888076a798a0 (&dev->mutex){....}-{3:3}, at: six_relock_type fs/bcachefs/six.h:289 [inline]
 #20: ffff888076a798a0 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x142/0x9c0 fs/bcachefs/btree_locking.c:506
 #21: ffff888023041070 (&dev->mutex){....}-{3:3}, at: six_trylock_type fs/bcachefs/six.h:207 [inline]
 #21: ffff888023041070 (&dev->mutex){....}-{3:3}, at: btree_node_lock fs/bcachefs/btree_locking.h:266 [inline]
 #21: ffff888023041070 (&dev->mutex){....}-{3:3}, at: btree_path_lock_root fs/bcachefs/btree_iter.c:760 [inline]
 #21: ffff888023041070 (&dev->mutex){....}-{3:3}, at: bch2_btree_path_traverse_one+0xa44/0x2930 fs/bcachefs/btree_iter.c:1180
 #22: ffff888023040070 (&dev->mutex){....}-{3:3}, at: six_relock_type fs/bcachefs/six.h:289 [inline]
 #22: ffff888023040070 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x142/0x9c0 fs/bcachefs/btree_locking.c:506
 #23: ffff88807a4c9870 (&dev->mutex){....}-{3:3}, at: six_trylock_type fs/bcachefs/six.h:207 [inline]
 #23: ffff88807a4c9870 (&dev->mutex){....}-{3:3}, at: btree_node_lock fs/bcachefs/btree_locking.h:266 [inline]
 #23: ffff88807a4c9870 (&dev->mutex){....}-{3:3}, at: btree_path_lock_root fs/bcachefs/btree_iter.c:760 [inline]
 #23: ffff88807a4c9870 (&dev->mutex){....}-{3:3}, at: bch2_btree_path_traverse_one+0xa44/0x2930 fs/bcachefs/btree_iter.c:1180
 #24: ffff88807a4c9870 (&dev->mutex){....}-{3:3}, at: six_trylock_type fs/bcachefs/six.h:207 [inline]
 #24: ffff88807a4c9870 (&dev->mutex){....}-{3:3}, at: btree_node_lock fs/bcachefs/btree_locking.h:266 [inline]
 #24: ffff88807a4c9870 (&dev->mutex){....}-{3:3}, at: btree_path_lock_root fs/bcachefs/btree_iter.c:760 [inline]
 #24: ffff88807a4c9870 (&dev->mutex){....}-{3:3}, at: bch2_btree_path_traverse_one+0xa44/0x2930 fs/bcachefs/btree_iter.c:1180
 #25: ffff88807a4c9070 (&dev->mutex){....}-{3:3}, at: six_relock_type fs/bcachefs/six.h:289 [inline]
 #25: ffff88807a4c9070 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x142/0x9c0 fs/bcachefs/btree_locking.c:506
 #26: ffff88807a4c9070 (&dev->mutex){....}-{3:3}, at: btree_node_lock_increment fs/bcachefs/btree_locking.h:248 [inline]
 #26: ffff88807a4c9070 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x67c/0x9c0 fs/bcachefs/btree_locking.c:508
 #27: ffff88807a4c9070 (&dev->mutex){....}-{3:3}, at: btree_node_lock_increment fs/bcachefs/btree_locking.h:248 [inline]
 #27: ffff88807a4c9070 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x67c/0x9c0 fs/bcachefs/btree_locking.c:508
 #28: ffff88807a4c9070 (&dev->mutex){....}-{3:3}, at: btree_node_lock_increment fs/bcachefs/btree_locking.h:248 [inline]
 #28: ffff88807a4c9070 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x67c/0x9c0 fs/bcachefs/btree_locking.c:508
 #29: ffff88807a4c9070 (&dev->mutex){....}-{3:3}, at: btree_node_lock_increment fs/bcachefs/btree_locking.h:248 [inline]
 #29: ffff88807a4c9070 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x67c/0x9c0 fs/bcachefs/btree_locking.c:508
 #30: ffff88807a4c9070 (&dev->mutex){....}-{3:3}, at: btree_node_lock_increment fs/bcachefs/btree_locking.h:248 [inline]
 #30: ffff88807a4c9070 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x67c/0x9c0 fs/bcachefs/btree_locking.c:508
 #31: ffff88807a4c9070 (&dev->mutex){....}-{3:3}, at: btree_node_lock_increment fs/bcachefs/btree_locking.h:248 [inline]
 #31: ffff88807a4c9070 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x67c/0x9c0 fs/bcachefs/btree_locking.c:508
 #32: ffff88807a4ce070 (&dev->mutex){....}-{3:3}, at: six_relock_type fs/bcachefs/six.h:289 [inline]
 #32: ffff88807a4ce070 (&dev->mutex){....}-{3:3}, at: __bch2_btree_node_relock+0x142/0x9c0 fs/bcachefs/btree_locking.c:506
 #33: ffff8880777a6858 (&c->gc_lock){.+.+}-{3:3}, at: bch2_btree_update_start+0x68d/0x1500 fs/bcachefs/btree_update_interior.c:1196
 #34: ffff888076a0c320 (&dev->mutex){....}-{3:3}, at: bch2_btree_path_traverse_cached+0x48d/0xd50
 #35: ffff888076a0c1c8 (&dev->mutex){....}-{3:3}, at: bch2_btree_path_traverse_cached+0x48d/0xd50
 #36: ffff88807a4c9870 (&dev->mutex){....}-{3:3}, at: btree_path_copy fs/bcachefs/btree_iter.c:1231 [inline]
 #36: ffff88807a4c9870 (&dev->mutex){....}-{3:3}, at: btree_path_clone fs/bcachefs/btree_iter.c:1239 [inline]
 #36: ffff88807a4c9870 (&dev->mutex){....}-{3:3}, at: __bch2_btree_path_make_mut+0x1ec/0x570 fs/bcachefs/btree_iter.c:1252
 #37: ffff888076a0c070 (&dev->mutex){....}-{3:3}, at: bch2_btree_path_traverse_cached+0x48d/0xd50
 #38: ffff888076a7be00 (&dev->mutex){....}-{3:3}, at: bch2_btree_path_traverse_cached+0x48d/0xd50
 #39: ffff88807a4c9870 (&dev->mutex){....}-{3:3}, at: btree_path_copy fs/bcachefs/btree_iter.c:1231 [inline]
 #39: ffff88807a4c9870 (&dev->mutex){....}-{3:3}, at: btree_path_clone fs/bcachefs/btree_iter.c:1239 [inline]
 #39: ffff88807a4c9870 (&dev->mutex){....}-{3:3}, at: __bch2_btree_path_make_mut+0x1ec/0x570 fs/bcachefs/btree_iter.c:1252
 #40: ffff888076a7bca8 (&dev->mutex){....}-{3:3}, at: bch2_btree_path_traverse_cached+0x48d/0xd50
 #41: ffff888076a7bb50 (&dev->mutex){....}-{3:3}, at: bch2_btree_path_traverse_cached+0x48d/0xd50
 #42: ffff8880769a25d0 (&dev->mutex){....}-{3:3}, at: bch2_btree_path_traverse_cached+0x48d/0xd50
 #43: ffff88802e8a7070 (&dev->mutex){....}-{3:3}, at: btree_node_lock_nopath_nofail fs/bcachefs/btree_locking.h:228 [inline]
 #43: ffff88802e8a7070 (&dev->mutex){....}-{3:3}, at: bch2_btree_node_alloc+0x114/0xe80 fs/bcachefs/btree_update_interior.c:393
 #44: ffff88802e8a7070 (&dev->mutex){....}-{3:3}, at: btree_split+0x1ba3/0x69e0 fs/bcachefs/btree_update_interior.c:1675
 #45: ffffffff8e333de0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:327 [inline]
 #45: ffffffff8e333de0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:839 [inline]
 #45: ffffffff8e333de0 (rcu_read_lock){....}-{1:2}, at: __queue_work+0x198/0xef0 kernel/workqueue.c:2283
 #46: ffff8880b943e378 (&pool->lock){-.-.}-{2:2}, at: __queue_work+0x6ec/0xef0
 #47: ffffffff8ea3ffa0 (fill_pool_map-wait-type-override){+.+.}-{3:3}, at: debug_objects_fill_pool+0x80/0x9b0 lib/debugobjects.c:614
INFO: lockdep is turned off.
CPU: 0 PID: 5097 Comm: syz-executor356 Not tainted 6.9.0-rc6-next-20240503-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114
 __lock_acquire+0x10c3/0x1fd0
 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5754
 debug_objects_fill_pool+0x9f/0x9b0 lib/debugobjects.c:614
 debug_object_activate+0x135/0x510 lib/debugobjects.c:704
 debug_work_activate kernel/workqueue.c:664 [inline]
 insert_work+0x36/0x330 kernel/workqueue.c:2204
 __queue_work+0xc24/0xef0 kernel/workqueue.c:2359
 queue_work_on+0x1c2/0x380 kernel/workqueue.c:2410
 queue_work include/linux/workqueue.h:621 [inline]
 __bch2_btree_node_write+0x37b3/0x4640 fs/bcachefs/btree_io.c:2233
 bch2_btree_node_write+0x63/0x1f0 fs/bcachefs/btree_io.c:2309
 btree_split+0x51f9/0x69e0 fs/bcachefs/btree_update_interior.c:1707
 bch2_btree_split_leaf+0x158/0x810 fs/bcachefs/btree_update_interior.c:1858
 bch2_trans_commit_error+0x200/0x1210 fs/bcachefs/btree_trans_commit.c:918
 __bch2_trans_commit+0x6f6f/0x8a10 fs/bcachefs/btree_trans_commit.c:1138
 bch2_trans_commit fs/bcachefs/btree_update.h:170 [inline]
 bch2_extent_update+0x4c0/0xbb0 fs/bcachefs/io_write.c:318
 bch2_fpunch_at+0x87c/0x1020 fs/bcachefs/io_misc.c:184
 __bch2_resume_logged_op_truncate+0x715/0xaa0 fs/bcachefs/io_misc.c:260
 bch2_truncate+0x1cf/0x2c0 fs/bcachefs/io_misc.c:291
 bchfs_truncate+0x80f/0xc80 fs/bcachefs/fs-io.c:473
 notify_change+0xb9d/0xe70 fs/attr.c:497
 do_truncate+0x220/0x310 fs/open.c:65
 handle_truncate fs/namei.c:3308 [inline]
 do_open fs/namei.c:3654 [inline]
 path_openat+0x2a3d/0x3280 fs/namei.c:3807
 do_filp_open+0x235/0x490 fs/namei.c:3834
 do_sys_openat2+0x13e/0x1d0 fs/open.c:1405
 do_sys_open fs/open.c:1420 [inline]
 __do_sys_creat fs/open.c:1496 [inline]
 __se_sys_creat fs/open.c:1490 [inline]
 __x64_sys_creat+0x123/0x170 fs/open.c:1490
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f4ae26b8a39
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 61 17 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fff20b52708 EFLAGS: 00000246 ORIG_RAX: 0000000000000055
RAX: ffffffffffffffda RBX: 00007f4ae270104b RCX: 00007f4ae26b8a39
RDX: 00007f4ae26b8a39 RSI: 0000000000000000 RDI: 0000000020000000
RBP: 00007f4ae2731610 R08: 00007fff20b528d8 R09: 00007fff20b528d8
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001
R13: 00007fff20b528c8 R14: 0000000000000001 R15: 0000000000000001
 </TASK>


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

^ permalink raw reply	[relevance 32%]

* Re: [syzbot] [bcachefs?] kernel BUG in bch2_fs_recovery
  @ 2024-05-08  4:59 64% ` syzbot
  0 siblings, 0 replies; 200+ results
From: syzbot @ 2024-05-08  4:59 UTC (permalink / raw)
  To: bfoster, kent.overstreet, linux-bcachefs, linux-fsdevel,
	linux-kernel, syzkaller-bugs

syzbot has bisected this issue to:

commit 03ef80b469d5d83530ce1ce15be78a40e5300f9b
Author: Kent Overstreet <kent.overstreet@linux.dev>
Date:   Sat Sep 23 22:41:51 2023 +0000

    bcachefs: Ignore unknown mount options

bisection log:  https://syzkaller.appspot.com/x/bisect.txt?x=14fdf9a8980000
start commit:   ddb4c3f25b7b Merge tag 'for-linus-6.9a-rc7-tag' of git://g..
git tree:       upstream
final oops:     https://syzkaller.appspot.com/x/report.txt?x=16fdf9a8980000
console output: https://syzkaller.appspot.com/x/log.txt?x=12fdf9a8980000
kernel config:  https://syzkaller.appspot.com/x/.config?x=d2f00edef461175
dashboard link: https://syzkaller.appspot.com/bug?extid=05c1843ef85da9e52042
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=1464ea2f180000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=130db31f180000

Reported-by: syzbot+05c1843ef85da9e52042@syzkaller.appspotmail.com
Fixes: 03ef80b469d5 ("bcachefs: Ignore unknown mount options")

For information about bisection process see: https://goo.gl/tpsmEJ#bisection

^ permalink raw reply	[relevance 64%]

* Re: [linux-next:master] [rcu/nocb] 4c66bc7cac: BUG:using_smp_processor_id()in_preemptible
  2024-05-07 14:27 31% [linux-next:master] [rcu/nocb] 4c66bc7cac: BUG:using_smp_processor_id()in_preemptible kernel test robot
@ 2024-05-08  4:55 64% ` Z qiang
  2024-05-08  9:01 64%   ` Oliver Sang
  2024-05-08 16:14 64%   ` Frederic Weisbecker
  0 siblings, 2 replies; 200+ results
From: Z qiang @ 2024-05-08  4:55 UTC (permalink / raw)
  To: kernel test robot
  Cc: Frederic Weisbecker, oe-lkp, lkp, Linux Memory Management List,
	Paul E. McKenney, rcu

>
>
>
> Hello,
>
> kernel test robot noticed "BUG:using_smp_processor_id()in_preemptible" on:
>
> commit: 4c66bc7cacc08e8abcf5049d2b90bfd800904336 ("rcu/nocb: Use kthread parking instead of ad-hoc implementation")
> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
>
> [test failed on linux-next/master 9221b2819b8a4196eecf5476d66201be60fbcf29]
>
> in testcase: boot
>
> compiler: gcc-13
> test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G
>
> (please refer to attached dmesg/kmsg for entire log/backtrace)
>
>
> +--------------------------------------------------------------+------------+------------+
> |                                                              | 6deb20902f | 4c66bc7cac |
> +--------------------------------------------------------------+------------+------------+
> | BUG:using_smp_processor_id()in_preemptible                   | 0          | 12         |
> +--------------------------------------------------------------+------------+------------+
>
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <oliver.sang@intel.com>
> | Closes: https://lore.kernel.org/oe-lkp/202405072252.959dadc4-lkp@intel.com
>
>
> [    4.099901][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> [ 4.101313][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> [    4.102493][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> [    4.104098][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> [    4.104398][   T18] Call Trace:
> [    4.104398][   T18]  <TASK>
> [ 4.104398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> [ 4.104398][ T18] dump_stack (lib/dump_stack.c:124)
> [ 4.104398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> [ 4.104398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> [ 4.104398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> [ 4.104398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))


Please try the following modifications:

diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
index 340bbefe5f65..b93e40206621 100644
--- a/kernel/rcu/tree_plugin.h
+++ b/kernel/rcu/tree_plugin.h
@@ -28,8 +28,8 @@ static bool rcu_rdp_is_offloaded(struct rcu_data *rdp)
                !(lockdep_is_held(&rcu_state.barrier_mutex) ||
                  (IS_ENABLED(CONFIG_HOTPLUG_CPU) && lockdep_is_cpus_held()) ||
                  rcu_lockdep_is_held_nocb(rdp) ||
-                 (rdp == this_cpu_ptr(&rcu_data) &&
-                  !(IS_ENABLED(CONFIG_PREEMPT_COUNT) && preemptible())) ||
+                  (!(IS_ENABLED(CONFIG_PREEMPT_COUNT) && preemptible()) &&
+                   rdp == this_cpu_ptr(&rcu_data)) ||
                  rcu_current_is_nocb_kthread(rdp)),
                "Unsafe read of RCU_NOCB offloaded state"
        );

Thanks
Zqiang


> [ 4.104398][ T18] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
> [ 4.104398][ T18] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4421 (discriminator 16))
> [ 4.104398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> [ 4.104398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> [ 4.104398][ T18] kthread (kernel/kthread.c:388)
> [ 4.104398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> [ 4.104398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.104398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> [ 4.104398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.104398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> [    4.104398][   T18]  </TASK>
> [    4.106221][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> [ 4.107796][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> [    4.108547][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> [    4.109667][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> [    4.111064][   T18] Call Trace:
> [    4.111064][   T18]  <TASK>
> [ 4.111064][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> [ 4.111064][ T18] dump_stack (lib/dump_stack.c:124)
> [ 4.111064][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> [ 4.111064][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> [ 4.111064][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> [ 4.111064][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> [ 4.111064][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> [ 4.111064][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> [ 4.111064][ T18] kthread (kernel/kthread.c:388)
> [ 4.111064][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> [ 4.111064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.111064][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> [ 4.111064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.111064][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> [    4.111064][   T18]  </TASK>
> [    4.132677][    T1] NMI watchdog: Perf NMI watchdog permanently disabled
> [    4.135331][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> [ 4.137454][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> [    4.137849][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> [    4.139414][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> [    4.141064][   T18] Call Trace:
> [    4.141064][   T18]  <TASK>
> [ 4.141064][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> [ 4.141064][ T18] dump_stack (lib/dump_stack.c:124)
> [ 4.141064][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> [ 4.141064][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> [ 4.141064][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> [ 4.141064][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> [ 4.141064][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> [ 4.141064][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> [ 4.141064][ T18] kthread (kernel/kthread.c:388)
> [ 4.141064][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> [ 4.141064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.141064][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> [ 4.141064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.141064][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> [    4.141064][   T18]  </TASK>
> [    4.141391][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> [ 4.143427][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> [    4.144497][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> [    4.146055][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> [    4.147731][   T18] Call Trace:
> [    4.147731][   T18]  <TASK>
> [ 4.147731][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> [ 4.147731][ T18] dump_stack (lib/dump_stack.c:124)
> [ 4.147731][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> [ 4.147731][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> [ 4.147731][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> [ 4.147731][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> [ 4.147731][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> [ 4.147731][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> [ 4.147731][ T18] kthread (kernel/kthread.c:388)
> [ 4.147731][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> [ 4.147731][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.147731][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> [ 4.147731][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.147731][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> [    4.147731][   T18]  </TASK>
> [    4.148538][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> [ 4.150537][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> [    4.151144][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> [    4.152635][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> [    4.154398][   T18] Call Trace:
> [    4.154398][   T18]  <TASK>
> [ 4.154398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> [ 4.154398][ T18] dump_stack (lib/dump_stack.c:124)
> [ 4.154398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> [ 4.154398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> [ 4.154398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> [ 4.154398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> [ 4.154398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> [ 4.154398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> [ 4.154398][ T18] kthread (kernel/kthread.c:388)
> [ 4.154398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> [ 4.154398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.154398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> [ 4.154398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.154398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> [    4.154398][   T18]  </TASK>
> [    4.156100][    T1] smp: Bringing up secondary CPUs ...
> [    4.159421][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> [ 4.161134][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> [    4.162569][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> [    4.164398][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> [    4.164398][   T18] Call Trace:
> [    4.164398][   T18]  <TASK>
> [ 4.164398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> [ 4.164398][ T18] dump_stack (lib/dump_stack.c:124)
> [ 4.164398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> [ 4.164398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> [ 4.164398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> [ 4.164398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> [ 4.164398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> [ 4.164398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> [ 4.164398][ T18] kthread (kernel/kthread.c:388)
> [ 4.164398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> [ 4.164398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.164398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> [ 4.164398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.164398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> [    4.164398][   T18]  </TASK>
> [    4.168016][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> [ 4.170139][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> [    4.171170][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> [    4.173242][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> [    4.174398][   T18] Call Trace:
> [    4.174398][   T18]  <TASK>
> [ 4.174398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> [ 4.174398][ T18] dump_stack (lib/dump_stack.c:124)
> [ 4.174398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> [ 4.174398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> [ 4.174398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> [ 4.174398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> [ 4.174398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> [ 4.174398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> [ 4.174398][ T18] kthread (kernel/kthread.c:388)
> [ 4.174398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> [ 4.174398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.174398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> [ 4.174398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.174398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> [    4.174398][   T18]  </TASK>
> [    4.189949][    T1] smpboot: x86: Booting SMP configuration:
> [    4.191158][    T1] .... node  #0, CPUs:      #1
> [    1.668906][    T0] masked ExtINT on CPU#1
> [    4.202955][   T29] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/1/29
> [ 4.204471][ T29] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> [    4.205845][   T29] CPU: 0 PID: 29 Comm: rcuop/1 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> [    4.207731][   T29] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> [    4.207731][   T29] Call Trace:
> [    4.207731][   T29]  <TASK>
> [ 4.207731][ T29] dump_stack_lvl (lib/dump_stack.c:116)
> [ 4.207731][ T29] dump_stack (lib/dump_stack.c:124)
> [ 4.207731][ T29] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> [ 4.207731][ T29] debug_smp_processor_id (lib/smp_processor_id.c:61)
> [ 4.207731][ T29] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> [ 4.207731][ T29] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> [ 4.207731][ T29] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
> [ 4.207731][ T29] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4421 (discriminator 16))
> [ 4.207731][ T29] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> [ 4.207731][ T29] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> [ 4.207731][ T29] kthread (kernel/kthread.c:388)
> [ 4.207731][ T29] ? kthread (kernel/kthread.c:373 (discriminator 2))
> [ 4.207731][ T29] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.207731][ T29] ret_from_fork (arch/x86/kernel/process.c:153)
> [ 4.207731][ T29] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.207731][ T29] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> [    4.207731][   T29]  </TASK>
> [    4.207989][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> [ 4.209997][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> [    4.211188][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> [    4.212898][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> [    4.214398][   T18] Call Trace:
> [    4.214398][   T18]  <TASK>
> [ 4.214398][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> [ 4.214398][ T18] dump_stack (lib/dump_stack.c:124)
> [ 4.214398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> [ 4.214398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> [ 4.214398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> [ 4.214398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> [ 4.214398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> [ 4.214398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> [ 4.214398][ T18] kthread (kernel/kthread.c:388)
> [ 4.214398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> [ 4.214398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.214398][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> [ 4.214398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.214398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> [    4.214398][   T18]  </TASK>
> [    4.215399][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
> [ 4.217064][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61)
> [    4.217772][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
> [    4.219363][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> [    4.221064][   T18] Call Trace:
> [    4.221064][   T18]  <TASK>
> [ 4.221064][ T18] dump_stack_lvl (lib/dump_stack.c:116)
> [ 4.221064][ T18] dump_stack (lib/dump_stack.c:124)
> [ 4.221064][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15))
> [ 4.221064][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61)
> [ 4.221064][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1))
> [ 4.221064][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2))
> [ 4.221064][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1))
> [ 4.221064][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976)
> [ 4.221064][ T18] kthread (kernel/kthread.c:388)
> [ 4.221064][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2))
> [ 4.221064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.221064][ T18] ret_from_fork (arch/x86/kernel/process.c:153)
> [ 4.221064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341)
> [ 4.221064][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
> [    4.221064][   T18]  </TASK>
>
>
>
> The kernel config and materials to reproduce are available at:
> https://download.01.org/0day-ci/archive/20240507/202405072252.959dadc4-lkp@intel.com
>
>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
>
>


^ permalink raw reply related	[relevance 64%]

* [Bug 218696] DYTC frequency scaling deterioration and event spam
  @ 2024-05-08  4:20 64% ` bugzilla-daemon
  0 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-08  4:20 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218696

--- Comment #8 from Lucas Mülling (lmulling@proton.me) ---
Hi, Any update? Did they manage to reproduce it?

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* Re: [BUG REPORT] Deadlock when executing xfs/708 on xfs-linux's for-next
  2024-05-06  4:17 58% [BUG REPORT] Deadlock when executing xfs/708 on xfs-linux's for-next Chandan Babu R
@ 2024-05-07 22:20 64% ` Darrick J. Wong
  2024-05-08 16:09 64%   ` Darrick J. Wong
  0 siblings, 1 reply; 200+ results
From: Darrick J. Wong @ 2024-05-07 22:20 UTC (permalink / raw)
  To: Chandan Babu R; +Cc: Linux-XFS mailing list

On Mon, May 06, 2024 at 09:47:33AM +0530, Chandan Babu R wrote:
> Hi,
> 
> Executing xfs/708 on xfs-linux's current for-next (commit
> 25576c5420e61dea4c2b52942460f2221b8e46e8) causes the following hung task
> timeout to be printed,

Do you have any odd kasan/lockdep features enabled?

> [ 6328.415475] run fstests xfs/708 at 2024-05-04 15:35:29
> [ 6328.964720] XFS (loop16): EXPERIMENTAL online scrub feature in use. Use at your own risk!
> [ 6329.258411] XFS (loop5): Mounting V5 Filesystem e96086f0-a2f9-4424-a1d5-c75d53d823be
> [ 6329.265694] XFS (loop5): Ending clean mount
> [ 6329.267899] XFS (loop5): Quotacheck needed: Please wait.
> [ 6329.280141] XFS (loop5): Quotacheck: Done.
> [ 6329.291589] XFS (loop5): EXPERIMENTAL online scrub feature in use. Use at your own risk!
> [ 7865.474615] INFO: task xfs_io:143725 blocked for more than 122 seconds.
> [ 7865.476744]       Not tainted 6.9.0-rc4+ #1
> [ 7865.478109] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> [ 7865.479827] task:xfs_io          state:D stack:0     pid:143725 tgid:143725 ppid:117661 flags:0x00004006
> [ 7865.481685] Call Trace:
> [ 7865.482761]  <TASK>
> [ 7865.483801]  __schedule+0x69c/0x17a0
> [ 7865.485053]  ? __pfx___schedule+0x10/0x10
> [ 7865.486372]  ? _raw_spin_lock_irq+0x8b/0xe0
> [ 7865.487576]  schedule+0x74/0x1b0
> [ 7865.488749]  io_schedule+0xc4/0x140
> [ 7865.489943]  folio_wait_bit_common+0x254/0x650

Huh.  So we're evicting a shmem inode and it's stuck waiting for a
folio?

> [ 7865.491308]  ? __pfx_folio_wait_bit_common+0x10/0x10
> [ 7865.492596]  ? __pfx_find_get_entries+0x10/0x10
> [ 7865.493875]  ? __pfx_wake_page_function+0x10/0x10
> [ 7865.495222]  ? lru_add_drain_cpu+0x1dd/0x2e0
> [ 7865.496399]  shmem_undo_range+0x9d5/0xb40

Can you addr2line this to figure out what exactly shmem_undo_range was
trying to do?  Is memory tight here?

> [ 7865.497558]  ? __pfx_shmem_undo_range+0x10/0x10
> [ 7865.498757]  ? poison_slab_object+0x106/0x190
> [ 7865.500003]  ? kfree+0xfc/0x300
> [ 7865.501107]  ? xfs_scrub_metadata+0x84e/0xdf0 [xfs]
> [ 7865.502466]  ? xfs_ioc_scrub_metadata+0x9e/0x120 [xfs]
> [ 7865.503900]  ? wakeup_preempt+0x161/0x260
> [ 7865.505105]  ? _raw_spin_lock+0x85/0xe0
> [ 7865.506214]  ? __pfx__raw_spin_lock+0x10/0x10
> [ 7865.507334]  ? _raw_spin_lock+0x85/0xe0
> [ 7865.508410]  ? __pfx__raw_spin_lock+0x10/0x10
> [ 7865.509524]  ? __pfx__raw_spin_lock+0x10/0x10
> [ 7865.510638]  ? _raw_spin_lock+0x85/0xe0
> [ 7865.511677]  ? kasan_save_track+0x14/0x30
> [ 7865.512754]  ? kasan_save_free_info+0x3b/0x60
> [ 7865.513872]  ? poison_slab_object+0x106/0x190
> [ 7865.515084]  ? xfs_scrub_metadata+0x84e/0xdf0 [xfs]
> [ 7865.516326]  ? kfree+0xfc/0x300
> [ 7865.517302]  ? xfs_scrub_metadata+0x84e/0xdf0 [xfs]
> [ 7865.518578]  shmem_evict_inode+0x322/0x8f0
> [ 7865.519626]  ? __inode_wait_for_writeback+0xcf/0x1a0
> [ 7865.520801]  ? __pfx_shmem_evict_inode+0x10/0x10
> [ 7865.521951]  ? __pfx___inode_wait_for_writeback+0x10/0x10
> [ 7865.523136]  ? __pfx_wake_bit_function+0x10/0x10
> [ 7865.524207]  ? __pfx__raw_spin_lock+0x10/0x10
> [ 7865.525243]  ? __pfx__raw_spin_lock+0x10/0x10
> [ 7865.526236]  evict+0x24e/0x560
> [ 7865.527091]  __dentry_kill+0x17d/0x4d0
> [ 7865.528107]  dput+0x263/0x430
> [ 7865.529006]  __fput+0x2fc/0xaa0
> [ 7865.529927]  task_work_run+0x132/0x210
> [ 7865.530891]  ? __pfx_task_work_run+0x10/0x10
> [ 7865.531910]  get_signal+0x1a8/0x1910
> [ 7865.532917]  ? kasan_save_track+0x14/0x30
> [ 7865.533885]  ? kasan_save_free_info+0x3b/0x60
> [ 7865.534880]  ? __pfx_get_signal+0x10/0x10
> [ 7865.535793]  ? poison_slab_object+0xbe/0x190
> [ 7865.536784]  ? __pfx_ioctl_has_perm.constprop.0.isra.0+0x10/0x10
> [ 7865.537952]  arch_do_signal_or_restart+0x7b/0x2f0
> [ 7865.539014]  ? __pfx_arch_do_signal_or_restart+0x10/0x10
> [ 7865.540091]  ? restore_fpregs_from_fpstate+0x96/0x150
> [ 7865.541123]  ? __pfx_restore_fpregs_from_fpstate+0x10/0x10
> [ 7865.542209]  ? security_file_ioctl+0x51/0x90
> [ 7865.543153]  syscall_exit_to_user_mode+0x1c2/0x200
> [ 7865.544165]  do_syscall_64+0x72/0x170
> [ 7865.545033]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
> [ 7865.546095] RIP: 0033:0x7f4d18c3ec6b
> [ 7865.547033] RSP: 002b:00007ffe2056f878 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> [ 7865.548407] RAX: fffffffffffffffc RBX: 0000000000000001 RCX: 00007f4d18c3ec6b
> [ 7865.549757] RDX: 00007ffe2056f880 RSI: 00000000c040583c RDI: 0000000000000003
> [ 7865.551047] RBP: 000000001bd46c40 R08: 0000000000000002 R09: 0000000000000000
> [ 7865.552317] R10: 00007f4d18d9eac0 R11: 0000000000000246 R12: 0000000000000000
> [ 7865.553619] R13: 000000001bd46bc0 R14: 000000001bd46520 R15: 0000000000000004
> [ 7865.555005]  </TASK>
> 
> The following is the contents from fstests config file,
> 
> FSTYP=xfs
> TEST_DIR=/media/test
> SCRATCH_MNT=/media/scratch
> DUMP_CORRUPT_FS=1
> SOAK_DURATION=1320
> 
> TEST_DEV=/dev/loop16
> SCRATCH_DEV_POOL="/dev/loop5 /dev/loop6 /dev/loop7 /dev/loop8 /dev/loop9 /dev/loop10 /dev/loop11 /dev/loop12"

Huh.  Does the problem go away if the loop devices are directio=1 ?

--D

> MKFS_OPTIONS='-f -m reflink=1,rmapbt=1, -i sparse=1,'
> MOUNT_OPTIONS='-o usrquota,grpquota,prjquota'
> TEST_FS_MOUNT_OPTS="$TEST_FS_MOUNT_OPTS -o usrquota,grpquota,prjquota"
> USE_EXTERNAL=no
> LOGWRITES_DEV=/dev/loop15
> 
> -- 
> Chandan

^ permalink raw reply	[relevance 64%]

* Re: bug in may_dedupe_file allows to deduplicate files we aren't allowed to write to
  2024-05-05  6:57 59%     ` Amir Goldstein
@ 2024-05-07 22:14 61%       ` Darrick J. Wong
  0 siblings, 0 replies; 200+ results
From: Darrick J. Wong @ 2024-05-07 22:14 UTC (permalink / raw)
  To: Amir Goldstein
  Cc: Hugo Valtier, viro, linux-fsdevel, linux-kernel,
	Christian Brauner, Mark Fasheh

[add fsdevel to cc because why not?]

On Sun, May 05, 2024 at 09:57:23AM +0300, Amir Goldstein wrote:
> [change email for Mark Fashe]
> 
> On Sat, May 4, 2024 at 11:51 PM Hugo Valtier <hugo@valtier.fr> wrote:
> >
> > > My guess is that not many users try to dedupe other users' files,
> > > so this feature was never used and nobody complained.
> >
> > +1

So I guess the rest of the thread is here?

https://lore.kernel.org/lkml/CAF+WW=oKQak6ktiOH75pHSDe7YEkYD-1ditgcsWB=z+aRKJogQ@mail.gmail.com/

Which in turn is discussing the change made here?

https://lore.kernel.org/linux-fsdevel/20180511192651.21324-2-mfasheh@suse.de/

Based on the stated intent in the original patch ("process can write
inode") I do not think Mr. Valtier's patch is correct.
inode_permission(..., MAY_WRITE) returns 0 if the caller can access the
file in the given mode, or some negative errno if it cannot.  I don't
know why he sees the behavior he describes:

"I've tested that I can create an other readonly file as root and have
my unprivileged user deduplicate it however if I then make the file
other writeable I cannot anymore*."

Which test exactly is the one that results in a denial?  I don't think I
can reproduce this:

$ ls /opt/a /opt/b
-rw-r--r-- 1 root root 65536 May  7 15:09 /opt/a
-rw-rw-rw- 1 root root 65536 May  7 15:09 /opt/b
$ xfs_io -r -c 'dedupe /opt/b 4096 4096 4096' /opt/a
XFS_IOC_FILE_EXTENT_SAME: Operation not permitted

<confused>

> > Thx for the answer, I'm new to this to be sure I understood what you meant:
> > > You should add an xfstest for this and include a
> > > _fixed_by_kernel_commit and that will signal all the distros that
> > > care to backport the fix.
> >
> > So right now I wait for 6.9 to be released soon enough then
> > I then submit my patch which invert the condition.
> 
> There is no need to wait for the 6.9 release.
> Fixes can and should be posted at any time.
> 
> > Once that is merged in some tree (fsdevel I guess ?) I submit a patch for
> 
> Yes, this is a good candidate for Christian Brauner's vfs tree.
> Please CC the VFS maintainers (from MAINTAINERS file) and fsdevel.
> 
> A note about backporting to stable kernels.
> stable maintainer bots would do best effort to auto backport
> patches marked with a Fixes: commit to the supported LTS kernel,
> once the fix is merged to master,
> but if the fix does not apply cleanly, you will need to post the
> backport yourself (if you want the fix backported).
> 
> For your case, the fix will not apply cleanly before
> 4609e1f18e19 ("fs: port ->permission() to pass mnt_idmap")
> so at lease from 6.1.y and backwards, you will need to post
a> manual backports if you want the fix in LTS kernels or you can
> let the distros that find the new xfstest failure take care of that...
> 
> > xfstest which adds a regression test and has _fixed_by_kernel_commit
> > mentioning the commit just merged in the fsdevel linux tree.
> 
> Correct.
> You may take inspiration from existing dedupe tests
> [CC Darrick who wrote most of them]
> but I did not find any test coverage for may_dedupe_file() among them.
> 
> There is one test that is dealing with permissions that you can
> use as a template:
> 
> $ git grep -w _begin_fstest.*dedupe tests/generic/|grep perms
> tests/generic/674:_begin_fstest auto clone quick perms dedupe
> 
> Hint: use $XFS_IO_PROG -r to open the destination file read only.
> 
> Because there is currently no test coverage for read-only dest
> for the admin and user owned files, I suggest that you start with
> writing this test, making sure that your fix does not regress it and
> then add the other writable file case.

...and yes, the unusual permissions behavior of FIDEDUPERANGE should be
better tested.

--D

> Thanks,
> Amir.

^ permalink raw reply	[relevance 61%]

* [syzbot] [block?] WARNING: locking bug in mempool_init_node
@ 2024-05-07 21:53 46% syzbot
  0 siblings, 0 replies; 200+ results
From: syzbot @ 2024-05-07 21:53 UTC (permalink / raw)
  To: axboe, linux-block, linux-kernel, syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    3d25a941ea50 Merge tag 'block-6.9-20240503' of git://git.k..
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=16314b1f180000
kernel config:  https://syzkaller.appspot.com/x/.config?x=45d8db3acdc1ccc6
dashboard link: https://syzkaller.appspot.com/bug?extid=d24a87174027a66198b8
compiler:       gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
userspace arch: i386

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image (non-bootable): https://storage.googleapis.com/syzbot-assets/7bc7510fe41f/non_bootable_disk-3d25a941.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/49d9f26b0beb/vmlinux-3d25a941.xz
kernel image: https://storage.googleapis.com/syzbot-assets/d2c424c14fff/bzImage-3d25a941.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+d24a87174027a66198b8@syzkaller.appspotmail.com

------------[ cut here ]------------
Looking for class "c->lock" with key __key.0, but found a different class "&c->lock" with the same key
WARNING: CPU: 2 PID: 24525 at kernel/locking/lockdep.c:932 look_up_lock_class+0x133/0x140 kernel/locking/lockdep.c:932
Modules linked in:
CPU: 2 PID: 24525 Comm: syz-executor.0 Not tainted 6.9.0-rc6-syzkaller-00227-g3d25a941ea50 #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
RIP: 0010:look_up_lock_class+0x133/0x140 kernel/locking/lockdep.c:932
Code: c7 c7 40 b7 0c 8b e8 5c 55 7e f6 90 0f 0b 90 90 90 31 db eb be c6 05 5a 61 b4 04 01 90 48 c7 c7 60 ba 0c 8b e8 3e 55 7e f6 90 <0f> 0b 90 90 e9 62 ff ff ff 0f 1f 40 00 90 90 90 90 90 90 90 90 90
RSP: 0018:ffffc90002b36eb8 EFLAGS: 00010082
RAX: 0000000000000000 RBX: ffffffff93d6d800 RCX: ffffc90034a01000
RDX: 0000000000040000 RSI: ffffffff81513a06 RDI: 0000000000000001
RBP: ffffffff94661890 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: 000000006b6f6f4c R12: ffffe8ffad4d9550
R13: 0000000000000000 R14: 0000000000000000 R15: ffffffff94649aa0
FS:  0000000000000000(0000) GS:ffff88802c400000(0063) knlGS:00000000f5ebab40
CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
CR2: 00000000f7452054 CR3: 000000004c5e6000 CR4: 0000000000350ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 register_lock_class+0xb1/0x1230 kernel/locking/lockdep.c:1284
 __lock_acquire+0x111/0x3b30 kernel/locking/lockdep.c:5014
 lock_acquire kernel/locking/lockdep.c:5754 [inline]
 lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719
 local_lock_acquire include/linux/local_lock_internal.h:29 [inline]
 ___slab_alloc+0x789/0x16d0 mm/slub.c:3569
 __slab_alloc.constprop.0+0x56/0xb0 mm/slub.c:3610
 __slab_alloc_node mm/slub.c:3663 [inline]
 slab_alloc_node mm/slub.c:3835 [inline]
 kmem_cache_alloc+0x2e9/0x320 mm/slub.c:3852
 mempool_init_node+0x31e/0x760 mm/mempool.c:217
 mempool_init+0x3a/0x50 mm/mempool.c:246
 mempool_init_slab_pool include/linux/mempool.h:68 [inline]
 bioset_init+0x324/0x7a0 block/bio.c:1752
 bch2_fs_fs_io_direct_init+0x58/0x90 fs/bcachefs/fs-io-direct.c:679
 bch2_fs_alloc+0x1bdf/0x25c0 fs/bcachefs/super.c:938
 bch2_fs_open+0x713/0x10f0 fs/bcachefs/super.c:2081
 bch2_mount+0xd41/0x1090 fs/bcachefs/fs.c:1903
 legacy_get_tree+0x109/0x220 fs/fs_context.c:662
 vfs_get_tree+0x8f/0x380 fs/super.c:1779
 do_new_mount fs/namespace.c:3352 [inline]
 path_mount+0x6e1/0x1f10 fs/namespace.c:3679
 do_mount fs/namespace.c:3692 [inline]
 __do_sys_mount fs/namespace.c:3898 [inline]
 __se_sys_mount fs/namespace.c:3875 [inline]
 __ia32_sys_mount+0x295/0x320 fs/namespace.c:3875
 do_syscall_32_irqs_on arch/x86/entry/common.c:165 [inline]
 __do_fast_syscall_32+0x75/0x120 arch/x86/entry/common.c:386
 do_fast_syscall_32+0x32/0x80 arch/x86/entry/common.c:411
 entry_SYSENTER_compat_after_hwframe+0x84/0x8e
RIP: 0023:0xf72c8579
Code: b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 8d b4 26 00 00 00 00 8d b4 26 00 00 00 00
RSP: 002b:00000000f5eba400 EFLAGS: 00000292 ORIG_RAX: 0000000000000015
RAX: ffffffffffffffda RBX: 00000000f5eba460 RCX: 0000000020011a40
RDX: 0000000020011a00 RSI: 0000000001200014 RDI: 00000000f5eba4a0
RBP: 00000000f5eba460 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000296 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
 </TASK>
----------------
Code disassembly (best guess), 2 bytes skipped:
   0:	10 06                	adc    %al,(%rsi)
   2:	03 74 b4 01          	add    0x1(%rsp,%rsi,4),%esi
   6:	10 07                	adc    %al,(%rdi)
   8:	03 74 b0 01          	add    0x1(%rax,%rsi,4),%esi
   c:	10 08                	adc    %cl,(%rax)
   e:	03 74 d8 01          	add    0x1(%rax,%rbx,8),%esi
  1e:	00 51 52             	add    %dl,0x52(%rcx)
  21:	55                   	push   %rbp
  22:	89 e5                	mov    %esp,%ebp
  24:	0f 34                	sysenter
  26:	cd 80                	int    $0x80
* 28:	5d                   	pop    %rbp <-- trapping instruction
  29:	5a                   	pop    %rdx
  2a:	59                   	pop    %rcx
  2b:	c3                   	ret
  2c:	90                   	nop
  2d:	90                   	nop
  2e:	90                   	nop
  2f:	90                   	nop
  30:	8d b4 26 00 00 00 00 	lea    0x0(%rsi,%riz,1),%esi
  37:	8d b4 26 00 00 00 00 	lea    0x0(%rsi,%riz,1),%esi


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

^ permalink raw reply	[relevance 46%]

* [BUG selftests/pidfd] pidfd_setns_test HANG
@ 2024-05-07 20:25 37% Mirsad Todorovac
  0 siblings, 0 replies; 200+ results
From: Mirsad Todorovac @ 2024-05-07 20:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: Shuah Khan, linux-kselftest, Christian Brauner

[-- Attachment #1: Type: text/plain, Size: 11131 bytes --]

Hi, all,

With the latest 6.9-rc7 torvalds tree kernel, the "make kselftest"
always hangs in the following
./pidfd_setns_test.

Symptoms are that all ./pidfd_netne_test processes end up in pause()
syscalls, with
nothing to wake them up.

Please find the config attached. All the options from the
selftests/pidfdconfig are on (verified):

CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_CGROUPS=y
CONFIG_CHECKPOINT_RESTORE=y

root     2090101    5211  0 21:53 pts/1    00:00:00 make
OUTPUT=/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/pidfd
-C pidfd run_tests
SRC_PATH=/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests
OB
root     2090102 2090101  0 21:53 pts/1    00:00:00 /bin/sh -c
BASE_DIR="/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests";
. /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/kselftest/runner.sh;
if
root     2133026 2090102  0 21:54 pts/1    00:00:00 /bin/sh -c
BASE_DIR="/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests";
. /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/kselftest/runner.sh;
if
root     2133027 2133026  0 21:54 pts/1    00:00:00 /bin/sh -c
BASE_DIR="/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests";
. /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/kselftest/runner.sh;
if
root     2133028 2133027  0 21:54 pts/1    00:00:00 /bin/sh -c
BASE_DIR="/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests";
. /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/kselftest/runner.sh;
if
root     2133031 2133028  0 21:54 pts/1    00:00:00 /bin/sh -c
BASE_DIR="/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests";
. /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/kselftest/runner.sh;
if
root     2133033 2133031  0 21:54 pts/1    00:00:00 perl
/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/kselftest/prefix.pl
root     2133050    2887  0 21:54 pts/1    00:00:00 ./pidfd_setns_test
root     2133051    2887  0 21:54 pts/1    00:00:00 ./pidfd_setns_test
root     2133056    2887  0 21:54 pts/1    00:00:00 ./pidfd_setns_test
root     2133057    2887  0 21:54 pts/1    00:00:00 ./pidfd_setns_test
root     2133062    2887  0 21:54 pts/1    00:00:00 ./pidfd_setns_test
root     2133063    2887  0 21:54 pts/1    00:00:00 ./pidfd_setns_test
root     2133068    2887  0 21:54 pts/1    00:00:00 ./pidfd_setns_test
root     2133069    2887  0 21:54 pts/1    00:00:00 ./pidfd_setns_test
.
.
.
marvin@defiant:~/linux/kernel/linux_torvalds$ sudo bash
[sudo] password for marvin:
root@defiant:/home/marvin/linux/kernel/linux_torvalds# strace -p 2133050
strace: Process 2133050 attached
pause(^Cstrace: Process 2133050 detached
 <detached ...>

root@defiant:/home/marvin/linux/kernel/linux_torvalds# strace -p 2133051
strace: Process 2133051 attached
pause(^Cstrace: Process 2133051 detached
 <detached ...>

root@defiant:/home/marvin/linux/kernel/linux_torvalds# strace -p 2133056
strace: Process 2133056 attached
pause(^Cstrace: Process 2133056 detached
 <detached ...>

root@defiant:/home/marvin/linux/kernel/linux_torvalds# strace -p 2133057
strace: Process 2133057 attached
pause(^Cstrace: Process 2133057 detached
 <detached ...>

root@defiant:/home/marvin/linux/kernel/linux_torvalds# strace -p 2133062
strace: Process 2133062 attached
pause(^Cstrace: Process 2133062 detached
 <detached ...>

root@defiant:/home/marvin/linux/kernel/linux_torvalds# strace -p 2133063
strace: Process 2133063 attached
pause(^Cstrace: Process 2133063 detached
 <detached ...>

root@defiant:/home/marvin/linux/kernel/linux_torvalds#
root@defiant:/home/marvin/linux/kernel/linux_torvalds#
root@defiant:/home/marvin/linux/kernel/linux_torvalds# strace -p 2133068
strace: Process 2133068 attached
pause(^Cstrace: Process 2133068 detached
 <detached ...>

root@defiant:/home/marvin/linux/kernel/linux_torvalds# strace -p 2133069
strace: Process 2133069 attached
pause(^Cstrace: Process 2133069 detached
 <detached ...>

root@defiant:/home/marvin/linux/kernel/linux_torvalds#

The output log is:

# selftests: pidfd: pidfd_setns_test
# TAP version 13
# 1..7
# # Starting 7 tests from 2 test cases.
# #  RUN           global.setns_einval ...
# #            OK  global.setns_einval
# ok 1 global.setns_einval
# #  RUN           current_nsset.invalid_flags ...
# # pidfd_setns_test.c:161:invalid_flags:Expected
self->child_pid_exited (0) > 0 (0)
# #            OK  current_nsset.invalid_flags
# ok 2 current_nsset.invalid_flags
# #  RUN           current_nsset.pidfd_exited_child ...
# # pidfd_setns_test.c:161:pidfd_exited_child:Expected
self->child_pid_exited (0) > 0 (0)
# #            OK  current_nsset.pidfd_exited_child
# ok 3 current_nsset.pidfd_exited_child
# #  RUN           current_nsset.pidfd_incremental_setns ...
# # pidfd_setns_test.c:161:pidfd_incremental_setns:Expected
self->child_pid_exited (0) > 0 (0)
# # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to
correctly setns to user namespace of 2133050 via pidfd 20
# # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to
correctly setns to mnt namespace of 2133050 via pidfd 20
# # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to
correctly setns to pid namespace of 2133050 via pidfd 20
# # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to
correctly setns to uts namespace of 2133050 via pidfd 20
# # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to
correctly setns to ipc namespace of 2133050 via pidfd 20
# # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to
correctly setns to net namespace of 2133050 via pidfd 20
# # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to
correctly setns to cgroup namespace of 2133050 via pidfd 20
# # pidfd_setns_test.c:408:pidfd_incremental_setns:Managed to
correctly setns to pid_for_children namespace of 2133050 via pidfd 20
# # pidfd_setns_test.c:391:pidfd_incremental_setns:Expected
setns(self->child_pidfd1, info->flag) (-1) == 0 (0)
# # pidfd_setns_test.c:392:pidfd_incremental_setns:Too many users -
Failed to setns to time namespace of 2133050 via pidfd 20
# # pidfd_incremental_setns: Test terminated by assertion
# #          FAIL  current_nsset.pidfd_incremental_setns
# not ok 4 current_nsset.pidfd_incremental_setns
# #  RUN           current_nsset.nsfd_incremental_setns ...
# # pidfd_setns_test.c:161:nsfd_incremental_setns:Expected
self->child_pid_exited (0) > 0 (0)
# # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly
setns to user namespace of 2133056 via nsfd 19
# # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly
setns to mnt namespace of 2133056 via nsfd 24
# # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly
setns to pid namespace of 2133056 via nsfd 27
# # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly
setns to uts namespace of 2133056 via nsfd 30
# # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly
setns to ipc namespace of 2133056 via nsfd 33
# # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly
setns to net namespace of 2133056 via nsfd 36
# # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly
setns to cgroup namespace of 2133056 via nsfd 39
# # pidfd_setns_test.c:444:nsfd_incremental_setns:Managed to correctly
setns to pid_for_children namespace of 2133056 via nsfd 42
# # pidfd_setns_test.c:427:nsfd_incremental_setns:Expected
setns(self->child_nsfds1[i], info->flag) (-1) == 0 (0)
# # pidfd_setns_test.c:428:nsfd_incremental_setns:Too many users -
Failed to setns to time namespace of 2133056 via nsfd 45
# # nsfd_incremental_setns: Test terminated by assertion
# #          FAIL  current_nsset.nsfd_incremental_setns
# not ok 5 current_nsset.nsfd_incremental_setns
# #  RUN           current_nsset.pidfd_one_shot_setns ...
# # pidfd_setns_test.c:161:pidfd_one_shot_setns:Expected
self->child_pid_exited (0) > 0 (0)
# # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding user namespace
of 2133062 to list of namespaces to attach to
# # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding mnt namespace
of 2133062 to list of namespaces to attach to
# # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding pid namespace
of 2133062 to list of namespaces to attach to
# # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding uts namespace
of 2133062 to list of namespaces to attach to
# # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding ipc namespace
of 2133062 to list of namespaces to attach to
# # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding net namespace
of 2133062 to list of namespaces to attach to
# # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding cgroup
namespace of 2133062 to list of namespaces to attach to
# # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding
pid_for_children namespace of 2133062 to list of namespaces to attach
to
# # pidfd_setns_test.c:462:pidfd_one_shot_setns:Adding time namespace
of 2133062 to list of namespaces to attach to
# # pidfd_setns_test.c:466:pidfd_one_shot_setns:Expected
setns(self->child_pidfd1, flags) (-1) == 0 (0)
# # pidfd_setns_test.c:467:pidfd_one_shot_setns:Too many users -
Failed to setns to namespaces of 2133062
# # pidfd_one_shot_setns: Test terminated by assertion
# #          FAIL  current_nsset.pidfd_one_shot_setns
# not ok 6 current_nsset.pidfd_one_shot_setns
# #  RUN           current_nsset.no_foul_play ...
# # pidfd_setns_test.c:161:no_foul_play:Expected
self->child_pid_exited (0) > 0 (0)
# # pidfd_setns_test.c:506:no_foul_play:Adding user namespace of
2133068 to list of namespaces to attach to
# # pidfd_setns_test.c:506:no_foul_play:Adding mnt namespace of
2133068 to list of namespaces to attach to
# # pidfd_setns_test.c:506:no_foul_play:Adding pid namespace of
2133068 to list of namespaces to attach to
# # pidfd_setns_test.c:506:no_foul_play:Adding uts namespace of
2133068 to list of namespaces to attach to
# # pidfd_setns_test.c:506:no_foul_play:Adding ipc namespace of
2133068 to list of namespaces to attach to
# # pidfd_setns_test.c:506:no_foul_play:Adding net namespace of
2133068 to list of namespaces to attach to
# # pidfd_setns_test.c:506:no_foul_play:Adding cgroup namespace of
2133068 to list of namespaces to attach to
# # pidfd_setns_test.c:506:no_foul_play:Adding time namespace of
2133068 to list of namespaces to attach to
# # pidfd_setns_test.c:510:no_foul_play:Expected
setns(self->child_pidfd1, flags) (-1) == 0 (0)
# # pidfd_setns_test.c:511:no_foul_play:Too many users - Failed to
setns to namespaces of 2133068 vid pidfd 20
# # no_foul_play: Test terminated by assertion
# #          FAIL  current_nsset.no_foul_play
# not ok 7 current_nsset.no_foul_play
# # FAILED: 3 / 7 tests passed.
# # Totals: pass:3 fail:4 xfail:0 xpass:0 skip:0 error:0

Thanks for your time and patience for reviewing this BUG report.

Best regards,
Mirsad Todorovac

P.S.

I have changed the email address because of the uncertainty whether the employer
would continue to support my work on the Linux kernel testing as the
part of my work
research.

Thank you.

[-- Attachment #2: config-6.9.0-rc7.gz --]
[-- Type: application/gzip, Size: 68892 bytes --]

^ permalink raw reply	[relevance 37%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
                     ` (15 preceding siblings ...)
  2024-05-07 18:57 64% ` bugzilla-daemon
@ 2024-05-07 19:01 64% ` bugzilla-daemon
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07 19:01 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

Mario Limonciello (AMD) (mario.limonciello@amd.com) changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|linux-pm@vger.kernel.org    |mario.limonciello@amd.com

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
                     ` (14 preceding siblings ...)
  2024-05-07 18:50 64% ` bugzilla-daemon
@ 2024-05-07 18:57 64% ` bugzilla-daemon
  2024-05-07 19:01 64% ` bugzilla-daemon
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07 18:57 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #34 from Mario Limonciello (AMD) (mario.limonciello@amd.com) ---
Great! It should apply equally to all modes.  If there is a regression with any
other mode it should be a different root cause.

If you feel comfortable doing so please add a "Tested-by" tag publicly on the
link I posted, instructions at bottom of the page.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
                     ` (13 preceding siblings ...)
  2024-05-07 17:57 64% ` bugzilla-daemon
@ 2024-05-07 18:50 64% ` bugzilla-daemon
  2024-05-07 18:57 64% ` bugzilla-daemon
  2024-05-07 19:01 64% ` bugzilla-daemon
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07 18:50 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #33 from Gaha (gahabana@gmail.com) ---
hi Mario - FANTASTIC job - Thank you :) !
Applied to -rc7 - recompiled - all good.
When running single core tasks on my Ryzen 7840HS single core does go to almost
5.1GHz as it used to... Geekbench scores are great.
I tried only with 'amd_pstate=active' as kernel parameter - should i test with
'guided' and/or 'passive' , or it is a waste of time as this fix addressed all
scenarios ?

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
                     ` (12 preceding siblings ...)
  2024-05-07 17:48 64% ` bugzilla-daemon
@ 2024-05-07 17:57 64% ` bugzilla-daemon
  2024-05-07 18:50 64% ` bugzilla-daemon
                   ` (2 subsequent siblings)
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07 17:57 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #32 from Mario Limonciello (AMD) (mario.limonciello@amd.com) ---
I've pulled out just the relevant fix to it's own patch here:

https://lore.kernel.org/linux-pm/20240507174810.46709-1-mario.limonciello@amd.com/T/#u

I applied that to 6.9-rc7 and tested it.  Can you see if that helps you?

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
                     ` (11 preceding siblings ...)
  2024-05-07 13:24 64% ` bugzilla-daemon
@ 2024-05-07 17:48 64% ` bugzilla-daemon
  2024-05-07 17:57 64% ` bugzilla-daemon
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07 17:48 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #31 from Gaha (gahabana@gmail.com) ---
btw i did clone both linux-next as well as linux-pm and could not apply those
patches to either of them :(

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* Re: mtd: nand: raw: Possible bug in nand_onfi_detect()?
  @ 2024-05-07 16:08 64%   ` Miquel Raynal
  0 siblings, 0 replies; 200+ results
From: Miquel Raynal @ 2024-05-07 16:08 UTC (permalink / raw)
  To: Alexander Dahl
  Cc: linux-mtd, Richard Weinberger, Vignesh Raghavendra, linux-kernel

Hello,

ada@thorsis.com wrote on Wed, 6 Mar 2024 15:36:04 +0100:

> Hello everyone,
> 
> I think I found a bug in nand_onfi_detect() which was introduced with
> commit c27842e7e11f ("mtd: rawnand: onfi: Adapt the parameter page
> read to constraint controllers") back in 2020.
> 
> Background on how I found this: I'm currently struggling getting raw
> nand flash access to fly with an at91 sam9x60 SoC and a S34ML02G1
> Spansion SLC raw NAND flash on a custom board.  The setup is
> comparable to the sam9x60 curiosity board and can be reproduced with
> that one.
> 
> NAND flash on sam9x60 curiosity board works fine with what is in
> mainline Linux kernel.  However after removing the line 'rb-gpios =
> <&pioD 5 GPIO_ACTIVE_HIGH>;' from at91-sam9x60_curiosity.dts all data
> read from the flash appears to be zeros only.  (I did not add that
> line to the dts of my custom board first, this is how I stumbled over
> this.)
> 
> I have no explanation for that behaviour, it should work without R/B#
> by reading the status register, maybe we investigate that
> in depth later.  However those all zeros data reads happens when
> reading the ONFI param page as well es data read from OOB/spare area
> later and I bet it's the same with usual data.
> 
> This read error reveals a bug in nand_onfi_detect().  After setting
> up some things there's this for loop:
> 
>     for (i = 0; i < ONFI_PARAM_PAGES; i++) {
> 
> For i = 0 nand_read_param_page_op() is called and in my case all zeros
> are returned and thus the CRC calculated does not match the all zeros
> CRC read.  So the usual break on successful reading the first page is
> skipped and for reading the second page nand_change_read_column_op()
> is called.  I think that one always fails on this line:
> 
>     if (offset_in_page + len > mtd->writesize + mtd->oobsize) {
> 
> Those variables contain the following values:
> 
>     offset_in_page: 256
>     len: 256
>     mtd->writesize: 0
>     mtd->oobsize: 0
> 
> The condition is true and nand_change_read_column_op() returns with
> -EINVAL, because mtd->writesize and mtd->oobsize are not set yet in
> that code path.  Those are probably initialized later, maybe with
> parameters read from that ONFI param page?
> 
> Returning with error from nand_change_read_column_op() leads to
> jumping out of nand_onfi_detect() early, and no ONFI param page is
> evaluated at all, although the second or third page could be intact.
> 
> I guess this would also fail with any other reason for not matching
> CRCs in the first page, but I have not faulty NAND flash chip to
> confirm that.

Sorry for the time it took on my side.

Here is a link to another similar report:
https://lore.kernel.org/linux-mtd/DM6PR05MB4506554457CF95191A670BDEF7062@DM6PR05MB4506.namprd05.prod.outlook.com/
And here is a link to the series attempting to fix this:
https://lore.kernel.org/linux-mtd/20240507160546.130255-1-miquel.raynal@bootlin.com/T/#t

Thanks,
Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[relevance 64%]

* Re: mtd: nand: raw: Possible bug in nand_onfi_detect()?
@ 2024-05-07 16:08 64%   ` Miquel Raynal
  0 siblings, 0 replies; 200+ results
From: Miquel Raynal @ 2024-05-07 16:08 UTC (permalink / raw)
  To: Alexander Dahl
  Cc: linux-mtd, Richard Weinberger, Vignesh Raghavendra, linux-kernel

Hello,

ada@thorsis.com wrote on Wed, 6 Mar 2024 15:36:04 +0100:

> Hello everyone,
> 
> I think I found a bug in nand_onfi_detect() which was introduced with
> commit c27842e7e11f ("mtd: rawnand: onfi: Adapt the parameter page
> read to constraint controllers") back in 2020.
> 
> Background on how I found this: I'm currently struggling getting raw
> nand flash access to fly with an at91 sam9x60 SoC and a S34ML02G1
> Spansion SLC raw NAND flash on a custom board.  The setup is
> comparable to the sam9x60 curiosity board and can be reproduced with
> that one.
> 
> NAND flash on sam9x60 curiosity board works fine with what is in
> mainline Linux kernel.  However after removing the line 'rb-gpios =
> <&pioD 5 GPIO_ACTIVE_HIGH>;' from at91-sam9x60_curiosity.dts all data
> read from the flash appears to be zeros only.  (I did not add that
> line to the dts of my custom board first, this is how I stumbled over
> this.)
> 
> I have no explanation for that behaviour, it should work without R/B#
> by reading the status register, maybe we investigate that
> in depth later.  However those all zeros data reads happens when
> reading the ONFI param page as well es data read from OOB/spare area
> later and I bet it's the same with usual data.
> 
> This read error reveals a bug in nand_onfi_detect().  After setting
> up some things there's this for loop:
> 
>     for (i = 0; i < ONFI_PARAM_PAGES; i++) {
> 
> For i = 0 nand_read_param_page_op() is called and in my case all zeros
> are returned and thus the CRC calculated does not match the all zeros
> CRC read.  So the usual break on successful reading the first page is
> skipped and for reading the second page nand_change_read_column_op()
> is called.  I think that one always fails on this line:
> 
>     if (offset_in_page + len > mtd->writesize + mtd->oobsize) {
> 
> Those variables contain the following values:
> 
>     offset_in_page: 256
>     len: 256
>     mtd->writesize: 0
>     mtd->oobsize: 0
> 
> The condition is true and nand_change_read_column_op() returns with
> -EINVAL, because mtd->writesize and mtd->oobsize are not set yet in
> that code path.  Those are probably initialized later, maybe with
> parameters read from that ONFI param page?
> 
> Returning with error from nand_change_read_column_op() leads to
> jumping out of nand_onfi_detect() early, and no ONFI param page is
> evaluated at all, although the second or third page could be intact.
> 
> I guess this would also fail with any other reason for not matching
> CRCs in the first page, but I have not faulty NAND flash chip to
> confirm that.

Sorry for the time it took on my side.

Here is a link to another similar report:
https://lore.kernel.org/linux-mtd/DM6PR05MB4506554457CF95191A670BDEF7062@DM6PR05MB4506.namprd05.prod.outlook.com/
And here is a link to the series attempting to fix this:
https://lore.kernel.org/linux-mtd/20240507160546.130255-1-miquel.raynal@bootlin.com/T/#t

Thanks,
Miquèl

^ permalink raw reply	[relevance 64%]

* Re: [PATCH] memcg: Fix data-race KCSAN bug in rstats
  @ 2024-05-07 16:03 64%   ` Breno Leitao
  0 siblings, 0 replies; 200+ results
From: Breno Leitao @ 2024-05-07 16:03 UTC (permalink / raw)
  To: Michal Hocko
  Cc: Johannes Weiner, Roman Gushchin, Shakeel Butt, Muchun Song,
	Andrew Morton, leit,
	open list:CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG),
	open list:CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG),
	open list

Hello Michal,

On Fri, May 03, 2024 at 01:27:41PM +0200, Michal Hocko wrote:
> On Wed 24-04-24 05:59:39, Breno Leitao wrote:
> > The race occurs because two code paths access the same "stats_updates"
> > location. Although "stats_updates" is a per-CPU variable, it is remotely
> > accessed by another CPU at
> > cgroup_rstat_flush_locked()->mem_cgroup_css_rstat_flush(), leading to
> > the data race mentioned.
> 
> It is worth mentioning that the race is harmless.

Are you suggesting that the race consistently avoids producing corrupt
data, or even if corruption occurs, it's inconsequential because it only
affects statistics?

If there's no data corruption, does it incur any performance drawbacks?

Thanks!

^ permalink raw reply	[relevance 64%]

* Re: [BUG][v6.9-rc6] Deadlock with: Revert "drm/qxl: simplify qxl_fence_wait"
  2024-05-07 10:21 59%           ` Gerd Hoffmann
@ 2024-05-07 15:46 64%             ` Timo Lindfors
  2024-05-08  9:56 64%               ` Gerd Hoffmann
  0 siblings, 1 reply; 200+ results
From: Timo Lindfors @ 2024-05-07 15:46 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: Timo Lindfors, David Airlie, Linus Torvalds, Maxime Ripard,
	Steven Rostedt, LKML, Alex Constantino, Maarten Lankhorst,
	Thomas Zimmermann, Daniel Vetter

On Tue, 7 May 2024, Gerd Hoffmann wrote:
> Worth trying: use vnc.  The qemu vnc server will skip updates when the
> network pipeline is full.  That throttles the frame rate, but also
> reduces the display update latency.

With Debian 12 it seems that the virtio + vnc + firefox combination 
results in a black firefox window. Adding MOZ_ENABLE_WAYLAND=1 makes
the browser visible but I still see the constant redraw behavior when scrolling.

The qxl + spice + firefox combination scrolls smoothly even if I force 
firefox to use wayland. I suppose I could write a more synthetic test if
it would be useful? With systemtap I can trace what happens during a single
scroll event.

> In general the trend seems to be to move to in-guest remote desktop
> solutions.  Do NOT make VMs a special case with a special solution,
> instead handle VMs like bare metal.  Commercial solutions exist for a
> while, some of them are doing hardware-assisted video encoding to send
> the display as video stream to the remote end.  gnome+rdp is a new
> player here, clearly worth a try.

Yes this makes sense. I'm definitely not trying to stick to a particular 
technology but instead try to find the best FOSS solution for the use case 
of hosting linux desktops on a server.

-Timo

^ permalink raw reply	[relevance 64%]

* [bug report] drm/xe: Introduce a new DRM driver for Intel GPUs
@ 2024-05-07 14:53 61% Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-07 14:53 UTC (permalink / raw)
  To: matthew.brost; +Cc: intel-xe

Hello Matthew Brost,

Commit dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel
GPUs") from Mar 30, 2023 (linux-next), leads to the following Smatch
static checker warning:

	drivers/gpu/drm/xe/xe_hw_engine.c:611 read_media_fuses()
	warn: was expecting a 64 bit value instead of '((((1))) << i)'

drivers/gpu/drm/xe/xe_hw_engine.c
    582 static void read_media_fuses(struct xe_gt *gt)
    583 {
    584         struct xe_device *xe = gt_to_xe(gt);
    585         u32 media_fuse;
    586         u16 vdbox_mask;
    587         u16 vebox_mask;
    588         int i, j;
    589 
    590         xe_force_wake_assert_held(gt_to_fw(gt), XE_FW_GT);
    591 
    592         media_fuse = xe_mmio_read32(gt, GT_VEBOX_VDBOX_DISABLE);
    593 
    594         /*
    595          * Pre-Xe_HP platforms had register bits representing absent engines,
    596          * whereas Xe_HP and beyond have bits representing present engines.
    597          * Invert the polarity on old platforms so that we can use common
    598          * handling below.
    599          */
    600         if (GRAPHICS_VERx100(xe) < 1250)
    601                 media_fuse = ~media_fuse;
    602 
    603         vdbox_mask = REG_FIELD_GET(GT_VDBOX_DISABLE_MASK, media_fuse);
    604         vebox_mask = REG_FIELD_GET(GT_VEBOX_DISABLE_MASK, media_fuse);
    605 
    606         for (i = XE_HW_ENGINE_VCS0, j = 0; i <= XE_HW_ENGINE_VCS7; ++i, ++j) {
    607                 if (!(gt->info.engine_mask & BIT(i)))
    608                         continue;
    609 
    610                 if (!(BIT(j) & vdbox_mask)) {
--> 611                         gt->info.engine_mask &= ~BIT(i);

This would only be an issue on 32bit builds...  The ->engine_mask is a
u64 but BIT() is unsigned long (32 bit in this case).  So this clears
out the top 32 bits.

I think that we don't actually need 64 flags, so we could just make
gt->info.engine_mask a u32.

    612                         drm_info(&xe->drm, "vcs%u fused off\n", j);
    613                 }
    614         }
    615 
    616         for (i = XE_HW_ENGINE_VECS0, j = 0; i <= XE_HW_ENGINE_VECS3; ++i, ++j) {
    617                 if (!(gt->info.engine_mask & BIT(i)))
    618                         continue;
    619 
    620                 if (!(BIT(j) & vebox_mask)) {
    621                         gt->info.engine_mask &= ~BIT(i);
    622                         drm_info(&xe->drm, "vecs%u fused off\n", j);
    623                 }
    624         }
    625 }

regards,
dan carpenter

^ permalink raw reply	[relevance 61%]

* [linux-next:master] [rcu/nocb]  4c66bc7cac: BUG:using_smp_processor_id()in_preemptible
@ 2024-05-07 14:27 31% kernel test robot
  2024-05-08  4:55 64% ` Z qiang
  0 siblings, 1 reply; 200+ results
From: kernel test robot @ 2024-05-07 14:27 UTC (permalink / raw)
  To: Frederic Weisbecker
  Cc: oe-lkp, lkp, Linux Memory Management List, Paul E. McKenney, rcu,
	oliver.sang



Hello,

kernel test robot noticed "BUG:using_smp_processor_id()in_preemptible" on:

commit: 4c66bc7cacc08e8abcf5049d2b90bfd800904336 ("rcu/nocb: Use kthread parking instead of ad-hoc implementation")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master

[test failed on linux-next/master 9221b2819b8a4196eecf5476d66201be60fbcf29]

in testcase: boot

compiler: gcc-13
test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G

(please refer to attached dmesg/kmsg for entire log/backtrace)


+--------------------------------------------------------------+------------+------------+
|                                                              | 6deb20902f | 4c66bc7cac |
+--------------------------------------------------------------+------------+------------+
| BUG:using_smp_processor_id()in_preemptible                   | 0          | 12         |
+--------------------------------------------------------------+------------+------------+


If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <oliver.sang@intel.com>
| Closes: https://lore.kernel.org/oe-lkp/202405072252.959dadc4-lkp@intel.com


[    4.099901][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
[ 4.101313][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61) 
[    4.102493][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
[    4.104098][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[    4.104398][   T18] Call Trace:
[    4.104398][   T18]  <TASK>
[ 4.104398][ T18] dump_stack_lvl (lib/dump_stack.c:116) 
[ 4.104398][ T18] dump_stack (lib/dump_stack.c:124) 
[ 4.104398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15)) 
[ 4.104398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61) 
[ 4.104398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1)) 
[ 4.104398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2)) 
[ 4.104398][ T18] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67) 
[ 4.104398][ T18] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4421 (discriminator 16)) 
[ 4.104398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1)) 
[ 4.104398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976) 
[ 4.104398][ T18] kthread (kernel/kthread.c:388) 
[ 4.104398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2)) 
[ 4.104398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.104398][ T18] ret_from_fork (arch/x86/kernel/process.c:153) 
[ 4.104398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.104398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256) 
[    4.104398][   T18]  </TASK>
[    4.106221][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
[ 4.107796][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61) 
[    4.108547][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
[    4.109667][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[    4.111064][   T18] Call Trace:
[    4.111064][   T18]  <TASK>
[ 4.111064][ T18] dump_stack_lvl (lib/dump_stack.c:116) 
[ 4.111064][ T18] dump_stack (lib/dump_stack.c:124) 
[ 4.111064][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15)) 
[ 4.111064][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61) 
[ 4.111064][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1)) 
[ 4.111064][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2)) 
[ 4.111064][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1)) 
[ 4.111064][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976) 
[ 4.111064][ T18] kthread (kernel/kthread.c:388) 
[ 4.111064][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2)) 
[ 4.111064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.111064][ T18] ret_from_fork (arch/x86/kernel/process.c:153) 
[ 4.111064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.111064][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256) 
[    4.111064][   T18]  </TASK>
[    4.132677][    T1] NMI watchdog: Perf NMI watchdog permanently disabled
[    4.135331][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
[ 4.137454][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61) 
[    4.137849][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
[    4.139414][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[    4.141064][   T18] Call Trace:
[    4.141064][   T18]  <TASK>
[ 4.141064][ T18] dump_stack_lvl (lib/dump_stack.c:116) 
[ 4.141064][ T18] dump_stack (lib/dump_stack.c:124) 
[ 4.141064][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15)) 
[ 4.141064][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61) 
[ 4.141064][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1)) 
[ 4.141064][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2)) 
[ 4.141064][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1)) 
[ 4.141064][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976) 
[ 4.141064][ T18] kthread (kernel/kthread.c:388) 
[ 4.141064][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2)) 
[ 4.141064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.141064][ T18] ret_from_fork (arch/x86/kernel/process.c:153) 
[ 4.141064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.141064][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256) 
[    4.141064][   T18]  </TASK>
[    4.141391][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
[ 4.143427][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61) 
[    4.144497][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
[    4.146055][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[    4.147731][   T18] Call Trace:
[    4.147731][   T18]  <TASK>
[ 4.147731][ T18] dump_stack_lvl (lib/dump_stack.c:116) 
[ 4.147731][ T18] dump_stack (lib/dump_stack.c:124) 
[ 4.147731][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15)) 
[ 4.147731][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61) 
[ 4.147731][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1)) 
[ 4.147731][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2)) 
[ 4.147731][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1)) 
[ 4.147731][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976) 
[ 4.147731][ T18] kthread (kernel/kthread.c:388) 
[ 4.147731][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2)) 
[ 4.147731][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.147731][ T18] ret_from_fork (arch/x86/kernel/process.c:153) 
[ 4.147731][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.147731][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256) 
[    4.147731][   T18]  </TASK>
[    4.148538][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
[ 4.150537][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61) 
[    4.151144][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
[    4.152635][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[    4.154398][   T18] Call Trace:
[    4.154398][   T18]  <TASK>
[ 4.154398][ T18] dump_stack_lvl (lib/dump_stack.c:116) 
[ 4.154398][ T18] dump_stack (lib/dump_stack.c:124) 
[ 4.154398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15)) 
[ 4.154398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61) 
[ 4.154398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1)) 
[ 4.154398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2)) 
[ 4.154398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1)) 
[ 4.154398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976) 
[ 4.154398][ T18] kthread (kernel/kthread.c:388) 
[ 4.154398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2)) 
[ 4.154398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.154398][ T18] ret_from_fork (arch/x86/kernel/process.c:153) 
[ 4.154398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.154398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256) 
[    4.154398][   T18]  </TASK>
[    4.156100][    T1] smp: Bringing up secondary CPUs ...
[    4.159421][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
[ 4.161134][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61) 
[    4.162569][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
[    4.164398][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[    4.164398][   T18] Call Trace:
[    4.164398][   T18]  <TASK>
[ 4.164398][ T18] dump_stack_lvl (lib/dump_stack.c:116) 
[ 4.164398][ T18] dump_stack (lib/dump_stack.c:124) 
[ 4.164398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15)) 
[ 4.164398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61) 
[ 4.164398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1)) 
[ 4.164398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2)) 
[ 4.164398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1)) 
[ 4.164398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976) 
[ 4.164398][ T18] kthread (kernel/kthread.c:388) 
[ 4.164398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2)) 
[ 4.164398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.164398][ T18] ret_from_fork (arch/x86/kernel/process.c:153) 
[ 4.164398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.164398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256) 
[    4.164398][   T18]  </TASK>
[    4.168016][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
[ 4.170139][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61) 
[    4.171170][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
[    4.173242][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[    4.174398][   T18] Call Trace:
[    4.174398][   T18]  <TASK>
[ 4.174398][ T18] dump_stack_lvl (lib/dump_stack.c:116) 
[ 4.174398][ T18] dump_stack (lib/dump_stack.c:124) 
[ 4.174398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15)) 
[ 4.174398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61) 
[ 4.174398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1)) 
[ 4.174398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2)) 
[ 4.174398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1)) 
[ 4.174398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976) 
[ 4.174398][ T18] kthread (kernel/kthread.c:388) 
[ 4.174398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2)) 
[ 4.174398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.174398][ T18] ret_from_fork (arch/x86/kernel/process.c:153) 
[ 4.174398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.174398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256) 
[    4.174398][   T18]  </TASK>
[    4.189949][    T1] smpboot: x86: Booting SMP configuration:
[    4.191158][    T1] .... node  #0, CPUs:      #1
[    1.668906][    T0] masked ExtINT on CPU#1
[    4.202955][   T29] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/1/29
[ 4.204471][ T29] caller is debug_smp_processor_id (lib/smp_processor_id.c:61) 
[    4.205845][   T29] CPU: 0 PID: 29 Comm: rcuop/1 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
[    4.207731][   T29] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[    4.207731][   T29] Call Trace:
[    4.207731][   T29]  <TASK>
[ 4.207731][ T29] dump_stack_lvl (lib/dump_stack.c:116) 
[ 4.207731][ T29] dump_stack (lib/dump_stack.c:124) 
[ 4.207731][ T29] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15)) 
[ 4.207731][ T29] debug_smp_processor_id (lib/smp_processor_id.c:61) 
[ 4.207731][ T29] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1)) 
[ 4.207731][ T29] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2)) 
[ 4.207731][ T29] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67) 
[ 4.207731][ T29] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4421 (discriminator 16)) 
[ 4.207731][ T29] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1)) 
[ 4.207731][ T29] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976) 
[ 4.207731][ T29] kthread (kernel/kthread.c:388) 
[ 4.207731][ T29] ? kthread (kernel/kthread.c:373 (discriminator 2)) 
[ 4.207731][ T29] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.207731][ T29] ret_from_fork (arch/x86/kernel/process.c:153) 
[ 4.207731][ T29] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.207731][ T29] ret_from_fork_asm (arch/x86/entry/entry_64.S:256) 
[    4.207731][   T29]  </TASK>
[    4.207989][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
[ 4.209997][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61) 
[    4.211188][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
[    4.212898][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[    4.214398][   T18] Call Trace:
[    4.214398][   T18]  <TASK>
[ 4.214398][ T18] dump_stack_lvl (lib/dump_stack.c:116) 
[ 4.214398][ T18] dump_stack (lib/dump_stack.c:124) 
[ 4.214398][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15)) 
[ 4.214398][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61) 
[ 4.214398][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1)) 
[ 4.214398][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2)) 
[ 4.214398][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1)) 
[ 4.214398][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976) 
[ 4.214398][ T18] kthread (kernel/kthread.c:388) 
[ 4.214398][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2)) 
[ 4.214398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.214398][ T18] ret_from_fork (arch/x86/kernel/process.c:153) 
[ 4.214398][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.214398][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256) 
[    4.214398][   T18]  </TASK>
[    4.215399][   T18] BUG: using smp_processor_id() in preemptible [00000000] code: rcuop/0/18
[ 4.217064][ T18] caller is debug_smp_processor_id (lib/smp_processor_id.c:61) 
[    4.217772][   T18] CPU: 0 PID: 18 Comm: rcuop/0 Not tainted 6.9.0-rc2-00079-g4c66bc7cacc0 #1
[    4.219363][   T18] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[    4.221064][   T18] Call Trace:
[    4.221064][   T18]  <TASK>
[ 4.221064][ T18] dump_stack_lvl (lib/dump_stack.c:116) 
[ 4.221064][ T18] dump_stack (lib/dump_stack.c:124) 
[ 4.221064][ T18] check_preemption_disabled (arch/x86/include/asm/preempt.h:84 (discriminator 15) lib/smp_processor_id.c:53 (discriminator 15)) 
[ 4.221064][ T18] debug_smp_processor_id (lib/smp_processor_id.c:61) 
[ 4.221064][ T18] rcu_rdp_is_offloaded (kernel/rcu/tree_plugin.h:27 (discriminator 1)) 
[ 4.221064][ T18] nocb_cb_wait (kernel/rcu/tree_nocb.h:936 (discriminator 2)) 
[ 4.221064][ T18] rcu_nocb_cb_kthread (kernel/rcu/tree_nocb.h:983 (discriminator 1)) 
[ 4.221064][ T18] ? nocb_cb_wait (kernel/rcu/tree_nocb.h:976) 
[ 4.221064][ T18] kthread (kernel/kthread.c:388) 
[ 4.221064][ T18] ? kthread (kernel/kthread.c:373 (discriminator 2)) 
[ 4.221064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.221064][ T18] ret_from_fork (arch/x86/kernel/process.c:153) 
[ 4.221064][ T18] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 4.221064][ T18] ret_from_fork_asm (arch/x86/entry/entry_64.S:256) 
[    4.221064][   T18]  </TASK>



The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20240507/202405072252.959dadc4-lkp@intel.com



-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



^ permalink raw reply	[relevance 31%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
                     ` (10 preceding siblings ...)
  2024-05-07 13:23 64% ` bugzilla-daemon
@ 2024-05-07 13:24 64% ` bugzilla-daemon
  2024-05-07 17:48 64% ` bugzilla-daemon
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07 13:24 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #30 from Gaha (gahabana@gmail.com) ---
(In reply to Mario Limonciello (AMD) from comment #28)
> Everything should be based off the bleeding-edge branch for linux-pm which
> is code headed to 6.10.

Thank you Mario - not so simple for not-kernel-developers :( Appreciate the
response and clarity though :) 

Was hoping to be able to test and report but will need to wait a month or so i
guess for 6.10-rc1 to be able to do that. Pity 6.9 will limit single core
performance on loads of AMD Ryzen CPUs ... unless Perry manages to address that
issue w/o requiring all the other patches ... still not clear which change from
6.8 to 6.9 caused this to go 'wrong'

Thank you all !

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
                     ` (9 preceding siblings ...)
  2024-05-07 13:20 64% ` bugzilla-daemon
@ 2024-05-07 13:23 64% ` bugzilla-daemon
  2024-05-07 13:24 64% ` bugzilla-daemon
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07 13:23 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #29 from Gaha (gahabana@gmail.com) ---
(In reply to Mario Limonciello (AMD) from comment #28)
> Everything should be based off the bleeding-edge branch for linux-pm which
> is code headed to 6.10.

Thank you Mario - not so simple for not-kernel-developers :( Appreciate the
response and clarity though :) 

Was hoping to be able to test and report but will need to wait a month or so i
guess for 6.10-rc1 to be able to do that. Pity 6.9 will limit single core
performance on loads of AMD Ryzen CPUs ... unless Perry manages to address that
issue w/o requiring all the other patches ... still not clear which change from
6.8 to 6.9 caused this to go 'wrong'

Thank you all !

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
                     ` (8 preceding siblings ...)
  2024-05-07 13:00 64% ` bugzilla-daemon
@ 2024-05-07 13:20 64% ` bugzilla-daemon
  2024-05-07 13:23 64% ` bugzilla-daemon
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07 13:20 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #28 from Mario Limonciello (AMD) (mario.limonciello@amd.com) ---
Everything should be based off the bleeding-edge branch for linux-pm which is
code headed to 6.10.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
                     ` (7 preceding siblings ...)
  2024-05-07 12:22 64% ` bugzilla-daemon
@ 2024-05-07 13:00 64% ` bugzilla-daemon
  2024-05-07 13:20 64% ` bugzilla-daemon
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07 13:00 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #27 from Gaha (gahabana@gmail.com) ---
(In reply to Mario Limonciello (AMD) from comment #26)
> But that might need patch 9 too, we'll have to see what really makes sense
> for stable.

Thank you Mario!  I tried applying only 10 or 9&10 (git am -i
./patchfromperry.mbx) and it fails in the same way.

Have even played with previous other pstate patches (latest versions of those
mentioned at the top of this thread that Perry mentioned may help) - with no
avail.

So my question is please the same:
 *** to which source version these patches correspond to and what are the
prerequiste patches (if any) ? ***

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* Re: [PATCH] bug: Improve comment
  2024-05-07 10:17 64% ` Thorsten Blum
@ 2024-05-07 12:22 64%   ` Arnd Bergmann
  0 siblings, 0 replies; 200+ results
From: Arnd Bergmann @ 2024-05-07 12:22 UTC (permalink / raw)
  To: Thorsten Blum; +Cc: Linux-Arch, linux-kernel

On Tue, May 7, 2024, at 12:17, Thorsten Blum wrote:
> On 12. Apr 2024, at 15:54, Thorsten Blum <thorsten.blum@toblux.com> wrote:
>> 
>> Add parentheses to WARN_ON_ONCE() for consistency.
>
> Hi Arnd,
>
> could you add this trivial patch to your tree?

Merged now, I missed this earlier.

   Arnd

^ permalink raw reply	[relevance 64%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
                     ` (6 preceding siblings ...)
  2024-05-07 12:21 64% ` bugzilla-daemon
@ 2024-05-07 12:22 64% ` bugzilla-daemon
  2024-05-07 13:00 64% ` bugzilla-daemon
                   ` (8 subsequent siblings)
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07 12:22 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #26 from Mario Limonciello (AMD) (mario.limonciello@amd.com) ---
But that might need patch 9 too, we'll have to see what really makes sense for
stable.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
                     ` (5 preceding siblings ...)
  2024-05-07 12:19 64% ` bugzilla-daemon
@ 2024-05-07 12:21 64% ` bugzilla-daemon
  2024-05-07 12:22 64% ` bugzilla-daemon
                   ` (9 subsequent siblings)
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07 12:21 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #25 from Mario Limonciello (AMD) (mario.limonciello@amd.com) ---
Try to apply just patch 10 in that above link.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
                     ` (4 preceding siblings ...)
  2024-05-07 10:30 64% ` bugzilla-daemon
@ 2024-05-07 12:19 64% ` bugzilla-daemon
  2024-05-07 12:21 64% ` bugzilla-daemon
                   ` (10 subsequent siblings)
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07 12:19 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #24 from Mario Limonciello (AMD) (mario.limonciello@amd.com) ---
It's one patch in the series that was added to the series that helps, but a lot
of this code is intertwined. I'll look whether it can move to front of the
series if reordered.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
                     ` (3 preceding siblings ...)
  2024-05-07 10:29 64% ` bugzilla-daemon
@ 2024-05-07 10:30 64% ` bugzilla-daemon
  2024-05-07 12:19 64% ` bugzilla-daemon
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07 10:30 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #23 from The Linux kernel's regression tracker (Thorsten Leemhuis) (regressions@leemhuis.info) ---
Also: how many users do we suspect will run into this?

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
                     ` (2 preceding siblings ...)
  2024-05-07  9:14 64% ` bugzilla-daemon
@ 2024-05-07 10:29 64% ` bugzilla-daemon
  2024-05-07 10:30 64% ` bugzilla-daemon
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07 10:29 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #22 from The Linux kernel's regression tracker (Thorsten Leemhuis) (regressions@leemhuis.info) ---
(In reply to Perry Yuan(AMD) from comment #19)
> https://lore.kernel.org/lkml/cover.1715065568.git.perry.yuan@amd.com/

Correct me if I'm wrong, but from Mario's earlier comment, the number of
patches, and number of changed lines this does sounds like this won't be
applied for 6.9 this late; there are no Fixes or stable tags either.

So what's the plan to prevent this regression from entering 6.9? Do we know
which commit caused this? Can we revert that one and reapply it for 6.10
(together with these changes, once reviewed).

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [DPDK/testpmd Bug 1437] [dpdk-24.07] DPDK should adapt ICE DDP package search path on ubuntu24.04?
@ 2024-05-07 10:27 55% bugzilla
  0 siblings, 0 replies; 200+ results
From: bugzilla @ 2024-05-07 10:27 UTC (permalink / raw)
  To: dev

[-- Attachment #1: Type: text/plain, Size: 3261 bytes --]

https://bugs.dpdk.org/show_bug.cgi?id=1437

            Bug ID: 1437
           Summary: [dpdk-24.07] DPDK should adapt ICE DDP package search
                    path on ubuntu24.04?
           Product: DPDK
           Version: 24.07
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: testpmd
          Assignee: dev@dpdk.org
          Reporter: yux.jiang@intel.com
  Target Milestone: ---

[Environment]

DPDK version: 24.07.0-rc0
OS: Ubuntu 24.04 LTS (Noble Numbat); 6.8.0-31-generic
Compiler: gcc version 13.2.0
Hardware platform: Intel(R) Xeon(R) Platinum 8380 CPU @ 2.30GHz
NIC hardware & NIC firmware: 
    root@dut245:~/dpdk# ethtool -i ens801f0np0
    driver: ice
    version: 6.8.0-31-generic
    firmware-version: 4.30 0x80019938 1.3403.0

[Test Setup]
Steps to reproduce
List the steps to reproduce the issue.

1.Bind 1 port to vfio-pci driver:

dpdk-devbind.py --force --bind=vfio-pci 0000:4b:00.0

2.Start dpdk-testpmd as the following command:

x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 5-7 -n 8 -a 0000:4b:00.0
--file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1' 
--force-max-simd-bitwidth=512   -- -i --nb-cores=2 --txd=1024 --rxd=1024
dut.10.239.252.245_vhost-user: EAL: Detected CPU lcores: 80
EAL: Detected NUMA nodes: 2
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/vhost/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: VFIO support initialized
EAL: Using IOMMU type 1 (Type 1)
EAL: Ignore mapping IO port bar(1)
EAL: Ignore mapping IO port bar(4)
EAL: Probe PCI driver: net_ice (8086:1592) device: 0000:4b:00.0 (socket 0)
ice_load_pkg(): failed to search file path

ice_dev_init(): Failed to load the DDP package,Use safe-mode-support=1 to enter
Safe Mode
EAL: Releasing PCI mapped resource for 0000:4b:00.0
EAL: Calling pci_unmap_resource for 0000:4b:00.0 at 0x2101000000
EAL: Calling pci_unmap_resource for 0000:4b:00.0 at 0x2103000000
EAL: Requested device 0000:4b:00.0 cannot be used
EAL: Bus (pci) probe failed.
Interactive-mode selected


[Trace log]
DPDK code:
root@dut245:~/dpdk# grep -nr ICE_PKG_FILE_DEFAULT *
drivers/net/ice/ice_ethdev.h:50:#define ICE_PKG_FILE_DEFAULT 

/* DDP package search path */
#define ICE_PKG_FILE_DEFAULT "/lib/firmware/intel/ice/ddp/ice.pkg.zst"
#define ICE_PKG_FILE_UPDATES "/lib/firmware/updates/intel/ice/ddp/ice.pkg.zst"
#define ICE_PKG_FILE_SEARCH_PATH_DEFAULT "/lib/firmware/intel/ice/ddp/"
#define ICE_PKG_FILE_SEARCH_PATH_UPDATES "/lib/firmware/updates/intel/ice/ddp/"


Server's actual file name as below:
root@dut245:~/dpdk# ll /lib/firmware/intel/ice/ddp/
total 40
drwxr-xr-x 2 root root  4096 May  7 10:55 ./
drwxr-xr-x 6 root root  4096 May  7 10:55 ../
-rw-r--r-- 1 root root 30847 Apr  9 22:14 ice-1.3.36.0.pkg.zst
lrwxrwxrwx 1 root root    20 Apr  9 22:14 ice.pkg.zst -> ice-1.3.36.0.pkg.zst
root@dut245:~/dpdk#

[Expected Result]
Start dpdk-testpmd successed and no error info. 


[Regression]
Is this issue a regression: (N)
The first time to test on Ubuntu 24.04.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #2: Type: text/html, Size: 5209 bytes --]

^ permalink raw reply	[relevance 55%]

* Re: [BUG][v6.9-rc6] Deadlock with: Revert "drm/qxl: simplify qxl_fence_wait"
  2024-05-07  6:38 64%         ` Timo Lindfors
@ 2024-05-07 10:21 59%           ` Gerd Hoffmann
  2024-05-07 15:46 64%             ` Timo Lindfors
  0 siblings, 1 reply; 200+ results
From: Gerd Hoffmann @ 2024-05-07 10:21 UTC (permalink / raw)
  To: Timo Lindfors
  Cc: David Airlie, Linus Torvalds, Maxime Ripard, Steven Rostedt, LKML,
	Alex Constantino, Maarten Lankhorst, Thomas Zimmermann,
	Daniel Vetter

On Tue, May 07, 2024 at 09:38:56AM GMT, Timo Lindfors wrote:
> On Tue, 7 May 2024, David Airlie wrote:
> > I expec this will reintroduce the other problems that caused this
> > change in the first place, but I think this should at least bring us
> > back to regression equilibrium. I can't recommend anyone use qxl hw
> > over virtio-gpu hw in their VMs, since virtio-gpu is actually hw
> > designed for virt.

Well, qxl was designed for virt too, but almost two decades ago with 2d
acceleration.  And alot of complexity, trying to move 2d-accel rendering
from the VM guest to the spice client.  That complexity still bites us
today as this issue shows.

With desktop rendering moving to 3d acceleration all that 2d accel stuff
became mostly useless though, so you have the downsides of the
complexity without any upsides.

There have been plans to add 3d-acceleration support to qxl, but they
never took off and with virtio-gpu having taken that role meanwhile the
idea is dead now.

I second the recommendation to avoid qxl.

> I would love to switch to virtio. It works ok for local virtual machines but
> I have many users who are using Linux desktops hosted on a powerful server
> where it is more difficult. With spice and qxl scrolling in a web browser is
> smooth, with spice and virtio it seems like larger parts are getting fully
> redrawn (and resent over network?).

Hmm, I'd expect behavior being quite simliar for stdvga, qxl and
virtio-gpu when running a wayland desktop remotely.

When running on X11 without 3d acceleration it could be that scroll
ops are actually sent as 2d accel blits on qxl, explaining the
difference you are seeing.

> Now that new gnome is going to come with RDP support I'm also
> considering switching to that. Any tips would be appreciated.

Worth trying: use vnc.  The qemu vnc server will skip updates when the
network pipeline is full.  That throttles the frame rate, but also
reduces the display update latency.

In general the trend seems to be to move to in-guest remote desktop
solutions.  Do NOT make VMs a special case with a special solution,
instead handle VMs like bare metal.  Commercial solutions exist for a
while, some of them are doing hardware-assisted video encoding to send
the display as video stream to the remote end.  gnome+rdp is a new
player here, clearly worth a try.

take care,
  Gerd


^ permalink raw reply	[relevance 59%]

* Re: [PATCH] bug: Improve comment
  @ 2024-05-07 10:17 64% ` Thorsten Blum
  2024-05-07 12:22 64%   ` Arnd Bergmann
  0 siblings, 1 reply; 200+ results
From: Thorsten Blum @ 2024-05-07 10:17 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-arch, linux-kernel

On 12. Apr 2024, at 15:54, Thorsten Blum <thorsten.blum@toblux.com> wrote:
> 
> Add parentheses to WARN_ON_ONCE() for consistency.

Hi Arnd,

could you add this trivial patch to your tree?

Thanks,
Thorsten

^ permalink raw reply	[relevance 64%]

* [DPDK/core Bug 1436] DPDK20.11.9 runs failure on intel atom cpu
  2024-05-06  1:23 62% [DPDK/core Bug 1436] DPDK20.11.9 runs failure on intel atom cpu bugzilla
  2024-05-06  8:38 64% ` bugzilla
@ 2024-05-07  9:17 64% ` bugzilla
  1 sibling, 0 replies; 200+ results
From: bugzilla @ 2024-05-07  9:17 UTC (permalink / raw)
  To: dev

[-- Attachment #1: Type: text/plain, Size: 728 bytes --]

https://bugs.dpdk.org/show_bug.cgi?id=1436

lgl_hust (lgl_hust@sina.com) changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|WONTFIX                     |---
             Status|RESOLVED                    |UNCONFIRMED
            Version|20.11                       |22.11

--- Comment #3 from lgl_hust (lgl_hust@sina.com) ---
@Luca Boccass

I  tried on dpdk-stable-22.11.5, the error is the same with version 20.11.9.

@David Marchand   

when running on DPDK 22.11.5,how to configure with -Dmachine=default?

thanks.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #2: Type: text/html, Size: 2787 bytes --]

^ permalink raw reply	[relevance 64%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
    2024-05-07  8:41 64% ` [Bug 218759] " bugzilla-daemon
  2024-05-07  9:13 64% ` bugzilla-daemon
@ 2024-05-07  9:14 64% ` bugzilla-daemon
  2024-05-07 10:29 64% ` bugzilla-daemon
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07  9:14 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #21 from Gaha (gahabana@gmail.com) ---
Created attachment 306267
  --> https://bugzilla.kernel.org/attachment.cgi?id=306267&action=edit
result of 'git am --show-current-patch=diff'

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
    2024-05-07  8:41 64% ` [Bug 218759] " bugzilla-daemon
@ 2024-05-07  9:13 64% ` bugzilla-daemon
  2024-05-07  9:14 64% ` bugzilla-daemon
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07  9:13 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #20 from Gaha (gahabana@gmail.com) ---
hi, 
   i tried applying the batch to linux rcX tree and i can not get it to apply
the patch. Have tried v6.9-rc7, -rc6 , -rc5 and -rc1 - all fail with the same
msg:

zh@muc:~/git/linus-kernel$ git am
./20240507_perry_yuan_amd_pstate_driver_fixes_and_improvements.mbx
Applying: cpufreq: amd-pstate: optimiza the initial frequency values
verification
error: patch failed: drivers/cpufreq/amd-pstate.c:873
error: drivers/cpufreq/amd-pstate.c: patch does not apply
Patch failed at 0001 cpufreq: amd-pstate: optimiza the initial frequency values
verification
hint: Use 'git am --show-current-patch=diff' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

should I apply this to a different 'base' kernel code ?

Will post file as a result of 'git am --show-current-patch=diff' as well if it
helps:

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* Re: [BUG][v6.9-rc6] Deadlock with: Revert "drm/qxl: simplify qxl_fence_wait"
  2024-05-07  5:54 64%       ` David Airlie
  2024-05-07  6:38 64%         ` Timo Lindfors
@ 2024-05-07  9:03 64%         ` Steven Rostedt
  2024-05-08 12:42 64%           ` Anders Blomdell
  1 sibling, 1 reply; 200+ results
From: Steven Rostedt @ 2024-05-07  9:03 UTC (permalink / raw)
  To: David Airlie
  Cc: Linus Torvalds, Maxime Ripard, LKML, Alex Constantino,
	Timo Lindfors, Gerd Hoffmann, Maarten Lankhorst,
	Thomas Zimmermann, Daniel Vetter

On Tue, 7 May 2024 15:54:21 +1000
David Airlie <airlied@redhat.com> wrote:

> I expec this will reintroduce the other problems that caused this
> change in the first place, but I think this should at least bring us
> back to regression equilibrium. I can't recommend anyone use qxl hw
> over virtio-gpu hw in their VMs, since virtio-gpu is actually hw
> designed for virt.

I agree that it will likely cause the issues that this was addressing
to come back, but you can't have a fix that introduces a deadlock.

Perhaps the deadlock didn't exist before, and the printk updates
changed the way it works to introduce it now?

-- Steve

^ permalink raw reply	[relevance 64%]

* [Stable-8.2.4 12/16] hw/ufs: Fix buffer overflow bug
  @ 2024-05-07  8:42 63% ` Michael Tokarev
  0 siblings, 0 replies; 200+ results
From: Michael Tokarev @ 2024-05-07  8:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-stable, Jeuk Kim, Zheyu Ma, Michael Tokarev

From: Jeuk Kim <jeuk20.kim@samsung.com>

It fixes the buffer overflow vulnerability in the ufs device.
The bug was detected by sanitizers.

You can reproduce it by:

cat << EOF |\
qemu-system-x86_64 \
-display none -machine accel=qtest -m 512M -M q35 -nodefaults -drive \
file=null-co://,if=none,id=disk0 -device ufs,id=ufs_bus -device \
ufs-lu,drive=disk0,bus=ufs_bus -qtest stdio
outl 0xcf8 0x80000810
outl 0xcfc 0xe0000000
outl 0xcf8 0x80000804
outw 0xcfc 0x06
write 0xe0000058 0x1 0xa7
write 0xa 0x1 0x50
EOF

Resolves: #2299
Fixes: 329f16624499 ("hw/ufs: Support for Query Transfer Requests")
Reported-by: Zheyu Ma <zheyuma97@gmail.com>
Signed-off-by: Jeuk Kim <jeuk20.kim@samsung.com>
(cherry picked from commit f2c8aeb1afefcda92054c448b21fc59cdd99db30)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

diff --git a/hw/ufs/ufs.c b/hw/ufs/ufs.c
index eccdb852a0..bac78a32bb 100644
--- a/hw/ufs/ufs.c
+++ b/hw/ufs/ufs.c
@@ -126,6 +126,10 @@ static MemTxResult ufs_dma_read_req_upiu(UfsRequest *req)
     copy_size = sizeof(UtpUpiuHeader) + UFS_TRANSACTION_SPECIFIC_FIELD_SIZE +
                 data_segment_length;
 
+    if (copy_size > sizeof(req->req_upiu)) {
+        copy_size = sizeof(req->req_upiu);
+    }
+
     ret = ufs_addr_read(u, req_upiu_base_addr, &req->req_upiu, copy_size);
     if (ret) {
         trace_ufs_err_dma_read_req_upiu(req->slot, req_upiu_base_addr);
@@ -225,6 +229,10 @@ static MemTxResult ufs_dma_write_rsp_upiu(UfsRequest *req)
         copy_size = rsp_upiu_byte_len;
     }
 
+    if (copy_size > sizeof(req->rsp_upiu)) {
+        copy_size = sizeof(req->rsp_upiu);
+    }
+
     ret = ufs_addr_write(u, rsp_upiu_base_addr, &req->rsp_upiu, copy_size);
     if (ret) {
         trace_ufs_err_dma_write_rsp_upiu(req->slot, rsp_upiu_base_addr);
-- 
2.39.2



^ permalink raw reply related	[relevance 63%]

* [Bug 218759] 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency
  @ 2024-05-07  8:41 64% ` bugzilla-daemon
  2024-05-07  9:13 64% ` bugzilla-daemon
                   ` (15 subsequent siblings)
  16 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07  8:41 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218759

--- Comment #19 from Perry Yuan(AMD) (Perry.Yuan@amd.com) ---
Hi, Please try this patchset for the issue

https://lore.kernel.org/lkml/cover.1715065568.git.perry.yuan@amd.com/

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218705] amd_pstate fails to load on AMD 5950x with Asus ROG CROSSHAIR VIII DARK HERO x570
  @ 2024-05-07  8:40 64% ` bugzilla-daemon
  0 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07  8:40 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218705

--- Comment #27 from Perry Yuan(AMD) (Perry.Yuan@amd.com) ---
Hi, Please try this patchset for the issue

https://lore.kernel.org/lkml/cover.1715065568.git.perry.yuan@amd.com/

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
                     ` (5 preceding siblings ...)
  2024-05-06 17:26 64% ` bugzilla-daemon
@ 2024-05-07  8:24 64% ` bugzilla-daemon
  2024-05-08  7:39 64% ` bugzilla-daemon
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-07  8:24 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218305

--- Comment #60 from Daan Vanoverloop (vanoverloopdaan@gmail.com) ---
I applied your patch, but I'm not able to reproduce the issue at home. When the
issue doesn't occur, I find the same smn_value as you. It might be related to
the specific power adapter I use at work, or other devices that were plugged
in. I will try to reproduce the issue tomorrow at work, and try to narrow it
down to a specific device that's plugged in.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
  2024-05-06 16:50 64%           ` Laurent Pinchart
@ 2024-05-07  7:58 64%             ` Maxime Ripard
  -1 siblings, 0 replies; 200+ results
From: Maxime Ripard @ 2024-05-07  7:58 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Sean Anderson, Tomi Valkeinen, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Michal Simek,
	dri-devel, linux-arm-kernel, linux-kernel


[-- Attachment #1.1: Type: text/plain, Size: 2342 bytes --]

On Mon, May 06, 2024 at 07:50:57PM GMT, Laurent Pinchart wrote:
> On Mon, May 06, 2024 at 10:57:17AM -0400, Sean Anderson wrote:
> > On 5/6/24 03:35, Laurent Pinchart wrote:
> > > On Mon, May 06, 2024 at 09:29:36AM +0200, Maxime Ripard wrote:
> > >> Hi Laurent, Sean,
> > >> 
> > >> On Sat, May 04, 2024 at 03:21:18PM GMT, Laurent Pinchart wrote:
> > >> > On Fri, May 03, 2024 at 05:54:32PM -0400, Sean Anderson wrote:
> > >> > > I have discovered a bug in the displayport driver on drm-misc-next. To
> > >> > > trigger it, run
> > >> > > 
> > >> > > echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
> > >> > > 
> > >> > > The system will become unresponsive and (after a bit) splat with a hard
> > >> > > LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
> > >> > > zynqmp_dp_bridge_detect.
> > >> > > 
> > >> > > I believe the issue is due the registers being unmapped and the block
> > >> > > put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release.
> > >> > 
> > >> > That is on purpose. Drivers are not allowed to access the device at all
> > >> > after .remove() returns.
> > >> 
> > >> It's not "on purpose" no. Drivers indeed are not allowed to access the
> > >> device after remove, but the kernel shouldn't crash. This is exactly
> > >> why we have drm_dev_enter / drm_dev_exit.
> > > 
> > > I didn't mean the crash was on purpose :-) It's the registers being
> > > unmapped that is, as nothing should touch those registers after
> > > .remove() returns.
> > 
> > OK, so then we need to have some kind of flag in the driver or in the drm
> > subsystem so we know not to access those registers.
> 
> To avoid race conditions, the .remove() function should mark the device
> as removed, wait for all ongoing access from userspace to be complete,
> and then proceed to unmapping registers and doing other cleanups.
> Userspace may still have open file descriptors to the device at that
> point. Any new userspace access should be disallowed (by checking the
> removed flag), with the only userspace-initiated operations that still
> need to run being the release-related operations (unmapping memory,
> closing file descriptors, ...).

And for the record, this is exactly what drm_dev_unplug and
drm_dev_enter/drm_dev_exit does.

Maxime

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 273 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[relevance 64%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
@ 2024-05-07  7:58 64%             ` Maxime Ripard
  0 siblings, 0 replies; 200+ results
From: Maxime Ripard @ 2024-05-07  7:58 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Sean Anderson, Tomi Valkeinen, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Michal Simek,
	dri-devel, linux-arm-kernel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2342 bytes --]

On Mon, May 06, 2024 at 07:50:57PM GMT, Laurent Pinchart wrote:
> On Mon, May 06, 2024 at 10:57:17AM -0400, Sean Anderson wrote:
> > On 5/6/24 03:35, Laurent Pinchart wrote:
> > > On Mon, May 06, 2024 at 09:29:36AM +0200, Maxime Ripard wrote:
> > >> Hi Laurent, Sean,
> > >> 
> > >> On Sat, May 04, 2024 at 03:21:18PM GMT, Laurent Pinchart wrote:
> > >> > On Fri, May 03, 2024 at 05:54:32PM -0400, Sean Anderson wrote:
> > >> > > I have discovered a bug in the displayport driver on drm-misc-next. To
> > >> > > trigger it, run
> > >> > > 
> > >> > > echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
> > >> > > 
> > >> > > The system will become unresponsive and (after a bit) splat with a hard
> > >> > > LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
> > >> > > zynqmp_dp_bridge_detect.
> > >> > > 
> > >> > > I believe the issue is due the registers being unmapped and the block
> > >> > > put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release.
> > >> > 
> > >> > That is on purpose. Drivers are not allowed to access the device at all
> > >> > after .remove() returns.
> > >> 
> > >> It's not "on purpose" no. Drivers indeed are not allowed to access the
> > >> device after remove, but the kernel shouldn't crash. This is exactly
> > >> why we have drm_dev_enter / drm_dev_exit.
> > > 
> > > I didn't mean the crash was on purpose :-) It's the registers being
> > > unmapped that is, as nothing should touch those registers after
> > > .remove() returns.
> > 
> > OK, so then we need to have some kind of flag in the driver or in the drm
> > subsystem so we know not to access those registers.
> 
> To avoid race conditions, the .remove() function should mark the device
> as removed, wait for all ongoing access from userspace to be complete,
> and then proceed to unmapping registers and doing other cleanups.
> Userspace may still have open file descriptors to the device at that
> point. Any new userspace access should be disallowed (by checking the
> removed flag), with the only userspace-initiated operations that still
> need to run being the release-related operations (unmapping memory,
> closing file descriptors, ...).

And for the record, this is exactly what drm_dev_unplug and
drm_dev_enter/drm_dev_exit does.

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 273 bytes --]

^ permalink raw reply	[relevance 64%]

* Re: [Linux kernel bug] general protection fault in nexthop_is_blackhole
  2024-05-07  7:31 64% ` Eric Dumazet
@ 2024-05-07  7:39 64%   ` Sam Sun
  0 siblings, 0 replies; 200+ results
From: Sam Sun @ 2024-05-07  7:39 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: linux-kernel, netdev, davem, dsahern, kuba, pabeni,
	syzkaller-bugs, xrivendell7

On Tue, May 7, 2024 at 3:31 PM Eric Dumazet <edumazet@google.com> wrote:
>
> On Tue, May 7, 2024 at 9:00 AM Sam Sun <samsun1006219@gmail.com> wrote:
> >
> > Dear developers and maintainers,
> >
> > We encountered a general protection fault in function
> > nexthop_is_blackhole. It was tested against the latest upstream linux
> > (tag 6.9-rc7). C repro and kernel config are attached to this email.
> > Kernel crash log is listed below.
>
> This is another reiserfs bug, please let's not be mistaken.
>
> We have dozens of syzbot reports about reiserfs.
>
> Thank you.
>

Sorry for my mistake and thanks for pointing out. I only checked the
call stack without checking the repro.  I will ban the reiserfs in
future testing.

Best Regards,
Yue

^ permalink raw reply	[relevance 64%]

* Re: [Linux kernel bug] general protection fault in nexthop_is_blackhole
  2024-05-07  7:00  2% [Linux kernel bug] general protection fault in nexthop_is_blackhole Sam Sun
@ 2024-05-07  7:31 64% ` Eric Dumazet
  2024-05-07  7:39 64%   ` Sam Sun
  0 siblings, 1 reply; 200+ results
From: Eric Dumazet @ 2024-05-07  7:31 UTC (permalink / raw)
  To: Sam Sun
  Cc: linux-kernel, netdev, davem, dsahern, kuba, pabeni,
	syzkaller-bugs, xrivendell7

On Tue, May 7, 2024 at 9:00 AM Sam Sun <samsun1006219@gmail.com> wrote:
>
> Dear developers and maintainers,
>
> We encountered a general protection fault in function
> nexthop_is_blackhole. It was tested against the latest upstream linux
> (tag 6.9-rc7). C repro and kernel config are attached to this email.
> Kernel crash log is listed below.

This is another reiserfs bug, please let's not be mistaken.

We have dozens of syzbot reports about reiserfs.

Thank you.

> ```
> general protection fault, probably for non-canonical address
> 0xdffffc0080008015: 0000 [#1] PREEMPT SMP KASAN NOPTI
> KASAN: probably user-memory-access in range
> [0x00000004000400a8-0x00000004000400af]
> CPU: 1 PID: 7959 Comm: kworker/u8:2 Not tainted 6.9.0-rc6 #1
> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
> 1.13.0-1ubuntu1.1 04/01/2014
> Workqueue: ipv6_addrconf addrconf_dad_work
> RIP: 0010:nexthop_is_blackhole+0x23/0x2a0 include/net/nexthop.h:370
> Code: 00 00 00 0f 1f 40 00 55 41 57 41 56 53 48 89 fb 49 bf 00 00 00
> 00 00 fc ff df e8 58 c1 b6 f7 4c 8d 73 66 4c 89 f0 48 c1 e8 03 <42> 8a
> 04 38 84 c0 0f 85 17 02 00 00 41 0f b6 2e 31 ff 89 ee e8 44
> RSP: 0018:ffffc900001d81f8 EFLAGS: 00010203
> RAX: 0000000080008015 RBX: 0000000400040048 RCX: ffff88801cbfa500
> RDX: 0000000080000101 RSI: 0000000000000000 RDI: 0000000400040048
> RBP: ffffc900001d8398 R08: ffffffff89d8fd23 R09: 0000000000000021
> R10: ffffc900001d84c0 R11: fffffbfff2273299 R12: ffff88807857e800
> R13: 1ffff1100f0afd0c R14: 00000004000400ae R15: dffffc0000000000
> FS:  0000000000000000(0000) GS:ffff8880be400000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00007fa8a2420630 CR3: 00000000264f6000 CR4: 0000000000750ef0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> PKRU: 55555554
> Call Trace:
>  <IRQ>
>  __find_rr_leaf+0x521/0x890 net/ipv6/route.c:817
>  find_rr_leaf net/ipv6/route.c:861 [inline]
>  rt6_select net/ipv6/route.c:896 [inline]
>  fib6_table_lookup+0x56f/0xbb0 net/ipv6/route.c:2193
>  ip6_pol_route+0x272/0x1580 net/ipv6/route.c:2229
>  pol_lookup_func include/net/ip6_fib.h:614 [inline]
>  fib6_rule_lookup+0x571/0x780 net/ipv6/fib6_rules.c:116
>  ip6_route_input_lookup net/ipv6/route.c:2298 [inline]
>  ip6_route_input+0x839/0xd10 net/ipv6/route.c:2594
>  ip6_rcv_finish net/ipv6/ip6_input.c:77 [inline]
>  NF_HOOK include/linux/netfilter.h:314 [inline]
>  ipv6_rcv+0x1dc/0x200 net/ipv6/ip6_input.c:310
>  __netif_receive_skb_one_core net/core/dev.c:5544 [inline]
>  __netif_receive_skb+0x1dc/0x640 net/core/dev.c:5658
>  process_backlog+0x361/0x790 net/core/dev.c:5987
>  __napi_poll+0xca/0x480 net/core/dev.c:6638
>  napi_poll net/core/dev.c:6707 [inline]
>  net_rx_action+0x7c0/0x10a0 net/core/dev.c:6822
>  __do_softirq+0x272/0x734 kernel/softirq.c:554
>  do_softirq+0xfe/0x1b0 kernel/softirq.c:455
>  </IRQ>
>  <TASK>
>  __local_bh_enable_ip+0x18a/0x1c0 kernel/softirq.c:382
>  local_bh_enable include/linux/bottom_half.h:33 [inline]
>  rcu_read_unlock_bh include/linux/rcupdate.h:851 [inline]
>  __dev_queue_xmit+0x1d13/0x3a60 net/core/dev.c:4368
>  neigh_output include/net/neighbour.h:542 [inline]
>  ip6_finish_output2+0xfcf/0x1600 net/ipv6/ip6_output.c:137
>  ip6_finish_output+0x3c8/0x7f0 net/ipv6/ip6_output.c:222
>  NF_HOOK include/linux/netfilter.h:314 [inline]
>  ndisc_send_skb+0xa39/0xf40 net/ipv6/ndisc.c:509
>  addrconf_dad_completed+0x734/0xc60 net/ipv6/addrconf.c:4358
>  addrconf_dad_work+0xd82/0x16b0
>  process_one_work kernel/workqueue.c:3254 [inline]
>  process_scheduled_works+0x9c9/0x14a0 kernel/workqueue.c:3335
>  worker_thread+0x85c/0xd50 kernel/workqueue.c:3416
>  kthread+0x2ed/0x390 kernel/kthread.c:388
>  ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
>  ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:244
>  </TASK>
> Modules linked in:
> ---[ end trace 0000000000000000 ]---
> RIP: 0010:nexthop_is_blackhole+0x23/0x2a0 include/net/nexthop.h:370
> Code: 00 00 00 0f 1f 40 00 55 41 57 41 56 53 48 89 fb 49 bf 00 00 00
> 00 00 fc ff df e8 58 c1 b6 f7 4c 8d 73 66 4c 89 f0 48 c1 e8 03 <42> 8a
> 04 38 84 c0 0f 85 17 02 00 00 41 0f b6 2e 31 ff 89 ee e8 44
> RSP: 0018:ffffc900001d81f8 EFLAGS: 00010203
>
> RAX: 0000000080008015 RBX: 0000000400040048 RCX: ffff88801cbfa500
> RDX: 0000000080000101 RSI: 0000000000000000 RDI: 0000000400040048
> RBP: ffffc900001d8398 R08: ffffffff89d8fd23 R09: 0000000000000021
> R10: ffffc900001d84c0 R11: fffffbfff2273299 R12: ffff88807857e800
> R13: 1ffff1100f0afd0c R14: 00000004000400ae R15: dffffc0000000000
> FS:  0000000000000000(0000) GS:ffff8880be400000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00007fa8a2420630 CR3: 00000000264f6000 CR4: 0000000000750ef0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> PKRU: 55555554
> ----------------
> Code disassembly (best guess), 1 bytes skipped:
>    0: 00 00                 add    %al,(%rax)
>    2: 0f 1f 40 00           nopl   0x0(%rax)
>    6: 55                   push   %rbp
>    7: 41 57                 push   %r15
>    9: 41 56                 push   %r14
>    b: 53                   push   %rbx
>    c: 48 89 fb             mov    %rdi,%rbx
>    f: 49 bf 00 00 00 00 00 movabs $0xdffffc0000000000,%r15
>   16: fc ff df
>   19: e8 58 c1 b6 f7       callq  0xf7b6c176
>   1e: 4c 8d 73 66           lea    0x66(%rbx),%r14
>   22: 4c 89 f0             mov    %r14,%rax
>   25: 48 c1 e8 03           shr    $0x3,%rax
> * 29: 42 8a 04 38           mov    (%rax,%r15,1),%al <-- trapping instruction
>   2d: 84 c0                 test   %al,%al
>   2f: 0f 85 17 02 00 00     jne    0x24c
>   35: 41 0f b6 2e           movzbl (%r14),%ebp
>   39: 31 ff                 xor    %edi,%edi
>   3b: 89 ee                 mov    %ebp,%esi
>   3d: e8                   .byte 0xe8
>   3e: 44                   rex.R
> ```
> If you have any questions, please contact us.
>
> Reported by Yue Sun <samsun1006219@gmail.com>
> Reported by xingwei lee <xrivendell7@gmail.com>
>
> Best Regards,
> Yue

^ permalink raw reply	[relevance 64%]

* [Linux kernel bug] general protection fault in nexthop_is_blackhole
@ 2024-05-07  7:00  2% Sam Sun
  2024-05-07  7:31 64% ` Eric Dumazet
  0 siblings, 1 reply; 200+ results
From: Sam Sun @ 2024-05-07  7:00 UTC (permalink / raw)
  To: linux-kernel, netdev
  Cc: Eric Dumazet, davem, dsahern, kuba, pabeni, syzkaller-bugs,
	xrivendell7

[-- Attachment #1: Type: text/plain, Size: 5752 bytes --]

Dear developers and maintainers,

We encountered a general protection fault in function
nexthop_is_blackhole. It was tested against the latest upstream linux
(tag 6.9-rc7). C repro and kernel config are attached to this email.
Kernel crash log is listed below.
```
general protection fault, probably for non-canonical address
0xdffffc0080008015: 0000 [#1] PREEMPT SMP KASAN NOPTI
KASAN: probably user-memory-access in range
[0x00000004000400a8-0x00000004000400af]
CPU: 1 PID: 7959 Comm: kworker/u8:2 Not tainted 6.9.0-rc6 #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.13.0-1ubuntu1.1 04/01/2014
Workqueue: ipv6_addrconf addrconf_dad_work
RIP: 0010:nexthop_is_blackhole+0x23/0x2a0 include/net/nexthop.h:370
Code: 00 00 00 0f 1f 40 00 55 41 57 41 56 53 48 89 fb 49 bf 00 00 00
00 00 fc ff df e8 58 c1 b6 f7 4c 8d 73 66 4c 89 f0 48 c1 e8 03 <42> 8a
04 38 84 c0 0f 85 17 02 00 00 41 0f b6 2e 31 ff 89 ee e8 44
RSP: 0018:ffffc900001d81f8 EFLAGS: 00010203
RAX: 0000000080008015 RBX: 0000000400040048 RCX: ffff88801cbfa500
RDX: 0000000080000101 RSI: 0000000000000000 RDI: 0000000400040048
RBP: ffffc900001d8398 R08: ffffffff89d8fd23 R09: 0000000000000021
R10: ffffc900001d84c0 R11: fffffbfff2273299 R12: ffff88807857e800
R13: 1ffff1100f0afd0c R14: 00000004000400ae R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8880be400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fa8a2420630 CR3: 00000000264f6000 CR4: 0000000000750ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
 <IRQ>
 __find_rr_leaf+0x521/0x890 net/ipv6/route.c:817
 find_rr_leaf net/ipv6/route.c:861 [inline]
 rt6_select net/ipv6/route.c:896 [inline]
 fib6_table_lookup+0x56f/0xbb0 net/ipv6/route.c:2193
 ip6_pol_route+0x272/0x1580 net/ipv6/route.c:2229
 pol_lookup_func include/net/ip6_fib.h:614 [inline]
 fib6_rule_lookup+0x571/0x780 net/ipv6/fib6_rules.c:116
 ip6_route_input_lookup net/ipv6/route.c:2298 [inline]
 ip6_route_input+0x839/0xd10 net/ipv6/route.c:2594
 ip6_rcv_finish net/ipv6/ip6_input.c:77 [inline]
 NF_HOOK include/linux/netfilter.h:314 [inline]
 ipv6_rcv+0x1dc/0x200 net/ipv6/ip6_input.c:310
 __netif_receive_skb_one_core net/core/dev.c:5544 [inline]
 __netif_receive_skb+0x1dc/0x640 net/core/dev.c:5658
 process_backlog+0x361/0x790 net/core/dev.c:5987
 __napi_poll+0xca/0x480 net/core/dev.c:6638
 napi_poll net/core/dev.c:6707 [inline]
 net_rx_action+0x7c0/0x10a0 net/core/dev.c:6822
 __do_softirq+0x272/0x734 kernel/softirq.c:554
 do_softirq+0xfe/0x1b0 kernel/softirq.c:455
 </IRQ>
 <TASK>
 __local_bh_enable_ip+0x18a/0x1c0 kernel/softirq.c:382
 local_bh_enable include/linux/bottom_half.h:33 [inline]
 rcu_read_unlock_bh include/linux/rcupdate.h:851 [inline]
 __dev_queue_xmit+0x1d13/0x3a60 net/core/dev.c:4368
 neigh_output include/net/neighbour.h:542 [inline]
 ip6_finish_output2+0xfcf/0x1600 net/ipv6/ip6_output.c:137
 ip6_finish_output+0x3c8/0x7f0 net/ipv6/ip6_output.c:222
 NF_HOOK include/linux/netfilter.h:314 [inline]
 ndisc_send_skb+0xa39/0xf40 net/ipv6/ndisc.c:509
 addrconf_dad_completed+0x734/0xc60 net/ipv6/addrconf.c:4358
 addrconf_dad_work+0xd82/0x16b0
 process_one_work kernel/workqueue.c:3254 [inline]
 process_scheduled_works+0x9c9/0x14a0 kernel/workqueue.c:3335
 worker_thread+0x85c/0xd50 kernel/workqueue.c:3416
 kthread+0x2ed/0x390 kernel/kthread.c:388
 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:244
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:nexthop_is_blackhole+0x23/0x2a0 include/net/nexthop.h:370
Code: 00 00 00 0f 1f 40 00 55 41 57 41 56 53 48 89 fb 49 bf 00 00 00
00 00 fc ff df e8 58 c1 b6 f7 4c 8d 73 66 4c 89 f0 48 c1 e8 03 <42> 8a
04 38 84 c0 0f 85 17 02 00 00 41 0f b6 2e 31 ff 89 ee e8 44
RSP: 0018:ffffc900001d81f8 EFLAGS: 00010203

RAX: 0000000080008015 RBX: 0000000400040048 RCX: ffff88801cbfa500
RDX: 0000000080000101 RSI: 0000000000000000 RDI: 0000000400040048
RBP: ffffc900001d8398 R08: ffffffff89d8fd23 R09: 0000000000000021
R10: ffffc900001d84c0 R11: fffffbfff2273299 R12: ffff88807857e800
R13: 1ffff1100f0afd0c R14: 00000004000400ae R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8880be400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fa8a2420630 CR3: 00000000264f6000 CR4: 0000000000750ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
----------------
Code disassembly (best guess), 1 bytes skipped:
   0: 00 00                 add    %al,(%rax)
   2: 0f 1f 40 00           nopl   0x0(%rax)
   6: 55                   push   %rbp
   7: 41 57                 push   %r15
   9: 41 56                 push   %r14
   b: 53                   push   %rbx
   c: 48 89 fb             mov    %rdi,%rbx
   f: 49 bf 00 00 00 00 00 movabs $0xdffffc0000000000,%r15
  16: fc ff df
  19: e8 58 c1 b6 f7       callq  0xf7b6c176
  1e: 4c 8d 73 66           lea    0x66(%rbx),%r14
  22: 4c 89 f0             mov    %r14,%rax
  25: 48 c1 e8 03           shr    $0x3,%rax
* 29: 42 8a 04 38           mov    (%rax,%r15,1),%al <-- trapping instruction
  2d: 84 c0                 test   %al,%al
  2f: 0f 85 17 02 00 00     jne    0x24c
  35: 41 0f b6 2e           movzbl (%r14),%ebp
  39: 31 ff                 xor    %edi,%edi
  3b: 89 ee                 mov    %ebp,%esi
  3d: e8                   .byte 0xe8
  3e: 44                   rex.R
```
If you have any questions, please contact us.

Reported by Yue Sun <samsun1006219@gmail.com>
Reported by xingwei lee <xrivendell7@gmail.com>

Best Regards,
Yue

[-- Attachment #2: config --]
[-- Type: application/octet-stream, Size: 247919 bytes --]

#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 6.9.0-rc7 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="Ubuntu clang version 14.0.0-1ubuntu1.1"
CONFIG_GCC_VERSION=0
CONFIG_CC_IS_CLANG=y
CONFIG_CLANG_VERSION=140000
CONFIG_AS_IS_LLVM=y
CONFIG_AS_VERSION=140000
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=23800
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_TOOLS_SUPPORT_RELR=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_PAHOLE_VERSION=0
CONFIG_CONSTRUCTORS=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
# CONFIG_WERROR is not set
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_HAVE_KERNEL_ZSTD=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_WATCH_QUEUE=y
CONFIG_CROSS_MEMORY_ATTACH=y
# CONFIG_USELIB is not set
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_IRQ_MSI_IOMMU=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
# end of IRQ subsystem

CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_INIT=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST_IDLE=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_CONTEXT_TRACKING=y
CONFIG_CONTEXT_TRACKING_IDLE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_CONTEXT_TRACKING_USER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=125
# end of Timers subsystem

CONFIG_BPF=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y

#
# BPF subsystem
#
CONFIG_BPF_SYSCALL=y
# CONFIG_BPF_JIT is not set
# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
CONFIG_USERMODE_DRIVER=y
CONFIG_BPF_PRELOAD=y
CONFIG_BPF_PRELOAD_UMD=y
# end of BPF subsystem

CONFIG_PREEMPT_BUILD=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
CONFIG_PREEMPT_DYNAMIC=y
CONFIG_SCHED_CORE=y

#
# CPU/Task time and stats accounting
#
CONFIG_VIRT_CPU_ACCOUNTING=y
# CONFIG_TICK_CPU_ACCOUNTING is not set
CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_SCHED_AVG_IRQ=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_PSI=y
# CONFIG_PSI_DEFAULT_DISABLED is not set
# end of CPU/Task time and stats accounting

CONFIG_CPU_ISOLATION=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
CONFIG_TASKS_RCU=y
CONFIG_TASKS_TRACE_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
# end of RCU Subsystem

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_IKHEADERS is not set
CONFIG_LOG_BUF_SHIFT=18
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
# CONFIG_PRINTK_INDEX is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y

#
# Scheduler features
#
# CONFIG_UCLAMP_TASK is not set
# end of Scheduler features

CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CC_HAS_INT128=y
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough"
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
CONFIG_MEMCG_KMEM=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_SCHED_MM_CID=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_RDMA=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_BPF=y
CONFIG_CGROUP_MISC=y
CONFIG_CGROUP_DEBUG=y
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_TIME_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_CHECKPOINT_RESTORE=y
# CONFIG_SCHED_AUTOGROUP is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
# CONFIG_BOOT_CONFIG is not set
CONFIG_INITRAMFS_PRESERVE_MTIME=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_LD_ORPHAN_WARN=y
CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
CONFIG_SYSCTL=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_IO_URING=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KCMP=y
CONFIG_RSEQ=y
# CONFIG_DEBUG_RSEQ is not set
CONFIG_CACHESTAT_SYSCALL=y
# CONFIG_PC104 is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_SELFTEST is not set
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_GUEST_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# end of Kernel Performance Events And Counters

CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y

#
# Kexec and crash features
#
CONFIG_CRASH_RESERVE=y
CONFIG_VMCORE_INFO=y
CONFIG_KEXEC_CORE=y
CONFIG_KEXEC=y
# CONFIG_KEXEC_FILE is not set
# CONFIG_KEXEC_JUMP is not set
CONFIG_CRASH_DUMP=y
CONFIG_CRASH_HOTPLUG=y
CONFIG_CRASH_MAX_MEMORY_RANGES=8192
# end of Kexec and crash features
# end of General setup

CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_CSUM=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_AUDIT_ARCH=y
CONFIG_KASAN_SHADOW_OFFSET=0xdffffc0000000000
CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_64_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=4
CONFIG_CC_HAS_SANE_STACKPROTECTOR=y

#
# Processor type and features
#
CONFIG_SMP=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_CPU_RESCTRL is not set
# CONFIG_X86_FRED is not set
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_NUMACHIP is not set
# CONFIG_X86_VSMP is not set
# CONFIG_X86_GOLDFISH is not set
# CONFIG_X86_INTEL_MID is not set
# CONFIG_X86_INTEL_LPSS is not set
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
CONFIG_IOSF_MBI=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_DEBUG=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_X86_HV_CALLBACK_VECTOR=y
# CONFIG_XEN is not set
CONFIG_KVM_GUEST=y
CONFIG_ARCH_CPUIDLE_HALTPOLL=y
CONFIG_PVH=y
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_JAILHOUSE_GUEST is not set
# CONFIG_ACRN_GUEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
CONFIG_MCORE2=y
# CONFIG_MATOM is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_P6_NOP=y
CONFIG_X86_TSC=y
CONFIG_X86_HAVE_PAE=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_IA32_FEAT_CTL=y
CONFIG_X86_VMX_FEATURE_NAMES=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
# CONFIG_CPU_SUP_HYGON is not set
# CONFIG_CPU_SUP_CENTAUR is not set
# CONFIG_CPU_SUP_ZHAOXIN is not set
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
# CONFIG_GART_IOMMU is not set
CONFIG_BOOT_VESA_SUPPORT=y
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS_RANGE_BEGIN=2
CONFIG_NR_CPUS_RANGE_END=512
CONFIG_NR_CPUS_DEFAULT=64
CONFIG_NR_CPUS=8
CONFIG_SCHED_CLUSTER=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_SCHED_MC_PRIO=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
# CONFIG_X86_MCELOG_LEGACY is not set
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set

#
# Performance monitoring
#
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_PERF_EVENTS_INTEL_RAPL=y
CONFIG_PERF_EVENTS_INTEL_CSTATE=y
# CONFIG_PERF_EVENTS_AMD_POWER is not set
CONFIG_PERF_EVENTS_AMD_UNCORE=y
# CONFIG_PERF_EVENTS_AMD_BRS is not set
# end of Performance monitoring

CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
CONFIG_X86_VSYSCALL_EMULATION=y
CONFIG_X86_IOPL_IOPERM=y
CONFIG_MICROCODE=y
# CONFIG_MICROCODE_LATE_LOADING is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
# CONFIG_X86_5LEVEL is not set
CONFIG_X86_DIRECT_GBPAGES=y
# CONFIG_X86_CPA_STATISTICS is not set
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NUMA_EMU=y
CONFIG_NODES_SHIFT=6
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
# CONFIG_ARCH_MEMORY_PROBE is not set
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
# CONFIG_X86_PMEM_LEGACY is not set
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_MTRR=y
# CONFIG_MTRR_SANITIZER is not set
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_X86_UMIP=y
CONFIG_CC_HAS_IBT=y
CONFIG_X86_CET=y
CONFIG_X86_KERNEL_IBT=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
# CONFIG_X86_INTEL_TSX_MODE_OFF is not set
CONFIG_X86_INTEL_TSX_MODE_ON=y
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_SGX=y
CONFIG_X86_USER_SHADOW_STACK=y
# CONFIG_EFI is not set
CONFIG_HZ_100=y
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=100
CONFIG_SCHED_HRTICK=y
CONFIG_ARCH_SUPPORTS_KEXEC=y
CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG_FORCE=y
CONFIG_ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_JUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_HOTPLUG=y
CONFIG_ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION=y
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_ADDRESS_MASKING=y
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
CONFIG_LEGACY_VSYSCALL_XONLY=y
# CONFIG_LEGACY_VSYSCALL_NONE is not set
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="earlyprintk=serial net.ifnames=0 sysctl.kernel.hung_task_all_cpu_backtrace=1 ima_policy=tcb nf-conntrack-ftp.ports=20000 nf-conntrack-tftp.ports=20000 nf-conntrack-sip.ports=20000 nf-conntrack-irc.ports=20000 nf-conntrack-sane.ports=20000 binder.debug_mask=0 rcupdate.rcu_expedited=1 rcupdate.rcu_cpu_stall_cputime=1 no_hash_pointers page_owner=on sysctl.vm.nr_hugepages=4 sysctl.vm.nr_overcommit_hugepages=4 secretmem.enable=1 sysctl.max_rcu_stall_to_panic=1 msr.allow_writes=off coredump_filter=0xffff root=/dev/sda console=ttyS0 vsyscall=native numa=fake=2 kvm-intel.nested=1 spec_store_bypass_disable=prctl nopcid vivid.n_devs=16 vivid.multiplanar=1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2 netrom.nr_ndevs=16 rose.rose_ndevs=16 smp.csd_lock_timeout=100000 watchdog_thresh=55 workqueue.watchdog_thresh=140 sysctl.net.core.netdev_unregister_timeout_secs=140 dummy_hcd.num=8 panic_on_warn=1"
# CONFIG_CMDLINE_OVERRIDE is not set
CONFIG_MODIFY_LDT_SYSCALL=y
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
CONFIG_HAVE_LIVEPATCH=y
# end of Processor type and features

CONFIG_CC_HAS_ENTRY_PADDING=y
CONFIG_FUNCTION_PADDING_CFI=11
CONFIG_FUNCTION_PADDING_BYTES=16
CONFIG_CPU_MITIGATIONS=y
CONFIG_MITIGATION_PAGE_TABLE_ISOLATION=y
CONFIG_MITIGATION_RETPOLINE=y
CONFIG_MITIGATION_IBPB_ENTRY=y
CONFIG_MITIGATION_IBRS_ENTRY=y
# CONFIG_MITIGATION_GDS_FORCE is not set
CONFIG_MITIGATION_RFDS=y
CONFIG_MITIGATION_SPECTRE_BHI=y
CONFIG_ARCH_HAS_ADD_PAGES=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_HIBERNATION_SNAPSHOT_DEV=y
CONFIG_HIBERNATION_COMP_LZO=y
# CONFIG_HIBERNATION_COMP_LZ4 is not set
CONFIG_HIBERNATION_DEF_COMP="lzo"
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM=y
CONFIG_PM_DEBUG=y
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_PM_SLEEP_DEBUG=y
# CONFIG_DPM_WATCHDOG is not set
CONFIG_PM_TRACE=y
CONFIG_PM_TRACE_RTC=y
CONFIG_PM_CLK=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_ENERGY_MODEL is not set
CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
CONFIG_ACPI_THERMAL_LIB=y
# CONFIG_ACPI_DEBUGGER is not set
CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_FPDT is not set
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=y
CONFIG_ACPI_FAN=y
# CONFIG_ACPI_TAD is not set
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_CPU_FREQ_PSS=y
CONFIG_ACPI_PROCESSOR_CSTATE=y
CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_PLATFORM_PROFILE=y
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_TABLE_UPGRADE=y
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_HOTPLUG_MEMORY is not set
CONFIG_ACPI_HOTPLUG_IOAPIC=y
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_HED is not set
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
CONFIG_ACPI_NFIT=y
# CONFIG_NFIT_SECURITY_DEBUG is not set
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_HMAT is not set
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
# CONFIG_ACPI_APEI is not set
# CONFIG_ACPI_DPTF is not set
# CONFIG_ACPI_EXTLOG is not set
# CONFIG_ACPI_CONFIGFS is not set
# CONFIG_ACPI_PFRUT is not set
CONFIG_ACPI_PCC=y
# CONFIG_ACPI_FFH is not set
# CONFIG_PMIC_OPREGION is not set
CONFIG_X86_PM_TIMER=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

#
# CPU frequency scaling drivers
#
# CONFIG_CPUFREQ_DT is not set
# CONFIG_CPUFREQ_DT_PLATDEV is not set
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_PCC_CPUFREQ is not set
CONFIG_X86_AMD_PSTATE=y
CONFIG_X86_AMD_PSTATE_DEFAULT_MODE=3
# CONFIG_X86_AMD_PSTATE_UT is not set
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_ACPI_CPUFREQ_CPB=y
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_P4_CLOCKMOD is not set

#
# shared options
#
# end of CPU Frequency scaling

#
# CPU Idle
#
CONFIG_CPU_IDLE=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE_GOV_HALTPOLL=y
CONFIG_HALTPOLL_CPUIDLE=y
# end of CPU Idle

CONFIG_INTEL_IDLE=y
# end of Power management and ACPI options

#
# Bus options (PCI etc.)
#
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_MMCONF_FAM10H=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_ISA_BUS is not set
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
# end of Bus options (PCI etc.)

#
# Binary Emulations
#
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_EMULATION_DEFAULT_DISABLED is not set
CONFIG_X86_X32_ABI=y
CONFIG_COMPAT_32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
# end of Binary Emulations

CONFIG_KVM_COMMON=y
CONFIG_HAVE_KVM_PFNCACHE=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQ_ROUTING=y
CONFIG_HAVE_KVM_DIRTY_RING=y
CONFIG_HAVE_KVM_DIRTY_RING_TSO=y
CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_READONLY_MEM=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_COMPAT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_KVM_XFER_TO_GUEST_WORK=y
CONFIG_HAVE_KVM_PM_NOTIFIER=y
CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y
CONFIG_KVM_GENERIC_MMU_NOTIFIER=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
# CONFIG_KVM_SW_PROTECTED_VM is not set
CONFIG_KVM_INTEL=y
CONFIG_X86_SGX_KVM=y
CONFIG_KVM_AMD=y
# CONFIG_KVM_SMM is not set
CONFIG_KVM_HYPERV=y
CONFIG_KVM_XEN=y
CONFIG_KVM_PROVE_MMU=y
CONFIG_KVM_MAX_NR_VCPUS=1024
CONFIG_AS_AVX512=y
CONFIG_AS_SHA1_NI=y
CONFIG_AS_SHA256_NI=y
CONFIG_AS_TPAUSE=y
CONFIG_AS_GFNI=y
CONFIG_AS_WRUSS=y
CONFIG_ARCH_CONFIGURES_CPU_MITIGATIONS=y

#
# General architecture-dependent options
#
CONFIG_HOTPLUG_SMT=y
CONFIG_HOTPLUG_CORE_SYNC=y
CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
CONFIG_HOTPLUG_CORE_SYNC_FULL=y
CONFIG_HOTPLUG_SPLIT_STARTUP=y
CONFIG_HOTPLUG_PARALLEL=y
CONFIG_GENERIC_ENTRY=y
# CONFIG_KPROBES is not set
CONFIG_JUMP_LABEL=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
# CONFIG_STATIC_CALL_SELFTEST is not set
CONFIG_UPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
CONFIG_ARCH_HAS_CPU_FINALIZE_INIT=y
CONFIG_ARCH_HAS_CPU_PASID=y
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_ARCH_WANTS_NO_INSTR=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_RUST=y
CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
CONFIG_MMU_GATHER_TABLE_FREE=y
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
CONFIG_MMU_GATHER_MERGE_VMAS=y
CONFIG_MMU_LAZY_TLB_REFCOUNT=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
# CONFIG_SECCOMP_CACHE_DEBUG is not set
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_LTO_NONE=y
CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING_USER=y
CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_MOVE_PUD=y
CONFIG_HAVE_MOVE_PMD=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_PMD_MKWRITE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=28
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
CONFIG_HAVE_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
CONFIG_PAGE_SHIFT=12
CONFIG_HAVE_OBJTOOL=y
CONFIG_HAVE_JUMP_LABEL_HACK=y
CONFIG_HAVE_NOINSTR_HACK=y
CONFIG_HAVE_NOINSTR_VALIDATION=y
CONFIG_HAVE_UACCESS_VALIDATION=y
CONFIG_HAVE_STACK_VALIDATION=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_HAVE_ARCH_VMAP_STACK=y
CONFIG_VMAP_STACK=y
CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
# CONFIG_LOCK_EVENT_COUNTS is not set
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_HAVE_STATIC_CALL=y
CONFIG_HAVE_STATIC_CALL_INLINE=y
CONFIG_HAVE_PREEMPT_DYNAMIC=y
CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
CONFIG_DYNAMIC_SIGFRAME=y
CONFIG_HAVE_ARCH_NODE_DEV_GROUP=y
CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# end of GCOV-based kernel profiling

CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_FUNCTION_ALIGNMENT_4B=y
CONFIG_FUNCTION_ALIGNMENT_16B=y
CONFIG_FUNCTION_ALIGNMENT=16
CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT=y
# end of General architecture-dependent options

CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULE_SIG_FORMAT=y
CONFIG_MODULES=y
# CONFIG_MODULE_DEBUG is not set
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
CONFIG_MODVERSIONS=y
CONFIG_ASM_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_MODULE_SIG=y
# CONFIG_MODULE_SIG_FORCE is not set
# CONFIG_MODULE_SIG_ALL is not set
# CONFIG_MODULE_SIG_SHA1 is not set
CONFIG_MODULE_SIG_SHA256=y
# CONFIG_MODULE_SIG_SHA384 is not set
# CONFIG_MODULE_SIG_SHA512 is not set
# CONFIG_MODULE_SIG_SHA3_256 is not set
# CONFIG_MODULE_SIG_SHA3_384 is not set
# CONFIG_MODULE_SIG_SHA3_512 is not set
CONFIG_MODULE_SIG_HASH="sha256"
CONFIG_MODULE_COMPRESS_NONE=y
# CONFIG_MODULE_COMPRESS_GZIP is not set
# CONFIG_MODULE_COMPRESS_XZ is not set
# CONFIG_MODULE_COMPRESS_ZSTD is not set
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
CONFIG_MODPROBE_PATH="/sbin/modprobe"
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_BLOCK_LEGACY_AUTOLOAD=y
CONFIG_BLK_RQ_ALLOC_TIME=y
CONFIG_BLK_CGROUP_RWSTAT=y
CONFIG_BLK_CGROUP_PUNT_BIO=y
CONFIG_BLK_DEV_BSG_COMMON=y
CONFIG_BLK_ICQ=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_INTEGRITY_T10=y
CONFIG_BLK_DEV_WRITE_MOUNTED=y
CONFIG_BLK_DEV_ZONED=y
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_WBT=y
CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_CGROUP_IOLATENCY=y
# CONFIG_BLK_CGROUP_FC_APPID is not set
CONFIG_BLK_CGROUP_IOCOST=y
CONFIG_BLK_CGROUP_IOPRIO=y
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEBUG_FS_ZONED=y
# CONFIG_BLK_SED_OPAL is not set
CONFIG_BLK_INLINE_ENCRYPTION=y
CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
CONFIG_ACORN_PARTITION_CUMANA=y
CONFIG_ACORN_PARTITION_EESOX=y
CONFIG_ACORN_PARTITION_ICS=y
CONFIG_ACORN_PARTITION_ADFS=y
CONFIG_ACORN_PARTITION_POWERTEC=y
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_AIX_PARTITION=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_SYSV68_PARTITION=y
CONFIG_CMDLINE_PARTITION=y
# end of Partition Types

CONFIG_BLK_MQ_PCI=y
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_BLK_PM=y
CONFIG_BLOCK_HOLDER_DEPRECATED=y
CONFIG_BLK_MQ_STACKING=y

#
# IO Schedulers
#
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_IOSCHED_BFQ=y
CONFIG_BFQ_GROUP_IOSCHED=y
CONFIG_BFQ_CGROUP_DEBUG=y
# end of IO Schedulers

CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PADATA=y
CONFIG_ASN1=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
CONFIG_FREEZER=y

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

#
# Memory Management options
#
CONFIG_ZPOOL=y
CONFIG_SWAP=y
CONFIG_ZSWAP=y
CONFIG_ZSWAP_DEFAULT_ON=y
# CONFIG_ZSWAP_SHRINKER_DEFAULT_ON is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC=y
CONFIG_ZSWAP_ZPOOL_DEFAULT="zsmalloc"
# CONFIG_ZBUD is not set
# CONFIG_Z3FOLD is not set
CONFIG_ZSMALLOC=y
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC_CHAIN_SIZE=8

#
# Slab allocator options
#
CONFIG_SLUB=y
# CONFIG_SLUB_TINY is not set
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLAB_FREELIST_RANDOM is not set
# CONFIG_SLAB_FREELIST_HARDENED is not set
# CONFIG_SLUB_STATS is not set
CONFIG_SLUB_CPU_PARTIAL=y
# CONFIG_RANDOM_KMALLOC_CACHES is not set
# end of Slab allocator options

# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
# CONFIG_COMPAT_BRK is not set
CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
CONFIG_HAVE_FAST_GUP=y
CONFIG_NUMA_KEEP_MEMINFO=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MHP_MEMMAP_ON_MEMORY=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_MEMORY_BALLOON=y
# CONFIG_BALLOON_COMPACTION is not set
CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
CONFIG_PAGE_REPORTING=y
CONFIG_MIGRATION=y
CONFIG_DEVICE_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_CONTIG_ALLOC=y
CONFIG_PCP_BATCH_SCALE_MAX=5
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_WANTS_THP_SWAP=y
CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
CONFIG_READ_ONLY_THP_FOR_FS=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_CMA=y
# CONFIG_CMA_DEBUGFS is not set
# CONFIG_CMA_SYSFS is not set
CONFIG_CMA_AREAS=19
CONFIG_MEM_SOFT_DIRTY=y
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
CONFIG_PAGE_IDLE_FLAG=y
# CONFIG_IDLE_PAGE_TRACKING is not set
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
CONFIG_ARCH_HAS_PTE_DEVMAP=y
CONFIG_ARCH_HAS_ZONE_DMA_SET=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA32=y
CONFIG_ZONE_DEVICE=y
CONFIG_HMM_MIRROR=y
CONFIG_GET_FREE_REGION=y
CONFIG_DEVICE_PRIVATE=y
CONFIG_VMAP_PFN=y
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
CONFIG_ARCH_HAS_PKEYS=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PERCPU_STATS=y
# CONFIG_GUP_TEST is not set
# CONFIG_DMAPOOL_TEST is not set
CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_MAPPING_DIRTY_HELPERS=y
CONFIG_KMAP_LOCAL=y
CONFIG_MEMFD_CREATE=y
CONFIG_SECRETMEM=y
CONFIG_ANON_VMA_NAME=y
CONFIG_HAVE_ARCH_USERFAULTFD_WP=y
CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y
CONFIG_USERFAULTFD=y
# CONFIG_PTE_MARKER_UFFD_WP is not set
CONFIG_LRU_GEN=y
CONFIG_LRU_GEN_ENABLED=y
# CONFIG_LRU_GEN_STATS is not set
CONFIG_LRU_GEN_WALKS_MMU=y
CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
CONFIG_PER_VMA_LOCK=y
CONFIG_LOCK_MM_AND_FIND_VMA=y
CONFIG_IOMMU_MM_DATA=y

#
# Data Access Monitoring
#
CONFIG_DAMON=y
CONFIG_DAMON_VADDR=y
CONFIG_DAMON_PADDR=y
# CONFIG_DAMON_SYSFS is not set
# CONFIG_DAMON_DBGFS_DEPRECATED is not set
CONFIG_DAMON_RECLAIM=y
# CONFIG_DAMON_LRU_SORT is not set
# end of Data Access Monitoring
# end of Memory Management options

CONFIG_NET=y
CONFIG_WANT_COMPAT_NETLINK_MESSAGES=y
CONFIG_COMPAT_NETLINK_MESSAGES=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
CONFIG_NET_XGRESS=y
CONFIG_NET_REDIRECT=y
CONFIG_SKB_EXTENSIONS=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y
CONFIG_UNIX=y
CONFIG_AF_UNIX_OOB=y
CONFIG_UNIX_DIAG=y
CONFIG_TLS=y
CONFIG_TLS_DEVICE=y
CONFIG_TLS_TOE=y
CONFIG_XFRM=y
CONFIG_XFRM_OFFLOAD=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_USER_COMPAT=y
CONFIG_XFRM_INTERFACE=y
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_AH=y
CONFIG_XFRM_ESP=y
CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=y
CONFIG_NET_KEY_MIGRATE=y
CONFIG_XFRM_ESPINTCP=y
CONFIG_SMC=y
CONFIG_SMC_DIAG=y
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=y
CONFIG_NET_HANDSHAKE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
CONFIG_NET_IPIP=y
CONFIG_NET_IPGRE_DEMUX=y
CONFIG_NET_IP_TUNNEL=y
CONFIG_NET_IPGRE=y
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE_COMMON=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=y
CONFIG_NET_UDP_TUNNEL=y
CONFIG_NET_FOU=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_ESP_OFFLOAD=y
CONFIG_INET_ESPINTCP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_TABLE_PERTURB_ORDER=16
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_INET_UDP_DIAG=y
CONFIG_INET_RAW_DIAG=y
CONFIG_INET_DIAG_DESTROY=y
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=y
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=y
CONFIG_TCP_CONG_HTCP=y
CONFIG_TCP_CONG_HSTCP=y
CONFIG_TCP_CONG_HYBLA=y
CONFIG_TCP_CONG_VEGAS=y
CONFIG_TCP_CONG_NV=y
CONFIG_TCP_CONG_SCALABLE=y
CONFIG_TCP_CONG_LP=y
CONFIG_TCP_CONG_VENO=y
CONFIG_TCP_CONG_YEAH=y
CONFIG_TCP_CONG_ILLINOIS=y
CONFIG_TCP_CONG_DCTCP=y
CONFIG_TCP_CONG_CDG=y
CONFIG_TCP_CONG_BBR=y
# CONFIG_DEFAULT_BIC is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_HYBLA is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_VENO is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_DCTCP is not set
# CONFIG_DEFAULT_CDG is not set
# CONFIG_DEFAULT_BBR is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_SIGPOOL=y
# CONFIG_TCP_AO is not set
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
CONFIG_INET6_ESP_OFFLOAD=y
CONFIG_INET6_ESPINTCP=y
CONFIG_INET6_IPCOMP=y
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_ILA=y
CONFIG_INET6_XFRM_TUNNEL=y
CONFIG_INET6_TUNNEL=y
CONFIG_IPV6_VTI=y
CONFIG_IPV6_SIT=y
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_GRE=y
CONFIG_IPV6_FOU=y
CONFIG_IPV6_FOU_TUNNEL=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_BPF=y
CONFIG_IPV6_RPL_LWTUNNEL=y
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
CONFIG_NETLABEL=y
CONFIG_MPTCP=y
CONFIG_INET_MPTCP_DIAG=y
CONFIG_MPTCP_IPV6=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_EGRESS=y
CONFIG_NETFILTER_SKIP_EGRESS=y
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_FAMILY_BRIDGE=y
CONFIG_NETFILTER_FAMILY_ARP=y
CONFIG_NETFILTER_BPF_LINK=y
# CONFIG_NETFILTER_NETLINK_HOOK is not set
CONFIG_NETFILTER_NETLINK_ACCT=y
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NETFILTER_NETLINK_OSF=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_LOG_SYSLOG=y
CONFIG_NETFILTER_CONNCOUNT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
# CONFIG_NF_CONNTRACK_PROCFS is not set
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK_OVS=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_GRE=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_BROADCAST=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_SNMP=y
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NF_CT_NETLINK_TIMEOUT=y
CONFIG_NF_CT_NETLINK_HELPER=y
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_AMANDA=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
CONFIG_NF_NAT_SIP=y
CONFIG_NF_NAT_TFTP=y
CONFIG_NF_NAT_REDIRECT=y
CONFIG_NF_NAT_MASQUERADE=y
CONFIG_NF_NAT_OVS=y
CONFIG_NETFILTER_SYNPROXY=y
CONFIG_NF_TABLES=y
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_NETDEV=y
CONFIG_NFT_NUMGEN=y
CONFIG_NFT_CT=y
CONFIG_NFT_FLOW_OFFLOAD=y
CONFIG_NFT_CONNLIMIT=y
CONFIG_NFT_LOG=y
CONFIG_NFT_LIMIT=y
CONFIG_NFT_MASQ=y
CONFIG_NFT_REDIR=y
CONFIG_NFT_NAT=y
CONFIG_NFT_TUNNEL=y
CONFIG_NFT_QUEUE=y
CONFIG_NFT_QUOTA=y
CONFIG_NFT_REJECT=y
CONFIG_NFT_REJECT_INET=y
CONFIG_NFT_COMPAT=y
CONFIG_NFT_HASH=y
CONFIG_NFT_FIB=y
CONFIG_NFT_FIB_INET=y
CONFIG_NFT_XFRM=y
CONFIG_NFT_SOCKET=y
CONFIG_NFT_OSF=y
CONFIG_NFT_TPROXY=y
CONFIG_NFT_SYNPROXY=y
CONFIG_NF_DUP_NETDEV=y
CONFIG_NFT_DUP_NETDEV=y
CONFIG_NFT_FWD_NETDEV=y
CONFIG_NFT_FIB_NETDEV=y
CONFIG_NFT_REJECT_NETDEV=y
CONFIG_NF_FLOW_TABLE_INET=y
CONFIG_NF_FLOW_TABLE=y
# CONFIG_NF_FLOW_TABLE_PROCFS is not set
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XTABLES_COMPAT=y

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=y
CONFIG_NETFILTER_XT_CONNMARK=y
CONFIG_NETFILTER_XT_SET=y

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=y
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_CT=y
CONFIG_NETFILTER_XT_TARGET_DSCP=y
CONFIG_NETFILTER_XT_TARGET_HL=y
CONFIG_NETFILTER_XT_TARGET_HMARK=y
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
CONFIG_NETFILTER_XT_TARGET_LED=y
CONFIG_NETFILTER_XT_TARGET_LOG=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_NAT=y
CONFIG_NETFILTER_XT_TARGET_NETMAP=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
CONFIG_NETFILTER_XT_TARGET_NOTRACK=y
CONFIG_NETFILTER_XT_TARGET_RATEEST=y
CONFIG_NETFILTER_XT_TARGET_REDIRECT=y
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y
CONFIG_NETFILTER_XT_TARGET_TEE=y
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_TRACE=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=y

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_BPF=y
CONFIG_NETFILTER_XT_MATCH_CGROUP=y
CONFIG_NETFILTER_XT_MATCH_CLUSTER=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_CPU=y
CONFIG_NETFILTER_XT_MATCH_DCCP=y
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=y
CONFIG_NETFILTER_XT_MATCH_DSCP=y
CONFIG_NETFILTER_XT_MATCH_ECN=y
CONFIG_NETFILTER_XT_MATCH_ESP=y
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_HL=y
CONFIG_NETFILTER_XT_MATCH_IPCOMP=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_IPVS=y
CONFIG_NETFILTER_XT_MATCH_L2TP=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NETFILTER_XT_MATCH_NFACCT=y
CONFIG_NETFILTER_XT_MATCH_OSF=y
CONFIG_NETFILTER_XT_MATCH_OWNER=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_RATEEST=y
CONFIG_NETFILTER_XT_MATCH_REALM=y
CONFIG_NETFILTER_XT_MATCH_RECENT=y
CONFIG_NETFILTER_XT_MATCH_SCTP=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_TIME=y
CONFIG_NETFILTER_XT_MATCH_U32=y
# end of Core Netfilter Configuration

CONFIG_IP_SET=y
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=y
CONFIG_IP_SET_BITMAP_IPMAC=y
CONFIG_IP_SET_BITMAP_PORT=y
CONFIG_IP_SET_HASH_IP=y
CONFIG_IP_SET_HASH_IPMARK=y
CONFIG_IP_SET_HASH_IPPORT=y
CONFIG_IP_SET_HASH_IPPORTIP=y
CONFIG_IP_SET_HASH_IPPORTNET=y
CONFIG_IP_SET_HASH_IPMAC=y
CONFIG_IP_SET_HASH_MAC=y
CONFIG_IP_SET_HASH_NETPORTNET=y
CONFIG_IP_SET_HASH_NET=y
CONFIG_IP_SET_HASH_NETNET=y
CONFIG_IP_SET_HASH_NETPORT=y
CONFIG_IP_SET_HASH_NETIFACE=y
CONFIG_IP_SET_LIST_SET=y
CONFIG_IP_VS=y
CONFIG_IP_VS_IPV6=y
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=y
CONFIG_IP_VS_WRR=y
CONFIG_IP_VS_LC=y
CONFIG_IP_VS_WLC=y
CONFIG_IP_VS_FO=y
CONFIG_IP_VS_OVF=y
CONFIG_IP_VS_LBLC=y
CONFIG_IP_VS_LBLCR=y
CONFIG_IP_VS_DH=y
CONFIG_IP_VS_SH=y
CONFIG_IP_VS_MH=y
CONFIG_IP_VS_SED=y
CONFIG_IP_VS_NQ=y
CONFIG_IP_VS_TWOS=y

#
# IPVS SH scheduler
#
CONFIG_IP_VS_SH_TAB_BITS=8

#
# IPVS MH scheduler
#
CONFIG_IP_VS_MH_TAB_INDEX=12

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=y
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PE_SIP=y

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_IP_NF_IPTABLES_LEGACY=y
CONFIG_NF_SOCKET_IPV4=y
CONFIG_NF_TPROXY_IPV4=y
CONFIG_NF_TABLES_IPV4=y
CONFIG_NFT_REJECT_IPV4=y
CONFIG_NFT_DUP_IPV4=y
CONFIG_NFT_FIB_IPV4=y
CONFIG_NF_TABLES_ARP=y
CONFIG_NF_DUP_IPV4=y
CONFIG_NF_LOG_ARP=y
CONFIG_NF_LOG_IPV4=y
CONFIG_NF_REJECT_IPV4=y
CONFIG_NF_NAT_SNMP_BASIC=y
CONFIG_NF_NAT_PPTP=y
CONFIG_NF_NAT_H323=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_AH=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_RPFILTER=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_SYNPROXY=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_TTL=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_SECURITY=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_NFT_COMPAT_ARP=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARP_MANGLE=y
# end of IP: Netfilter Configuration

#
# IPv6: Netfilter Configuration
#
CONFIG_IP6_NF_IPTABLES_LEGACY=y
CONFIG_NF_SOCKET_IPV6=y
CONFIG_NF_TPROXY_IPV6=y
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_REJECT_IPV6=y
CONFIG_NFT_DUP_IPV6=y
CONFIG_NFT_FIB_IPV6=y
CONFIG_NF_DUP_IPV6=y
CONFIG_NF_REJECT_IPV6=y
CONFIG_NF_LOG_IPV6=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_AH=y
CONFIG_IP6_NF_MATCH_EUI64=y
CONFIG_IP6_NF_MATCH_FRAG=y
CONFIG_IP6_NF_MATCH_OPTS=y
CONFIG_IP6_NF_MATCH_HL=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=y
CONFIG_IP6_NF_MATCH_MH=y
CONFIG_IP6_NF_MATCH_RPFILTER=y
CONFIG_IP6_NF_MATCH_RT=y
CONFIG_IP6_NF_MATCH_SRH=y
CONFIG_IP6_NF_TARGET_HL=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IP6_NF_TARGET_SYNPROXY=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_RAW=y
CONFIG_IP6_NF_SECURITY=y
CONFIG_IP6_NF_NAT=y
CONFIG_IP6_NF_TARGET_MASQUERADE=y
CONFIG_IP6_NF_TARGET_NPT=y
# end of IPv6: Netfilter Configuration

CONFIG_NF_DEFRAG_IPV6=y
CONFIG_NF_TABLES_BRIDGE=y
CONFIG_NFT_BRIDGE_META=y
CONFIG_NFT_BRIDGE_REJECT=y
CONFIG_NF_CONNTRACK_BRIDGE=y
CONFIG_BRIDGE_NF_EBTABLES_LEGACY=y
CONFIG_BRIDGE_NF_EBTABLES=y
CONFIG_BRIDGE_EBT_BROUTE=y
CONFIG_BRIDGE_EBT_T_FILTER=y
CONFIG_BRIDGE_EBT_T_NAT=y
CONFIG_BRIDGE_EBT_802_3=y
CONFIG_BRIDGE_EBT_AMONG=y
CONFIG_BRIDGE_EBT_ARP=y
CONFIG_BRIDGE_EBT_IP=y
CONFIG_BRIDGE_EBT_IP6=y
CONFIG_BRIDGE_EBT_LIMIT=y
CONFIG_BRIDGE_EBT_MARK=y
CONFIG_BRIDGE_EBT_PKTTYPE=y
CONFIG_BRIDGE_EBT_STP=y
CONFIG_BRIDGE_EBT_VLAN=y
CONFIG_BRIDGE_EBT_ARPREPLY=y
CONFIG_BRIDGE_EBT_DNAT=y
CONFIG_BRIDGE_EBT_MARK_T=y
CONFIG_BRIDGE_EBT_REDIRECT=y
CONFIG_BRIDGE_EBT_SNAT=y
CONFIG_BRIDGE_EBT_LOG=y
CONFIG_BRIDGE_EBT_NFLOG=y
CONFIG_IP_DCCP=y
CONFIG_INET_DCCP_DIAG=y

#
# DCCP CCIDs Configuration
#
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_TFRC_LIB=y
# end of DCCP CCIDs Configuration

#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
# end of DCCP Kernel Hacking

CONFIG_IP_SCTP=y
# CONFIG_SCTP_DBG_OBJCNT is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_COOKIE_HMAC_MD5=y
CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_INET_SCTP_DIAG=y
CONFIG_RDS=y
CONFIG_RDS_RDMA=y
CONFIG_RDS_TCP=y
# CONFIG_RDS_DEBUG is not set
CONFIG_TIPC=y
CONFIG_TIPC_MEDIA_IB=y
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=y
CONFIG_ATM=y
CONFIG_ATM_CLIP=y
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=y
CONFIG_ATM_MPOA=y
CONFIG_ATM_BR2684=y
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_L2TP=y
# CONFIG_L2TP_DEBUGFS is not set
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=y
CONFIG_L2TP_ETH=y
CONFIG_STP=y
CONFIG_GARP=y
CONFIG_MRP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_BRIDGE_MRP=y
CONFIG_BRIDGE_CFM=y
CONFIG_NET_DSA=y
# CONFIG_NET_DSA_TAG_NONE is not set
# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_BRCM_COMMON=y
CONFIG_NET_DSA_TAG_BRCM=y
# CONFIG_NET_DSA_TAG_BRCM_LEGACY is not set
CONFIG_NET_DSA_TAG_BRCM_PREPEND=y
# CONFIG_NET_DSA_TAG_HELLCREEK is not set
# CONFIG_NET_DSA_TAG_GSWIP is not set
# CONFIG_NET_DSA_TAG_DSA is not set
# CONFIG_NET_DSA_TAG_EDSA is not set
CONFIG_NET_DSA_TAG_MTK=y
# CONFIG_NET_DSA_TAG_KSZ is not set
# CONFIG_NET_DSA_TAG_OCELOT is not set
# CONFIG_NET_DSA_TAG_OCELOT_8021Q is not set
CONFIG_NET_DSA_TAG_QCA=y
CONFIG_NET_DSA_TAG_RTL4_A=y
# CONFIG_NET_DSA_TAG_RTL8_4 is not set
# CONFIG_NET_DSA_TAG_RZN1_A5PSW is not set
# CONFIG_NET_DSA_TAG_LAN9303 is not set
# CONFIG_NET_DSA_TAG_SJA1105 is not set
# CONFIG_NET_DSA_TAG_TRAILER is not set
# CONFIG_NET_DSA_TAG_XRS700X is not set
CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_LLC=y
CONFIG_LLC2=y
# CONFIG_ATALK is not set
CONFIG_X25=y
CONFIG_LAPB=y
CONFIG_PHONET=y
CONFIG_6LOWPAN=y
# CONFIG_6LOWPAN_DEBUGFS is not set
CONFIG_6LOWPAN_NHC=y
CONFIG_6LOWPAN_NHC_DEST=y
CONFIG_6LOWPAN_NHC_FRAGMENT=y
CONFIG_6LOWPAN_NHC_HOP=y
CONFIG_6LOWPAN_NHC_IPV6=y
CONFIG_6LOWPAN_NHC_MOBILITY=y
CONFIG_6LOWPAN_NHC_ROUTING=y
CONFIG_6LOWPAN_NHC_UDP=y
CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=y
CONFIG_6LOWPAN_GHC_UDP=y
CONFIG_6LOWPAN_GHC_ICMPV6=y
CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=y
CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=y
CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=y
CONFIG_IEEE802154=y
CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y
CONFIG_IEEE802154_SOCKET=y
CONFIG_IEEE802154_6LOWPAN=y
CONFIG_MAC802154=y
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_HFSC=y
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_MULTIQ=y
CONFIG_NET_SCH_RED=y
CONFIG_NET_SCH_SFB=y
CONFIG_NET_SCH_SFQ=y
CONFIG_NET_SCH_TEQL=y
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_CBS=y
CONFIG_NET_SCH_ETF=y
CONFIG_NET_SCH_MQPRIO_LIB=y
CONFIG_NET_SCH_TAPRIO=y
CONFIG_NET_SCH_GRED=y
CONFIG_NET_SCH_NETEM=y
CONFIG_NET_SCH_DRR=y
CONFIG_NET_SCH_MQPRIO=y
CONFIG_NET_SCH_SKBPRIO=y
CONFIG_NET_SCH_CHOKE=y
CONFIG_NET_SCH_QFQ=y
CONFIG_NET_SCH_CODEL=y
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_CAKE=y
CONFIG_NET_SCH_FQ=y
CONFIG_NET_SCH_HHF=y
CONFIG_NET_SCH_PIE=y
CONFIG_NET_SCH_FQ_PIE=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_SCH_PLUG=y
CONFIG_NET_SCH_ETS=y
CONFIG_NET_SCH_DEFAULT=y
# CONFIG_DEFAULT_FQ is not set
# CONFIG_DEFAULT_CODEL is not set
# CONFIG_DEFAULT_FQ_CODEL is not set
# CONFIG_DEFAULT_FQ_PIE is not set
# CONFIG_DEFAULT_SFQ is not set
CONFIG_DEFAULT_PFIFO_FAST=y
CONFIG_DEFAULT_NET_SCH="pfifo_fast"

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=y
CONFIG_NET_CLS_ROUTE4=y
CONFIG_NET_CLS_FW=y
CONFIG_NET_CLS_U32=y
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_FLOW=y
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_FLOWER=y
CONFIG_NET_CLS_MATCHALL=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=y
CONFIG_NET_EMATCH_NBYTE=y
CONFIG_NET_EMATCH_U32=y
CONFIG_NET_EMATCH_META=y
CONFIG_NET_EMATCH_TEXT=y
CONFIG_NET_EMATCH_CANID=y
CONFIG_NET_EMATCH_IPSET=y
CONFIG_NET_EMATCH_IPT=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=y
CONFIG_NET_ACT_GACT=y
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=y
CONFIG_NET_ACT_SAMPLE=y
CONFIG_NET_ACT_NAT=y
CONFIG_NET_ACT_PEDIT=y
CONFIG_NET_ACT_SIMP=y
CONFIG_NET_ACT_SKBEDIT=y
CONFIG_NET_ACT_CSUM=y
CONFIG_NET_ACT_MPLS=y
CONFIG_NET_ACT_VLAN=y
CONFIG_NET_ACT_BPF=y
CONFIG_NET_ACT_CONNMARK=y
CONFIG_NET_ACT_CTINFO=y
CONFIG_NET_ACT_SKBMOD=y
CONFIG_NET_ACT_IFE=y
CONFIG_NET_ACT_TUNNEL_KEY=y
CONFIG_NET_ACT_CT=y
CONFIG_NET_ACT_GATE=y
CONFIG_NET_IFE_SKBMARK=y
CONFIG_NET_IFE_SKBPRIO=y
CONFIG_NET_IFE_SKBTCINDEX=y
CONFIG_NET_TC_SKB_EXT=y
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=y
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
CONFIG_BATMAN_ADV_NC=y
CONFIG_BATMAN_ADV_MCAST=y
# CONFIG_BATMAN_ADV_DEBUG is not set
# CONFIG_BATMAN_ADV_TRACING is not set
CONFIG_OPENVSWITCH=y
CONFIG_OPENVSWITCH_GRE=y
CONFIG_OPENVSWITCH_VXLAN=y
CONFIG_OPENVSWITCH_GENEVE=y
CONFIG_VSOCKETS=y
CONFIG_VSOCKETS_DIAG=y
CONFIG_VSOCKETS_LOOPBACK=y
# CONFIG_VMWARE_VMCI_VSOCKETS is not set
CONFIG_VIRTIO_VSOCKETS=y
CONFIG_VIRTIO_VSOCKETS_COMMON=y
CONFIG_NETLINK_DIAG=y
CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=y
CONFIG_MPLS_ROUTING=y
CONFIG_MPLS_IPTUNNEL=y
CONFIG_NET_NSH=y
CONFIG_HSR=y
CONFIG_NET_SWITCHDEV=y
CONFIG_NET_L3_MASTER_DEV=y
CONFIG_QRTR=y
CONFIG_QRTR_TUN=y
# CONFIG_QRTR_MHI is not set
CONFIG_NET_NCSI=y
# CONFIG_NCSI_OEM_CMD_GET_MAC is not set
# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set
# CONFIG_PCPU_DEV_REFCNT is not set
CONFIG_MAX_SKB_FRAGS=17
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_SOCK_RX_QUEUE_MAPPING=y
CONFIG_XPS=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_NET_FLOW_LIMIT=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
CONFIG_NET_DROP_MONITOR=y
# end of Network testing
# end of Networking options

CONFIG_HAMRADIO=y

#
# Packet Radio protocols
#
CONFIG_AX25=y
CONFIG_AX25_DAMA_SLAVE=y
CONFIG_NETROM=y
CONFIG_ROSE=y

#
# AX.25 network device drivers
#
CONFIG_MKISS=y
CONFIG_6PACK=y
CONFIG_BPQETHER=y
# CONFIG_BAYCOM_SER_FDX is not set
# CONFIG_BAYCOM_SER_HDX is not set
# CONFIG_BAYCOM_PAR is not set
# CONFIG_YAM is not set
# end of AX.25 network device drivers

CONFIG_CAN=y
CONFIG_CAN_RAW=y
CONFIG_CAN_BCM=y
CONFIG_CAN_GW=y
CONFIG_CAN_J1939=y
CONFIG_CAN_ISOTP=y
CONFIG_BT=y
CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=y
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=y
CONFIG_BT_HIDP=y
CONFIG_BT_LE=y
CONFIG_BT_LE_L2CAP_ECRED=y
CONFIG_BT_6LOWPAN=y
CONFIG_BT_LEDS=y
CONFIG_BT_MSFTEXT=y
# CONFIG_BT_AOSPEXT is not set
# CONFIG_BT_DEBUGFS is not set
# CONFIG_BT_SELFTEST is not set

#
# Bluetooth device drivers
#
CONFIG_BT_INTEL=y
CONFIG_BT_BCM=y
CONFIG_BT_RTL=y
CONFIG_BT_QCA=y
CONFIG_BT_MTK=y
CONFIG_BT_HCIBTUSB=y
# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_POLL_SYNC=y
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_MTK=y
CONFIG_BT_HCIBTUSB_RTL=y
# CONFIG_BT_HCIBTSDIO is not set
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_SERDEV=y
CONFIG_BT_HCIUART_H4=y
# CONFIG_BT_HCIUART_NOKIA is not set
CONFIG_BT_HCIUART_BCSP=y
# CONFIG_BT_HCIUART_ATH3K is not set
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART_3WIRE=y
# CONFIG_BT_HCIUART_INTEL is not set
# CONFIG_BT_HCIUART_BCM is not set
# CONFIG_BT_HCIUART_RTL is not set
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIUART_AG6XX=y
CONFIG_BT_HCIUART_MRVL=y
CONFIG_BT_HCIBCM203X=y
# CONFIG_BT_HCIBCM4377 is not set
CONFIG_BT_HCIBPA10X=y
CONFIG_BT_HCIBFUSB=y
# CONFIG_BT_HCIDTL1 is not set
# CONFIG_BT_HCIBT3C is not set
# CONFIG_BT_HCIBLUECARD is not set
CONFIG_BT_HCIVHCI=y
# CONFIG_BT_MRVL is not set
CONFIG_BT_ATH3K=y
# CONFIG_BT_MTKSDIO is not set
# CONFIG_BT_MTKUART is not set
# CONFIG_BT_VIRTIO is not set
# CONFIG_BT_NXPUART is not set
# end of Bluetooth device drivers

CONFIG_AF_RXRPC=y
CONFIG_AF_RXRPC_IPV6=y
# CONFIG_AF_RXRPC_INJECT_LOSS is not set
# CONFIG_AF_RXRPC_INJECT_RX_DELAY is not set
# CONFIG_AF_RXRPC_DEBUG is not set
CONFIG_RXKAD=y
# CONFIG_RXPERF is not set
CONFIG_AF_KCM=y
CONFIG_STREAM_PARSER=y
# CONFIG_MCTP is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=y
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
CONFIG_CFG80211_DEFAULT_PS=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=y
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
CONFIG_RFKILL=y
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_NET_9P=y
CONFIG_NET_9P_FD=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_NET_9P_RDMA=y
# CONFIG_NET_9P_DEBUG is not set
CONFIG_CAIF=y
CONFIG_CAIF_DEBUG=y
CONFIG_CAIF_NETDEV=y
CONFIG_CAIF_USB=y
CONFIG_CEPH_LIB=y
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
CONFIG_NFC=y
CONFIG_NFC_DIGITAL=y
CONFIG_NFC_NCI=y
# CONFIG_NFC_NCI_SPI is not set
CONFIG_NFC_NCI_UART=y
CONFIG_NFC_HCI=y
CONFIG_NFC_SHDLC=y

#
# Near Field Communication (NFC) devices
#
# CONFIG_NFC_TRF7970A is not set
CONFIG_NFC_SIM=y
CONFIG_NFC_PORT100=y
CONFIG_NFC_VIRTUAL_NCI=y
CONFIG_NFC_FDP=y
# CONFIG_NFC_FDP_I2C is not set
# CONFIG_NFC_PN544_I2C is not set
CONFIG_NFC_PN533=y
CONFIG_NFC_PN533_USB=y
# CONFIG_NFC_PN533_I2C is not set
# CONFIG_NFC_PN532_UART is not set
# CONFIG_NFC_MICROREAD_I2C is not set
CONFIG_NFC_MRVL=y
CONFIG_NFC_MRVL_USB=y
# CONFIG_NFC_MRVL_UART is not set
# CONFIG_NFC_MRVL_I2C is not set
# CONFIG_NFC_ST21NFCA_I2C is not set
# CONFIG_NFC_ST_NCI_I2C is not set
# CONFIG_NFC_ST_NCI_SPI is not set
# CONFIG_NFC_NXP_NCI is not set
# CONFIG_NFC_S3FWRN5_I2C is not set
# CONFIG_NFC_S3FWRN82_UART is not set
# CONFIG_NFC_ST95HF is not set
# end of Near Field Communication (NFC) devices

CONFIG_PSAMPLE=y
CONFIG_NET_IFE=y
CONFIG_LWTUNNEL=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
CONFIG_SOCK_VALIDATE_XMIT=y
CONFIG_NET_SELFTESTS=y
CONFIG_NET_SOCK_MSG=y
CONFIG_NET_DEVLINK=y
CONFIG_PAGE_POOL=y
# CONFIG_PAGE_POOL_STATS is not set
CONFIG_FAILOVER=y
CONFIG_ETHTOOL_NETLINK=y

#
# Device Drivers
#
CONFIG_HAVE_EISA=y
# CONFIG_EISA is not set
CONFIG_HAVE_PCI=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_PCIEAER=y
# CONFIG_PCIEAER_INJECT is not set
# CONFIG_PCIE_ECRC is not set
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
# CONFIG_PCIE_DPC is not set
# CONFIG_PCIE_PTM is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
# CONFIG_PCI_STUB is not set
# CONFIG_PCI_PF_STUB is not set
CONFIG_PCI_ATS=y
CONFIG_PCI_ECAM=y
CONFIG_PCI_LOCKLESS_CONFIG=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
# CONFIG_PCI_P2PDMA is not set
CONFIG_PCI_LABEL=y
# CONFIG_PCI_DYNAMIC_OF_NODES is not set
# CONFIG_PCIE_BUS_TUNE_OFF is not set
CONFIG_PCIE_BUS_DEFAULT=y
# CONFIG_PCIE_BUS_SAFE is not set
# CONFIG_PCIE_BUS_PERFORMANCE is not set
# CONFIG_PCIE_BUS_PEER2PEER is not set
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_ACPI is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set

#
# PCI controller drivers
#
# CONFIG_PCI_FTPCI100 is not set
CONFIG_PCI_HOST_COMMON=y
CONFIG_PCI_HOST_GENERIC=y
# CONFIG_VMD is not set
# CONFIG_PCIE_MICROCHIP_HOST is not set
# CONFIG_PCIE_XILINX is not set

#
# Cadence-based PCIe controllers
#
# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
# CONFIG_PCIE_CADENCE_PLAT_EP is not set
# end of Cadence-based PCIe controllers

#
# DesignWare-based PCIe controllers
#
# CONFIG_PCI_MESON is not set
# CONFIG_PCIE_INTEL_GW is not set
# CONFIG_PCIE_DW_PLAT_HOST is not set
# CONFIG_PCIE_DW_PLAT_EP is not set
# end of DesignWare-based PCIe controllers

#
# Mobiveil-based PCIe controllers
#
# end of Mobiveil-based PCIe controllers
# end of PCI controller drivers

#
# PCI Endpoint
#
CONFIG_PCI_ENDPOINT=y
# CONFIG_PCI_ENDPOINT_CONFIGFS is not set
# CONFIG_PCI_EPF_TEST is not set
# CONFIG_PCI_EPF_NTB is not set
# end of PCI Endpoint

#
# PCI switch controller drivers
#
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers

# CONFIG_CXL_BUS is not set
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=y
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
CONFIG_PCCARD_NONSTATIC=y
# CONFIG_RAPIDIO is not set

#
# Generic Driver Options
#
CONFIG_AUXILIARY_BUS=y
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_DEVTMPFS_SAFE is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y

#
# Firmware loader
#
CONFIG_FW_LOADER=y
# CONFIG_FW_LOADER_DEBUG is not set
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_FW_LOADER_SYSFS=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_COMPRESS_XZ is not set
# CONFIG_FW_LOADER_COMPRESS_ZSTD is not set
CONFIG_FW_CACHE=y
# CONFIG_FW_UPLOAD is not set
# end of Firmware loader

CONFIG_WANT_DEV_COREDUMP=y
CONFIG_ALLOW_DEV_COREDUMP=y
CONFIG_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
CONFIG_DEBUG_DEVRES=y
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
CONFIG_GENERIC_CPU_DEVICES=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_CPU_VULNERABILITIES=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_IRQ=y
CONFIG_DMA_SHARED_BUFFER=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
# end of Generic Driver Options

#
# Bus devices
#
# CONFIG_MOXTET is not set
CONFIG_MHI_BUS=y
# CONFIG_MHI_BUS_DEBUG is not set
# CONFIG_MHI_BUS_PCI_GENERIC is not set
# CONFIG_MHI_BUS_EP is not set
# end of Bus devices

#
# Cache Drivers
#
# end of Cache Drivers

CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y

#
# Firmware Drivers
#

#
# ARM System Control and Management Interface Protocol
#
# end of ARM System Control and Management Interface Protocol

# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DMIID=y
# CONFIG_DMI_SYSFS is not set
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_ISCSI_IBFT is not set
# CONFIG_FW_CFG_SYSFS is not set
CONFIG_SYSFB=y
# CONFIG_SYSFB_SIMPLEFB is not set
CONFIG_GOOGLE_FIRMWARE=y
# CONFIG_GOOGLE_SMI is not set
# CONFIG_GOOGLE_CBMEM is not set
CONFIG_GOOGLE_COREBOOT_TABLE=y
CONFIG_GOOGLE_MEMCONSOLE=y
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
# CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT is not set
CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=y
CONFIG_GOOGLE_VPD=y

#
# Qualcomm firmware drivers
#
# end of Qualcomm firmware drivers

#
# Tegra firmware driver
#
# end of Tegra firmware driver
# end of Firmware Drivers

# CONFIG_GNSS is not set
CONFIG_MTD=y
# CONFIG_MTD_TESTS is not set

#
# Partition parsers
#
# CONFIG_MTD_CMDLINE_PARTS is not set
# CONFIG_MTD_OF_PARTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
# end of Partition parsers

#
# User Modules And Translation Layers
#
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y

#
# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK.
#
CONFIG_FTL=y
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
# CONFIG_SM_FTL is not set
# CONFIG_MTD_OOPS is not set
# CONFIG_MTD_SWAP is not set
# CONFIG_MTD_PARTITIONED_MASTER is not set

#
# RAM/ROM/Flash chip drivers
#
# CONFIG_MTD_CFI is not set
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
# end of RAM/ROM/Flash chip drivers

#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PLATRAM is not set
# end of Mapping drivers for chip access

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_DATAFLASH is not set
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MCHP48L640 is not set
# CONFIG_MTD_SST25L is not set
CONFIG_MTD_SLRAM=y
CONFIG_MTD_PHRAM=y
CONFIG_MTD_MTDRAM=y
CONFIG_MTDRAM_TOTAL_SIZE=128
CONFIG_MTDRAM_ERASE_SIZE=4
CONFIG_MTD_BLOCK2MTD=y

#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOCG3 is not set
# end of Self-contained MTD device drivers

#
# NAND
#
# CONFIG_MTD_ONENAND is not set
# CONFIG_MTD_RAW_NAND is not set
# CONFIG_MTD_SPI_NAND is not set

#
# ECC engine support
#
# CONFIG_MTD_NAND_ECC_SW_HAMMING is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_MXIC is not set
# end of ECC engine support
# end of NAND

#
# LPDDR & LPDDR2 PCM memory drivers
#
# CONFIG_MTD_LPDDR is not set
# end of LPDDR & LPDDR2 PCM memory drivers

# CONFIG_MTD_SPI_NOR is not set
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
# CONFIG_MTD_UBI_FASTMAP is not set
# CONFIG_MTD_UBI_GLUEBI is not set
# CONFIG_MTD_UBI_BLOCK is not set
# CONFIG_MTD_UBI_FAULT_INJECTION is not set
# CONFIG_MTD_UBI_NVMEM is not set
# CONFIG_MTD_HYPERBUS is not set
CONFIG_DTC=y
CONFIG_OF=y
# CONFIG_OF_UNITTEST is not set
CONFIG_OF_FLATTREE=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_KOBJ=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_IRQ=y
CONFIG_OF_RESERVED_MEM=y
# CONFIG_OF_OVERLAY is not set
CONFIG_OF_NUMA=y
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_PARPORT=y
# CONFIG_PARPORT_PC is not set
# CONFIG_PARPORT_1284 is not set
CONFIG_PARPORT_NOT_PC=y
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_NULL_BLK=y
CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
# CONFIG_BLK_DEV_FD is not set
CONFIG_CDROM=y
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
CONFIG_ZRAM=y
CONFIG_ZRAM_DEF_COMP_LZORLE=y
# CONFIG_ZRAM_DEF_COMP_ZSTD is not set
# CONFIG_ZRAM_DEF_COMP_LZ4 is not set
# CONFIG_ZRAM_DEF_COMP_LZO is not set
# CONFIG_ZRAM_DEF_COMP_LZ4HC is not set
# CONFIG_ZRAM_DEF_COMP_842 is not set
CONFIG_ZRAM_DEF_COMP="lzo-rle"
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZRAM_TRACK_ENTRY_ACTIME is not set
# CONFIG_ZRAM_MEMORY_TRACKING is not set
# CONFIG_ZRAM_MULTI_COMP is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=16
# CONFIG_BLK_DEV_DRBD is not set
CONFIG_BLK_DEV_NBD=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_CDROM_PKTCDVD is not set
CONFIG_ATA_OVER_ETH=y
CONFIG_VIRTIO_BLK=y
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_BLK_DEV_UBLK is not set
CONFIG_BLK_DEV_RNBD=y
CONFIG_BLK_DEV_RNBD_CLIENT=y

#
# NVME Support
#
CONFIG_NVME_CORE=y
CONFIG_BLK_DEV_NVME=y
CONFIG_NVME_MULTIPATH=y
# CONFIG_NVME_VERBOSE_ERRORS is not set
# CONFIG_NVME_HWMON is not set
CONFIG_NVME_FABRICS=y
CONFIG_NVME_RDMA=y
CONFIG_NVME_FC=y
CONFIG_NVME_TCP=y
# CONFIG_NVME_TCP_TLS is not set
# CONFIG_NVME_HOST_AUTH is not set
CONFIG_NVME_TARGET=y
# CONFIG_NVME_TARGET_PASSTHRU is not set
CONFIG_NVME_TARGET_LOOP=y
CONFIG_NVME_TARGET_RDMA=y
CONFIG_NVME_TARGET_FC=y
CONFIG_NVME_TARGET_FCLOOP=y
CONFIG_NVME_TARGET_TCP=y
# CONFIG_NVME_TARGET_TCP_TLS is not set
# CONFIG_NVME_TARGET_AUTH is not set
# end of NVME Support

#
# Misc devices
#
# CONFIG_AD525X_DPOT is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
# CONFIG_VMWARE_BALLOON is not set
# CONFIG_LATTICE_ECP3_CONFIG is not set
# CONFIG_SRAM is not set
# CONFIG_DW_XDATA_PCIE is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_XILINX_SDFEC is not set
CONFIG_MISC_RTSX=y
# CONFIG_HISI_HIKEY_USB is not set
# CONFIG_OPEN_DICE is not set
# CONFIG_VCPU_STALL_DETECTOR is not set
# CONFIG_NSM is not set
# CONFIG_C2PORT is not set

#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_AT25 is not set
# CONFIG_EEPROM_MAX6875 is not set
CONFIG_EEPROM_93CX6=y
# CONFIG_EEPROM_93XX46 is not set
# CONFIG_EEPROM_IDT_89HPESX is not set
# CONFIG_EEPROM_EE1004 is not set
# end of EEPROM support

# CONFIG_CB710_CORE is not set

#
# Texas Instruments shared transport line discipline
#
# CONFIG_TI_ST is not set
# end of Texas Instruments shared transport line discipline

# CONFIG_SENSORS_LIS3_I2C is not set
# CONFIG_ALTERA_STAPL is not set
# CONFIG_INTEL_MEI is not set
CONFIG_VMWARE_VMCI=y
# CONFIG_GENWQE is not set
# CONFIG_ECHO is not set
# CONFIG_BCM_VK is not set
# CONFIG_MISC_ALCOR_PCI is not set
# CONFIG_MISC_RTSX_PCI is not set
CONFIG_MISC_RTSX_USB=y
# CONFIG_UACCE is not set
# CONFIG_PVPANIC is not set
# CONFIG_GP_PCI1XXXX is not set
# end of Misc devices

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=y
CONFIG_SCSI_COMMON=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_CHR_DEV_SCH is not set
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_ATA=y
# CONFIG_SCSI_SAS_HOST_SMP is not set
CONFIG_SCSI_SRP_ATTRS=y
# end of SCSI Transports

CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_CXGB4_ISCSI is not set
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_SCSI_HPSA=y
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_ESAS2R is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_MPT3SAS is not set
# CONFIG_SCSI_MPT2SAS is not set
# CONFIG_SCSI_MPI3MR is not set
# CONFIG_SCSI_SMARTPQI is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_MYRB is not set
# CONFIG_SCSI_MYRS is not set
# CONFIG_VMWARE_PVSCSI is not set
# CONFIG_LIBFC is not set
# CONFIG_SCSI_SNIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_FDOMAIN_PCI is not set
# CONFIG_SCSI_ISCI is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_EFCT is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_WD719X is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
# CONFIG_SCSI_BFA_FC is not set
CONFIG_SCSI_VIRTIO=y
# CONFIG_SCSI_CHELSIO_FCOE is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
# CONFIG_SCSI_DH is not set
# end of SCSI device support

CONFIG_ATA=y
CONFIG_SATA_HOST=y
CONFIG_PATA_TIMINGS=y
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_FORCE=y
CONFIG_ATA_ACPI=y
# CONFIG_SATA_ZPODD is not set
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=y
CONFIG_SATA_MOBILE_LPM_POLICY=0
# CONFIG_SATA_AHCI_PLATFORM is not set
# CONFIG_AHCI_DWC is not set
# CONFIG_AHCI_CEVA is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_SATA_ACARD_AHCI is not set
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_SX4 is not set
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set

#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not set
CONFIG_PATA_AMD=y
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
CONFIG_PATA_OLDPIIX=y
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RDC is not set
CONFIG_PATA_SCH=y
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_PCMCIA is not set
# CONFIG_PATA_OF_PLATFORM is not set
# CONFIG_PATA_RZ1000 is not set

#
# Generic fallback / legacy drivers
#
# CONFIG_PATA_ACPI is not set
CONFIG_ATA_GENERIC=y
# CONFIG_PATA_LEGACY is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
CONFIG_MD_BITMAP_FILE=y
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
CONFIG_MD_RAID10=y
CONFIG_MD_RAID456=y
# CONFIG_MD_CLUSTER is not set
CONFIG_BCACHE=y
# CONFIG_BCACHE_DEBUG is not set
# CONFIG_BCACHE_ASYNC_REGISTRATION is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_DEBUG is not set
CONFIG_DM_BUFIO=y
# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
CONFIG_DM_BIO_PRISON=y
CONFIG_DM_PERSISTENT_DATA=y
# CONFIG_DM_UNSTRIPED is not set
CONFIG_DM_CRYPT=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_THIN_PROVISIONING=y
CONFIG_DM_CACHE=y
CONFIG_DM_CACHE_SMQ=y
CONFIG_DM_WRITECACHE=y
# CONFIG_DM_EBS is not set
# CONFIG_DM_ERA is not set
CONFIG_DM_CLONE=y
CONFIG_DM_MIRROR=y
# CONFIG_DM_LOG_USERSPACE is not set
CONFIG_DM_RAID=y
CONFIG_DM_ZERO=y
CONFIG_DM_MULTIPATH=y
CONFIG_DM_MULTIPATH_QL=y
CONFIG_DM_MULTIPATH_ST=y
# CONFIG_DM_MULTIPATH_HST is not set
# CONFIG_DM_MULTIPATH_IOA is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_DUST is not set
# CONFIG_DM_INIT is not set
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=y
CONFIG_DM_VERITY=y
# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set
CONFIG_DM_VERITY_FEC=y
# CONFIG_DM_SWITCH is not set
# CONFIG_DM_LOG_WRITES is not set
CONFIG_DM_INTEGRITY=y
CONFIG_DM_ZONED=y
CONFIG_DM_AUDIT=y
# CONFIG_DM_VDO is not set
CONFIG_TARGET_CORE=y
# CONFIG_TCM_IBLOCK is not set
# CONFIG_TCM_FILEIO is not set
# CONFIG_TCM_PSCSI is not set
# CONFIG_LOOPBACK_TARGET is not set
# CONFIG_ISCSI_TARGET is not set
# CONFIG_SBP_TARGET is not set
# CONFIG_REMOTE_TARGET is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=y
CONFIG_FIREWIRE_OHCI=y
CONFIG_FIREWIRE_SBP2=y
CONFIG_FIREWIRE_NET=y
# CONFIG_FIREWIRE_NOSY is not set
# end of IEEE 1394 (FireWire) support

# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_MII=y
CONFIG_NET_CORE=y
CONFIG_BONDING=y
CONFIG_DUMMY=y
CONFIG_WIREGUARD=y
# CONFIG_WIREGUARD_DEBUG is not set
CONFIG_EQUALIZER=y
CONFIG_NET_FC=y
CONFIG_IFB=y
CONFIG_NET_TEAM=y
CONFIG_NET_TEAM_MODE_BROADCAST=y
CONFIG_NET_TEAM_MODE_ROUNDROBIN=y
CONFIG_NET_TEAM_MODE_RANDOM=y
CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=y
CONFIG_NET_TEAM_MODE_LOADBALANCE=y
CONFIG_MACVLAN=y
CONFIG_MACVTAP=y
CONFIG_IPVLAN_L3S=y
CONFIG_IPVLAN=y
CONFIG_IPVTAP=y
CONFIG_VXLAN=y
CONFIG_GENEVE=y
CONFIG_BAREUDP=y
CONFIG_GTP=y
# CONFIG_AMT is not set
CONFIG_MACSEC=y
CONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not set
# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETPOLL=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=y
CONFIG_TAP=y
CONFIG_TUN_VNET_CROSS_LE=y
CONFIG_VETH=y
CONFIG_VIRTIO_NET=y
CONFIG_NLMON=y
# CONFIG_NETKIT is not set
CONFIG_NET_VRF=y
CONFIG_VSOCKMON=y
# CONFIG_MHI_NET is not set
# CONFIG_ARCNET is not set
CONFIG_ATM_DRIVERS=y
# CONFIG_ATM_DUMMY is not set
CONFIG_ATM_TCP=y
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_NICSTAR is not set
# CONFIG_ATM_IDT77252 is not set
# CONFIG_ATM_IA is not set
# CONFIG_ATM_FORE200E is not set
# CONFIG_ATM_HE is not set
# CONFIG_ATM_SOLOS is not set
CONFIG_CAIF_DRIVERS=y
CONFIG_CAIF_TTY=y
CONFIG_CAIF_VIRTIO=y

#
# Distributed Switch Architecture drivers
#
# CONFIG_B53 is not set
# CONFIG_NET_DSA_BCM_SF2 is not set
# CONFIG_NET_DSA_LOOP is not set
# CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK is not set
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
# CONFIG_NET_DSA_MT7530 is not set
# CONFIG_NET_DSA_MV88E6060 is not set
# CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON is not set
# CONFIG_NET_DSA_MV88E6XXX is not set
# CONFIG_NET_DSA_AR9331 is not set
# CONFIG_NET_DSA_QCA8K is not set
# CONFIG_NET_DSA_SJA1105 is not set
# CONFIG_NET_DSA_XRS700X_I2C is not set
# CONFIG_NET_DSA_XRS700X_MDIO is not set
# CONFIG_NET_DSA_REALTEK is not set
# CONFIG_NET_DSA_SMSC_LAN9303_I2C is not set
# CONFIG_NET_DSA_SMSC_LAN9303_MDIO is not set
# CONFIG_NET_DSA_VITESSE_VSC73XX_SPI is not set
# CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM is not set
# end of Distributed Switch Architecture drivers

CONFIG_ETHERNET=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not set
# CONFIG_NET_VENDOR_AGERE is not set
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
# CONFIG_ACENIC is not set
# CONFIG_ALTERA_TSE is not set
CONFIG_NET_VENDOR_AMAZON=y
# CONFIG_ENA_ETHERNET is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
CONFIG_NET_VENDOR_ASIX=y
# CONFIG_SPI_AX88796C is not set
# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_CX_ECAT is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_CADENCE is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
CONFIG_NET_VENDOR_CISCO=y
# CONFIG_ENIC is not set
# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_NET_VENDOR_DAVICOM=y
# CONFIG_DM9051 is not set
# CONFIG_DNET is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
CONFIG_NET_VENDOR_ENGLEDER=y
# CONFIG_TSNEP is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
# CONFIG_NET_VENDOR_FUJITSU is not set
CONFIG_NET_VENDOR_FUNGIBLE=y
# CONFIG_FUN_ETH is not set
CONFIG_NET_VENDOR_GOOGLE=y
CONFIG_GVE=y
# CONFIG_NET_VENDOR_HUAWEI is not set
CONFIG_NET_VENDOR_I825XX=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=y
CONFIG_E1000=y
CONFIG_E1000E=y
CONFIG_E1000E_HWTS=y
# CONFIG_IGB is not set
# CONFIG_IGBVF is not set
# CONFIG_IXGBE is not set
# CONFIG_IXGBEVF is not set
# CONFIG_I40E is not set
# CONFIG_I40EVF is not set
# CONFIG_ICE is not set
# CONFIG_FM10K is not set
# CONFIG_IGC is not set
# CONFIG_IDPF is not set
# CONFIG_JME is not set
# CONFIG_NET_VENDOR_ADI is not set
CONFIG_NET_VENDOR_LITEX=y
# CONFIG_LITEX_LITEETH is not set
# CONFIG_NET_VENDOR_MARVELL is not set
CONFIG_NET_VENDOR_MELLANOX=y
# CONFIG_MLX4_EN is not set
CONFIG_MLX4_CORE=y
# CONFIG_MLX4_DEBUG is not set
# CONFIG_MLX4_CORE_GEN2 is not set
# CONFIG_MLX5_CORE is not set
# CONFIG_MLXSW_CORE is not set
# CONFIG_MLXFW is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MICROSEMI is not set
CONFIG_NET_VENDOR_MICROSOFT=y
# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_FEALNX is not set
# CONFIG_NET_VENDOR_NI is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NETERION is not set
# CONFIG_NET_VENDOR_NETRONOME is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
# CONFIG_NET_VENDOR_OKI is not set
# CONFIG_ETHOC is not set
# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
# CONFIG_NET_VENDOR_PENSANDO is not set
# CONFIG_NET_VENDOR_QLOGIC is not set
# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
# CONFIG_NET_VENDOR_RDC is not set
# CONFIG_NET_VENDOR_REALTEK is not set
# CONFIG_NET_VENDOR_RENESAS is not set
# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
# CONFIG_NET_VENDOR_TEHUTI is not set
# CONFIG_NET_VENDOR_TI is not set
CONFIG_NET_VENDOR_VERTEXCOM=y
# CONFIG_MSE102X is not set
# CONFIG_NET_VENDOR_VIA is not set
CONFIG_NET_VENDOR_WANGXUN=y
# CONFIG_NGBE is not set
# CONFIG_TXGBE is not set
# CONFIG_NET_VENDOR_WIZNET is not set
# CONFIG_NET_VENDOR_XILINX is not set
# CONFIG_NET_VENDOR_XIRCOM is not set
CONFIG_FDDI=y
# CONFIG_DEFXX is not set
# CONFIG_SKFP is not set
# CONFIG_HIPPI is not set
# CONFIG_NET_SB1000 is not set
CONFIG_PHYLINK=y
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
# CONFIG_LED_TRIGGER_PHY is not set
CONFIG_PHYLIB_LEDS=y
CONFIG_FIXED_PHY=y
# CONFIG_SFP is not set

#
# MII PHY device drivers
#
# CONFIG_AMD_PHY is not set
# CONFIG_ADIN_PHY is not set
# CONFIG_ADIN1100_PHY is not set
# CONFIG_AQUANTIA_PHY is not set
CONFIG_AX88796B_PHY=y
# CONFIG_BROADCOM_PHY is not set
# CONFIG_BCM54140_PHY is not set
# CONFIG_BCM7XXX_PHY is not set
# CONFIG_BCM84881_PHY is not set
# CONFIG_BCM87XX_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_CORTINA_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_INTEL_XWAY_PHY is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MARVELL_PHY is not set
# CONFIG_MARVELL_10G_PHY is not set
# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
# CONFIG_MAXLINEAR_GPHY is not set
# CONFIG_MEDIATEK_GE_PHY is not set
# CONFIG_MICREL_PHY is not set
# CONFIG_MICROCHIP_T1S_PHY is not set
CONFIG_MICROCHIP_PHY=y
# CONFIG_MICROCHIP_T1_PHY is not set
# CONFIG_MICROSEMI_PHY is not set
# CONFIG_MOTORCOMM_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_NXP_CBTX_PHY is not set
# CONFIG_NXP_C45_TJA11XX_PHY is not set
# CONFIG_NXP_TJA11XX_PHY is not set
# CONFIG_NCN26000_PHY is not set
# CONFIG_AT803X_PHY is not set
# CONFIG_QCA83XX_PHY is not set
# CONFIG_QCA808X_PHY is not set
# CONFIG_QCA807X_PHY is not set
# CONFIG_QSEMI_PHY is not set
CONFIG_REALTEK_PHY=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_ROCKCHIP_PHY is not set
CONFIG_SMSC_PHY=y
# CONFIG_STE10XP is not set
# CONFIG_TERANETICS_PHY is not set
# CONFIG_DP83822_PHY is not set
# CONFIG_DP83TC811_PHY is not set
# CONFIG_DP83848_PHY is not set
# CONFIG_DP83867_PHY is not set
# CONFIG_DP83869_PHY is not set
# CONFIG_DP83TD510_PHY is not set
# CONFIG_DP83TG720_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_XILINX_GMII2RGMII is not set
# CONFIG_MICREL_KS8995MA is not set
# CONFIG_PSE_CONTROLLER is not set
CONFIG_CAN_DEV=y
CONFIG_CAN_VCAN=y
CONFIG_CAN_VXCAN=y
CONFIG_CAN_NETLINK=y
CONFIG_CAN_CALC_BITTIMING=y
CONFIG_CAN_RX_OFFLOAD=y
# CONFIG_CAN_CAN327 is not set
# CONFIG_CAN_FLEXCAN is not set
# CONFIG_CAN_GRCAN is not set
# CONFIG_CAN_KVASER_PCIEFD is not set
CONFIG_CAN_SLCAN=y
# CONFIG_CAN_C_CAN is not set
# CONFIG_CAN_CC770 is not set
# CONFIG_CAN_CTUCANFD_PCI is not set
# CONFIG_CAN_CTUCANFD_PLATFORM is not set
# CONFIG_CAN_ESD_402_PCI is not set
CONFIG_CAN_IFI_CANFD=y
# CONFIG_CAN_M_CAN is not set
# CONFIG_CAN_PEAK_PCIEFD is not set
# CONFIG_CAN_SJA1000 is not set
# CONFIG_CAN_SOFTING is not set

#
# CAN SPI interfaces
#
# CONFIG_CAN_HI311X is not set
# CONFIG_CAN_MCP251X is not set
# CONFIG_CAN_MCP251XFD is not set
# end of CAN SPI interfaces

#
# CAN USB interfaces
#
CONFIG_CAN_8DEV_USB=y
CONFIG_CAN_EMS_USB=y
# CONFIG_CAN_ESD_USB is not set
# CONFIG_CAN_ETAS_ES58X is not set
# CONFIG_CAN_F81604 is not set
CONFIG_CAN_GS_USB=y
CONFIG_CAN_KVASER_USB=y
CONFIG_CAN_MCBA_USB=y
CONFIG_CAN_PEAK_USB=y
# CONFIG_CAN_UCAN is not set
# end of CAN USB interfaces

# CONFIG_CAN_DEBUG_DEVICES is not set
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
CONFIG_FWNODE_MDIO=y
CONFIG_OF_MDIO=y
CONFIG_ACPI_MDIO=y
CONFIG_MDIO_DEVRES=y
# CONFIG_MDIO_BITBANG is not set
# CONFIG_MDIO_BCM_UNIMAC is not set
# CONFIG_MDIO_HISI_FEMAC is not set
# CONFIG_MDIO_MVUSB is not set
# CONFIG_MDIO_MSCC_MIIM is not set
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_IPQ4019 is not set
# CONFIG_MDIO_IPQ8064 is not set
# CONFIG_MDIO_THUNDER is not set

#
# MDIO Multiplexers
#
# CONFIG_MDIO_BUS_MUX_GPIO is not set
# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set

#
# PCS device drivers
#
# end of PCS device drivers

# CONFIG_PLIP is not set
CONFIG_PPP=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPPOATM=y
CONFIG_PPPOE=y
# CONFIG_PPPOE_HASH_BITS_1 is not set
# CONFIG_PPPOE_HASH_BITS_2 is not set
CONFIG_PPPOE_HASH_BITS_4=y
# CONFIG_PPPOE_HASH_BITS_8 is not set
CONFIG_PPPOE_HASH_BITS=4
CONFIG_PPTP=y
CONFIG_PPPOL2TP=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_SLIP=y
CONFIG_SLHC=y
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_CATC=y
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_RTL8150=y
CONFIG_USB_RTL8152=y
CONFIG_USB_LAN78XX=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_AX88179_178A=y
CONFIG_USB_NET_CDCETHER=y
CONFIG_USB_NET_CDC_EEM=y
CONFIG_USB_NET_CDC_NCM=y
CONFIG_USB_NET_HUAWEI_CDC_NCM=y
CONFIG_USB_NET_CDC_MBIM=y
CONFIG_USB_NET_DM9601=y
CONFIG_USB_NET_SR9700=y
CONFIG_USB_NET_SR9800=y
CONFIG_USB_NET_SMSC75XX=y
CONFIG_USB_NET_SMSC95XX=y
CONFIG_USB_NET_GL620A=y
CONFIG_USB_NET_NET1080=y
CONFIG_USB_NET_PLUSB=y
CONFIG_USB_NET_MCS7830=y
CONFIG_USB_NET_RNDIS_HOST=y
CONFIG_USB_NET_CDC_SUBSET_ENABLE=y
CONFIG_USB_NET_CDC_SUBSET=y
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=y
CONFIG_USB_NET_CX82310_ETH=y
CONFIG_USB_NET_KALMIA=y
CONFIG_USB_NET_QMI_WWAN=y
CONFIG_USB_HSO=y
CONFIG_USB_NET_INT51X1=y
CONFIG_USB_CDC_PHONET=y
CONFIG_USB_IPHETH=y
CONFIG_USB_SIERRA_NET=y
CONFIG_USB_VL600=y
CONFIG_USB_NET_CH9200=y
# CONFIG_USB_NET_AQC111 is not set
CONFIG_USB_RTL8153_ECM=y
CONFIG_WLAN=y
CONFIG_WLAN_VENDOR_ADMTEK=y
# CONFIG_ADM8211 is not set
CONFIG_ATH_COMMON=y
CONFIG_WLAN_VENDOR_ATH=y
# CONFIG_ATH_DEBUG is not set
# CONFIG_ATH5K is not set
# CONFIG_ATH5K_PCI is not set
CONFIG_ATH9K_HW=y
CONFIG_ATH9K_COMMON=y
CONFIG_ATH9K_COMMON_DEBUG=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
CONFIG_ATH9K=y
CONFIG_ATH9K_PCI=y
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_STATION_STATISTICS is not set
CONFIG_ATH9K_DYNACK=y
# CONFIG_ATH9K_WOW is not set
CONFIG_ATH9K_RFKILL=y
CONFIG_ATH9K_CHANNEL_CONTEXT=y
CONFIG_ATH9K_PCOEM=y
# CONFIG_ATH9K_PCI_NO_EEPROM is not set
CONFIG_ATH9K_HTC=y
CONFIG_ATH9K_HTC_DEBUGFS=y
# CONFIG_ATH9K_HWRNG is not set
# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_CARL9170=y
CONFIG_CARL9170_LEDS=y
# CONFIG_CARL9170_DEBUGFS is not set
CONFIG_CARL9170_WPC=y
CONFIG_CARL9170_HWRNG=y
CONFIG_ATH6KL=y
# CONFIG_ATH6KL_SDIO is not set
CONFIG_ATH6KL_USB=y
# CONFIG_ATH6KL_DEBUG is not set
# CONFIG_ATH6KL_TRACING is not set
CONFIG_AR5523=y
# CONFIG_WIL6210 is not set
CONFIG_ATH10K=y
CONFIG_ATH10K_CE=y
CONFIG_ATH10K_PCI=y
# CONFIG_ATH10K_AHB is not set
# CONFIG_ATH10K_SDIO is not set
CONFIG_ATH10K_USB=y
# CONFIG_ATH10K_DEBUG is not set
# CONFIG_ATH10K_DEBUGFS is not set
# CONFIG_ATH10K_TRACING is not set
# CONFIG_WCN36XX is not set
CONFIG_ATH11K=y
# CONFIG_ATH11K_PCI is not set
# CONFIG_ATH11K_DEBUG is not set
# CONFIG_ATH11K_DEBUGFS is not set
# CONFIG_ATH11K_TRACING is not set
# CONFIG_ATH12K is not set
# CONFIG_WLAN_VENDOR_ATMEL is not set
# CONFIG_WLAN_VENDOR_BROADCOM is not set
# CONFIG_WLAN_VENDOR_INTEL is not set
# CONFIG_WLAN_VENDOR_INTERSIL is not set
# CONFIG_WLAN_VENDOR_MARVELL is not set
# CONFIG_WLAN_VENDOR_MEDIATEK is not set
# CONFIG_WLAN_VENDOR_MICROCHIP is not set
CONFIG_WLAN_VENDOR_PURELIFI=y
# CONFIG_PLFXLC is not set
# CONFIG_WLAN_VENDOR_RALINK is not set
# CONFIG_WLAN_VENDOR_REALTEK is not set
# CONFIG_WLAN_VENDOR_RSI is not set
CONFIG_WLAN_VENDOR_SILABS=y
# CONFIG_WFX is not set
# CONFIG_WLAN_VENDOR_ST is not set
# CONFIG_WLAN_VENDOR_TI is not set
# CONFIG_WLAN_VENDOR_ZYDAS is not set
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
CONFIG_MAC80211_HWSIM=y
CONFIG_VIRT_WIFI=y
CONFIG_WAN=y
CONFIG_HDLC=y
CONFIG_HDLC_RAW=y
CONFIG_HDLC_RAW_ETH=y
CONFIG_HDLC_CISCO=y
CONFIG_HDLC_FR=y
CONFIG_HDLC_PPP=y
CONFIG_HDLC_X25=y
# CONFIG_FRAMER is not set
# CONFIG_PCI200SYN is not set
# CONFIG_WANXL is not set
# CONFIG_PC300TOO is not set
# CONFIG_FARSYNC is not set
CONFIG_LAPBETHER=y
CONFIG_IEEE802154_DRIVERS=y
# CONFIG_IEEE802154_FAKELB is not set
# CONFIG_IEEE802154_AT86RF230 is not set
# CONFIG_IEEE802154_MRF24J40 is not set
# CONFIG_IEEE802154_CC2520 is not set
CONFIG_IEEE802154_ATUSB=y
# CONFIG_IEEE802154_ADF7242 is not set
# CONFIG_IEEE802154_CA8210 is not set
# CONFIG_IEEE802154_MCR20A is not set
CONFIG_IEEE802154_HWSIM=y

#
# Wireless WAN
#
CONFIG_WWAN=y
# CONFIG_WWAN_DEBUGFS is not set
# CONFIG_WWAN_HWSIM is not set
CONFIG_MHI_WWAN_CTRL=y
# CONFIG_MHI_WWAN_MBIM is not set
# CONFIG_IOSM is not set
# CONFIG_MTK_T7XX is not set
# end of Wireless WAN

CONFIG_VMXNET3=y
# CONFIG_FUJITSU_ES is not set
CONFIG_USB4_NET=y
CONFIG_NETDEVSIM=y
CONFIG_NET_FAILOVER=y
CONFIG_ISDN=y
CONFIG_ISDN_CAPI=y
CONFIG_CAPI_TRACE=y
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_MISDN=y
CONFIG_MISDN_DSP=y
CONFIG_MISDN_L1OIP=y

#
# mISDN hardware drivers
#
# CONFIG_MISDN_HFCPCI is not set
# CONFIG_MISDN_HFCMULTI is not set
CONFIG_MISDN_HFCUSB=y
# CONFIG_MISDN_AVMFRITZ is not set
# CONFIG_MISDN_SPEEDFAX is not set
# CONFIG_MISDN_INFINEON is not set
# CONFIG_MISDN_W6692 is not set
# CONFIG_MISDN_NETJET is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_SPARSEKMAP=y
# CONFIG_INPUT_MATRIXKMAP is not set
CONFIG_INPUT_VIVALDIFMAP=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADC is not set
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1050 is not set
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_DLINK_DIR685 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_PINEPHONE is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
# CONFIG_KEYBOARD_TWL4030 is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_CAP11XX is not set
# CONFIG_KEYBOARD_BCM is not set
# CONFIG_KEYBOARD_CYPRESS_SF is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_BYD=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_FOCALTECH=y
# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2_SMBUS=y
# CONFIG_MOUSE_SERIAL is not set
CONFIG_MOUSE_APPLETOUCH=y
CONFIG_MOUSE_BCM5974=y
# CONFIG_MOUSE_CYAPA is not set
# CONFIG_MOUSE_ELAN_I2C is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MOUSE_GPIO is not set
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
CONFIG_MOUSE_SYNAPTICS_USB=y
CONFIG_INPUT_JOYSTICK=y
# CONFIG_JOYSTICK_ANALOG is not set
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADC is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
CONFIG_JOYSTICK_IFORCE=y
CONFIG_JOYSTICK_IFORCE_USB=y
# CONFIG_JOYSTICK_IFORCE_232 is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDJOY is not set
# CONFIG_JOYSTICK_ZHENHUA is not set
# CONFIG_JOYSTICK_DB9 is not set
# CONFIG_JOYSTICK_GAMECON is not set
# CONFIG_JOYSTICK_TURBOGRAFX is not set
# CONFIG_JOYSTICK_AS5011 is not set
# CONFIG_JOYSTICK_JOYDUMP is not set
CONFIG_JOYSTICK_XPAD=y
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
# CONFIG_JOYSTICK_WALKERA0701 is not set
# CONFIG_JOYSTICK_PSXPAD_SPI is not set
# CONFIG_JOYSTICK_PXRC is not set
# CONFIG_JOYSTICK_QWIIC is not set
# CONFIG_JOYSTICK_FSIA6B is not set
# CONFIG_JOYSTICK_SENSEHAT is not set
# CONFIG_JOYSTICK_SEESAW is not set
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=y
CONFIG_TABLET_USB_AIPTEK=y
CONFIG_TABLET_USB_HANWANG=y
CONFIG_TABLET_USB_KBTAB=y
CONFIG_TABLET_USB_PEGASUS=y
# CONFIG_TABLET_SERIAL_WACOM4 is not set
CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_ADS7846 is not set
# CONFIG_TOUCHSCREEN_AD7877 is not set
# CONFIG_TOUCHSCREEN_AD7879 is not set
# CONFIG_TOUCHSCREEN_ADC is not set
# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_BU21029 is not set
# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
# CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 is not set
# CONFIG_TOUCHSCREEN_CY8CTMA140 is not set
# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
# CONFIG_TOUCHSCREEN_CYTTSP5 is not set
# CONFIG_TOUCHSCREEN_DYNAPRO is not set
# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
# CONFIG_TOUCHSCREEN_EETI is not set
# CONFIG_TOUCHSCREEN_EGALAX is not set
# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
# CONFIG_TOUCHSCREEN_EXC3000 is not set
# CONFIG_TOUCHSCREEN_FUJITSU is not set
# CONFIG_TOUCHSCREEN_GOODIX is not set
# CONFIG_TOUCHSCREEN_GOODIX_BERLIN_I2C is not set
# CONFIG_TOUCHSCREEN_GOODIX_BERLIN_SPI is not set
# CONFIG_TOUCHSCREEN_HIDEEP is not set
# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set
# CONFIG_TOUCHSCREEN_HYNITRON_CSTXXX is not set
# CONFIG_TOUCHSCREEN_ILI210X is not set
# CONFIG_TOUCHSCREEN_ILITEK is not set
# CONFIG_TOUCHSCREEN_S6SY761 is not set
# CONFIG_TOUCHSCREEN_GUNZE is not set
# CONFIG_TOUCHSCREEN_EKTF2127 is not set
# CONFIG_TOUCHSCREEN_ELAN is not set
# CONFIG_TOUCHSCREEN_ELO is not set
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MMS114 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
# CONFIG_TOUCHSCREEN_MSG2638 is not set
# CONFIG_TOUCHSCREEN_MTOUCH is not set
# CONFIG_TOUCHSCREEN_NOVATEK_NVT_TS is not set
# CONFIG_TOUCHSCREEN_IMAGIS is not set
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_PIXCIR is not set
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
CONFIG_TOUCHSCREEN_USB_COMPOSITE=y
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_USB_JASTEC=y
CONFIG_TOUCHSCREEN_USB_ELO=y
CONFIG_TOUCHSCREEN_USB_E2I=y
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
# CONFIG_TOUCHSCREEN_TSC2004 is not set
# CONFIG_TOUCHSCREEN_TSC2005 is not set
# CONFIG_TOUCHSCREEN_TSC2007 is not set
# CONFIG_TOUCHSCREEN_RM_TS is not set
# CONFIG_TOUCHSCREEN_SILEAD is not set
# CONFIG_TOUCHSCREEN_SIS_I2C is not set
# CONFIG_TOUCHSCREEN_ST1232 is not set
# CONFIG_TOUCHSCREEN_STMFTS is not set
CONFIG_TOUCHSCREEN_SUR40=y
# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
# CONFIG_TOUCHSCREEN_SX8654 is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
# CONFIG_TOUCHSCREEN_ZET6223 is not set
# CONFIG_TOUCHSCREEN_ZFORCE is not set
# CONFIG_TOUCHSCREEN_COLIBRI_VF50 is not set
# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_ZINITIX is not set
# CONFIG_TOUCHSCREEN_HIMAX_HX83112B is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_E3X0_BUTTON is not set
# CONFIG_INPUT_PCSPKR is not set
# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_APANEL is not set
# CONFIG_INPUT_GPIO_BEEPER is not set
# CONFIG_INPUT_GPIO_DECODER is not set
# CONFIG_INPUT_GPIO_VIBRA is not set
# CONFIG_INPUT_ATLAS_BTNS is not set
CONFIG_INPUT_ATI_REMOTE2=y
CONFIG_INPUT_KEYSPAN_REMOTE=y
# CONFIG_INPUT_KXTJ9 is not set
CONFIG_INPUT_POWERMATE=y
CONFIG_INPUT_YEALINK=y
CONFIG_INPUT_CM109=y
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
# CONFIG_INPUT_RETU_PWRBUTTON is not set
# CONFIG_INPUT_TWL4030_PWRBUTTON is not set
# CONFIG_INPUT_TWL4030_VIBRA is not set
CONFIG_INPUT_UINPUT=y
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
# CONFIG_INPUT_DA7280_HAPTICS is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_IBM_PANEL is not set
CONFIG_INPUT_IMS_PCU=y
# CONFIG_INPUT_IQS269A is not set
# CONFIG_INPUT_IQS626A is not set
# CONFIG_INPUT_IQS7222 is not set
# CONFIG_INPUT_CMA3000 is not set
# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set
# CONFIG_INPUT_DRV260X_HAPTICS is not set
# CONFIG_INPUT_DRV2665_HAPTICS is not set
# CONFIG_INPUT_DRV2667_HAPTICS is not set
CONFIG_RMI4_CORE=y
# CONFIG_RMI4_I2C is not set
# CONFIG_RMI4_SPI is not set
# CONFIG_RMI4_SMB is not set
CONFIG_RMI4_F03=y
CONFIG_RMI4_F03_SERIO=y
CONFIG_RMI4_2D_SENSOR=y
CONFIG_RMI4_F11=y
CONFIG_RMI4_F12=y
CONFIG_RMI4_F30=y
# CONFIG_RMI4_F34 is not set
# CONFIG_RMI4_F3A is not set
# CONFIG_RMI4_F54 is not set
# CONFIG_RMI4_F55 is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_SERIO_ARC_PS2 is not set
# CONFIG_SERIO_APBPS2 is not set
# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_USERIO=y
# CONFIG_GAMEPORT is not set
# end of Hardware I/O ports
# end of Input device support

#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_LEGACY_TIOCSTI=y
CONFIG_LDISC_AUTOLOAD=y

#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
CONFIG_SERIAL_8250_PNP=y
# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_PCILIB=y
CONFIG_SERIAL_8250_PCI=y
# CONFIG_SERIAL_8250_EXAR is not set
# CONFIG_SERIAL_8250_CS is not set
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_PCI1XXXX is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_DWLIB=y
# CONFIG_SERIAL_8250_DW is not set
# CONFIG_SERIAL_8250_RT288X is not set
CONFIG_SERIAL_8250_LPSS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_PERICOM=y
# CONFIG_SERIAL_OF_PLATFORM is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_SIFIVE is not set
# CONFIG_SERIAL_LANTIQ is not set
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_FSL_LINFLEXUART is not set
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
# CONFIG_SERIAL_SPRD is not set
# end of Serial drivers

CONFIG_SERIAL_MCTRL_GPIO=y
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
CONFIG_N_HDLC=y
# CONFIG_IPWIRELESS is not set
CONFIG_N_GSM=y
CONFIG_NOZOMI=y
CONFIG_NULL_TTY=y
CONFIG_HVC_DRIVER=y
CONFIG_SERIAL_DEV_BUS=y
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_TTY_PRINTK=y
CONFIG_TTY_PRINTK_LEVEL=6
# CONFIG_PRINTER is not set
# CONFIG_PPDEV is not set
CONFIG_VIRTIO_CONSOLE=y
# CONFIG_IPMI_HANDLER is not set
# CONFIG_SSIF_IPMI_BMC is not set
# CONFIG_IPMB_DEVICE_INTERFACE is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
# CONFIG_HW_RANDOM_INTEL is not set
# CONFIG_HW_RANDOM_AMD is not set
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_VIA is not set
CONFIG_HW_RANDOM_VIRTIO=y
# CONFIG_HW_RANDOM_CCTRNG is not set
# CONFIG_HW_RANDOM_XIPHERA is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
# CONFIG_DEVMEM is not set
CONFIG_NVRAM=y
# CONFIG_DEVPORT is not set
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HPET_MMAP_DEFAULT=y
# CONFIG_HANGCHECK_TIMER is not set
CONFIG_TCG_TPM=y
# CONFIG_HW_RANDOM_TPM is not set
CONFIG_TCG_TIS_CORE=y
CONFIG_TCG_TIS=y
# CONFIG_TCG_TIS_SPI is not set
# CONFIG_TCG_TIS_I2C is not set
# CONFIG_TCG_TIS_I2C_CR50 is not set
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
# CONFIG_TCG_NSC is not set
# CONFIG_TCG_ATMEL is not set
# CONFIG_TCG_INFINEON is not set
CONFIG_TCG_CRB=y
# CONFIG_TCG_VTPM_PROXY is not set
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
# CONFIG_TELCLOCK is not set
# CONFIG_XILLYBUS is not set
# CONFIG_XILLYUSB is not set
# end of Character devices

#
# I2C support
#
CONFIG_I2C=y
CONFIG_ACPI_I2C_OPREGION=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y

#
# Multiplexer I2C Chip support
#
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
# CONFIG_I2C_MUX_GPIO is not set
# CONFIG_I2C_MUX_GPMUX is not set
# CONFIG_I2C_MUX_LTC4306 is not set
# CONFIG_I2C_MUX_PCA9541 is not set
# CONFIG_I2C_MUX_PCA954x is not set
CONFIG_I2C_MUX_REG=y
# CONFIG_I2C_MUX_MLXCPLD is not set
# end of Multiplexer I2C Chip support

CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=y
CONFIG_I2C_ALGOBIT=y

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_I801=y
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_ISMT is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_CHT_WC is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set

#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_DESIGNWARE_CORE=y
# CONFIG_I2C_DESIGNWARE_SLAVE is not set
CONFIG_I2C_DESIGNWARE_PLATFORM=y
# CONFIG_I2C_DESIGNWARE_BAYTRAIL is not set
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_RK3X is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_DIOLAN_U2C=y
CONFIG_I2C_DLN2=y
# CONFIG_I2C_CP2615 is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PCI1XXXX is not set
CONFIG_I2C_ROBOTFUZZ_OSIF=y
# CONFIG_I2C_TAOS_EVM is not set
CONFIG_I2C_TINY_USB=y
CONFIG_I2C_VIPERBOARD=y

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_MLXCPLD is not set
# CONFIG_I2C_VIRTIO is not set
# end of I2C Hardware Bus support

# CONFIG_I2C_STUB is not set
CONFIG_I2C_SLAVE=y
CONFIG_I2C_SLAVE_EEPROM=y
# CONFIG_I2C_SLAVE_TESTUNIT is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# end of I2C support

# CONFIG_I3C is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
# CONFIG_SPI_MEM is not set

#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
# CONFIG_SPI_AXI_SPI_ENGINE is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_BUTTERFLY is not set
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_CADENCE_QUADSPI is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_DLN2=y
# CONFIG_SPI_GPIO is not set
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_MICROCHIP_CORE is not set
# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set
# CONFIG_SPI_LANTIQ_SSC is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PCI1XXXX is not set
# CONFIG_SPI_PXA2XX is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SIFIVE is not set
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_XCOMM is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_AMD is not set

#
# SPI Multiplexer support
#
# CONFIG_SPI_MUX is not set

#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_SPI_SLAVE is not set
CONFIG_SPI_DYNAMIC=y
# CONFIG_SPMI is not set
# CONFIG_HSI is not set
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
# CONFIG_PPS_CLIENT_LDISC is not set
# CONFIG_PPS_CLIENT_PARPORT is not set
# CONFIG_PPS_CLIENT_GPIO is not set

#
# PPS generators support
#

#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_OPTIONAL=y

#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
CONFIG_PTP_1588_CLOCK_KVM=y
# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_FC3W is not set
# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_VMW is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
# end of PTP clock support

# CONFIG_PINCTRL is not set
CONFIG_GPIOLIB=y
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_OF_GPIO=y
CONFIG_GPIO_ACPI=y
CONFIG_GPIOLIB_IRQCHIP=y
# CONFIG_DEBUG_GPIO is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_CDEV is not set

#
# Memory mapped GPIO drivers
#
# CONFIG_GPIO_74XX_MMIO is not set
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
# CONFIG_GPIO_CADENCE is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_FTGPIO010 is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_HLWD is not set
# CONFIG_GPIO_ICH is not set
# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_MB86S7X is not set
# CONFIG_GPIO_SIFIVE is not set
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_XILINX is not set
# CONFIG_GPIO_AMD_FCH is not set
# end of Memory mapped GPIO drivers

#
# Port-mapped I/O GPIO drivers
#
# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_IT87 is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_WINBOND is not set
# CONFIG_GPIO_WS16C48 is not set
# end of Port-mapped I/O GPIO drivers

#
# I2C GPIO expanders
#
# CONFIG_GPIO_ADNP is not set
# CONFIG_GPIO_FXL6408 is not set
# CONFIG_GPIO_DS4520 is not set
# CONFIG_GPIO_GW_PLD is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCA9570 is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_TPIC2810 is not set
# end of I2C GPIO expanders

#
# MFD GPIO expanders
#
CONFIG_GPIO_DLN2=y
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_TWL4030 is not set
# end of MFD GPIO expanders

#
# PCI GPIO expanders
#
# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_PCI_IDIO_16 is not set
# CONFIG_GPIO_PCIE_IDIO_24 is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SODAVILLE is not set
# end of PCI GPIO expanders

#
# SPI GPIO expanders
#
# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_XRA1403 is not set
# end of SPI GPIO expanders

#
# USB GPIO expanders
#
CONFIG_GPIO_VIPERBOARD=y
# end of USB GPIO expanders

#
# Virtual GPIO drivers
#
# CONFIG_GPIO_AGGREGATOR is not set
# CONFIG_GPIO_LATCH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_VIRTIO is not set
# CONFIG_GPIO_SIM is not set
# end of Virtual GPIO drivers

# CONFIG_W1 is not set
# CONFIG_POWER_RESET is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_POWER_SUPPLY_HWMON=y
# CONFIG_GENERIC_ADC_BATTERY is not set
# CONFIG_IP5XXX_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_CHARGER_ADP5061 is not set
# CONFIG_BATTERY_CW2015 is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SAMSUNG_SDI is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_CHARGER_SBS is not set
# CONFIG_MANAGER_SBS is not set
# CONFIG_BATTERY_BQ27XXX is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
CONFIG_CHARGER_ISP1704=y
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_TWL4030 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_MANAGER is not set
# CONFIG_CHARGER_LT3651 is not set
# CONFIG_CHARGER_LTC4162L is not set
# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_MAX77976 is not set
# CONFIG_CHARGER_BQ2415X is not set
CONFIG_CHARGER_BQ24190=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ2515X is not set
# CONFIG_CHARGER_BQ25890 is not set
# CONFIG_CHARGER_BQ25980 is not set
# CONFIG_CHARGER_BQ256XX is not set
# CONFIG_CHARGER_SMB347 is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
# CONFIG_BATTERY_GOLDFISH is not set
# CONFIG_BATTERY_RT5033 is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_RT9467 is not set
# CONFIG_CHARGER_RT9471 is not set
# CONFIG_CHARGER_UCS1002 is not set
# CONFIG_CHARGER_BD99954 is not set
# CONFIG_BATTERY_UG3105 is not set
# CONFIG_FUEL_GAUGE_MM8013 is not set
CONFIG_HWMON=y
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7314 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM1177 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7310 is not set
# CONFIG_SENSORS_ADT7410 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_AHT10 is not set
# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
# CONFIG_SENSORS_AS370 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_ASUS_ROG_RYUJIN is not set
# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_K10TEMP is not set
# CONFIG_SENSORS_FAM15H_POWER is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_CHIPCAP2 is not set
# CONFIG_SENSORS_CORSAIR_CPRO is not set
# CONFIG_SENSORS_CORSAIR_PSU is not set
# CONFIG_SENSORS_DRIVETEMP is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_DELL_SMM is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHMD is not set
# CONFIG_SENSORS_FTSTEUTATES is not set
# CONFIG_SENSORS_GIGABYTE_WATERFORCE is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_G762 is not set
# CONFIG_SENSORS_GPIO_FAN is not set
# CONFIG_SENSORS_HIH6130 is not set
# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_IIO_HWMON is not set
# CONFIG_SENSORS_I5500 is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_POWERZ is not set
# CONFIG_SENSORS_POWR1220 is not set
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LTC2945 is not set
# CONFIG_SENSORS_LTC2947_I2C is not set
# CONFIG_SENSORS_LTC2947_SPI is not set
# CONFIG_SENSORS_LTC2990 is not set
# CONFIG_SENSORS_LTC2991 is not set
# CONFIG_SENSORS_LTC2992 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4222 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4260 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_LTC4282 is not set
# CONFIG_SENSORS_MAX1111 is not set
# CONFIG_SENSORS_MAX127 is not set
# CONFIG_SENSORS_MAX16065 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX197 is not set
# CONFIG_SENSORS_MAX31722 is not set
# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31760 is not set
# CONFIG_MAX31827 is not set
# CONFIG_SENSORS_MAX6620 is not set
# CONFIG_SENSORS_MAX6621 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_MAX6697 is not set
# CONFIG_SENSORS_MAX31790 is not set
# CONFIG_SENSORS_MC34VR500 is not set
# CONFIG_SENSORS_MCP3021 is not set
# CONFIG_SENSORS_TC654 is not set
# CONFIG_SENSORS_TPS23861 is not set
# CONFIG_SENSORS_MR75203 is not set
# CONFIG_SENSORS_ADCXX is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM70 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LM95234 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_NTC_THERMISTOR is not set
# CONFIG_SENSORS_NCT6683 is not set
# CONFIG_SENSORS_NCT6775 is not set
# CONFIG_SENSORS_NCT6775_I2C is not set
# CONFIG_SENSORS_NCT7802 is not set
# CONFIG_SENSORS_NCT7904 is not set
# CONFIG_SENSORS_NPCM7XX is not set
# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
# CONFIG_SENSORS_NZXT_KRAKEN3 is not set
# CONFIG_SENSORS_NZXT_SMART2 is not set
# CONFIG_SENSORS_OCC_P8_I2C is not set
# CONFIG_SENSORS_OXP is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not set
# CONFIG_SENSORS_PT5161L is not set
# CONFIG_SENSORS_SBTSI is not set
# CONFIG_SENSORS_SBRMI is not set
# CONFIG_SENSORS_SHT15 is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SHT3x is not set
# CONFIG_SENSORS_SHT4x is not set
# CONFIG_SENSORS_SHTC1 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC2305 is not set
# CONFIG_SENSORS_EMC6W201 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH5627 is not set
# CONFIG_SENSORS_SCH5636 is not set
# CONFIG_SENSORS_STTS751 is not set
# CONFIG_SENSORS_ADC128D818 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_ADS7871 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_INA209 is not set
# CONFIG_SENSORS_INA2XX is not set
# CONFIG_SENSORS_INA238 is not set
# CONFIG_SENSORS_INA3221 is not set
# CONFIG_SENSORS_TC74 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP103 is not set
# CONFIG_SENSORS_TMP108 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_TMP464 is not set
# CONFIG_SENSORS_TMP513 is not set
# CONFIG_SENSORS_VIA_CPUTEMP is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83773G is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_XGENE is not set

#
# ACPI drivers
#
# CONFIG_SENSORS_ACPI_POWER is not set
# CONFIG_SENSORS_ATK0110 is not set
# CONFIG_SENSORS_ASUS_WMI is not set
# CONFIG_SENSORS_ASUS_EC is not set
# CONFIG_SENSORS_HP_WMI is not set
CONFIG_THERMAL=y
CONFIG_THERMAL_NETLINK=y
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_DEBUGFS is not set
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
# CONFIG_THERMAL_OF is not set
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
CONFIG_THERMAL_GOV_STEP_WISE=y
# CONFIG_THERMAL_GOV_BANG_BANG is not set
CONFIG_THERMAL_GOV_USER_SPACE=y
# CONFIG_THERMAL_EMULATION is not set
# CONFIG_THERMAL_MMIO is not set

#
# Intel thermal drivers
#
# CONFIG_INTEL_POWERCLAMP is not set
CONFIG_X86_THERMAL_VECTOR=y
# CONFIG_X86_PKG_TEMP_THERMAL is not set
# CONFIG_INTEL_SOC_DTS_THERMAL is not set

#
# ACPI INT340X thermal drivers
#
# CONFIG_INT340X_THERMAL is not set
# end of ACPI INT340X thermal drivers

# CONFIG_INTEL_PCH_THERMAL is not set
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_HFI_THERMAL is not set
# end of Intel thermal drivers

# CONFIG_GENERIC_ADC_THERMAL is not set
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_CORE is not set
# CONFIG_WATCHDOG_NOWAYOUT is not set
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
CONFIG_WATCHDOG_OPEN_TIMEOUT=0
# CONFIG_WATCHDOG_SYSFS is not set
# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set

#
# Watchdog Pretimeout Governors
#

#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_GPIO_WATCHDOG is not set
# CONFIG_WDAT_WDT is not set
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_ZIIRAVE_WATCHDOG is not set
# CONFIG_CADENCE_WATCHDOG is not set
# CONFIG_DW_WATCHDOG is not set
# CONFIG_TWL4030_WATCHDOG is not set
# CONFIG_MAX63XX_WATCHDOG is not set
# CONFIG_RETU_WATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADVANTECH_EC_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_EBC_C384_WDT is not set
# CONFIG_EXAR_WDT is not set
# CONFIG_F71808E_WDT is not set
# CONFIG_SP5100_TCO is not set
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_IE6XX_WDT is not set
# CONFIG_ITCO_WDT is not set
# CONFIG_IT8712F_WDT is not set
# CONFIG_IT87_WDT is not set
# CONFIG_HP_WATCHDOG is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_NV_TCO is not set
# CONFIG_60XX_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_SMSC_SCH311X_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_TQMX86_WDT is not set
# CONFIG_VIA_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
# CONFIG_NI903X_WDT is not set
# CONFIG_NIC7018_WDT is not set
# CONFIG_MEN_A21_WDT is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set

#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=y
CONFIG_SSB_POSSIBLE=y
CONFIG_SSB=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
# CONFIG_SSB_PCIHOST is not set
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
# CONFIG_SSB_PCMCIAHOST is not set
CONFIG_SSB_SDIOHOST_POSSIBLE=y
# CONFIG_SSB_SDIOHOST is not set
# CONFIG_SSB_DRIVER_GPIO is not set
CONFIG_BCMA_POSSIBLE=y
CONFIG_BCMA=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
# CONFIG_BCMA_HOST_PCI is not set
# CONFIG_BCMA_HOST_SOC is not set
# CONFIG_BCMA_DRIVER_PCI is not set
# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
# CONFIG_BCMA_DRIVER_GPIO is not set
# CONFIG_BCMA_DEBUG is not set

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
# CONFIG_MFD_ACT8945A is not set
# CONFIG_MFD_AS3711 is not set
# CONFIG_MFD_SMPRO is not set
# CONFIG_MFD_AS3722 is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_AAT2870_CORE is not set
# CONFIG_MFD_ATMEL_FLEXCOM is not set
# CONFIG_MFD_ATMEL_HLCDC is not set
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_CS42L43_I2C is not set
# CONFIG_MFD_MADERA is not set
# CONFIG_MFD_MAX5970 is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_DA9062 is not set
# CONFIG_MFD_DA9063 is not set
# CONFIG_MFD_DA9150 is not set
CONFIG_MFD_DLN2=y
# CONFIG_MFD_GATEWORKS_GSC is not set
# CONFIG_MFD_MC13XXX_SPI is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_MFD_MP2629 is not set
# CONFIG_MFD_HI6421_PMIC is not set
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
CONFIG_LPC_ICH=y
# CONFIG_LPC_SCH is not set
# CONFIG_INTEL_SOC_PMIC is not set
CONFIG_INTEL_SOC_PMIC_CHTWC=y
# CONFIG_INTEL_SOC_PMIC_CHTDC_TI is not set
# CONFIG_MFD_INTEL_LPSS_ACPI is not set
# CONFIG_MFD_INTEL_LPSS_PCI is not set
# CONFIG_MFD_INTEL_PMC_BXT is not set
# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77541 is not set
# CONFIG_MFD_MAX77620 is not set
# CONFIG_MFD_MAX77650 is not set
# CONFIG_MFD_MAX77686 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77714 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_MT6360 is not set
# CONFIG_MFD_MT6370 is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_MFD_OCELOT is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_VIPERBOARD=y
# CONFIG_MFD_NTXEC is not set
CONFIG_MFD_RETU=y
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_SY7636A is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RT4831 is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RT5120 is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_RK8XX_I2C is not set
# CONFIG_MFD_RK8XX_SPI is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SKY81452 is not set
# CONFIG_MFD_STMPE is not set
CONFIG_MFD_SYSCON=y
# CONFIG_MFD_LP3943 is not set
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_TI_LMU is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS65010 is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65086 is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TI_LP87565 is not set
# CONFIG_MFD_TPS65218 is not set
# CONFIG_MFD_TPS65219 is not set
# CONFIG_MFD_TPS6586X is not set
# CONFIG_MFD_TPS65910 is not set
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912_SPI is not set
# CONFIG_MFD_TPS6594_I2C is not set
# CONFIG_MFD_TPS6594_SPI is not set
CONFIG_TWL4030_CORE=y
# CONFIG_MFD_TWL4030_AUDIO is not set
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_LM3533 is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TQMX86 is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_LOCHNAGAR is not set
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_ARIZONA_SPI is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD957XMUF is not set
# CONFIG_MFD_STPMIC1 is not set
# CONFIG_MFD_STMFX is not set
# CONFIG_MFD_ATC260X_I2C is not set
# CONFIG_MFD_QCOM_PM8008 is not set
# CONFIG_RAVE_SP_CORE is not set
# CONFIG_MFD_INTEL_M10_BMC_SPI is not set
# CONFIG_MFD_RSMU_I2C is not set
# CONFIG_MFD_RSMU_SPI is not set
# end of Multifunction device drivers

CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
# CONFIG_REGULATOR_NETLINK_EVENTS is not set
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_AW37503 is not set
# CONFIG_REGULATOR_DA9121 is not set
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_FAN53555 is not set
# CONFIG_REGULATOR_FAN53880 is not set
# CONFIG_REGULATOR_GPIO is not set
# CONFIG_REGULATOR_ISL9305 is not set
# CONFIG_REGULATOR_ISL6271A is not set
# CONFIG_REGULATOR_LP3971 is not set
# CONFIG_REGULATOR_LP3972 is not set
# CONFIG_REGULATOR_LP872X is not set
# CONFIG_REGULATOR_LP8755 is not set
# CONFIG_REGULATOR_LTC3589 is not set
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX77503 is not set
# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8893 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MAX20086 is not set
# CONFIG_REGULATOR_MAX20411 is not set
# CONFIG_REGULATOR_MAX77826 is not set
# CONFIG_REGULATOR_MCP16502 is not set
# CONFIG_REGULATOR_MP5416 is not set
# CONFIG_REGULATOR_MP8859 is not set
# CONFIG_REGULATOR_MP886X is not set
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PCA9450 is not set
# CONFIG_REGULATOR_PF8X00 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
# CONFIG_REGULATOR_RT4801 is not set
# CONFIG_REGULATOR_RT4803 is not set
# CONFIG_REGULATOR_RT5190A is not set
# CONFIG_REGULATOR_RT5739 is not set
# CONFIG_REGULATOR_RT5759 is not set
# CONFIG_REGULATOR_RT6160 is not set
# CONFIG_REGULATOR_RT6190 is not set
# CONFIG_REGULATOR_RT6245 is not set
# CONFIG_REGULATOR_RTQ2134 is not set
# CONFIG_REGULATOR_RTMV20 is not set
# CONFIG_REGULATOR_RTQ6752 is not set
# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SLG51000 is not set
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_SY8824X is not set
# CONFIG_REGULATOR_SY8827N is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
# CONFIG_REGULATOR_TPS6286X is not set
# CONFIG_REGULATOR_TPS6287X is not set
# CONFIG_REGULATOR_TPS65023 is not set
# CONFIG_REGULATOR_TPS6507X is not set
# CONFIG_REGULATOR_TPS65132 is not set
# CONFIG_REGULATOR_TPS6524X is not set
CONFIG_REGULATOR_TWL4030=y
# CONFIG_REGULATOR_VCTRL is not set
CONFIG_RC_CORE=y
# CONFIG_LIRC is not set
# CONFIG_RC_MAP is not set
# CONFIG_RC_DECODERS is not set
CONFIG_RC_DEVICES=y
# CONFIG_IR_ENE is not set
# CONFIG_IR_FINTEK is not set
# CONFIG_IR_GPIO_CIR is not set
# CONFIG_IR_HIX5HD2 is not set
CONFIG_IR_IGORPLUGUSB=y
CONFIG_IR_IGUANA=y
CONFIG_IR_IMON=y
# CONFIG_IR_IMON_RAW is not set
# CONFIG_IR_ITE_CIR is not set
CONFIG_IR_MCEUSB=y
# CONFIG_IR_NUVOTON is not set
CONFIG_IR_REDRAT3=y
# CONFIG_IR_SERIAL is not set
CONFIG_IR_STREAMZAP=y
# CONFIG_IR_TOY is not set
CONFIG_IR_TTUSBIR=y
# CONFIG_IR_WINBOND_CIR is not set
CONFIG_RC_ATI_REMOTE=y
# CONFIG_RC_LOOPBACK is not set
# CONFIG_RC_XBOX_DVD is not set
CONFIG_CEC_CORE=y

#
# CEC support
#
# CONFIG_MEDIA_CEC_RC is not set
CONFIG_MEDIA_CEC_SUPPORT=y
# CONFIG_CEC_CH7322 is not set
# CONFIG_CEC_GPIO is not set
# CONFIG_CEC_SECO is not set
CONFIG_USB_PULSE8_CEC=y
CONFIG_USB_RAINSHADOW_CEC=y
# end of CEC support

CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_SUPPORT_FILTER=y
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set

#
# Media device types
#
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_SDR_SUPPORT=y
# CONFIG_MEDIA_PLATFORM_SUPPORT is not set
CONFIG_MEDIA_TEST_SUPPORT=y
# end of Media device types

CONFIG_VIDEO_DEV=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_DVB_CORE=y

#
# Video4Linux options
#
CONFIG_VIDEO_V4L2_I2C=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_TUNER=y
CONFIG_V4L2_MEM2MEM_DEV=y
# end of Video4Linux options

#
# Media controller options
#
CONFIG_MEDIA_CONTROLLER_DVB=y
# end of Media controller options

#
# Digital TV options
#
# CONFIG_DVB_MMAP is not set
# CONFIG_DVB_NET is not set
CONFIG_DVB_MAX_ADAPTERS=16
# CONFIG_DVB_DYNAMIC_MINORS is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
# CONFIG_DVB_ULE_DEBUG is not set
# end of Digital TV options

#
# Media drivers
#

#
# Drivers filtered as selected at 'Filter media drivers'
#

#
# Media drivers
#
CONFIG_MEDIA_USB_SUPPORT=y

#
# Webcam devices
#
CONFIG_USB_GSPCA=y
CONFIG_USB_GSPCA_BENQ=y
CONFIG_USB_GSPCA_CONEX=y
CONFIG_USB_GSPCA_CPIA1=y
CONFIG_USB_GSPCA_DTCS033=y
CONFIG_USB_GSPCA_ETOMS=y
CONFIG_USB_GSPCA_FINEPIX=y
CONFIG_USB_GSPCA_JEILINJ=y
CONFIG_USB_GSPCA_JL2005BCD=y
CONFIG_USB_GSPCA_KINECT=y
CONFIG_USB_GSPCA_KONICA=y
CONFIG_USB_GSPCA_MARS=y
CONFIG_USB_GSPCA_MR97310A=y
CONFIG_USB_GSPCA_NW80X=y
CONFIG_USB_GSPCA_OV519=y
CONFIG_USB_GSPCA_OV534=y
CONFIG_USB_GSPCA_OV534_9=y
CONFIG_USB_GSPCA_PAC207=y
CONFIG_USB_GSPCA_PAC7302=y
CONFIG_USB_GSPCA_PAC7311=y
CONFIG_USB_GSPCA_SE401=y
CONFIG_USB_GSPCA_SN9C2028=y
CONFIG_USB_GSPCA_SN9C20X=y
CONFIG_USB_GSPCA_SONIXB=y
CONFIG_USB_GSPCA_SONIXJ=y
CONFIG_USB_GSPCA_SPCA1528=y
CONFIG_USB_GSPCA_SPCA500=y
CONFIG_USB_GSPCA_SPCA501=y
CONFIG_USB_GSPCA_SPCA505=y
CONFIG_USB_GSPCA_SPCA506=y
CONFIG_USB_GSPCA_SPCA508=y
CONFIG_USB_GSPCA_SPCA561=y
CONFIG_USB_GSPCA_SQ905=y
CONFIG_USB_GSPCA_SQ905C=y
CONFIG_USB_GSPCA_SQ930X=y
CONFIG_USB_GSPCA_STK014=y
CONFIG_USB_GSPCA_STK1135=y
CONFIG_USB_GSPCA_STV0680=y
CONFIG_USB_GSPCA_SUNPLUS=y
CONFIG_USB_GSPCA_T613=y
CONFIG_USB_GSPCA_TOPRO=y
CONFIG_USB_GSPCA_TOUPTEK=y
CONFIG_USB_GSPCA_TV8532=y
CONFIG_USB_GSPCA_VC032X=y
CONFIG_USB_GSPCA_VICAM=y
CONFIG_USB_GSPCA_XIRLINK_CIT=y
CONFIG_USB_GSPCA_ZC3XX=y
CONFIG_USB_GL860=y
CONFIG_USB_M5602=y
CONFIG_USB_STV06XX=y
CONFIG_USB_PWC=y
# CONFIG_USB_PWC_DEBUG is not set
CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_USB_S2255=y
CONFIG_VIDEO_USBTV=y
CONFIG_USB_VIDEO_CLASS=y
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y

#
# Analog TV USB devices
#
CONFIG_VIDEO_GO7007=y
CONFIG_VIDEO_GO7007_USB=y
CONFIG_VIDEO_GO7007_LOADER=y
CONFIG_VIDEO_GO7007_USB_S2250_BOARD=y
CONFIG_VIDEO_HDPVR=y
CONFIG_VIDEO_PVRUSB2=y
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_STK1160=y

#
# Analog/digital TV USB devices
#
CONFIG_VIDEO_AU0828=y
CONFIG_VIDEO_AU0828_V4L2=y
CONFIG_VIDEO_AU0828_RC=y
CONFIG_VIDEO_CX231XX=y
CONFIG_VIDEO_CX231XX_RC=y
CONFIG_VIDEO_CX231XX_ALSA=y
CONFIG_VIDEO_CX231XX_DVB=y

#
# Digital TV USB devices
#
CONFIG_DVB_AS102=y
CONFIG_DVB_B2C2_FLEXCOP_USB=y
# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
CONFIG_DVB_USB_V2=y
CONFIG_DVB_USB_AF9015=y
CONFIG_DVB_USB_AF9035=y
CONFIG_DVB_USB_ANYSEE=y
CONFIG_DVB_USB_AU6610=y
CONFIG_DVB_USB_AZ6007=y
CONFIG_DVB_USB_CE6230=y
CONFIG_DVB_USB_DVBSKY=y
CONFIG_DVB_USB_EC168=y
CONFIG_DVB_USB_GL861=y
CONFIG_DVB_USB_LME2510=y
CONFIG_DVB_USB_MXL111SF=y
CONFIG_DVB_USB_RTL28XXU=y
CONFIG_DVB_USB_ZD1301=y
CONFIG_DVB_USB=y
# CONFIG_DVB_USB_DEBUG is not set
CONFIG_DVB_USB_A800=y
CONFIG_DVB_USB_AF9005=y
CONFIG_DVB_USB_AF9005_REMOTE=y
CONFIG_DVB_USB_AZ6027=y
CONFIG_DVB_USB_CINERGY_T2=y
CONFIG_DVB_USB_CXUSB=y
# CONFIG_DVB_USB_CXUSB_ANALOG is not set
CONFIG_DVB_USB_DIB0700=y
CONFIG_DVB_USB_DIB3000MC=y
CONFIG_DVB_USB_DIBUSB_MB=y
# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
CONFIG_DVB_USB_DIBUSB_MC=y
CONFIG_DVB_USB_DIGITV=y
CONFIG_DVB_USB_DTT200U=y
CONFIG_DVB_USB_DTV5100=y
CONFIG_DVB_USB_DW2102=y
CONFIG_DVB_USB_GP8PSK=y
CONFIG_DVB_USB_M920X=y
CONFIG_DVB_USB_NOVA_T_USB2=y
CONFIG_DVB_USB_OPERA1=y
CONFIG_DVB_USB_PCTV452E=y
CONFIG_DVB_USB_TECHNISAT_USB2=y
CONFIG_DVB_USB_TTUSB2=y
CONFIG_DVB_USB_UMT_010=y
CONFIG_DVB_USB_VP702X=y
CONFIG_DVB_USB_VP7045=y
CONFIG_SMS_USB_DRV=y
CONFIG_DVB_TTUSB_BUDGET=y
CONFIG_DVB_TTUSB_DEC=y

#
# Webcam, TV (analog/digital) USB devices
#
CONFIG_VIDEO_EM28XX=y
CONFIG_VIDEO_EM28XX_V4L2=y
CONFIG_VIDEO_EM28XX_ALSA=y
CONFIG_VIDEO_EM28XX_DVB=y
CONFIG_VIDEO_EM28XX_RC=y

#
# Software defined radio USB devices
#
CONFIG_USB_AIRSPY=y
CONFIG_USB_HACKRF=y
CONFIG_USB_MSI2500=y
# CONFIG_MEDIA_PCI_SUPPORT is not set
CONFIG_RADIO_ADAPTERS=y
# CONFIG_RADIO_MAXIRADIO is not set
# CONFIG_RADIO_SAA7706H is not set
CONFIG_RADIO_SHARK=y
CONFIG_RADIO_SHARK2=y
CONFIG_RADIO_SI4713=y
CONFIG_RADIO_TEA575X=y
# CONFIG_RADIO_TEA5764 is not set
# CONFIG_RADIO_TEF6862 is not set
# CONFIG_RADIO_WL1273 is not set
CONFIG_USB_DSBR=y
CONFIG_USB_KEENE=y
CONFIG_USB_MA901=y
CONFIG_USB_MR800=y
CONFIG_USB_RAREMONO=y
CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=y
# CONFIG_I2C_SI470X is not set
CONFIG_USB_SI4713=y
# CONFIG_PLATFORM_SI4713 is not set
CONFIG_I2C_SI4713=y
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIM2M=y
CONFIG_VIDEO_VICODEC=y
CONFIG_VIDEO_VIMC=y
CONFIG_VIDEO_VIVID=y
CONFIG_VIDEO_VIVID_CEC=y
CONFIG_VIDEO_VIVID_MAX_DEVS=64
# CONFIG_VIDEO_VISL is not set
CONFIG_DVB_TEST_DRIVERS=y
CONFIG_DVB_VIDTV=y

#
# FireWire (IEEE 1394) Adapters
#
# CONFIG_DVB_FIREDTV is not set
CONFIG_MEDIA_COMMON_OPTIONS=y

#
# common driver options
#
CONFIG_CYPRESS_FIRMWARE=y
CONFIG_TTPCI_EEPROM=y
CONFIG_UVC_COMMON=y
CONFIG_VIDEO_CX2341X=y
CONFIG_VIDEO_TVEEPROM=y
CONFIG_DVB_B2C2_FLEXCOP=y
CONFIG_SMS_SIANO_MDTV=y
CONFIG_SMS_SIANO_RC=y
CONFIG_VIDEO_V4L2_TPG=y
CONFIG_VIDEOBUF2_CORE=y
CONFIG_VIDEOBUF2_V4L2=y
CONFIG_VIDEOBUF2_MEMOPS=y
CONFIG_VIDEOBUF2_DMA_CONTIG=y
CONFIG_VIDEOBUF2_VMALLOC=y
CONFIG_VIDEOBUF2_DMA_SG=y
# end of Media drivers

#
# Media ancillary drivers
#
CONFIG_MEDIA_ATTACH=y
# CONFIG_VIDEO_IR_I2C is not set
# CONFIG_VIDEO_CAMERA_SENSOR is not set

#
# Camera ISPs
#
# CONFIG_VIDEO_THP7312 is not set
# end of Camera ISPs

#
# Lens drivers
#
# CONFIG_VIDEO_AD5820 is not set
# CONFIG_VIDEO_AK7375 is not set
# CONFIG_VIDEO_DW9714 is not set
# CONFIG_VIDEO_DW9719 is not set
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
# end of Lens drivers

#
# Flash devices
#
# CONFIG_VIDEO_ADP1653 is not set
# CONFIG_VIDEO_LM3560 is not set
# CONFIG_VIDEO_LM3646 is not set
# end of Flash devices

#
# Audio decoders, processors and mixers
#
# CONFIG_VIDEO_CS3308 is not set
# CONFIG_VIDEO_CS5345 is not set
CONFIG_VIDEO_CS53L32A=y
CONFIG_VIDEO_MSP3400=y
# CONFIG_VIDEO_SONY_BTF_MPX is not set
# CONFIG_VIDEO_TDA7432 is not set
# CONFIG_VIDEO_TDA9840 is not set
# CONFIG_VIDEO_TEA6415C is not set
# CONFIG_VIDEO_TEA6420 is not set
# CONFIG_VIDEO_TLV320AIC23B is not set
# CONFIG_VIDEO_TVAUDIO is not set
# CONFIG_VIDEO_UDA1342 is not set
# CONFIG_VIDEO_VP27SMPX is not set
# CONFIG_VIDEO_WM8739 is not set
CONFIG_VIDEO_WM8775=y
# end of Audio decoders, processors and mixers

#
# RDS decoders
#
# CONFIG_VIDEO_SAA6588 is not set
# end of RDS decoders

#
# Video decoders
#
# CONFIG_VIDEO_ADV7180 is not set
# CONFIG_VIDEO_ADV7183 is not set
# CONFIG_VIDEO_ADV748X is not set
# CONFIG_VIDEO_ADV7604 is not set
# CONFIG_VIDEO_ADV7842 is not set
# CONFIG_VIDEO_BT819 is not set
# CONFIG_VIDEO_BT856 is not set
# CONFIG_VIDEO_BT866 is not set
# CONFIG_VIDEO_ISL7998X is not set
# CONFIG_VIDEO_KS0127 is not set
# CONFIG_VIDEO_MAX9286 is not set
# CONFIG_VIDEO_ML86V7667 is not set
# CONFIG_VIDEO_SAA7110 is not set
CONFIG_VIDEO_SAA711X=y
# CONFIG_VIDEO_TC358743 is not set
# CONFIG_VIDEO_TC358746 is not set
# CONFIG_VIDEO_TVP514X is not set
# CONFIG_VIDEO_TVP5150 is not set
# CONFIG_VIDEO_TVP7002 is not set
# CONFIG_VIDEO_TW2804 is not set
# CONFIG_VIDEO_TW9900 is not set
# CONFIG_VIDEO_TW9903 is not set
# CONFIG_VIDEO_TW9906 is not set
# CONFIG_VIDEO_TW9910 is not set
# CONFIG_VIDEO_VPX3220 is not set

#
# Video and audio decoders
#
# CONFIG_VIDEO_SAA717X is not set
CONFIG_VIDEO_CX25840=y
# end of Video decoders

#
# Video encoders
#
# CONFIG_VIDEO_ADV7170 is not set
# CONFIG_VIDEO_ADV7175 is not set
# CONFIG_VIDEO_ADV7343 is not set
# CONFIG_VIDEO_ADV7393 is not set
# CONFIG_VIDEO_ADV7511 is not set
# CONFIG_VIDEO_AK881X is not set
# CONFIG_VIDEO_SAA7127 is not set
# CONFIG_VIDEO_SAA7185 is not set
# CONFIG_VIDEO_THS8200 is not set
# end of Video encoders

#
# Video improvement chips
#
# CONFIG_VIDEO_UPD64031A is not set
# CONFIG_VIDEO_UPD64083 is not set
# end of Video improvement chips

#
# Audio/Video compression chips
#
# CONFIG_VIDEO_SAA6752HS is not set
# end of Audio/Video compression chips

#
# SDR tuner chips
#
# CONFIG_SDR_MAX2175 is not set
# end of SDR tuner chips

#
# Miscellaneous helper chips
#
# CONFIG_VIDEO_I2C is not set
# CONFIG_VIDEO_M52790 is not set
# CONFIG_VIDEO_ST_MIPID02 is not set
# CONFIG_VIDEO_THS7303 is not set
# end of Miscellaneous helper chips

#
# Video serializers and deserializers
#
# CONFIG_VIDEO_DS90UB913 is not set
# CONFIG_VIDEO_DS90UB953 is not set
# CONFIG_VIDEO_DS90UB960 is not set
# end of Video serializers and deserializers

#
# Media SPI Adapters
#
# CONFIG_CXD2880_SPI_DRV is not set
# CONFIG_VIDEO_GS1662 is not set
# end of Media SPI Adapters

CONFIG_MEDIA_TUNER=y

#
# Customize TV tuners
#
# CONFIG_MEDIA_TUNER_E4000 is not set
# CONFIG_MEDIA_TUNER_FC0011 is not set
# CONFIG_MEDIA_TUNER_FC0012 is not set
# CONFIG_MEDIA_TUNER_FC0013 is not set
# CONFIG_MEDIA_TUNER_FC2580 is not set
# CONFIG_MEDIA_TUNER_IT913X is not set
# CONFIG_MEDIA_TUNER_M88RS6000T is not set
# CONFIG_MEDIA_TUNER_MAX2165 is not set
# CONFIG_MEDIA_TUNER_MC44S803 is not set
CONFIG_MEDIA_TUNER_MSI001=y
# CONFIG_MEDIA_TUNER_MT2060 is not set
# CONFIG_MEDIA_TUNER_MT2063 is not set
# CONFIG_MEDIA_TUNER_MT20XX is not set
# CONFIG_MEDIA_TUNER_MT2131 is not set
# CONFIG_MEDIA_TUNER_MT2266 is not set
# CONFIG_MEDIA_TUNER_MXL301RF is not set
# CONFIG_MEDIA_TUNER_MXL5005S is not set
# CONFIG_MEDIA_TUNER_MXL5007T is not set
# CONFIG_MEDIA_TUNER_QM1D1B0004 is not set
# CONFIG_MEDIA_TUNER_QM1D1C0042 is not set
# CONFIG_MEDIA_TUNER_QT1010 is not set
# CONFIG_MEDIA_TUNER_R820T is not set
# CONFIG_MEDIA_TUNER_SI2157 is not set
# CONFIG_MEDIA_TUNER_SIMPLE is not set
# CONFIG_MEDIA_TUNER_TDA18212 is not set
# CONFIG_MEDIA_TUNER_TDA18218 is not set
# CONFIG_MEDIA_TUNER_TDA18250 is not set
# CONFIG_MEDIA_TUNER_TDA18271 is not set
# CONFIG_MEDIA_TUNER_TDA827X is not set
# CONFIG_MEDIA_TUNER_TDA8290 is not set
# CONFIG_MEDIA_TUNER_TDA9887 is not set
# CONFIG_MEDIA_TUNER_TEA5761 is not set
# CONFIG_MEDIA_TUNER_TEA5767 is not set
# CONFIG_MEDIA_TUNER_TUA9001 is not set
# CONFIG_MEDIA_TUNER_XC2028 is not set
# CONFIG_MEDIA_TUNER_XC4000 is not set
# CONFIG_MEDIA_TUNER_XC5000 is not set
# end of Customize TV tuners

#
# Customise DVB Frontends
#

#
# Multistandard (satellite) frontends
#
# CONFIG_DVB_M88DS3103 is not set
# CONFIG_DVB_MXL5XX is not set
# CONFIG_DVB_STB0899 is not set
# CONFIG_DVB_STB6100 is not set
# CONFIG_DVB_STV090x is not set
# CONFIG_DVB_STV0910 is not set
# CONFIG_DVB_STV6110x is not set
# CONFIG_DVB_STV6111 is not set

#
# Multistandard (cable + terrestrial) frontends
#
# CONFIG_DVB_DRXK is not set
# CONFIG_DVB_MN88472 is not set
# CONFIG_DVB_MN88473 is not set
# CONFIG_DVB_SI2165 is not set
# CONFIG_DVB_TDA18271C2DD is not set

#
# DVB-S (satellite) frontends
#
# CONFIG_DVB_CX24110 is not set
# CONFIG_DVB_CX24116 is not set
# CONFIG_DVB_CX24117 is not set
# CONFIG_DVB_CX24120 is not set
# CONFIG_DVB_CX24123 is not set
# CONFIG_DVB_DS3000 is not set
# CONFIG_DVB_MB86A16 is not set
# CONFIG_DVB_MT312 is not set
# CONFIG_DVB_S5H1420 is not set
# CONFIG_DVB_SI21XX is not set
# CONFIG_DVB_STB6000 is not set
# CONFIG_DVB_STV0288 is not set
# CONFIG_DVB_STV0299 is not set
# CONFIG_DVB_STV0900 is not set
# CONFIG_DVB_STV6110 is not set
# CONFIG_DVB_TDA10071 is not set
# CONFIG_DVB_TDA10086 is not set
# CONFIG_DVB_TDA8083 is not set
# CONFIG_DVB_TDA8261 is not set
# CONFIG_DVB_TDA826X is not set
# CONFIG_DVB_TS2020 is not set
# CONFIG_DVB_TUA6100 is not set
# CONFIG_DVB_TUNER_CX24113 is not set
# CONFIG_DVB_TUNER_ITD1000 is not set
# CONFIG_DVB_VES1X93 is not set
# CONFIG_DVB_ZL10036 is not set
# CONFIG_DVB_ZL10039 is not set

#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_AF9013=y
CONFIG_DVB_AS102_FE=y
# CONFIG_DVB_CX22700 is not set
# CONFIG_DVB_CX22702 is not set
# CONFIG_DVB_CXD2820R is not set
# CONFIG_DVB_CXD2841ER is not set
CONFIG_DVB_DIB3000MB=y
CONFIG_DVB_DIB3000MC=y
# CONFIG_DVB_DIB7000M is not set
# CONFIG_DVB_DIB7000P is not set
# CONFIG_DVB_DIB9000 is not set
# CONFIG_DVB_DRXD is not set
CONFIG_DVB_EC100=y
CONFIG_DVB_GP8PSK_FE=y
# CONFIG_DVB_L64781 is not set
# CONFIG_DVB_MT352 is not set
# CONFIG_DVB_NXT6000 is not set
CONFIG_DVB_RTL2830=y
CONFIG_DVB_RTL2832=y
CONFIG_DVB_RTL2832_SDR=y
# CONFIG_DVB_S5H1432 is not set
# CONFIG_DVB_SI2168 is not set
# CONFIG_DVB_SP887X is not set
# CONFIG_DVB_STV0367 is not set
# CONFIG_DVB_TDA10048 is not set
# CONFIG_DVB_TDA1004X is not set
# CONFIG_DVB_ZD1301_DEMOD is not set
CONFIG_DVB_ZL10353=y
# CONFIG_DVB_CXD2880 is not set

#
# DVB-C (cable) frontends
#
# CONFIG_DVB_STV0297 is not set
# CONFIG_DVB_TDA10021 is not set
# CONFIG_DVB_TDA10023 is not set
# CONFIG_DVB_VES1820 is not set

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
# CONFIG_DVB_AU8522_DTV is not set
# CONFIG_DVB_AU8522_V4L is not set
# CONFIG_DVB_BCM3510 is not set
# CONFIG_DVB_LG2160 is not set
# CONFIG_DVB_LGDT3305 is not set
# CONFIG_DVB_LGDT3306A is not set
# CONFIG_DVB_LGDT330X is not set
# CONFIG_DVB_MXL692 is not set
# CONFIG_DVB_NXT200X is not set
# CONFIG_DVB_OR51132 is not set
# CONFIG_DVB_OR51211 is not set
# CONFIG_DVB_S5H1409 is not set
# CONFIG_DVB_S5H1411 is not set

#
# ISDB-T (terrestrial) frontends
#
# CONFIG_DVB_DIB8000 is not set
# CONFIG_DVB_MB86A20S is not set
# CONFIG_DVB_S921 is not set

#
# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
#
# CONFIG_DVB_MN88443X is not set
# CONFIG_DVB_TC90522 is not set

#
# Digital terrestrial only tuners/PLL
#
# CONFIG_DVB_PLL is not set
# CONFIG_DVB_TUNER_DIB0070 is not set
# CONFIG_DVB_TUNER_DIB0090 is not set

#
# SEC control devices for DVB-S
#
# CONFIG_DVB_A8293 is not set
CONFIG_DVB_AF9033=y
# CONFIG_DVB_ASCOT2E is not set
# CONFIG_DVB_ATBM8830 is not set
# CONFIG_DVB_HELENE is not set
# CONFIG_DVB_HORUS3A is not set
# CONFIG_DVB_ISL6405 is not set
# CONFIG_DVB_ISL6421 is not set
# CONFIG_DVB_ISL6423 is not set
# CONFIG_DVB_IX2505V is not set
# CONFIG_DVB_LGS8GL5 is not set
# CONFIG_DVB_LGS8GXX is not set
# CONFIG_DVB_LNBH25 is not set
# CONFIG_DVB_LNBH29 is not set
# CONFIG_DVB_LNBP21 is not set
# CONFIG_DVB_LNBP22 is not set
# CONFIG_DVB_M88RS2000 is not set
# CONFIG_DVB_TDA665x is not set
# CONFIG_DVB_DRX39XYJ is not set

#
# Common Interface (EN50221) controller drivers
#
# CONFIG_DVB_CXD2099 is not set
# CONFIG_DVB_SP2 is not set
# end of Customise DVB Frontends

#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set
# end of Media ancillary drivers

#
# Graphics support
#
CONFIG_APERTURE_HELPERS=y
CONFIG_SCREEN_INFO=y
CONFIG_VIDEO=y
# CONFIG_AUXDISPLAY is not set
# CONFIG_PANEL is not set
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_VIA is not set
CONFIG_INTEL_GTT=y
# CONFIG_VGA_SWITCHEROO is not set
CONFIG_DRM=y
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_DEBUG_MM=y
CONFIG_DRM_KMS_HELPER=y
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
# CONFIG_DRM_DEBUG_MODESET_LOCK is not set
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_DP_AUX_BUS=y
CONFIG_DRM_DISPLAY_HELPER=y
CONFIG_DRM_DISPLAY_DP_HELPER=y
CONFIG_DRM_DISPLAY_DP_TUNNEL=y
# CONFIG_DRM_DISPLAY_DEBUG_DP_TUNNEL_STATE is not set
CONFIG_DRM_DISPLAY_HDCP_HELPER=y
CONFIG_DRM_DISPLAY_HDMI_HELPER=y
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_TTM=y
CONFIG_DRM_BUDDY=y
CONFIG_DRM_VRAM_HELPER=y
CONFIG_DRM_TTM_HELPER=y
CONFIG_DRM_GEM_SHMEM_HELPER=y

#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
# end of I2C encoder or helper chips

#
# ARM devices
#
# CONFIG_DRM_KOMEDA is not set
# end of ARM devices

# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_AMDGPU is not set
# CONFIG_DRM_NOUVEAU is not set
CONFIG_DRM_I915=y
CONFIG_DRM_I915_FORCE_PROBE=""
CONFIG_DRM_I915_CAPTURE_ERROR=y
CONFIG_DRM_I915_COMPRESS_ERROR=y
CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_I915_GVT_KVMGT is not set
CONFIG_DRM_I915_DP_TUNNEL=y

#
# drm/i915 Debugging
#
# CONFIG_DRM_I915_WERROR is not set
# CONFIG_DRM_I915_DEBUG is not set
# CONFIG_DRM_I915_DEBUG_MMIO is not set
# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set
# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set
# CONFIG_DRM_I915_DEBUG_GUC is not set
# CONFIG_DRM_I915_SELFTEST is not set
# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set
# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set
# CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set
# CONFIG_DRM_I915_DEBUG_WAKEREF is not set
# end of drm/i915 Debugging

#
# drm/i915 Profile Guided Optimisation
#
CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
CONFIG_DRM_I915_PREEMPT_TIMEOUT_COMPUTE=7500
CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000
CONFIG_DRM_I915_STOP_TIMEOUT=100
CONFIG_DRM_I915_TIMESLICE_DURATION=1
# end of drm/i915 Profile Guided Optimisation

# CONFIG_DRM_XE is not set
CONFIG_DRM_VGEM=y
CONFIG_DRM_VKMS=y
CONFIG_DRM_VMWGFX=y
# CONFIG_DRM_VMWGFX_MKSSTATS is not set
# CONFIG_DRM_GMA500 is not set
CONFIG_DRM_UDL=y
# CONFIG_DRM_AST is not set
# CONFIG_DRM_MGAG200 is not set
# CONFIG_DRM_QXL is not set
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_DRM_VIRTIO_GPU_KMS=y
CONFIG_DRM_PANEL=y

#
# Display Panels
#
# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
# CONFIG_DRM_PANEL_AUO_A030JTN01 is not set
# CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0 is not set
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
# CONFIG_DRM_PANEL_BOE_TH101MB31UIG002_28A is not set
# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
# CONFIG_DRM_PANEL_EBBG_FT8719 is not set
# CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set
# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
# CONFIG_DRM_PANEL_DSI_CM is not set
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_HIMAX_HX83112A is not set
# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9805 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9882T is not set
# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JADARD_JD9365DA_H3 is not set
# CONFIG_DRM_PANEL_JDI_LPM102A188A is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_JDI_R63452 is not set
# CONFIG_DRM_PANEL_KHADAS_TS050 is not set
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966 is not set
# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
# CONFIG_DRM_PANEL_NEWVISION_NV3051D is not set
# CONFIG_DRM_PANEL_NEWVISION_NV3052C is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT36523 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
# CONFIG_DRM_PANEL_NOVATEK_NT36672E is not set
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
# CONFIG_DRM_PANEL_ORISETECH_OTA5601A is not set
# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM692E5 is not set
# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set
# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set
# CONFIG_DRM_PANEL_STARTEK_KD070FHFID015 is not set
CONFIG_DRM_PANEL_EDP=y
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SYNAPTICS_R63353 is not set
# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
# CONFIG_DRM_PANEL_VISIONOX_R66451 is not set
# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
# end of Display Panels

CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y

#
# Display Interface Bridges
#
# CONFIG_DRM_CHIPONE_ICN6211 is not set
# CONFIG_DRM_CHRONTEL_CH7033 is not set
# CONFIG_DRM_DISPLAY_CONNECTOR is not set
# CONFIG_DRM_ITE_IT6505 is not set
# CONFIG_DRM_LONTIUM_LT8912B is not set
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
# CONFIG_DRM_ITE_IT66121 is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
# CONFIG_DRM_NWL_MIPI_DSI is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PARADE_PS8622 is not set
# CONFIG_DRM_PARADE_PS8640 is not set
# CONFIG_DRM_SAMSUNG_DSIM is not set
# CONFIG_DRM_SIL_SII8620 is not set
# CONFIG_DRM_SII902X is not set
# CONFIG_DRM_SII9234 is not set
# CONFIG_DRM_SIMPLE_BRIDGE is not set
# CONFIG_DRM_THINE_THC63LVD1024 is not set
# CONFIG_DRM_TOSHIBA_TC358762 is not set
# CONFIG_DRM_TOSHIBA_TC358764 is not set
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
# CONFIG_DRM_TI_DLPC3433 is not set
# CONFIG_DRM_TI_TFP410 is not set
# CONFIG_DRM_TI_SN65DSI83 is not set
# CONFIG_DRM_TI_SN65DSI86 is not set
# CONFIG_DRM_TI_TPD12S015 is not set
# CONFIG_DRM_ANALOGIX_ANX6345 is not set
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# CONFIG_DRM_ANALOGIX_ANX7625 is not set
# CONFIG_DRM_I2C_ADV7511 is not set
# CONFIG_DRM_CDNS_DSI is not set
# CONFIG_DRM_CDNS_MHDP8546 is not set
# end of Display Interface Bridges

# CONFIG_DRM_ETNAVIV is not set
# CONFIG_DRM_LOGICVC is not set
# CONFIG_DRM_ARCPGU is not set
CONFIG_DRM_BOCHS=y
CONFIG_DRM_CIRRUS_QEMU=y
# CONFIG_DRM_GM12U320 is not set
# CONFIG_DRM_PANEL_MIPI_DBI is not set
CONFIG_DRM_SIMPLEDRM=y
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9163 is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
# CONFIG_TINYDRM_ILI9486 is not set
# CONFIG_TINYDRM_MI0283QT is not set
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
# CONFIG_TINYDRM_ST7735R is not set
# CONFIG_DRM_VBOXVIDEO is not set
# CONFIG_DRM_GUD is not set
# CONFIG_DRM_SSD130X is not set
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y

#
# Frame buffer Devices
#
CONFIG_FB=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
CONFIG_FB_VGA16=y
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_OPENCORES is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_VIA is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_IBM_GXT4500 is not set
CONFIG_FB_VIRTUAL=y
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_SSD1307 is not set
# CONFIG_FB_SM712 is not set
CONFIG_FB_CORE=y
CONFIG_FB_NOTIFY=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DEVICE is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYSMEM_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_IOMEM_FOPS=y
CONFIG_FB_IOMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
# CONFIG_FB_MODE_HELPERS is not set
CONFIG_FB_TILEBLITTING=y
# end of Frame buffer Devices

#
# Backlight & LCD device support
#
CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_LCD_L4F00242T03 is not set
# CONFIG_LCD_LMS283GF05 is not set
# CONFIG_LCD_LTV350QV is not set
# CONFIG_LCD_ILI922X is not set
# CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_TDO24M is not set
# CONFIG_LCD_VGG2432A4 is not set
# CONFIG_LCD_PLATFORM is not set
# CONFIG_LCD_AMS369FG06 is not set
# CONFIG_LCD_LMS501KF03 is not set
# CONFIG_LCD_HX8357 is not set
# CONFIG_LCD_OTM3225A is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_KTD253 is not set
# CONFIG_BACKLIGHT_KTD2801 is not set
# CONFIG_BACKLIGHT_KTZ8866 is not set
# CONFIG_BACKLIGHT_APPLE is not set
# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_PANDORA is not set
# CONFIG_BACKLIGHT_GPIO is not set
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
# CONFIG_BACKLIGHT_ARCXCNN is not set
# CONFIG_BACKLIGHT_LED is not set
# end of Backlight & LCD device support

CONFIG_VGASTATE=y
CONFIG_VIDEOMODE_HELPERS=y
CONFIG_HDMI=y

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
# end of Console display driver support

CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
# CONFIG_LOGO_LINUX_CLUT224 is not set
# end of Graphics support

# CONFIG_DRM_ACCEL is not set
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_SEQ_DEVICE=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_JACK=y
CONFIG_SND_JACK_INPUT_DEV=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_PCM_TIMER=y
CONFIG_SND_HRTIMER=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MAX_CARDS=32
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_PROC_FS=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
CONFIG_SND_CTL_FAST_LOOKUP=y
CONFIG_SND_DEBUG=y
# CONFIG_SND_DEBUG_VERBOSE is not set
CONFIG_SND_PCM_XRUN_DEBUG=y
# CONFIG_SND_CTL_INPUT_VALIDATION is not set
# CONFIG_SND_CTL_DEBUG is not set
# CONFIG_SND_JACK_INJECTION_DEBUG is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_CTL_LED=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_SEQ_MIDI_EVENT=y
CONFIG_SND_SEQ_MIDI=y
CONFIG_SND_SEQ_VIRMIDI=y
# CONFIG_SND_SEQ_UMP is not set
CONFIG_SND_DRIVERS=y
# CONFIG_SND_PCSP is not set
CONFIG_SND_DUMMY=y
CONFIG_SND_ALOOP=y
# CONFIG_SND_PCMTEST is not set
CONFIG_SND_VIRMIDI=y
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_MTS64 is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_SERIAL_GENERIC is not set
# CONFIG_SND_MPU401 is not set
# CONFIG_SND_PORTMAN2X4 is not set
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ASIHPI is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_OXYGEN is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CTXFI is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_INDIGOIOX is not set
# CONFIG_SND_INDIGODJX is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_LOLA is not set
# CONFIG_SND_LX6464ES is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SE6X is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set

#
# HD-Audio
#
CONFIG_SND_HDA=y
CONFIG_SND_HDA_GENERIC_LEDS=y
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_SCODEC_COMPONENT=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_HDMI=y
CONFIG_SND_HDA_CODEC_CIRRUS=y
# CONFIG_SND_HDA_CODEC_CS8409 is not set
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CA0132=y
# CONFIG_SND_HDA_CODEC_CA0132_DSP is not set
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
# CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set
# CONFIG_SND_HDA_CTL_DEV_ID is not set
# end of HD-Audio

CONFIG_SND_HDA_CORE=y
CONFIG_SND_HDA_COMPONENT=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_INTEL_NHLT=y
CONFIG_SND_INTEL_DSP_CONFIG=y
CONFIG_SND_INTEL_SOUNDWIRE_ACPI=y
# CONFIG_SND_SPI is not set
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
# CONFIG_SND_USB_AUDIO_MIDI_V2 is not set
CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
CONFIG_SND_USB_UA101=y
CONFIG_SND_USB_USX2Y=y
CONFIG_SND_USB_CAIAQ=y
CONFIG_SND_USB_CAIAQ_INPUT=y
CONFIG_SND_USB_US122L=y
CONFIG_SND_USB_6FIRE=y
CONFIG_SND_USB_HIFACE=y
CONFIG_SND_BCD2000=y
CONFIG_SND_USB_LINE6=y
CONFIG_SND_USB_POD=y
CONFIG_SND_USB_PODHD=y
CONFIG_SND_USB_TONEPORT=y
CONFIG_SND_USB_VARIAX=y
# CONFIG_SND_FIREWIRE is not set
CONFIG_SND_PCMCIA=y
# CONFIG_SND_VXPOCKET is not set
# CONFIG_SND_PDAUDIOCF is not set
# CONFIG_SND_SOC is not set
CONFIG_SND_X86=y
# CONFIG_HDMI_LPE_AUDIO is not set
CONFIG_SND_VIRTIO=y
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=y
CONFIG_HID_GENERIC=y

#
# Special HID drivers
#
CONFIG_HID_A4TECH=y
CONFIG_HID_ACCUTOUCH=y
CONFIG_HID_ACRUX=y
CONFIG_HID_ACRUX_FF=y
CONFIG_HID_APPLE=y
CONFIG_HID_APPLEIR=y
CONFIG_HID_ASUS=y
CONFIG_HID_AUREAL=y
CONFIG_HID_BELKIN=y
CONFIG_HID_BETOP_FF=y
# CONFIG_HID_BIGBEN_FF is not set
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CORSAIR=y
# CONFIG_HID_COUGAR is not set
# CONFIG_HID_MACALLY is not set
CONFIG_HID_PRODIKEYS=y
CONFIG_HID_CMEDIA=y
CONFIG_HID_CP2112=y
# CONFIG_HID_CREATIVE_SB0540 is not set
CONFIG_HID_CYPRESS=y
CONFIG_HID_DRAGONRISE=y
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=y
# CONFIG_HID_ELAN is not set
CONFIG_HID_ELECOM=y
CONFIG_HID_ELO=y
# CONFIG_HID_EVISION is not set
CONFIG_HID_EZKEY=y
# CONFIG_HID_FT260 is not set
CONFIG_HID_GEMBIRD=y
CONFIG_HID_GFRM=y
# CONFIG_HID_GLORIOUS is not set
CONFIG_HID_HOLTEK=y
CONFIG_HOLTEK_FF=y
# CONFIG_HID_GOOGLE_STADIA_FF is not set
# CONFIG_HID_VIVALDI is not set
CONFIG_HID_GT683R=y
CONFIG_HID_KEYTOUCH=y
CONFIG_HID_KYE=y
CONFIG_HID_UCLOGIC=y
CONFIG_HID_WALTOP=y
# CONFIG_HID_VIEWSONIC is not set
# CONFIG_HID_VRC2 is not set
# CONFIG_HID_XIAOMI is not set
CONFIG_HID_GYRATION=y
CONFIG_HID_ICADE=y
CONFIG_HID_ITE=y
# CONFIG_HID_JABRA is not set
CONFIG_HID_TWINHAN=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LCPOWER=y
CONFIG_HID_LED=y
CONFIG_HID_LENOVO=y
# CONFIG_HID_LETSKETCH is not set
CONFIG_HID_LOGITECH=y
CONFIG_HID_LOGITECH_DJ=y
CONFIG_HID_LOGITECH_HIDPP=y
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MAGICMOUSE=y
# CONFIG_HID_MALTRON is not set
CONFIG_HID_MAYFLASH=y
# CONFIG_HID_MEGAWORLD_FF is not set
CONFIG_HID_REDRAGON=y
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_MULTITOUCH=y
# CONFIG_HID_NINTENDO is not set
CONFIG_HID_NTI=y
CONFIG_HID_NTRIG=y
# CONFIG_HID_NVIDIA_SHIELD is not set
CONFIG_HID_ORTEK=y
CONFIG_HID_PANTHERLORD=y
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PENMOUNT=y
CONFIG_HID_PETALYNX=y
CONFIG_HID_PICOLCD=y
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PICOLCD_CIR=y
CONFIG_HID_PLANTRONICS=y
# CONFIG_HID_PXRC is not set
# CONFIG_HID_RAZER is not set
CONFIG_HID_PRIMAX=y
CONFIG_HID_RETRODE=y
CONFIG_HID_ROCCAT=y
CONFIG_HID_SAITEK=y
CONFIG_HID_SAMSUNG=y
# CONFIG_HID_SEMITEK is not set
# CONFIG_HID_SIGMAMICRO is not set
CONFIG_HID_SONY=y
CONFIG_SONY_FF=y
CONFIG_HID_SPEEDLINK=y
# CONFIG_HID_STEAM is not set
CONFIG_HID_STEELSERIES=y
CONFIG_HID_SUNPLUS=y
CONFIG_HID_RMI=y
CONFIG_HID_GREENASIA=y
CONFIG_GREENASIA_FF=y
CONFIG_HID_SMARTJOYPLUS=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_HID_TIVO=y
CONFIG_HID_TOPSEED=y
# CONFIG_HID_TOPRE is not set
CONFIG_HID_THINGM=y
CONFIG_HID_THRUSTMASTER=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_HID_UDRAW_PS3=y
# CONFIG_HID_U2FZERO is not set
CONFIG_HID_WACOM=y
CONFIG_HID_WIIMOTE=y
CONFIG_HID_XINMO=y
CONFIG_HID_ZEROPLUS=y
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=y
CONFIG_HID_SENSOR_HUB=y
CONFIG_HID_SENSOR_CUSTOM_SENSOR=y
CONFIG_HID_ALPS=y
# CONFIG_HID_MCP2200 is not set
# CONFIG_HID_MCP2221 is not set
# end of Special HID drivers

#
# HID-BPF support
#
# end of HID-BPF support

#
# USB HID support
#
CONFIG_USB_HID=y
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y
# end of USB HID support

CONFIG_I2C_HID=y
# CONFIG_I2C_HID_ACPI is not set
# CONFIG_I2C_HID_OF is not set
# CONFIG_I2C_HID_OF_ELAN is not set
# CONFIG_I2C_HID_OF_GOODIX is not set

#
# Intel ISH HID support
#
CONFIG_INTEL_ISH_HID=y
# CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER is not set
# end of Intel ISH HID support

#
# AMD SFH HID Support
#
# CONFIG_AMD_SFH_HID is not set
# end of AMD SFH HID Support

CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_LED_TRIG=y
CONFIG_USB_ULPI_BUS=y
# CONFIG_USB_CONN_GPIO is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
CONFIG_USB_PCI=y
CONFIG_USB_PCI_AMD=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_FEW_INIT_RETRIES=y
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_OTG=y
# CONFIG_USB_OTG_PRODUCTLIST is not set
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
CONFIG_USB_OTG_FSM=y
CONFIG_USB_LEDS_TRIGGER_USBPORT=y
CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_DEFAULT_AUTHORIZATION_MODE=1
CONFIG_USB_MON=y

#
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_PCI=y
# CONFIG_USB_XHCI_PCI_RENESAS is not set
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_PCI=y
# CONFIG_USB_EHCI_FSL is not set
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_OXU210HP_HCD=y
CONFIG_USB_ISP116X_HCD=y
CONFIG_USB_MAX3421_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PCI=y
# CONFIG_USB_OHCI_HCD_SSB is not set
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_SL811_HCD=y
CONFIG_USB_SL811_HCD_ISO=y
CONFIG_USB_SL811_CS=y
CONFIG_USB_R8A66597_HCD=y
CONFIG_USB_HCD_BCMA=y
CONFIG_USB_HCD_SSB=y
# CONFIG_USB_HCD_TEST_MODE is not set

#
# USB Device Class drivers
#
CONFIG_USB_ACM=y
CONFIG_USB_PRINTER=y
CONFIG_USB_WDM=y
CONFIG_USB_TMC=y

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_REALTEK=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
CONFIG_USB_STORAGE_ONETOUCH=y
CONFIG_USB_STORAGE_KARMA=y
CONFIG_USB_STORAGE_CYPRESS_ATACB=y
CONFIG_USB_STORAGE_ENE_UB6250=y
CONFIG_USB_UAS=y

#
# USB Imaging devices
#
CONFIG_USB_MDC800=y
CONFIG_USB_MICROTEK=y
CONFIG_USBIP_CORE=y
CONFIG_USBIP_VHCI_HCD=y
CONFIG_USBIP_VHCI_HC_PORTS=8
CONFIG_USBIP_VHCI_NR_HCS=16
CONFIG_USBIP_HOST=y
CONFIG_USBIP_VUDC=y
# CONFIG_USBIP_DEBUG is not set

#
# USB dual-mode controller drivers
#
# CONFIG_USB_CDNS_SUPPORT is not set
CONFIG_USB_MUSB_HDRC=y
# CONFIG_USB_MUSB_HOST is not set
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_DUAL_ROLE=y

#
# Platform Glue Layer
#

#
# MUSB DMA mode
#
CONFIG_MUSB_PIO_ONLY=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_ULPI=y
# CONFIG_USB_DWC3_HOST is not set
CONFIG_USB_DWC3_GADGET=y
# CONFIG_USB_DWC3_DUAL_ROLE is not set

#
# Platform Glue Driver Support
#
CONFIG_USB_DWC3_PCI=y
# CONFIG_USB_DWC3_HAPS is not set
CONFIG_USB_DWC3_OF_SIMPLE=y
CONFIG_USB_DWC2=y
CONFIG_USB_DWC2_HOST=y

#
# Gadget/Dual-role mode requires USB Gadget support to be enabled
#
# CONFIG_USB_DWC2_PERIPHERAL is not set
# CONFIG_USB_DWC2_DUAL_ROLE is not set
CONFIG_USB_DWC2_PCI=y
# CONFIG_USB_DWC2_DEBUG is not set
# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_CHIPIDEA_PCI=y
# CONFIG_USB_CHIPIDEA_MSM is not set
# CONFIG_USB_CHIPIDEA_NPCM is not set
# CONFIG_USB_CHIPIDEA_IMX is not set
# CONFIG_USB_CHIPIDEA_GENERIC is not set
# CONFIG_USB_CHIPIDEA_TEGRA is not set
CONFIG_USB_ISP1760=y
CONFIG_USB_ISP1760_HCD=y
CONFIG_USB_ISP1761_UDC=y
# CONFIG_USB_ISP1760_HOST_ROLE is not set
# CONFIG_USB_ISP1760_GADGET_ROLE is not set
CONFIG_USB_ISP1760_DUAL_ROLE=y

#
# USB port drivers
#
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_SIMPLE=y
CONFIG_USB_SERIAL_AIRCABLE=y
CONFIG_USB_SERIAL_ARK3116=y
CONFIG_USB_SERIAL_BELKIN=y
CONFIG_USB_SERIAL_CH341=y
CONFIG_USB_SERIAL_WHITEHEAT=y
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=y
CONFIG_USB_SERIAL_CP210X=y
CONFIG_USB_SERIAL_CYPRESS_M8=y
CONFIG_USB_SERIAL_EMPEG=y
CONFIG_USB_SERIAL_FTDI_SIO=y
CONFIG_USB_SERIAL_VISOR=y
CONFIG_USB_SERIAL_IPAQ=y
CONFIG_USB_SERIAL_IR=y
CONFIG_USB_SERIAL_EDGEPORT=y
CONFIG_USB_SERIAL_EDGEPORT_TI=y
CONFIG_USB_SERIAL_F81232=y
CONFIG_USB_SERIAL_F8153X=y
CONFIG_USB_SERIAL_GARMIN=y
CONFIG_USB_SERIAL_IPW=y
CONFIG_USB_SERIAL_IUU=y
CONFIG_USB_SERIAL_KEYSPAN_PDA=y
CONFIG_USB_SERIAL_KEYSPAN=y
CONFIG_USB_SERIAL_KLSI=y
CONFIG_USB_SERIAL_KOBIL_SCT=y
CONFIG_USB_SERIAL_MCT_U232=y
CONFIG_USB_SERIAL_METRO=y
CONFIG_USB_SERIAL_MOS7720=y
CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7840=y
CONFIG_USB_SERIAL_MXUPORT=y
CONFIG_USB_SERIAL_NAVMAN=y
CONFIG_USB_SERIAL_PL2303=y
CONFIG_USB_SERIAL_OTI6858=y
CONFIG_USB_SERIAL_QCAUX=y
CONFIG_USB_SERIAL_QUALCOMM=y
CONFIG_USB_SERIAL_SPCP8X5=y
CONFIG_USB_SERIAL_SAFE=y
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
CONFIG_USB_SERIAL_SIERRAWIRELESS=y
CONFIG_USB_SERIAL_SYMBOL=y
CONFIG_USB_SERIAL_TI=y
CONFIG_USB_SERIAL_CYBERJACK=y
CONFIG_USB_SERIAL_WWAN=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_USB_SERIAL_OMNINET=y
CONFIG_USB_SERIAL_OPTICON=y
CONFIG_USB_SERIAL_XSENS_MT=y
CONFIG_USB_SERIAL_WISHBONE=y
CONFIG_USB_SERIAL_SSU100=y
CONFIG_USB_SERIAL_QT2=y
CONFIG_USB_SERIAL_UPD78F0730=y
CONFIG_USB_SERIAL_XR=y
CONFIG_USB_SERIAL_DEBUG=y

#
# USB Miscellaneous drivers
#
CONFIG_USB_USS720=y
CONFIG_USB_EMI62=y
CONFIG_USB_EMI26=y
CONFIG_USB_ADUTUX=y
CONFIG_USB_SEVSEG=y
CONFIG_USB_LEGOTOWER=y
CONFIG_USB_LCD=y
CONFIG_USB_CYPRESS_CY7C63=y
CONFIG_USB_CYTHERM=y
CONFIG_USB_IDMOUSE=y
CONFIG_USB_APPLEDISPLAY=y
# CONFIG_APPLE_MFI_FASTCHARGE is not set
# CONFIG_USB_LJCA is not set
CONFIG_USB_SISUSBVGA=y
CONFIG_USB_LD=y
CONFIG_USB_TRANCEVIBRATOR=y
CONFIG_USB_IOWARRIOR=y
CONFIG_USB_TEST=y
CONFIG_USB_EHSET_TEST_FIXTURE=y
CONFIG_USB_ISIGHTFW=y
CONFIG_USB_YUREX=y
CONFIG_USB_EZUSB_FX2=y
CONFIG_USB_HUB_USB251XB=y
CONFIG_USB_HSIC_USB3503=y
CONFIG_USB_HSIC_USB4604=y
CONFIG_USB_LINK_LAYER_TEST=y
CONFIG_USB_CHAOSKEY=y
# CONFIG_USB_ONBOARD_HUB is not set
CONFIG_USB_ATM=y
CONFIG_USB_SPEEDTOUCH=y
CONFIG_USB_CXACRU=y
CONFIG_USB_UEAGLEATM=y
CONFIG_USB_XUSBATM=y

#
# USB Physical Layer drivers
#
CONFIG_USB_PHY=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_GPIO_VBUS=y
CONFIG_TAHVO_USB=y
CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y
CONFIG_USB_ISP1301=y
# end of USB Physical Layer drivers

CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
CONFIG_USB_GADGET_DEBUG_FILES=y
CONFIG_USB_GADGET_DEBUG_FS=y
CONFIG_USB_GADGET_VBUS_DRAW=500
CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
CONFIG_U_SERIAL_CONSOLE=y

#
# USB Peripheral Controller
#
CONFIG_USB_GR_UDC=y
CONFIG_USB_R8A66597=y
CONFIG_USB_PXA27X=y
CONFIG_USB_MV_UDC=y
CONFIG_USB_MV_U3D=y
CONFIG_USB_SNP_CORE=y
# CONFIG_USB_SNP_UDC_PLAT is not set
# CONFIG_USB_M66592 is not set
CONFIG_USB_BDC_UDC=y
CONFIG_USB_AMD5536UDC=y
CONFIG_USB_NET2272=y
CONFIG_USB_NET2272_DMA=y
CONFIG_USB_NET2280=y
CONFIG_USB_GOKU=y
CONFIG_USB_EG20T=y
# CONFIG_USB_GADGET_XILINX is not set
# CONFIG_USB_MAX3420_UDC is not set
# CONFIG_USB_CDNS2_UDC is not set
CONFIG_USB_DUMMY_HCD=y
# end of USB Peripheral Controller

CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_F_ACM=y
CONFIG_USB_F_SS_LB=y
CONFIG_USB_U_SERIAL=y
CONFIG_USB_U_ETHER=y
CONFIG_USB_U_AUDIO=y
CONFIG_USB_F_SERIAL=y
CONFIG_USB_F_OBEX=y
CONFIG_USB_F_NCM=y
CONFIG_USB_F_ECM=y
CONFIG_USB_F_PHONET=y
CONFIG_USB_F_EEM=y
CONFIG_USB_F_SUBSET=y
CONFIG_USB_F_RNDIS=y
CONFIG_USB_F_MASS_STORAGE=y
CONFIG_USB_F_FS=y
CONFIG_USB_F_UAC1=y
CONFIG_USB_F_UAC1_LEGACY=y
CONFIG_USB_F_UAC2=y
CONFIG_USB_F_UVC=y
CONFIG_USB_F_MIDI=y
CONFIG_USB_F_HID=y
CONFIG_USB_F_PRINTER=y
CONFIG_USB_F_TCM=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_OBEX=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_ECM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_EEM=y
CONFIG_USB_CONFIGFS_PHONET=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_LB_SS=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_UAC1=y
CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y
CONFIG_USB_CONFIGFS_F_UAC2=y
CONFIG_USB_CONFIGFS_F_MIDI=y
# CONFIG_USB_CONFIGFS_F_MIDI2 is not set
CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_CONFIGFS_F_UVC=y
CONFIG_USB_CONFIGFS_F_PRINTER=y
CONFIG_USB_CONFIGFS_F_TCM=y

#
# USB Gadget precomposed configurations
#
# CONFIG_USB_ZERO is not set
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_ETH is not set
# CONFIG_USB_G_NCM is not set
CONFIG_USB_GADGETFS=y
# CONFIG_USB_FUNCTIONFS is not set
# CONFIG_USB_MASS_STORAGE is not set
# CONFIG_USB_GADGET_TARGET is not set
# CONFIG_USB_G_SERIAL is not set
# CONFIG_USB_MIDI_GADGET is not set
# CONFIG_USB_G_PRINTER is not set
# CONFIG_USB_CDC_COMPOSITE is not set
# CONFIG_USB_G_NOKIA is not set
# CONFIG_USB_G_ACM_MS is not set
# CONFIG_USB_G_MULTI is not set
# CONFIG_USB_G_HID is not set
# CONFIG_USB_G_DBGP is not set
# CONFIG_USB_G_WEBCAM is not set
CONFIG_USB_RAW_GADGET=y
# end of USB Gadget precomposed configurations

CONFIG_TYPEC=y
CONFIG_TYPEC_TCPM=y
CONFIG_TYPEC_TCPCI=y
# CONFIG_TYPEC_RT1711H is not set
# CONFIG_TYPEC_TCPCI_MAXIM is not set
CONFIG_TYPEC_FUSB302=y
CONFIG_TYPEC_UCSI=y
# CONFIG_UCSI_CCG is not set
CONFIG_UCSI_ACPI=y
# CONFIG_UCSI_STM32G0 is not set
CONFIG_TYPEC_TPS6598X=y
# CONFIG_TYPEC_ANX7411 is not set
# CONFIG_TYPEC_RT1719 is not set
# CONFIG_TYPEC_HD3SS3220 is not set
# CONFIG_TYPEC_STUSB160X is not set
# CONFIG_TYPEC_WUSB3801 is not set

#
# USB Type-C Multiplexer/DeMultiplexer Switch support
#
# CONFIG_TYPEC_MUX_FSA4480 is not set
# CONFIG_TYPEC_MUX_GPIO_SBU is not set
# CONFIG_TYPEC_MUX_PI3USB30532 is not set
# CONFIG_TYPEC_MUX_IT5205 is not set
# CONFIG_TYPEC_MUX_NB7VPQ904M is not set
# CONFIG_TYPEC_MUX_PTN36502 is not set
# CONFIG_TYPEC_MUX_WCD939X_USBSS is not set
# end of USB Type-C Multiplexer/DeMultiplexer Switch support

#
# USB Type-C Alternate Mode drivers
#
# CONFIG_TYPEC_DP_ALTMODE is not set
# end of USB Type-C Alternate Mode drivers

CONFIG_USB_ROLE_SWITCH=y
# CONFIG_USB_ROLES_INTEL_XHCI is not set
CONFIG_MMC=y
# CONFIG_PWRSEQ_EMMC is not set
# CONFIG_PWRSEQ_SIMPLE is not set
# CONFIG_MMC_BLOCK is not set
# CONFIG_SDIO_UART is not set
# CONFIG_MMC_TEST is not set
# CONFIG_MMC_CRYPTO is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_SDHCI is not set
# CONFIG_MMC_WBSD is not set
# CONFIG_MMC_TIFM_SD is not set
# CONFIG_MMC_SPI is not set
# CONFIG_MMC_SDRICOH_CS is not set
# CONFIG_MMC_CB710 is not set
# CONFIG_MMC_VIA_SDMMC is not set
CONFIG_MMC_VUB300=y
CONFIG_MMC_USHC=y
# CONFIG_MMC_USDHI6ROL0 is not set
CONFIG_MMC_REALTEK_USB=y
# CONFIG_MMC_CQHCI is not set
# CONFIG_MMC_HSQ is not set
# CONFIG_MMC_TOSHIBA_PCI is not set
# CONFIG_MMC_MTK is not set
# CONFIG_SCSI_UFSHCD is not set
CONFIG_MEMSTICK=y
# CONFIG_MEMSTICK_DEBUG is not set

#
# MemoryStick drivers
#
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MSPRO_BLOCK is not set
# CONFIG_MS_BLOCK is not set

#
# MemoryStick Host Controller Drivers
#
# CONFIG_MEMSTICK_TIFM_MS is not set
# CONFIG_MEMSTICK_JMICRON_38X is not set
# CONFIG_MEMSTICK_R592 is not set
CONFIG_MEMSTICK_REALTEK_USB=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
# CONFIG_LEDS_CLASS_FLASH is not set
# CONFIG_LEDS_CLASS_MULTICOLOR is not set
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set

#
# LED drivers
#
# CONFIG_LEDS_AN30259A is not set
# CONFIG_LEDS_APU is not set
# CONFIG_LEDS_AW200XX is not set
# CONFIG_LEDS_AW2013 is not set
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_CHT_WCOVE is not set
# CONFIG_LEDS_CR0014114 is not set
# CONFIG_LEDS_EL15203000 is not set
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_LM3532 is not set
# CONFIG_LEDS_LM3642 is not set
# CONFIG_LEDS_LM3692X is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_GPIO is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP3952 is not set
# CONFIG_LEDS_LP8860 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_BD2606MVV is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_INTEL_SS4200 is not set
# CONFIG_LEDS_LT3593 is not set
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set

#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
# CONFIG_LEDS_BLINKM is not set
# CONFIG_LEDS_SYSCON is not set
# CONFIG_LEDS_MLXCPLD is not set
# CONFIG_LEDS_MLXREG is not set
# CONFIG_LEDS_USER is not set
# CONFIG_LEDS_NIC78BX is not set
# CONFIG_LEDS_SPI_BYTE is not set
# CONFIG_LEDS_LM3697 is not set
# CONFIG_LEDS_LGM is not set

#
# Flash and Torch LED drivers
#

#
# RGB LED drivers
#

#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
# CONFIG_LEDS_TRIGGER_TIMER is not set
# CONFIG_LEDS_TRIGGER_ONESHOT is not set
# CONFIG_LEDS_TRIGGER_DISK is not set
# CONFIG_LEDS_TRIGGER_MTD is not set
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
# CONFIG_LEDS_TRIGGER_CPU is not set
# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
# CONFIG_LEDS_TRIGGER_GPIO is not set
# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set

#
# iptables trigger is under Netfilter config (LED target)
#
# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
# CONFIG_LEDS_TRIGGER_CAMERA is not set
# CONFIG_LEDS_TRIGGER_PANIC is not set
# CONFIG_LEDS_TRIGGER_NETDEV is not set
# CONFIG_LEDS_TRIGGER_PATTERN is not set
CONFIG_LEDS_TRIGGER_AUDIO=y
# CONFIG_LEDS_TRIGGER_TTY is not set

#
# Simple LED drivers
#
# CONFIG_ACCESSIBILITY is not set
CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_USER_MAD=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y
CONFIG_INFINIBAND_VIRT_DMA=y
# CONFIG_INFINIBAND_EFA is not set
# CONFIG_INFINIBAND_ERDMA is not set
CONFIG_MLX4_INFINIBAND=y
# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_OCRDMA is not set
# CONFIG_INFINIBAND_USNIC is not set
# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFINIBAND_RDMAVT is not set
CONFIG_RDMA_RXE=y
CONFIG_RDMA_SIW=y
CONFIG_INFINIBAND_IPOIB=y
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG=y
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
CONFIG_INFINIBAND_SRP=y
# CONFIG_INFINIBAND_SRPT is not set
CONFIG_INFINIBAND_ISER=y
CONFIG_INFINIBAND_RTRS=y
CONFIG_INFINIBAND_RTRS_CLIENT=y
# CONFIG_INFINIBAND_RTRS_SERVER is not set
# CONFIG_INFINIBAND_OPA_VNIC is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
# CONFIG_EDAC_LEGACY_SYSFS is not set
# CONFIG_EDAC_DEBUG is not set
# CONFIG_EDAC_DECODE_MCE is not set
# CONFIG_EDAC_E752X is not set
# CONFIG_EDAC_I82975X is not set
# CONFIG_EDAC_I3000 is not set
# CONFIG_EDAC_I3200 is not set
# CONFIG_EDAC_IE31200 is not set
# CONFIG_EDAC_X38 is not set
# CONFIG_EDAC_I5400 is not set
# CONFIG_EDAC_I7CORE is not set
# CONFIG_EDAC_I5100 is not set
# CONFIG_EDAC_I7300 is not set
# CONFIG_EDAC_SBRIDGE is not set
# CONFIG_EDAC_SKX is not set
# CONFIG_EDAC_I10NM is not set
# CONFIG_EDAC_PND2 is not set
# CONFIG_EDAC_IGEN6 is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
# CONFIG_RTC_HCTOSYS is not set
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
# CONFIG_RTC_NVMEM is not set

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_ABB5ZES3 is not set
# CONFIG_RTC_DRV_ABEOZ9 is not set
# CONFIG_RTC_DRV_ABX80X is not set
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_HYM8563 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_MAX31335 is not set
# CONFIG_RTC_DRV_NCT3018Y is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_ISL12026 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8523 is not set
# CONFIG_RTC_DRV_PCF85063 is not set
# CONFIG_RTC_DRV_PCF85363 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_TWL4030 is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8010 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3028 is not set
# CONFIG_RTC_DRV_RV3032 is not set
# CONFIG_RTC_DRV_RV8803 is not set
# CONFIG_RTC_DRV_SD3078 is not set

#
# SPI RTC drivers
#
# CONFIG_RTC_DRV_M41T93 is not set
# CONFIG_RTC_DRV_M41T94 is not set
# CONFIG_RTC_DRV_DS1302 is not set
# CONFIG_RTC_DRV_DS1305 is not set
# CONFIG_RTC_DRV_DS1343 is not set
# CONFIG_RTC_DRV_DS1347 is not set
# CONFIG_RTC_DRV_DS1390 is not set
# CONFIG_RTC_DRV_MAX6916 is not set
# CONFIG_RTC_DRV_R9701 is not set
# CONFIG_RTC_DRV_RX4581 is not set
# CONFIG_RTC_DRV_RS5C348 is not set
# CONFIG_RTC_DRV_MAX6902 is not set
# CONFIG_RTC_DRV_PCF2123 is not set
# CONFIG_RTC_DRV_MCP795 is not set
CONFIG_RTC_I2C_AND_SPI=y

#
# SPI and I2C RTC drivers
#
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_PCF2127 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set
# CONFIG_RTC_DRV_RX6110 is not set

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1685_FAMILY is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_DS2404 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_ZYNQMP is not set

#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_CADENCE is not set
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_R7301 is not set

#
# HID Sensor RTC drivers
#
CONFIG_RTC_DRV_HID_SENSOR_TIME=y
# CONFIG_RTC_DRV_GOLDFISH is not set
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set

#
# DMA Devices
#
CONFIG_DMA_ENGINE=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_ACPI=y
CONFIG_DMA_OF=y
# CONFIG_ALTERA_MSGDMA is not set
# CONFIG_DW_AXI_DMAC is not set
# CONFIG_FSL_EDMA is not set
CONFIG_INTEL_IDMA64=y
# CONFIG_INTEL_IDXD is not set
# CONFIG_INTEL_IDXD_COMPAT is not set
CONFIG_INTEL_IOATDMA=y
# CONFIG_PLX_DMA is not set
# CONFIG_XILINX_DMA is not set
# CONFIG_XILINX_XDMA is not set
# CONFIG_XILINX_ZYNQMP_DPDMA is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_HIDMA is not set
CONFIG_DW_DMAC_CORE=y
# CONFIG_DW_DMAC is not set
# CONFIG_DW_DMAC_PCI is not set
# CONFIG_DW_EDMA is not set
CONFIG_HSU_DMA=y
# CONFIG_SF_PDMA is not set
# CONFIG_INTEL_LDMA is not set

#
# DMA Clients
#
CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DMA_ENGINE_RAID=y

#
# DMABUF options
#
CONFIG_SYNC_FILE=y
CONFIG_SW_SYNC=y
CONFIG_UDMABUF=y
CONFIG_DMABUF_MOVE_NOTIFY=y
# CONFIG_DMABUF_DEBUG is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMABUF_HEAPS=y
# CONFIG_DMABUF_SYSFS_STATS is not set
CONFIG_DMABUF_HEAPS_SYSTEM=y
CONFIG_DMABUF_HEAPS_CMA=y
# end of DMABUF options

CONFIG_DCA=y
# CONFIG_UIO is not set
CONFIG_VFIO=y
CONFIG_VFIO_DEVICE_CDEV=y
# CONFIG_VFIO_GROUP is not set
CONFIG_VFIO_VIRQFD=y
# CONFIG_VFIO_DEBUGFS is not set

#
# VFIO support for PCI devices
#
CONFIG_VFIO_PCI_CORE=y
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_VFIO_PCI=y
# CONFIG_VFIO_PCI_VGA is not set
# CONFIG_VFIO_PCI_IGD is not set
# CONFIG_VIRTIO_VFIO_PCI is not set
# end of VFIO support for PCI devices

CONFIG_IRQ_BYPASS_MANAGER=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_ANCHOR=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI_LIB=y
CONFIG_VIRTIO_PCI_LIB_LEGACY=y
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_ADMIN_LEGACY=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_VDPA=y
CONFIG_VIRTIO_PMEM=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_MEM=y
CONFIG_VIRTIO_INPUT=y
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_VIRTIO_DMA_SHARED_BUFFER=y
CONFIG_VDPA=y
CONFIG_VDPA_SIM=y
CONFIG_VDPA_SIM_NET=y
CONFIG_VDPA_SIM_BLOCK=y
CONFIG_VDPA_USER=y
# CONFIG_IFCVF is not set
# CONFIG_MLX5_VDPA_STEERING_DEBUG is not set
CONFIG_VP_VDPA=y
# CONFIG_ALIBABA_ENI_VDPA is not set
# CONFIG_SNET_VDPA is not set
CONFIG_VHOST_IOTLB=y
CONFIG_VHOST_RING=y
CONFIG_VHOST_TASK=y
CONFIG_VHOST=y
CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=y
# CONFIG_VHOST_SCSI is not set
CONFIG_VHOST_VSOCK=y
CONFIG_VHOST_VDPA=y
CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y

#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV is not set
# end of Microsoft Hyper-V guest support

CONFIG_GREYBUS=y
# CONFIG_GREYBUS_BEAGLEPLAY is not set
CONFIG_GREYBUS_ES2=y
CONFIG_COMEDI=y
# CONFIG_COMEDI_DEBUG is not set
CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
# CONFIG_COMEDI_MISC_DRIVERS is not set
# CONFIG_COMEDI_PCI_DRIVERS is not set
# CONFIG_COMEDI_PCMCIA_DRIVERS is not set
CONFIG_COMEDI_USB_DRIVERS=y
CONFIG_COMEDI_DT9812=y
CONFIG_COMEDI_NI_USB6501=y
CONFIG_COMEDI_USBDUX=y
CONFIG_COMEDI_USBDUXFAST=y
CONFIG_COMEDI_USBDUXSIGMA=y
CONFIG_COMEDI_VMK80XX=y
# CONFIG_COMEDI_8255_SA is not set
# CONFIG_COMEDI_KCOMEDILIB is not set
# CONFIG_COMEDI_TESTS is not set
CONFIG_STAGING=y
CONFIG_PRISM2_USB=y
# CONFIG_RTLLIB is not set
# CONFIG_RTL8723BS is not set
CONFIG_R8712U=y
# CONFIG_RTS5208 is not set
# CONFIG_VT6655 is not set
# CONFIG_VT6656 is not set

#
# IIO staging drivers
#

#
# Accelerometers
#
# CONFIG_ADIS16203 is not set
# CONFIG_ADIS16240 is not set
# end of Accelerometers

#
# Analog to digital converters
#
# CONFIG_AD7816 is not set
# end of Analog to digital converters

#
# Analog digital bi-direction converters
#
# CONFIG_ADT7316 is not set
# end of Analog digital bi-direction converters

#
# Direct Digital Synthesis
#
# CONFIG_AD9832 is not set
# CONFIG_AD9834 is not set
# end of Direct Digital Synthesis

#
# Network Analyzer, Impedance Converters
#
# CONFIG_AD5933 is not set
# end of Network Analyzer, Impedance Converters
# end of IIO staging drivers

# CONFIG_FB_SM750 is not set
# CONFIG_STAGING_MEDIA is not set
# CONFIG_LTE_GDM724X is not set
# CONFIG_MOST_COMPONENTS is not set
# CONFIG_KS7010 is not set
# CONFIG_GREYBUS_BOOTROM is not set
# CONFIG_GREYBUS_FIRMWARE is not set
CONFIG_GREYBUS_HID=y
# CONFIG_GREYBUS_LOG is not set
# CONFIG_GREYBUS_LOOPBACK is not set
# CONFIG_GREYBUS_POWER is not set
# CONFIG_GREYBUS_RAW is not set
# CONFIG_GREYBUS_VIBRATOR is not set
CONFIG_GREYBUS_BRIDGED_PHY=y
# CONFIG_GREYBUS_GPIO is not set
# CONFIG_GREYBUS_I2C is not set
# CONFIG_GREYBUS_SDIO is not set
# CONFIG_GREYBUS_SPI is not set
# CONFIG_GREYBUS_UART is not set
CONFIG_GREYBUS_USB=y
# CONFIG_PI433 is not set
# CONFIG_XIL_AXIS_FIFO is not set
# CONFIG_FIELDBUS_DEV is not set
# CONFIG_VME_BUS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_CHROME_PLATFORMS is not set
# CONFIG_MELLANOX_PLATFORM is not set
CONFIG_SURFACE_PLATFORMS=y
# CONFIG_SURFACE3_WMI is not set
# CONFIG_SURFACE_3_POWER_OPREGION is not set
# CONFIG_SURFACE_GPE is not set
# CONFIG_SURFACE_HOTPLUG is not set
# CONFIG_SURFACE_PRO3_BUTTON is not set
# CONFIG_SURFACE_AGGREGATOR is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACPI_WMI=y
CONFIG_WMI_BMOF=y
# CONFIG_HUAWEI_WMI is not set
# CONFIG_MXM_WMI is not set
# CONFIG_NVIDIA_WMI_EC_BACKLIGHT is not set
# CONFIG_XIAOMI_WMI is not set
# CONFIG_GIGABYTE_WMI is not set
# CONFIG_YOGABOOK is not set
# CONFIG_ACERHDF is not set
# CONFIG_ACER_WIRELESS is not set
# CONFIG_ACER_WMI is not set
# CONFIG_AMD_PMC is not set
# CONFIG_AMD_HSMP is not set
# CONFIG_AMD_WBRF is not set
# CONFIG_ADV_SWBUTTON is not set
# CONFIG_APPLE_GMUX is not set
# CONFIG_ASUS_LAPTOP is not set
# CONFIG_ASUS_WIRELESS is not set
CONFIG_ASUS_WMI=y
# CONFIG_ASUS_NB_WMI is not set
# CONFIG_ASUS_TF103C_DOCK is not set
CONFIG_EEEPC_LAPTOP=y
# CONFIG_EEEPC_WMI is not set
# CONFIG_X86_PLATFORM_DRIVERS_DELL is not set
# CONFIG_AMILO_RFKILL is not set
# CONFIG_FUJITSU_LAPTOP is not set
# CONFIG_FUJITSU_TABLET is not set
# CONFIG_GPD_POCKET_FAN is not set
# CONFIG_X86_PLATFORM_DRIVERS_HP is not set
# CONFIG_WIRELESS_HOTKEY is not set
# CONFIG_IBM_RTL is not set
# CONFIG_IDEAPAD_LAPTOP is not set
# CONFIG_LENOVO_YMC is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_THINKPAD_LMI is not set
# CONFIG_INTEL_ATOMISP2_PM is not set
# CONFIG_INTEL_IFS is not set
# CONFIG_INTEL_SAR_INT1092 is not set
# CONFIG_INTEL_SKL_INT3472 is not set

#
# Intel Speed Select Technology interface support
#
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
# end of Intel Speed Select Technology interface support

# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
# CONFIG_INTEL_WMI_THUNDERBOLT is not set

#
# Intel Uncore Frequency Control
#
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
# end of Intel Uncore Frequency Control

# CONFIG_INTEL_HID_EVENT is not set
# CONFIG_INTEL_VBTN is not set
# CONFIG_INTEL_INT0002_VGPIO is not set
# CONFIG_INTEL_OAKTRAIL is not set
# CONFIG_INTEL_ISHTP_ECLITE is not set
# CONFIG_INTEL_PUNIT_IPC is not set
# CONFIG_INTEL_RST is not set
# CONFIG_INTEL_SMARTCONNECT is not set
# CONFIG_INTEL_TURBO_MAX_3 is not set
# CONFIG_INTEL_VSEC is not set
# CONFIG_MSI_EC is not set
# CONFIG_MSI_LAPTOP is not set
# CONFIG_MSI_WMI is not set
# CONFIG_PCENGINES_APU2 is not set
# CONFIG_BARCO_P50_GPIO is not set
# CONFIG_SAMSUNG_LAPTOP is not set
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_TOSHIBA_HAPS is not set
# CONFIG_TOSHIBA_WMI is not set
# CONFIG_ACPI_CMPC is not set
# CONFIG_COMPAL_LAPTOP is not set
# CONFIG_LG_LAPTOP is not set
# CONFIG_PANASONIC_LAPTOP is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_SYSTEM76_ACPI is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_SERIAL_MULTI_INSTANTIATE is not set
# CONFIG_MLX_PLATFORM is not set
# CONFIG_INSPUR_PLATFORM_PROFILE is not set
# CONFIG_INTEL_IPS is not set
# CONFIG_INTEL_SCU_PCI is not set
# CONFIG_INTEL_SCU_PLATFORM is not set
# CONFIG_SIEMENS_SIMATIC_IPC is not set
# CONFIG_WINMATE_FM07_KEYS is not set
CONFIG_P2SB=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
# CONFIG_LMK04832 is not set
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_SI5341 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_CLK_TWL is not set
# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
# CONFIG_COMMON_CLK_RS9_PCIE is not set
# CONFIG_COMMON_CLK_SI521XX is not set
# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
# CONFIG_CLK_LGM_CGU is not set
# CONFIG_XILINX_VCU is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
# CONFIG_HWSPINLOCK is not set

#
# Clock Source drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
# end of Clock Source drivers

CONFIG_MAILBOX=y
# CONFIG_PLATFORM_MHU is not set
CONFIG_PCC=y
# CONFIG_ALTERA_MBOX is not set
# CONFIG_MAILBOX_TEST is not set
CONFIG_IOMMU_IOVA=y
CONFIG_IOMMU_API=y
CONFIG_IOMMUFD_DRIVER=y
CONFIG_IOMMU_SUPPORT=y

#
# Generic IOMMU Pagetable Support
#
# end of Generic IOMMU Pagetable Support

# CONFIG_IOMMU_DEBUGFS is not set
# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
CONFIG_OF_IOMMU=y
CONFIG_IOMMU_DMA=y
CONFIG_IOMMU_SVA=y
CONFIG_IOMMU_IOPF=y
# CONFIG_AMD_IOMMU is not set
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_PERF_EVENTS=y
CONFIG_IOMMUFD=y
CONFIG_IOMMUFD_TEST=y
CONFIG_IRQ_REMAP=y
# CONFIG_VIRTIO_IOMMU is not set

#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set
# end of Remoteproc drivers

#
# Rpmsg drivers
#
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
# CONFIG_RPMSG_VIRTIO is not set
# end of Rpmsg drivers

# CONFIG_SOUNDWIRE is not set

#
# SOC (System On Chip) specific Drivers
#

#
# Amlogic SoC drivers
#
# end of Amlogic SoC drivers

#
# Broadcom SoC drivers
#
# end of Broadcom SoC drivers

#
# NXP/Freescale QorIQ SoC drivers
#
# end of NXP/Freescale QorIQ SoC drivers

#
# fujitsu SoC drivers
#
# end of fujitsu SoC drivers

#
# i.MX SoC drivers
#
# end of i.MX SoC drivers

#
# Enable LiteX SoC Builder specific drivers
#
# CONFIG_LITEX_SOC_CONTROLLER is not set
# end of Enable LiteX SoC Builder specific drivers

# CONFIG_WPCM450_SOC is not set

#
# Qualcomm SoC drivers
#
CONFIG_QCOM_QMI_HELPERS=y
# end of Qualcomm SoC drivers

# CONFIG_SOC_TI is not set

#
# Xilinx SoC drivers
#
# end of Xilinx SoC drivers
# end of SOC (System On Chip) specific Drivers

#
# PM Domains
#

#
# Amlogic PM Domains
#
# end of Amlogic PM Domains

#
# Broadcom PM Domains
#
# end of Broadcom PM Domains

#
# i.MX PM Domains
#
# end of i.MX PM Domains

#
# Qualcomm PM Domains
#
# end of Qualcomm PM Domains
# end of PM Domains

# CONFIG_PM_DEVFREQ is not set
CONFIG_EXTCON=y

#
# Extcon Device Drivers
#
# CONFIG_EXTCON_ADC_JACK is not set
# CONFIG_EXTCON_FSA9480 is not set
# CONFIG_EXTCON_GPIO is not set
# CONFIG_EXTCON_INTEL_INT3496 is not set
CONFIG_EXTCON_INTEL_CHT_WC=y
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_PTN5150 is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
# CONFIG_EXTCON_USB_GPIO is not set
# CONFIG_EXTCON_USBC_TUSB320 is not set
# CONFIG_MEMORY is not set
CONFIG_IIO=y
CONFIG_IIO_BUFFER=y
# CONFIG_IIO_BUFFER_CB is not set
# CONFIG_IIO_BUFFER_DMA is not set
# CONFIG_IIO_BUFFER_DMAENGINE is not set
# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
CONFIG_IIO_KFIFO_BUF=y
CONFIG_IIO_TRIGGERED_BUFFER=y
# CONFIG_IIO_CONFIGFS is not set
CONFIG_IIO_TRIGGER=y
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
# CONFIG_IIO_SW_DEVICE is not set
# CONFIG_IIO_SW_TRIGGER is not set
# CONFIG_IIO_TRIGGERED_EVENT is not set

#
# Accelerometers
#
# CONFIG_ADIS16201 is not set
# CONFIG_ADIS16209 is not set
# CONFIG_ADXL313_I2C is not set
# CONFIG_ADXL313_SPI is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
# CONFIG_ADXL355_I2C is not set
# CONFIG_ADXL355_SPI is not set
# CONFIG_ADXL367_SPI is not set
# CONFIG_ADXL367_I2C is not set
# CONFIG_ADXL372_SPI is not set
# CONFIG_ADXL372_I2C is not set
# CONFIG_BMA180 is not set
# CONFIG_BMA220 is not set
# CONFIG_BMA400 is not set
# CONFIG_BMC150_ACCEL is not set
# CONFIG_BMI088_ACCEL is not set
# CONFIG_DA280 is not set
# CONFIG_DA311 is not set
# CONFIG_DMARD06 is not set
# CONFIG_DMARD09 is not set
# CONFIG_DMARD10 is not set
# CONFIG_FXLS8962AF_I2C is not set
# CONFIG_FXLS8962AF_SPI is not set
CONFIG_HID_SENSOR_ACCEL_3D=y
# CONFIG_IIO_ST_ACCEL_3AXIS is not set
# CONFIG_IIO_KX022A_SPI is not set
# CONFIG_IIO_KX022A_I2C is not set
# CONFIG_KXSD9 is not set
# CONFIG_KXCJK1013 is not set
# CONFIG_MC3230 is not set
# CONFIG_MMA7455_I2C is not set
# CONFIG_MMA7455_SPI is not set
# CONFIG_MMA7660 is not set
# CONFIG_MMA8452 is not set
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MSA311 is not set
# CONFIG_MXC4005 is not set
# CONFIG_MXC6255 is not set
# CONFIG_SCA3000 is not set
# CONFIG_SCA3300 is not set
# CONFIG_STK8312 is not set
# CONFIG_STK8BA50 is not set
# end of Accelerometers

#
# Analog to digital converters
#
# CONFIG_AD4130 is not set
# CONFIG_AD7091R5 is not set
# CONFIG_AD7091R8 is not set
# CONFIG_AD7124 is not set
# CONFIG_AD7192 is not set
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
# CONFIG_AD7292 is not set
# CONFIG_AD7298 is not set
# CONFIG_AD7476 is not set
# CONFIG_AD7606_IFACE_PARALLEL is not set
# CONFIG_AD7606_IFACE_SPI is not set
# CONFIG_AD7766 is not set
# CONFIG_AD7768_1 is not set
# CONFIG_AD7780 is not set
# CONFIG_AD7791 is not set
# CONFIG_AD7793 is not set
# CONFIG_AD7887 is not set
# CONFIG_AD7923 is not set
# CONFIG_AD7949 is not set
# CONFIG_AD799X is not set
# CONFIG_AD9467 is not set
# CONFIG_ADI_AXI_ADC is not set
# CONFIG_CC10001_ADC is not set
CONFIG_DLN2_ADC=y
# CONFIG_ENVELOPE_DETECTOR is not set
# CONFIG_HI8435 is not set
# CONFIG_HX711 is not set
# CONFIG_INA2XX_ADC is not set
# CONFIG_LTC2309 is not set
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
# CONFIG_MAX1118 is not set
# CONFIG_MAX11205 is not set
# CONFIG_MAX11410 is not set
# CONFIG_MAX1241 is not set
# CONFIG_MAX1363 is not set
# CONFIG_MAX34408 is not set
# CONFIG_MAX9611 is not set
# CONFIG_MCP320X is not set
# CONFIG_MCP3422 is not set
# CONFIG_MCP3564 is not set
# CONFIG_MCP3911 is not set
# CONFIG_NAU7802 is not set
# CONFIG_PAC1934 is not set
# CONFIG_RICHTEK_RTQ6056 is not set
# CONFIG_SD_ADC_MODULATOR is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC108S102 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
# CONFIG_TI_ADS7924 is not set
# CONFIG_TI_ADS1100 is not set
# CONFIG_TI_ADS1298 is not set
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8344 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_ADS124S08 is not set
# CONFIG_TI_ADS131E08 is not set
# CONFIG_TI_LMP92064 is not set
# CONFIG_TI_TLC4541 is not set
# CONFIG_TI_TSC2046 is not set
# CONFIG_TWL4030_MADC is not set
# CONFIG_TWL6030_GPADC is not set
# CONFIG_VF610_ADC is not set
CONFIG_VIPERBOARD_ADC=y
# CONFIG_XILINX_XADC is not set
# end of Analog to digital converters

#
# Analog to digital and digital to analog converters
#
# CONFIG_AD74115 is not set
# CONFIG_AD74413R is not set
# end of Analog to digital and digital to analog converters

#
# Analog Front Ends
#
# CONFIG_IIO_RESCALE is not set
# end of Analog Front Ends

#
# Amplifiers
#
# CONFIG_AD8366 is not set
# CONFIG_ADA4250 is not set
# CONFIG_HMC425 is not set
# end of Amplifiers

#
# Capacitance to digital converters
#
# CONFIG_AD7150 is not set
# CONFIG_AD7746 is not set
# end of Capacitance to digital converters

#
# Chemical Sensors
#
# CONFIG_AOSONG_AGS02MA is not set
# CONFIG_ATLAS_PH_SENSOR is not set
# CONFIG_ATLAS_EZO_SENSOR is not set
# CONFIG_BME680 is not set
# CONFIG_CCS811 is not set
# CONFIG_IAQCORE is not set
# CONFIG_PMS7003 is not set
# CONFIG_SCD30_CORE is not set
# CONFIG_SCD4X is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
# CONFIG_SPS30_I2C is not set
# CONFIG_SPS30_SERIAL is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_VZ89X is not set
# end of Chemical Sensors

#
# Hid Sensor IIO Common
#
CONFIG_HID_SENSOR_IIO_COMMON=y
CONFIG_HID_SENSOR_IIO_TRIGGER=y
# end of Hid Sensor IIO Common

#
# IIO SCMI Sensors
#
# end of IIO SCMI Sensors

#
# SSP Sensor Common
#
# CONFIG_IIO_SSP_SENSORHUB is not set
# end of SSP Sensor Common

#
# Digital to analog converters
#
# CONFIG_AD3552R is not set
# CONFIG_AD5064 is not set
# CONFIG_AD5360 is not set
# CONFIG_AD5380 is not set
# CONFIG_AD5421 is not set
# CONFIG_AD5446 is not set
# CONFIG_AD5449 is not set
# CONFIG_AD5592R is not set
# CONFIG_AD5593R is not set
# CONFIG_AD5504 is not set
# CONFIG_AD5624R_SPI is not set
# CONFIG_LTC2688 is not set
# CONFIG_AD5686_SPI is not set
# CONFIG_AD5696_I2C is not set
# CONFIG_AD5755 is not set
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
# CONFIG_AD5766 is not set
# CONFIG_AD5770R is not set
# CONFIG_AD5791 is not set
# CONFIG_AD7293 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD8801 is not set
# CONFIG_DPOT_DAC is not set
# CONFIG_DS4424 is not set
# CONFIG_LTC1660 is not set
# CONFIG_LTC2632 is not set
# CONFIG_M62332 is not set
# CONFIG_MAX517 is not set
# CONFIG_MAX5522 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MCP4725 is not set
# CONFIG_MCP4728 is not set
# CONFIG_MCP4821 is not set
# CONFIG_MCP4922 is not set
# CONFIG_TI_DAC082S085 is not set
# CONFIG_TI_DAC5571 is not set
# CONFIG_TI_DAC7311 is not set
# CONFIG_TI_DAC7612 is not set
# CONFIG_VF610_DAC is not set
# end of Digital to analog converters

#
# IIO dummy driver
#
# end of IIO dummy driver

#
# Filters
#
# CONFIG_ADMV8818 is not set
# end of Filters

#
# Frequency Synthesizers DDS/PLL
#

#
# Clock Generator/Distribution
#
# CONFIG_AD9523 is not set
# end of Clock Generator/Distribution

#
# Phase-Locked Loop (PLL) frequency synthesizers
#
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
# CONFIG_ADF4377 is not set
# CONFIG_ADMFM2000 is not set
# CONFIG_ADMV1013 is not set
# CONFIG_ADMV1014 is not set
# CONFIG_ADMV4420 is not set
# CONFIG_ADRF6780 is not set
# end of Phase-Locked Loop (PLL) frequency synthesizers
# end of Frequency Synthesizers DDS/PLL

#
# Digital gyroscope sensors
#
# CONFIG_ADIS16080 is not set
# CONFIG_ADIS16130 is not set
# CONFIG_ADIS16136 is not set
# CONFIG_ADIS16260 is not set
# CONFIG_ADXRS290 is not set
# CONFIG_ADXRS450 is not set
# CONFIG_BMG160 is not set
# CONFIG_FXAS21002C is not set
CONFIG_HID_SENSOR_GYRO_3D=y
# CONFIG_MPU3050_I2C is not set
# CONFIG_IIO_ST_GYRO_3AXIS is not set
# CONFIG_ITG3200 is not set
# end of Digital gyroscope sensors

#
# Health Sensors
#

#
# Heart Rate Monitors
#
# CONFIG_AFE4403 is not set
# CONFIG_AFE4404 is not set
# CONFIG_MAX30100 is not set
# CONFIG_MAX30102 is not set
# end of Heart Rate Monitors
# end of Health Sensors

#
# Humidity sensors
#
# CONFIG_AM2315 is not set
# CONFIG_DHT11 is not set
# CONFIG_HDC100X is not set
# CONFIG_HDC2010 is not set
# CONFIG_HDC3020 is not set
CONFIG_HID_SENSOR_HUMIDITY=y
# CONFIG_HTS221 is not set
# CONFIG_HTU21 is not set
# CONFIG_SI7005 is not set
# CONFIG_SI7020 is not set
# end of Humidity sensors

#
# Inertial measurement units
#
# CONFIG_ADIS16400 is not set
# CONFIG_ADIS16460 is not set
# CONFIG_ADIS16475 is not set
# CONFIG_ADIS16480 is not set
# CONFIG_BMI160_I2C is not set
# CONFIG_BMI160_SPI is not set
# CONFIG_BMI323_I2C is not set
# CONFIG_BMI323_SPI is not set
# CONFIG_BOSCH_BNO055_SERIAL is not set
# CONFIG_BOSCH_BNO055_I2C is not set
# CONFIG_FXOS8700_I2C is not set
# CONFIG_FXOS8700_SPI is not set
# CONFIG_KMX61 is not set
# CONFIG_INV_ICM42600_I2C is not set
# CONFIG_INV_ICM42600_SPI is not set
# CONFIG_INV_MPU6050_I2C is not set
# CONFIG_INV_MPU6050_SPI is not set
# CONFIG_IIO_ST_LSM6DSX is not set
# CONFIG_IIO_ST_LSM9DS0 is not set
# end of Inertial measurement units

#
# Light sensors
#
# CONFIG_ACPI_ALS is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADUX1020 is not set
# CONFIG_AL3010 is not set
# CONFIG_AL3320A is not set
# CONFIG_APDS9300 is not set
# CONFIG_APDS9960 is not set
# CONFIG_AS73211 is not set
# CONFIG_BH1750 is not set
# CONFIG_BH1780 is not set
# CONFIG_CM32181 is not set
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
# CONFIG_CM3605 is not set
# CONFIG_CM36651 is not set
# CONFIG_GP2AP002 is not set
# CONFIG_GP2AP020A00F is not set
# CONFIG_SENSORS_ISL29018 is not set
# CONFIG_SENSORS_ISL29028 is not set
# CONFIG_ISL29125 is not set
# CONFIG_ISL76682 is not set
CONFIG_HID_SENSOR_ALS=y
CONFIG_HID_SENSOR_PROX=y
# CONFIG_JSA1212 is not set
# CONFIG_ROHM_BU27008 is not set
# CONFIG_ROHM_BU27034 is not set
# CONFIG_RPR0521 is not set
# CONFIG_LTR390 is not set
# CONFIG_LTR501 is not set
# CONFIG_LTRF216A is not set
# CONFIG_LV0104CS is not set
# CONFIG_MAX44000 is not set
# CONFIG_MAX44009 is not set
# CONFIG_NOA1305 is not set
# CONFIG_OPT3001 is not set
# CONFIG_OPT4001 is not set
# CONFIG_PA12203001 is not set
# CONFIG_SI1133 is not set
# CONFIG_SI1145 is not set
# CONFIG_STK3310 is not set
# CONFIG_ST_UVIS25 is not set
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_SENSORS_TSL2563 is not set
# CONFIG_TSL2583 is not set
# CONFIG_TSL2591 is not set
# CONFIG_TSL2772 is not set
# CONFIG_TSL4531 is not set
# CONFIG_US5182D is not set
# CONFIG_VCNL4000 is not set
# CONFIG_VCNL4035 is not set
# CONFIG_VEML6030 is not set
# CONFIG_VEML6070 is not set
# CONFIG_VEML6075 is not set
# CONFIG_VL6180 is not set
# CONFIG_ZOPT2201 is not set
# end of Light sensors

#
# Magnetometer sensors
#
# CONFIG_AF8133J is not set
# CONFIG_AK8974 is not set
# CONFIG_AK8975 is not set
# CONFIG_AK09911 is not set
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN_SPI is not set
# CONFIG_MAG3110 is not set
CONFIG_HID_SENSOR_MAGNETOMETER_3D=y
# CONFIG_MMC35240 is not set
# CONFIG_IIO_ST_MAGN_3AXIS is not set
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_RM3100_I2C is not set
# CONFIG_SENSORS_RM3100_SPI is not set
# CONFIG_TI_TMAG5273 is not set
# CONFIG_YAMAHA_YAS530 is not set
# end of Magnetometer sensors

#
# Multiplexers
#
# CONFIG_IIO_MUX is not set
# end of Multiplexers

#
# Inclinometer sensors
#
CONFIG_HID_SENSOR_INCLINOMETER_3D=y
CONFIG_HID_SENSOR_DEVICE_ROTATION=y
# end of Inclinometer sensors

#
# Triggers - standalone
#
# CONFIG_IIO_INTERRUPT_TRIGGER is not set
# CONFIG_IIO_SYSFS_TRIGGER is not set
# end of Triggers - standalone

#
# Linear and angular position sensors
#
# CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE is not set
# end of Linear and angular position sensors

#
# Digital potentiometers
#
# CONFIG_AD5110 is not set
# CONFIG_AD5272 is not set
# CONFIG_DS1803 is not set
# CONFIG_MAX5432 is not set
# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MCP4018 is not set
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP41010 is not set
# CONFIG_TPL0102 is not set
# CONFIG_X9250 is not set
# end of Digital potentiometers

#
# Digital potentiostats
#
# CONFIG_LMP91000 is not set
# end of Digital potentiostats

#
# Pressure sensors
#
# CONFIG_ABP060MG is not set
# CONFIG_ROHM_BM1390 is not set
# CONFIG_BMP280 is not set
# CONFIG_DLHL60D is not set
# CONFIG_DPS310 is not set
CONFIG_HID_SENSOR_PRESS=y
# CONFIG_HP03 is not set
# CONFIG_HSC030PA is not set
# CONFIG_ICP10100 is not set
# CONFIG_MPL115_I2C is not set
# CONFIG_MPL115_SPI is not set
# CONFIG_MPL3115 is not set
# CONFIG_MPRLS0025PA is not set
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_IIO_ST_PRESS is not set
# CONFIG_T5403 is not set
# CONFIG_HP206C is not set
# CONFIG_ZPA2326 is not set
# end of Pressure sensors

#
# Lightning sensors
#
# CONFIG_AS3935 is not set
# end of Lightning sensors

#
# Proximity and distance sensors
#
# CONFIG_IRSD200 is not set
# CONFIG_ISL29501 is not set
# CONFIG_LIDAR_LITE_V2 is not set
# CONFIG_MB1232 is not set
# CONFIG_PING is not set
# CONFIG_RFD77402 is not set
# CONFIG_SRF04 is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
# CONFIG_SX9360 is not set
# CONFIG_SX9500 is not set
# CONFIG_SRF08 is not set
# CONFIG_VCNL3020 is not set
# CONFIG_VL53L0X_I2C is not set
# end of Proximity and distance sensors

#
# Resolver to digital converters
#
# CONFIG_AD2S90 is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
# end of Resolver to digital converters

#
# Temperature sensors
#
# CONFIG_LTC2983 is not set
# CONFIG_MAXIM_THERMOCOUPLE is not set
CONFIG_HID_SENSOR_TEMP=y
# CONFIG_MLX90614 is not set
# CONFIG_MLX90632 is not set
# CONFIG_MLX90635 is not set
# CONFIG_TMP006 is not set
# CONFIG_TMP007 is not set
# CONFIG_TMP117 is not set
# CONFIG_TSYS01 is not set
# CONFIG_TSYS02D is not set
# CONFIG_MAX30208 is not set
# CONFIG_MAX31856 is not set
# CONFIG_MAX31865 is not set
# CONFIG_MCP9600 is not set
# end of Temperature sensors

# CONFIG_NTB is not set
# CONFIG_PWM is not set

#
# IRQ chip support
#
CONFIG_IRQCHIP=y
# CONFIG_AL_FIC is not set
# CONFIG_XILINX_INTC is not set
# end of IRQ chip support

# CONFIG_IPACK_BUS is not set
CONFIG_RESET_CONTROLLER=y
# CONFIG_RESET_GPIO is not set
# CONFIG_RESET_INTEL_GW is not set
# CONFIG_RESET_SIMPLE is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RESET_TI_TPS380X is not set

#
# PHY Subsystem
#
CONFIG_GENERIC_PHY=y
# CONFIG_USB_LGM_PHY is not set
# CONFIG_PHY_CAN_TRANSCEIVER is not set

#
# PHY drivers for Broadcom platforms
#
# CONFIG_BCM_KONA_USB2_PHY is not set
# end of PHY drivers for Broadcom platforms

# CONFIG_PHY_CADENCE_TORRENT is not set
# CONFIG_PHY_CADENCE_DPHY is not set
# CONFIG_PHY_CADENCE_DPHY_RX is not set
# CONFIG_PHY_CADENCE_SIERRA is not set
# CONFIG_PHY_CADENCE_SALVO is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_LAN966X_SERDES is not set
CONFIG_PHY_CPCAP_USB=y
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
# CONFIG_PHY_OCELOT_SERDES is not set
CONFIG_PHY_QCOM_USB_HS=y
CONFIG_PHY_QCOM_USB_HSIC=y
CONFIG_PHY_SAMSUNG_USB2=y
CONFIG_PHY_TUSB1210=y
# CONFIG_PHY_INTEL_LGM_COMBO is not set
# CONFIG_PHY_INTEL_LGM_EMMC is not set
# end of PHY Subsystem

# CONFIG_POWERCAP is not set
# CONFIG_MCB is not set

#
# Performance monitor support
#
# CONFIG_DWC_PCIE_PMU is not set
# end of Performance monitor support

CONFIG_RAS=y
CONFIG_USB4=y
# CONFIG_USB4_DEBUGFS_WRITE is not set
# CONFIG_USB4_DMA_TEST is not set

#
# Android
#
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES="binder0,binder1"
# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set
# end of Android

CONFIG_LIBNVDIMM=y
CONFIG_BLK_DEV_PMEM=y
CONFIG_ND_CLAIM=y
CONFIG_ND_BTT=y
CONFIG_BTT=y
CONFIG_ND_PFN=y
CONFIG_NVDIMM_PFN=y
CONFIG_NVDIMM_DAX=y
CONFIG_OF_PMEM=y
CONFIG_NVDIMM_KEYS=y
# CONFIG_NVDIMM_SECURITY_TEST is not set
CONFIG_DAX=y
CONFIG_DEV_DAX=y
# CONFIG_DEV_DAX_PMEM is not set
# CONFIG_DEV_DAX_KMEM is not set
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
CONFIG_NVMEM_LAYOUTS=y

#
# Layout Types
#
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# end of Layout Types

# CONFIG_NVMEM_RMEM is not set
# CONFIG_NVMEM_U_BOOT_ENV is not set

#
# HW tracing support
#
# CONFIG_STM is not set
# CONFIG_INTEL_TH is not set
# end of HW tracing support

# CONFIG_FPGA is not set
# CONFIG_FSI is not set
# CONFIG_TEE is not set
# CONFIG_SIOX is not set
# CONFIG_SLIMBUS is not set
# CONFIG_INTERCONNECT is not set
CONFIG_COUNTER=y
# CONFIG_INTEL_QEP is not set
# CONFIG_INTERRUPT_CNT is not set
CONFIG_MOST=y
# CONFIG_MOST_USB_HDM is not set
# CONFIG_MOST_CDEV is not set
# CONFIG_MOST_SND is not set
# CONFIG_PECI is not set
# CONFIG_HTE is not set
# end of Device Drivers

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_VALIDATE_FS_PARSER=y
CONFIG_FS_IOMAP=y
CONFIG_FS_STACK=y
CONFIG_BUFFER_HEAD=y
CONFIG_LEGACY_DIRECT_IO=y
# CONFIG_EXT2_FS is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
CONFIG_JFS_DEBUG=y
# CONFIG_JFS_STATISTICS is not set
CONFIG_XFS_FS=y
# CONFIG_XFS_SUPPORT_V4 is not set
# CONFIG_XFS_SUPPORT_ASCII_CI is not set
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_ONLINE_SCRUB is not set
# CONFIG_XFS_WARN is not set
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=y
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=y
CONFIG_OCFS2_FS_O2CB=y
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=y
CONFIG_OCFS2_FS_STATS=y
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
CONFIG_OCFS2_DEBUG_FS=y
CONFIG_BTRFS_FS=y
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
# CONFIG_BTRFS_DEBUG is not set
CONFIG_BTRFS_ASSERT=y
CONFIG_BTRFS_FS_REF_VERIFY=y
CONFIG_NILFS2_FS=y
CONFIG_F2FS_FS=y
CONFIG_F2FS_STAT_FS=y
CONFIG_F2FS_FS_XATTR=y
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_CHECK_FS=y
CONFIG_F2FS_FAULT_INJECTION=y
CONFIG_F2FS_FS_COMPRESSION=y
CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS_LZORLE=y
CONFIG_F2FS_FS_LZ4=y
CONFIG_F2FS_FS_LZ4HC=y
CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IOSTAT is not set
# CONFIG_F2FS_UNFAIR_RWSEM is not set
CONFIG_BCACHEFS_FS=y
CONFIG_BCACHEFS_QUOTA=y
# CONFIG_BCACHEFS_ERASURE_CODING is not set
# CONFIG_BCACHEFS_POSIX_ACL is not set
CONFIG_BCACHEFS_DEBUG=y
# CONFIG_BCACHEFS_TESTS is not set
# CONFIG_BCACHEFS_LOCK_TIME_STATS is not set
# CONFIG_BCACHEFS_NO_LATENCY_ACCT is not set
CONFIG_BCACHEFS_SIX_OPTIMISTIC_SPIN=y
CONFIG_ZONEFS_FS=y
CONFIG_FS_DAX=y
CONFIG_FS_DAX_PMD=y
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_EXPORTFS_BLOCK_OPS=y
CONFIG_FILE_LOCKING=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FS_ENCRYPTION_ALGS=y
# CONFIG_FS_ENCRYPTION_INLINE_CRYPT is not set
CONFIG_FS_VERITY=y
CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=y
CONFIG_CUSE=y
CONFIG_VIRTIO_FS=y
CONFIG_FUSE_DAX=y
CONFIG_FUSE_PASSTHROUGH=y
CONFIG_OVERLAY_FS=y
CONFIG_OVERLAY_FS_REDIRECT_DIR=y
CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
CONFIG_OVERLAY_FS_INDEX=y
# CONFIG_OVERLAY_FS_NFS_EXPORT is not set
# CONFIG_OVERLAY_FS_XINO_AUTO is not set
# CONFIG_OVERLAY_FS_METACOPY is not set
CONFIG_OVERLAY_FS_DEBUG=y

#
# Caches
#
CONFIG_NETFS_SUPPORT=y
# CONFIG_NETFS_STATS is not set
CONFIG_FSCACHE=y
# CONFIG_FSCACHE_STATS is not set
# CONFIG_FSCACHE_DEBUG is not set
CONFIG_CACHEFILES=y
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_ERROR_INJECTION is not set
# CONFIG_CACHEFILES_ONDEMAND is not set
# end of Caches

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
# end of CD-ROM/DVD Filesystems

#
# DOS/FAT/EXFAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_FAT_DEFAULT_UTF8 is not set
CONFIG_EXFAT_FS=y
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
CONFIG_NTFS3_FS=y
# CONFIG_NTFS3_64BIT_CLUSTER is not set
CONFIG_NTFS3_LZX_XPRESS=y
CONFIG_NTFS3_FS_POSIX_ACL=y
# CONFIG_NTFS_FS is not set
# end of DOS/FAT/EXFAT/NT Filesystems

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
# CONFIG_PROC_VMCORE_DEVICE_DUMP is not set
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PROC_CHILDREN=y
CONFIG_PROC_PID_ARCH_STATUS=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_TMPFS_INODE64 is not set
CONFIG_TMPFS_QUOTA=y
CONFIG_HUGETLBFS=y
# CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set
CONFIG_HUGETLB_PAGE=y
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
CONFIG_CONFIGFS_FS=y
# end of Pseudo filesystems

CONFIG_MISC_FILESYSTEMS=y
CONFIG_ORANGEFS_FS=y
CONFIG_ADFS_FS=y
# CONFIG_ADFS_FS_RW is not set
CONFIG_AFFS_FS=y
CONFIG_ECRYPT_FS=y
CONFIG_ECRYPT_FS_MESSAGING=y
CONFIG_HFS_FS=y
CONFIG_HFSPLUS_FS=y
CONFIG_BEFS_FS=y
# CONFIG_BEFS_DEBUG is not set
CONFIG_BFS_FS=y
CONFIG_EFS_FS=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
CONFIG_JFFS2_SUMMARY=y
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
# CONFIG_JFFS2_CMODE_NONE is not set
CONFIG_JFFS2_CMODE_PRIORITY=y
# CONFIG_JFFS2_CMODE_SIZE is not set
# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
CONFIG_UBIFS_FS_ZSTD=y
CONFIG_UBIFS_ATIME_SUPPORT=y
CONFIG_UBIFS_FS_XATTR=y
CONFIG_UBIFS_FS_SECURITY=y
# CONFIG_UBIFS_FS_AUTHENTICATION is not set
CONFIG_CRAMFS=y
CONFIG_CRAMFS_BLOCKDEV=y
CONFIG_CRAMFS_MTD=y
CONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_FILE_CACHE is not set
CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZSTD=y
CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
CONFIG_VXFS_FS=y
CONFIG_MINIX_FS=y
CONFIG_OMFS_FS=y
CONFIG_HPFS_FS=y
CONFIG_QNX4FS_FS=y
CONFIG_QNX6FS_FS=y
# CONFIG_QNX6FS_DEBUG is not set
CONFIG_ROMFS_FS=y
# CONFIG_ROMFS_BACKED_BY_BLOCK is not set
# CONFIG_ROMFS_BACKED_BY_MTD is not set
CONFIG_ROMFS_BACKED_BY_BOTH=y
CONFIG_ROMFS_ON_BLOCK=y
CONFIG_ROMFS_ON_MTD=y
CONFIG_PSTORE=y
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_PMSG is not set
# CONFIG_PSTORE_RAM is not set
# CONFIG_PSTORE_BLK is not set
CONFIG_SYSV_FS=y
CONFIG_UFS_FS=y
CONFIG_UFS_FS_WRITE=y
# CONFIG_UFS_DEBUG is not set
CONFIG_EROFS_FS=y
# CONFIG_EROFS_FS_DEBUG is not set
CONFIG_EROFS_FS_XATTR=y
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_ZIP=y
# CONFIG_EROFS_FS_ZIP_LZMA is not set
# CONFIG_EROFS_FS_ZIP_DEFLATE is not set
# CONFIG_EROFS_FS_ONDEMAND is not set
# CONFIG_EROFS_FS_PCPU_KTHREAD is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
# CONFIG_NFS_SWAP is not set
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_PNFS_FILE_LAYOUT=y
CONFIG_PNFS_BLOCK=y
CONFIG_PNFS_FLEXFILE_LAYOUT=y
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
# CONFIG_NFS_V4_1_MIGRATION is not set
CONFIG_NFS_V4_SECURITY_LABEL=y
CONFIG_ROOT_NFS=y
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFS_V4_2_READ_PLUS=y
CONFIG_NFSD=y
# CONFIG_NFSD_V2 is not set
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_FLEXFILELAYOUT=y
CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
# CONFIG_NFSD_LEGACY_CLIENT_TRACKING is not set
CONFIG_GRACE_PERIOD=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_NFS_V4_2_SSC_HELPER=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1 is not set
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA is not set
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set
# CONFIG_SUNRPC_DEBUG is not set
# CONFIG_SUNRPC_XPRT_RDMA is not set
CONFIG_CEPH_FS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS_POSIX_ACL=y
# CONFIG_CEPH_FS_SECURITY_LABEL is not set
CONFIG_CIFS=y
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_SWN_UPCALL=y
CONFIG_CIFS_SMB_DIRECT=y
CONFIG_CIFS_FSCACHE=y
# CONFIG_CIFS_ROOT is not set
# CONFIG_SMB_SERVER is not set
CONFIG_SMBFS=y
# CONFIG_CODA_FS is not set
CONFIG_AFS_FS=y
# CONFIG_AFS_DEBUG is not set
CONFIG_AFS_FSCACHE=y
# CONFIG_AFS_DEBUG_CURSOR is not set
CONFIG_9P_FS=y
CONFIG_9P_FSCACHE=y
CONFIG_9P_FS_POSIX_ACL=y
CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=y
CONFIG_NLS_CODEPAGE_775=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=y
CONFIG_NLS_CODEPAGE_855=y
CONFIG_NLS_CODEPAGE_857=y
CONFIG_NLS_CODEPAGE_860=y
CONFIG_NLS_CODEPAGE_861=y
CONFIG_NLS_CODEPAGE_862=y
CONFIG_NLS_CODEPAGE_863=y
CONFIG_NLS_CODEPAGE_864=y
CONFIG_NLS_CODEPAGE_865=y
CONFIG_NLS_CODEPAGE_866=y
CONFIG_NLS_CODEPAGE_869=y
CONFIG_NLS_CODEPAGE_936=y
CONFIG_NLS_CODEPAGE_950=y
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
CONFIG_NLS_CODEPAGE_874=y
CONFIG_NLS_ISO8859_8=y
CONFIG_NLS_CODEPAGE_1250=y
CONFIG_NLS_CODEPAGE_1251=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_3=y
CONFIG_NLS_ISO8859_4=y
CONFIG_NLS_ISO8859_5=y
CONFIG_NLS_ISO8859_6=y
CONFIG_NLS_ISO8859_7=y
CONFIG_NLS_ISO8859_9=y
CONFIG_NLS_ISO8859_13=y
CONFIG_NLS_ISO8859_14=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=y
CONFIG_NLS_KOI8_U=y
CONFIG_NLS_MAC_ROMAN=y
CONFIG_NLS_MAC_CELTIC=y
CONFIG_NLS_MAC_CENTEURO=y
CONFIG_NLS_MAC_CROATIAN=y
CONFIG_NLS_MAC_CYRILLIC=y
CONFIG_NLS_MAC_GAELIC=y
CONFIG_NLS_MAC_GREEK=y
CONFIG_NLS_MAC_ICELAND=y
CONFIG_NLS_MAC_INUIT=y
CONFIG_NLS_MAC_ROMANIAN=y
CONFIG_NLS_MAC_TURKISH=y
CONFIG_NLS_UTF8=y
CONFIG_NLS_UCS2_UTILS=y
CONFIG_DLM=y
# CONFIG_DLM_DEBUG is not set
CONFIG_UNICODE=y
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
CONFIG_IO_WQ=y
# end of File systems

#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_REQUEST_CACHE=y
CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_BIG_KEYS=y
CONFIG_TRUSTED_KEYS=y
# CONFIG_TRUSTED_KEYS_TPM is not set

#
# No trust source selected!
#
CONFIG_ENCRYPTED_KEYS=y
# CONFIG_USER_DECRYPTED_DATA is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEY_NOTIFICATIONS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_INFINIBAND=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
# CONFIG_INTEL_TXT is not set
CONFIG_LSM_MMAP_MIN_ADDR=65536
CONFIG_HARDENED_USERCOPY=y
CONFIG_FORTIFY_SOURCE=y
# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
# CONFIG_SECURITY_SELINUX_DEBUG is not set
# CONFIG_SECURITY_SMACK is not set
CONFIG_SECURITY_TOMOYO=y
CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=64
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=32
CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER=y
CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING=y
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_LOADPIN is not set
CONFIG_SECURITY_YAMA=y
CONFIG_SECURITY_SAFESETID=y
CONFIG_SECURITY_LOCKDOWN_LSM=y
CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y
CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y
# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set
# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set
CONFIG_SECURITY_LANDLOCK=y
CONFIG_INTEGRITY=y
CONFIG_INTEGRITY_SIGNATURE=y
CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
CONFIG_INTEGRITY_TRUSTED_KEYRING=y
CONFIG_INTEGRITY_AUDIT=y
CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_LSM_RULES=y
CONFIG_IMA_NG_TEMPLATE=y
# CONFIG_IMA_SIG_TEMPLATE is not set
CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng"
# CONFIG_IMA_DEFAULT_HASH_SHA1 is not set
CONFIG_IMA_DEFAULT_HASH_SHA256=y
# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set
# CONFIG_IMA_DEFAULT_HASH_WP512 is not set
CONFIG_IMA_DEFAULT_HASH="sha256"
CONFIG_IMA_WRITE_POLICY=y
CONFIG_IMA_READ_POLICY=y
CONFIG_IMA_APPRAISE=y
# CONFIG_IMA_ARCH_POLICY is not set
# CONFIG_IMA_APPRAISE_BUILD_POLICY is not set
# CONFIG_IMA_APPRAISE_BOOTPARAM is not set
CONFIG_IMA_APPRAISE_MODSIG=y
# CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY is not set
# CONFIG_IMA_BLACKLIST_KEYRING is not set
# CONFIG_IMA_LOAD_X509 is not set
CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y
CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y
# CONFIG_IMA_DISABLE_HTABLE is not set
CONFIG_EVM=y
CONFIG_EVM_ATTR_FSUUID=y
CONFIG_EVM_ADD_XATTRS=y
# CONFIG_EVM_LOAD_X509 is not set
CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_LSM="landlock,lockdown,yama,safesetid,integrity,tomoyo,selinux,bpf"

#
# Kernel hardening options
#

#
# Memory initialization
#
CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
CONFIG_INIT_STACK_NONE=y
# CONFIG_INIT_STACK_ALL_PATTERN is not set
# CONFIG_INIT_STACK_ALL_ZERO is not set
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
# end of Memory initialization

#
# Hardening of kernel data structures
#
CONFIG_LIST_HARDENED=y
CONFIG_BUG_ON_DATA_CORRUPTION=y
# end of Hardening of kernel data structures

CONFIG_RANDSTRUCT_NONE=y
# end of Kernel hardening options
# end of Security options

CONFIG_XOR_BLOCKS=y
CONFIG_ASYNC_CORE=y
CONFIG_ASYNC_MEMCPY=y
CONFIG_ASYNC_XOR=y
CONFIG_ASYNC_PQ=y
CONFIG_ASYNC_RAID6_RECOV=y
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SIG2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_RNG_DEFAULT=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_AKCIPHER=y
CONFIG_CRYPTO_KPP2=y
CONFIG_CRYPTO_KPP=y
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=y
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=y
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_TEST is not set
CONFIG_CRYPTO_SIMD=y
CONFIG_CRYPTO_ENGINE=y
# end of Crypto core or helper

#
# Public-key cryptography
#
CONFIG_CRYPTO_RSA=y
CONFIG_CRYPTO_DH=y
# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set
CONFIG_CRYPTO_ECC=y
CONFIG_CRYPTO_ECDH=y
# CONFIG_CRYPTO_ECDSA is not set
CONFIG_CRYPTO_ECRDSA=y
CONFIG_CRYPTO_SM2=y
CONFIG_CRYPTO_CURVE25519=y
# end of Public-key cryptography

#
# Block ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_TI=y
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_ARIA=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_BLOWFISH_COMMON=y
CONFIG_CRYPTO_CAMELLIA=y
CONFIG_CRYPTO_CAST_COMMON=y
CONFIG_CRYPTO_CAST5=y
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_FCRYPT=y
CONFIG_CRYPTO_KHAZAD=y
CONFIG_CRYPTO_SEED=y
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_SM4=y
CONFIG_CRYPTO_SM4_GENERIC=y
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
# end of Block ciphers

#
# Length-preserving ciphers and modes
#
CONFIG_CRYPTO_ADIANTUM=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_CHACHA20=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_HCTR2=y
CONFIG_CRYPTO_KEYWRAP=y
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_XCTR=y
CONFIG_CRYPTO_XTS=y
CONFIG_CRYPTO_NHPOLY1305=y
# end of Length-preserving ciphers and modes

#
# AEAD (authenticated encryption with associated data) ciphers
#
CONFIG_CRYPTO_AEGIS128=y
CONFIG_CRYPTO_CHACHA20POLY1305=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_GENIV=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ECHAINIV=y
CONFIG_CRYPTO_ESSIV=y
# end of AEAD (authenticated encryption with associated data) ciphers

#
# Hashes, digests, and MACs
#
CONFIG_CRYPTO_BLAKE2B=y
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_POLYVAL=y
CONFIG_CRYPTO_POLY1305=y
CONFIG_CRYPTO_RMD160=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=y
CONFIG_CRYPTO_SM3=y
# CONFIG_CRYPTO_SM3_GENERIC is not set
CONFIG_CRYPTO_STREEBOG=y
CONFIG_CRYPTO_VMAC=y
CONFIG_CRYPTO_WP512=y
CONFIG_CRYPTO_XCBC=y
CONFIG_CRYPTO_XXHASH=y
# end of Hashes, digests, and MACs

#
# CRCs (cyclic redundancy checks)
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=y
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRC64_ROCKSOFT=y
# end of CRCs (cyclic redundancy checks)

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_LZ4=y
CONFIG_CRYPTO_LZ4HC=y
CONFIG_CRYPTO_ZSTD=y
# end of Compression

#
# Random number generation
#
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_CRYPTO_DRBG_MENU=y
CONFIG_CRYPTO_DRBG_HMAC=y
CONFIG_CRYPTO_DRBG_HASH=y
CONFIG_CRYPTO_DRBG_CTR=y
CONFIG_CRYPTO_DRBG=y
CONFIG_CRYPTO_JITTERENTROPY=y
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKS=64
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32
CONFIG_CRYPTO_JITTERENTROPY_OSR=1
CONFIG_CRYPTO_KDF800108_CTR=y
# end of Random number generation

#
# Userspace interface
#
CONFIG_CRYPTO_USER_API=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_USER_API_SKCIPHER=y
CONFIG_CRYPTO_USER_API_RNG=y
# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
CONFIG_CRYPTO_USER_API_AEAD=y
CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
# CONFIG_CRYPTO_STATS is not set
# end of Userspace interface

CONFIG_CRYPTO_HASH_INFO=y

#
# Accelerated Cryptographic Algorithms for CPU (x86)
#
CONFIG_CRYPTO_CURVE25519_X86=y
CONFIG_CRYPTO_AES_NI_INTEL=y
CONFIG_CRYPTO_BLOWFISH_X86_64=y
CONFIG_CRYPTO_CAMELLIA_X86_64=y
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=y
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=y
CONFIG_CRYPTO_CAST5_AVX_X86_64=y
CONFIG_CRYPTO_CAST6_AVX_X86_64=y
CONFIG_CRYPTO_DES3_EDE_X86_64=y
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=y
CONFIG_CRYPTO_SERPENT_AVX_X86_64=y
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=y
CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64=y
CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64=y
CONFIG_CRYPTO_TWOFISH_X86_64=y
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=y
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=y
CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64=y
# CONFIG_CRYPTO_ARIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_ARIA_GFNI_AVX512_X86_64 is not set
CONFIG_CRYPTO_CHACHA20_X86_64=y
CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=y
CONFIG_CRYPTO_NHPOLY1305_SSE2=y
CONFIG_CRYPTO_NHPOLY1305_AVX2=y
CONFIG_CRYPTO_BLAKE2S_X86=y
CONFIG_CRYPTO_POLYVAL_CLMUL_NI=y
CONFIG_CRYPTO_POLY1305_X86_64=y
CONFIG_CRYPTO_SHA1_SSSE3=y
CONFIG_CRYPTO_SHA256_SSSE3=y
CONFIG_CRYPTO_SHA512_SSSE3=y
CONFIG_CRYPTO_SM3_AVX_X86_64=y
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=y
CONFIG_CRYPTO_CRC32C_INTEL=y
CONFIG_CRYPTO_CRC32_PCLMUL=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=y
# end of Accelerated Cryptographic Algorithms for CPU (x86)

CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=y
CONFIG_CRYPTO_DEV_PADLOCK_AES=y
CONFIG_CRYPTO_DEV_PADLOCK_SHA=y
# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
CONFIG_CRYPTO_DEV_CCP=y
CONFIG_CRYPTO_DEV_CCP_DD=y
# CONFIG_CRYPTO_DEV_SP_CCP is not set
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
CONFIG_CRYPTO_DEV_QAT=y
CONFIG_CRYPTO_DEV_QAT_DH895xCC=y
CONFIG_CRYPTO_DEV_QAT_C3XXX=y
CONFIG_CRYPTO_DEV_QAT_C62X=y
# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
# CONFIG_CRYPTO_DEV_QAT_420XX is not set
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=y
CONFIG_CRYPTO_DEV_QAT_C3XXXVF=y
CONFIG_CRYPTO_DEV_QAT_C62XVF=y
# CONFIG_CRYPTO_DEV_QAT_ERROR_INJECTION is not set
CONFIG_CRYPTO_DEV_VIRTIO=y
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_CCREE is not set
# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_PKCS8_PRIVATE_KEY_PARSER=y
CONFIG_PKCS7_MESSAGE_PARSER=y
CONFIG_PKCS7_TEST_KEY=y
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
# CONFIG_FIPS_SIGNATURE_SELFTEST is not set

#
# Certificates for signature checking
#
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
CONFIG_SECONDARY_TRUSTED_KEYRING=y
# CONFIG_SECONDARY_TRUSTED_KEYRING_SIGNED_BY_BUILTIN is not set
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
# end of Certificates for signature checking

CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=y
# CONFIG_RAID6_PQ_BENCHMARK is not set
CONFIG_LINEAR_RANGES=y
# CONFIG_PACKING is not set
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
# CONFIG_CORDIC is not set
# CONFIG_PRIME_NUMBERS is not set
CONFIG_RATIONAL=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_ARCH_USE_SYM_ANNOTATIONS=y

#
# Crypto library routines
#
CONFIG_CRYPTO_LIB_UTILS=y
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_ARC4=y
CONFIG_CRYPTO_LIB_GF128MUL=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y
CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y
CONFIG_CRYPTO_LIB_CHACHA=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=y
CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=y
CONFIG_CRYPTO_LIB_CURVE25519=y
CONFIG_CRYPTO_LIB_DES=y
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=y
CONFIG_CRYPTO_LIB_POLY1305_GENERIC=y
CONFIG_CRYPTO_LIB_POLY1305=y
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=y
CONFIG_CRYPTO_LIB_SHA1=y
CONFIG_CRYPTO_LIB_SHA256=y
# end of Crypto library routines

CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC64_ROCKSOFT=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
CONFIG_CRC64=y
CONFIG_CRC4=y
CONFIG_CRC7=y
CONFIG_LIBCRC32C=y
CONFIG_CRC8=y
CONFIG_XXHASH=y
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_842_COMPRESS=y
CONFIG_842_DECOMPRESS=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_COMPRESS=y
CONFIG_LZ4HC_COMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMMON=y
CONFIG_ZSTD_COMPRESS=y
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
# CONFIG_XZ_DEC_MICROLZMA is not set
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=y
CONFIG_REED_SOLOMON_DEC8=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=y
CONFIG_TEXTSEARCH_BM=y
CONFIG_TEXTSEARCH_FSM=y
CONFIG_INTERVAL_TREE=y
CONFIG_INTERVAL_TREE_SPAN_ITER=y
CONFIG_XARRAY_MULTI=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_CLOSURES=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS=y
CONFIG_NEED_SG_DMA_FLAGS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DMA_DECLARE_COHERENT=y
CONFIG_SWIOTLB=y
# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_DMA_RESTRICTED_POOL is not set
CONFIG_DMA_CMA=y
# CONFIG_DMA_NUMA_CMA is not set

#
# Default contiguous memory area size:
#
CONFIG_CMA_SIZE_MBYTES=0
CONFIG_CMA_SIZE_SEL_MBYTES=y
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
# CONFIG_CMA_SIZE_SEL_MIN is not set
# CONFIG_CMA_SIZE_SEL_MAX is not set
CONFIG_CMA_ALIGNMENT=8
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
CONFIG_SGL_ALLOC=y
CONFIG_CHECK_SIGNATURE=y
# CONFIG_CPUMASK_OFFSTACK is not set
# CONFIG_FORCE_NR_CPUS is not set
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_GLOB=y
# CONFIG_GLOB_SELFTEST is not set
CONFIG_NLATTR=y
CONFIG_CLZ_TAB=y
CONFIG_IRQ_POLL=y
CONFIG_MPILIB=y
CONFIG_SIGNATURE=y
CONFIG_DIMLIB=y
CONFIG_LIBFDT=y
CONFIG_OID_REGISTRY=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_TIME_NS=y
CONFIG_FONT_SUPPORT=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_MEMREGION=y
CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_ARCH_HAS_COPY_MC=y
CONFIG_ARCH_STACKWALK=y
CONFIG_STACKDEPOT=y
CONFIG_STACKDEPOT_ALWAYS_INIT=y
CONFIG_STACKDEPOT_MAX_FRAMES=64
CONFIG_REF_TRACKER=y
CONFIG_SBITMAP=y
# CONFIG_LWQ_TEST is not set
# end of Library routines

CONFIG_FIRMWARE_TABLE=y

#
# Kernel hacking
#

#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
CONFIG_PRINTK_CALLER=y
# CONFIG_STACKTRACE_BUILD_ID is not set
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_BOOT_PRINTK_DELAY is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_DEBUG_CORE=y
CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_DEBUG_BUGVERBOSE=y
# end of printk and dmesg options

CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_MISC=y

#
# Compile-time checks and compiler options
#
CONFIG_DEBUG_INFO=y
CONFIG_AS_HAS_NON_CONST_ULEB128=y
# CONFIG_DEBUG_INFO_NONE is not set
# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
CONFIG_DEBUG_INFO_DWARF4=y
# CONFIG_DEBUG_INFO_DWARF5 is not set
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_DEBUG_INFO_COMPRESSED_NONE=y
# CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set
# CONFIG_DEBUG_INFO_SPLIT is not set
# CONFIG_DEBUG_INFO_BTF is not set
CONFIG_GDB_SCRIPTS=y
CONFIG_FRAME_WARN=2048
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_HEADERS_INSTALL is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set
CONFIG_OBJTOOL=y
CONFIG_NOINSTR_VALIDATION=y
# CONFIG_VMLINUX_MAP is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# end of Compile-time checks and compiler options

#
# Generic Kernel Debugging Instruments
#
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_ARCH_HAS_UBSAN=y
CONFIG_UBSAN=y
# CONFIG_UBSAN_TRAP is not set
CONFIG_CC_HAS_UBSAN_ARRAY_BOUNDS=y
CONFIG_UBSAN_BOUNDS=y
CONFIG_UBSAN_ARRAY_BOUNDS=y
CONFIG_UBSAN_SHIFT=y
CONFIG_UBSAN_SIGNED_WRAP=y
# CONFIG_UBSAN_BOOL is not set
# CONFIG_UBSAN_ENUM is not set
# CONFIG_UBSAN_ALIGNMENT is not set
# CONFIG_TEST_UBSAN is not set
CONFIG_HAVE_ARCH_KCSAN=y
CONFIG_HAVE_KCSAN_COMPILER=y
# end of Generic Kernel Debugging Instruments

#
# Networking Debugging
#
CONFIG_NET_DEV_REFCNT_TRACKER=y
CONFIG_NET_NS_REFCNT_TRACKER=y
CONFIG_DEBUG_NET=y
# end of Networking Debugging

#
# Memory Debugging
#
CONFIG_PAGE_EXTENSION=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_SLUB_DEBUG=y
# CONFIG_SLUB_DEBUG_ON is not set
CONFIG_PAGE_OWNER=y
CONFIG_PAGE_TABLE_CHECK=y
CONFIG_PAGE_TABLE_CHECK_ENFORCED=y
CONFIG_PAGE_POISONING=y
# CONFIG_DEBUG_PAGE_REF is not set
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_ARCH_HAS_DEBUG_WX=y
CONFIG_DEBUG_WX=y
CONFIG_GENERIC_PTDUMP=y
CONFIG_PTDUMP_CORE=y
CONFIG_PTDUMP_DEBUGFS=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_PER_VMA_LOCK_STATS is not set
CONFIG_DEBUG_OBJECTS=y
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
CONFIG_DEBUG_OBJECTS_FREE=y
CONFIG_DEBUG_OBJECTS_TIMERS=y
CONFIG_DEBUG_OBJECTS_WORK=y
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_SHRINKER_DEBUG is not set
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_SCHED_STACK_END_CHECK=y
CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
CONFIG_DEBUG_VM_IRQSOFF=y
CONFIG_DEBUG_VM=y
CONFIG_DEBUG_VM_MAPLE_TREE=y
CONFIG_DEBUG_VM_RB=y
CONFIG_DEBUG_VM_PGFLAGS=y
CONFIG_DEBUG_VM_PGTABLE=y
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
CONFIG_DEBUG_VIRTUAL=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_DEBUG_KMAP_LOCAL=y
CONFIG_ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP=y
CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP=y
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_KASAN_SW_TAGS=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
CONFIG_KASAN=y
CONFIG_KASAN_GENERIC=y
# CONFIG_KASAN_OUTLINE is not set
CONFIG_KASAN_INLINE=y
CONFIG_KASAN_STACK=y
CONFIG_KASAN_VMALLOC=y
# CONFIG_KASAN_MODULE_TEST is not set
# CONFIG_KASAN_EXTRA_INFO is not set
CONFIG_HAVE_ARCH_KFENCE=y
CONFIG_KFENCE=y
CONFIG_KFENCE_SAMPLE_INTERVAL=100
CONFIG_KFENCE_NUM_OBJECTS=255
# CONFIG_KFENCE_DEFERRABLE is not set
CONFIG_KFENCE_STATIC_KEYS=y
CONFIG_KFENCE_STRESS_TEST_FAULTS=0
CONFIG_HAVE_ARCH_KMSAN=y
CONFIG_HAVE_KMSAN_COMPILER=y
# end of Memory Debugging

# CONFIG_DEBUG_SHIRQ is not set

#
# Debug Oops, Lockups and Hangs
#
CONFIG_PANIC_ON_OOPS=y
CONFIG_PANIC_ON_OOPS_VALUE=1
CONFIG_PANIC_TIMEOUT=86400
CONFIG_LOCKUP_DETECTOR=y
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_HARDLOCKUP_DETECTOR_PREFER_BUDDY is not set
CONFIG_HARDLOCKUP_DETECTOR_PERF=y
# CONFIG_HARDLOCKUP_DETECTOR_BUDDY is not set
# CONFIG_HARDLOCKUP_DETECTOR_ARCH is not set
CONFIG_HARDLOCKUP_DETECTOR_COUNTS_HRTIMER=y
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=140
CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
CONFIG_WQ_WATCHDOG=y
# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set
# CONFIG_TEST_LOCKUP is not set
# end of Debug Oops, Lockups and Hangs

#
# Scheduler Debugging
#
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
# end of Scheduler Debugging

CONFIG_DEBUG_TIMEKEEPING=y
CONFIG_DEBUG_PREEMPT=y

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RAW_LOCK_NESTING is not set
# CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
CONFIG_DEBUG_RWSEMS=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_LOCKDEP=y
CONFIG_LOCKDEP_BITS=17
CONFIG_LOCKDEP_CHAINS_BITS=18
CONFIG_LOCKDEP_STACK_TRACE_BITS=20
CONFIG_LOCKDEP_STACK_TRACE_HASH_BITS=14
CONFIG_LOCKDEP_CIRCULAR_QUEUE_BITS=12
# CONFIG_DEBUG_LOCKDEP is not set
CONFIG_DEBUG_ATOMIC_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_LOCK_TORTURE_TEST is not set
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_SCF_TORTURE_TEST is not set
CONFIG_CSD_LOCK_WAIT_DEBUG=y
# CONFIG_CSD_LOCK_WAIT_DEBUG_DEFAULT is not set
# end of Lock Debugging (spinlocks, mutexes, etc...)

CONFIG_TRACE_IRQFLAGS=y
CONFIG_TRACE_IRQFLAGS_NMI=y
CONFIG_NMI_CHECK_CPU=y
CONFIG_DEBUG_IRQFLAGS=y
CONFIG_STACKTRACE=y
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_KOBJECT_RELEASE is not set

#
# Debug kernel data structures
#
CONFIG_DEBUG_LIST=y
CONFIG_DEBUG_PLIST=y
CONFIG_DEBUG_SG=y
CONFIG_DEBUG_NOTIFIERS=y
# CONFIG_DEBUG_CLOSURES is not set
CONFIG_DEBUG_MAPLE_TREE=y
# end of Debug kernel data structures

#
# RCU Debugging
#
CONFIG_PROVE_RCU=y
# CONFIG_RCU_SCALE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=100
CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=21000
# CONFIG_RCU_CPU_STALL_CPUTIME is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_EQS_DEBUG=y
# end of RCU Debugging

# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_LATENCYTOP is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_RETHOOK=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_OBJTOOL_MCOUNT=y
CONFIG_HAVE_OBJTOOL_NOP_MCOUNT=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_PREEMPTIRQ_TRACEPOINTS=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_BOOTTIME_TRACING is not set
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_STACK_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_HWLAT_TRACER is not set
# CONFIG_OSNOISE_TRACER is not set
# CONFIG_TIMERLAT_TRACER is not set
# CONFIG_MMIOTRACE is not set
# CONFIG_FTRACE_SYSCALLS is not set
# CONFIG_TRACER_SNAPSHOT is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y
# CONFIG_SYNTH_EVENTS is not set
# CONFIG_USER_EVENTS is not set
# CONFIG_HIST_TRIGGERS is not set
CONFIG_TRACE_EVENT_INJECT=y
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_TRACE_EVAL_MAP_FILE is not set
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS=y
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
# CONFIG_RV is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
# CONFIG_SAMPLES is not set
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
# CONFIG_STRICT_DEVMEM is not set

#
# x86 Debugging
#
CONFIG_EARLY_PRINTK_USB=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
# CONFIG_EARLY_PRINTK_USB_XDBC is not set
# CONFIG_DEBUG_TLBFLUSH is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
CONFIG_DEBUG_ENTRY=y
# CONFIG_DEBUG_NMI_SELFTEST is not set
CONFIG_X86_DEBUG_FPU=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_UNWINDER_ORC=y
# CONFIG_UNWINDER_FRAME_POINTER is not set
# end of x86 Debugging

#
# Kernel Testing and Coverage
#
# CONFIG_KUNIT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
CONFIG_FAULT_INJECTION=y
CONFIG_FAILSLAB=y
CONFIG_FAIL_PAGE_ALLOC=y
CONFIG_FAULT_INJECTION_USERCOPY=y
CONFIG_FAIL_MAKE_REQUEST=y
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_FUTEX=y
CONFIG_FAULT_INJECTION_DEBUG_FS=y
# CONFIG_FAIL_MMC_REQUEST is not set
CONFIG_FAULT_INJECTION_CONFIGFS=y
# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
CONFIG_ARCH_HAS_KCOV=y
CONFIG_CC_HAS_SANCOV_TRACE_PC=y
CONFIG_KCOV=y
CONFIG_KCOV_ENABLE_COMPARISONS=y
CONFIG_KCOV_INSTRUMENT_ALL=y
CONFIG_KCOV_IRQ_AREA_SIZE=0x40000
CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_TEST_DHRY is not set
# CONFIG_LKDTM is not set
# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_DIV64 is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_TEST_REF_TRACKER is not set
# CONFIG_RBTREE_TEST is not set
# CONFIG_REED_SOLOMON_TEST is not set
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_PERCPU_TEST is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_TEST_HEXDUMP is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_SCANF is not set
# CONFIG_TEST_BITMAP is not set
# CONFIG_TEST_UUID is not set
# CONFIG_TEST_XARRAY is not set
# CONFIG_TEST_MAPLE_TREE is not set
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_TEST_IDA is not set
# CONFIG_TEST_LKM is not set
# CONFIG_TEST_BITOPS is not set
# CONFIG_TEST_VMALLOC is not set
# CONFIG_TEST_USER_COPY is not set
# CONFIG_TEST_BPF is not set
# CONFIG_TEST_BLACKHOLE_DEV is not set
# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_TEST_FIRMWARE is not set
# CONFIG_TEST_SYSCTL is not set
# CONFIG_TEST_UDELAY is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_DYNAMIC_DEBUG is not set
# CONFIG_TEST_KMOD is not set
# CONFIG_TEST_DEBUG_VIRTUAL is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
# CONFIG_TEST_HMM is not set
# CONFIG_TEST_FREE_PAGES is not set
# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set
# CONFIG_TEST_OBJPOOL is not set
CONFIG_ARCH_USE_MEMTEST=y
# CONFIG_MEMTEST is not set
# end of Kernel Testing and Coverage

#
# Rust hacking
#
# end of Rust hacking
# end of Kernel hacking

[-- Attachment #3: nexthop_is_blackhole.c --]
[-- Type: text/x-csrc, Size: 85382 bytes --]

#define _GNU_SOURCE

#include <arpa/inet.h>
#include <dirent.h>
#include <endian.h>
#include <errno.h>
#include <fcntl.h>
#include <net/if.h>
#include <net/if_arp.h>
#include <netinet/in.h>
#include <pthread.h>
#include <sched.h>
#include <setjmp.h>
#include <signal.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/epoll.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/prctl.h>
#include <sys/resource.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/uio.h>
#include <sys/wait.h>
#include <time.h>
#include <unistd.h>

#include <linux/capability.h>
#include <linux/futex.h>
#include <linux/genetlink.h>
#include <linux/if_addr.h>
#include <linux/if_ether.h>
#include <linux/if_link.h>
#include <linux/if_tun.h>
#include <linux/in6.h>
#include <linux/ip.h>
#include <linux/loop.h>
#include <linux/neighbour.h>
#include <linux/net.h>
#include <linux/netlink.h>
#include <linux/rfkill.h>
#include <linux/rtnetlink.h>
#include <linux/tcp.h>
#include <linux/veth.h>

#ifndef __NR_memfd_create
#define __NR_memfd_create 319
#endif

static unsigned long long procid;

static __thread int clone_ongoing;
static __thread int skip_segv;
static __thread jmp_buf segv_env;

static void segv_handler(int sig, siginfo_t* info, void* ctx)
{
  if (__atomic_load_n(&clone_ongoing, __ATOMIC_RELAXED) != 0) {
    exit(sig);
  }
  uintptr_t addr = (uintptr_t)info->si_addr;
  const uintptr_t prog_start = 1 << 20;
  const uintptr_t prog_end = 100 << 20;
  int skip = __atomic_load_n(&skip_segv, __ATOMIC_RELAXED) != 0;
  int valid = addr < prog_start || addr > prog_end;
  if (skip && valid) {
    _longjmp(segv_env, 1);
  }
  exit(sig);
}

static void install_segv_handler(void)
{
  struct sigaction sa;
  memset(&sa, 0, sizeof(sa));
  sa.sa_handler = SIG_IGN;
  syscall(SYS_rt_sigaction, 0x20, &sa, NULL, 8);
  syscall(SYS_rt_sigaction, 0x21, &sa, NULL, 8);
  memset(&sa, 0, sizeof(sa));
  sa.sa_sigaction = segv_handler;
  sa.sa_flags = SA_NODEFER | SA_SIGINFO;
  sigaction(SIGSEGV, &sa, NULL);
  sigaction(SIGBUS, &sa, NULL);
}

#define NONFAILING(...)                                                        \
  ({                                                                           \
    int ok = 1;                                                                \
    __atomic_fetch_add(&skip_segv, 1, __ATOMIC_SEQ_CST);                       \
    if (_setjmp(segv_env) == 0) {                                              \
      __VA_ARGS__;                                                             \
    } else                                                                     \
      ok = 0;                                                                  \
    __atomic_fetch_sub(&skip_segv, 1, __ATOMIC_SEQ_CST);                       \
    ok;                                                                        \
  })

static void sleep_ms(uint64_t ms)
{
  usleep(ms * 1000);
}

static uint64_t current_time_ms(void)
{
  struct timespec ts;
  if (clock_gettime(CLOCK_MONOTONIC, &ts))
    exit(1);
  return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000;
}

static void thread_start(void* (*fn)(void*), void* arg)
{
  pthread_t th;
  pthread_attr_t attr;
  pthread_attr_init(&attr);
  pthread_attr_setstacksize(&attr, 128 << 10);
  int i = 0;
  for (; i < 100; i++) {
    if (pthread_create(&th, &attr, fn, arg) == 0) {
      pthread_attr_destroy(&attr);
      return;
    }
    if (errno == EAGAIN) {
      usleep(50);
      continue;
    }
    break;
  }
  exit(1);
}

typedef struct {
  int state;
} event_t;

static void event_init(event_t* ev)
{
  ev->state = 0;
}

static void event_reset(event_t* ev)
{
  ev->state = 0;
}

static void event_set(event_t* ev)
{
  if (ev->state)
    exit(1);
  __atomic_store_n(&ev->state, 1, __ATOMIC_RELEASE);
  syscall(SYS_futex, &ev->state, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1000000);
}

static void event_wait(event_t* ev)
{
  while (!__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE))
    syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, 0);
}

static int event_isset(event_t* ev)
{
  return __atomic_load_n(&ev->state, __ATOMIC_ACQUIRE);
}

static int event_timedwait(event_t* ev, uint64_t timeout)
{
  uint64_t start = current_time_ms();
  uint64_t now = start;
  for (;;) {
    uint64_t remain = timeout - (now - start);
    struct timespec ts;
    ts.tv_sec = remain / 1000;
    ts.tv_nsec = (remain % 1000) * 1000 * 1000;
    syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, &ts);
    if (__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE))
      return 1;
    now = current_time_ms();
    if (now - start > timeout)
      return 0;
  }
}

static bool write_file(const char* file, const char* what, ...)
{
  char buf[1024];
  va_list args;
  va_start(args, what);
  vsnprintf(buf, sizeof(buf), what, args);
  va_end(args);
  buf[sizeof(buf) - 1] = 0;
  int len = strlen(buf);
  int fd = open(file, O_WRONLY | O_CLOEXEC);
  if (fd == -1)
    return false;
  if (write(fd, buf, len) != len) {
    int err = errno;
    close(fd);
    errno = err;
    return false;
  }
  close(fd);
  return true;
}

struct nlmsg {
  char* pos;
  int nesting;
  struct nlattr* nested[8];
  char buf[4096];
};

static void netlink_init(struct nlmsg* nlmsg, int typ, int flags,
                         const void* data, int size)
{
  memset(nlmsg, 0, sizeof(*nlmsg));
  struct nlmsghdr* hdr = (struct nlmsghdr*)nlmsg->buf;
  hdr->nlmsg_type = typ;
  hdr->nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK | flags;
  memcpy(hdr + 1, data, size);
  nlmsg->pos = (char*)(hdr + 1) + NLMSG_ALIGN(size);
}

static void netlink_attr(struct nlmsg* nlmsg, int typ, const void* data,
                         int size)
{
  struct nlattr* attr = (struct nlattr*)nlmsg->pos;
  attr->nla_len = sizeof(*attr) + size;
  attr->nla_type = typ;
  if (size > 0)
    memcpy(attr + 1, data, size);
  nlmsg->pos += NLMSG_ALIGN(attr->nla_len);
}

static void netlink_nest(struct nlmsg* nlmsg, int typ)
{
  struct nlattr* attr = (struct nlattr*)nlmsg->pos;
  attr->nla_type = typ;
  nlmsg->pos += sizeof(*attr);
  nlmsg->nested[nlmsg->nesting++] = attr;
}

static void netlink_done(struct nlmsg* nlmsg)
{
  struct nlattr* attr = nlmsg->nested[--nlmsg->nesting];
  attr->nla_len = nlmsg->pos - (char*)attr;
}

static int netlink_send_ext(struct nlmsg* nlmsg, int sock, uint16_t reply_type,
                            int* reply_len, bool dofail)
{
  if (nlmsg->pos > nlmsg->buf + sizeof(nlmsg->buf) || nlmsg->nesting)
    exit(1);
  struct nlmsghdr* hdr = (struct nlmsghdr*)nlmsg->buf;
  hdr->nlmsg_len = nlmsg->pos - nlmsg->buf;
  struct sockaddr_nl addr;
  memset(&addr, 0, sizeof(addr));
  addr.nl_family = AF_NETLINK;
  ssize_t n = sendto(sock, nlmsg->buf, hdr->nlmsg_len, 0,
                     (struct sockaddr*)&addr, sizeof(addr));
  if (n != (ssize_t)hdr->nlmsg_len) {
    if (dofail)
      exit(1);
    return -1;
  }
  n = recv(sock, nlmsg->buf, sizeof(nlmsg->buf), 0);
  if (reply_len)
    *reply_len = 0;
  if (n < 0) {
    if (dofail)
      exit(1);
    return -1;
  }
  if (n < (ssize_t)sizeof(struct nlmsghdr)) {
    errno = EINVAL;
    if (dofail)
      exit(1);
    return -1;
  }
  if (hdr->nlmsg_type == NLMSG_DONE)
    return 0;
  if (reply_len && hdr->nlmsg_type == reply_type) {
    *reply_len = n;
    return 0;
  }
  if (n < (ssize_t)(sizeof(struct nlmsghdr) + sizeof(struct nlmsgerr))) {
    errno = EINVAL;
    if (dofail)
      exit(1);
    return -1;
  }
  if (hdr->nlmsg_type != NLMSG_ERROR) {
    errno = EINVAL;
    if (dofail)
      exit(1);
    return -1;
  }
  errno = -((struct nlmsgerr*)(hdr + 1))->error;
  return -errno;
}

static int netlink_send(struct nlmsg* nlmsg, int sock)
{
  return netlink_send_ext(nlmsg, sock, 0, NULL, true);
}

static int netlink_query_family_id(struct nlmsg* nlmsg, int sock,
                                   const char* family_name, bool dofail)
{
  struct genlmsghdr genlhdr;
  memset(&genlhdr, 0, sizeof(genlhdr));
  genlhdr.cmd = CTRL_CMD_GETFAMILY;
  netlink_init(nlmsg, GENL_ID_CTRL, 0, &genlhdr, sizeof(genlhdr));
  netlink_attr(nlmsg, CTRL_ATTR_FAMILY_NAME, family_name,
               strnlen(family_name, GENL_NAMSIZ - 1) + 1);
  int n = 0;
  int err = netlink_send_ext(nlmsg, sock, GENL_ID_CTRL, &n, dofail);
  if (err < 0) {
    return -1;
  }
  uint16_t id = 0;
  struct nlattr* attr = (struct nlattr*)(nlmsg->buf + NLMSG_HDRLEN +
                                         NLMSG_ALIGN(sizeof(genlhdr)));
  for (; (char*)attr < nlmsg->buf + n;
       attr = (struct nlattr*)((char*)attr + NLMSG_ALIGN(attr->nla_len))) {
    if (attr->nla_type == CTRL_ATTR_FAMILY_ID) {
      id = *(uint16_t*)(attr + 1);
      break;
    }
  }
  if (!id) {
    errno = EINVAL;
    return -1;
  }
  recv(sock, nlmsg->buf, sizeof(nlmsg->buf), 0);
  return id;
}

static int netlink_next_msg(struct nlmsg* nlmsg, unsigned int offset,
                            unsigned int total_len)
{
  struct nlmsghdr* hdr = (struct nlmsghdr*)(nlmsg->buf + offset);
  if (offset == total_len || offset + hdr->nlmsg_len > total_len)
    return -1;
  return hdr->nlmsg_len;
}

static void netlink_add_device_impl(struct nlmsg* nlmsg, const char* type,
                                    const char* name, bool up)
{
  struct ifinfomsg hdr;
  memset(&hdr, 0, sizeof(hdr));
  if (up)
    hdr.ifi_flags = hdr.ifi_change = IFF_UP;
  netlink_init(nlmsg, RTM_NEWLINK, NLM_F_EXCL | NLM_F_CREATE, &hdr,
               sizeof(hdr));
  if (name)
    netlink_attr(nlmsg, IFLA_IFNAME, name, strlen(name));
  netlink_nest(nlmsg, IFLA_LINKINFO);
  netlink_attr(nlmsg, IFLA_INFO_KIND, type, strlen(type));
}

static void netlink_add_device(struct nlmsg* nlmsg, int sock, const char* type,
                               const char* name)
{
  netlink_add_device_impl(nlmsg, type, name, false);
  netlink_done(nlmsg);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_add_veth(struct nlmsg* nlmsg, int sock, const char* name,
                             const char* peer)
{
  netlink_add_device_impl(nlmsg, "veth", name, false);
  netlink_nest(nlmsg, IFLA_INFO_DATA);
  netlink_nest(nlmsg, VETH_INFO_PEER);
  nlmsg->pos += sizeof(struct ifinfomsg);
  netlink_attr(nlmsg, IFLA_IFNAME, peer, strlen(peer));
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_add_xfrm(struct nlmsg* nlmsg, int sock, const char* name)
{
  netlink_add_device_impl(nlmsg, "xfrm", name, true);
  netlink_nest(nlmsg, IFLA_INFO_DATA);
  int if_id = 1;
  netlink_attr(nlmsg, 2, &if_id, sizeof(if_id));
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_add_hsr(struct nlmsg* nlmsg, int sock, const char* name,
                            const char* slave1, const char* slave2)
{
  netlink_add_device_impl(nlmsg, "hsr", name, false);
  netlink_nest(nlmsg, IFLA_INFO_DATA);
  int ifindex1 = if_nametoindex(slave1);
  netlink_attr(nlmsg, IFLA_HSR_SLAVE1, &ifindex1, sizeof(ifindex1));
  int ifindex2 = if_nametoindex(slave2);
  netlink_attr(nlmsg, IFLA_HSR_SLAVE2, &ifindex2, sizeof(ifindex2));
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_add_linked(struct nlmsg* nlmsg, int sock, const char* type,
                               const char* name, const char* link)
{
  netlink_add_device_impl(nlmsg, type, name, false);
  netlink_done(nlmsg);
  int ifindex = if_nametoindex(link);
  netlink_attr(nlmsg, IFLA_LINK, &ifindex, sizeof(ifindex));
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_add_vlan(struct nlmsg* nlmsg, int sock, const char* name,
                             const char* link, uint16_t id, uint16_t proto)
{
  netlink_add_device_impl(nlmsg, "vlan", name, false);
  netlink_nest(nlmsg, IFLA_INFO_DATA);
  netlink_attr(nlmsg, IFLA_VLAN_ID, &id, sizeof(id));
  netlink_attr(nlmsg, IFLA_VLAN_PROTOCOL, &proto, sizeof(proto));
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  int ifindex = if_nametoindex(link);
  netlink_attr(nlmsg, IFLA_LINK, &ifindex, sizeof(ifindex));
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_add_macvlan(struct nlmsg* nlmsg, int sock, const char* name,
                                const char* link)
{
  netlink_add_device_impl(nlmsg, "macvlan", name, false);
  netlink_nest(nlmsg, IFLA_INFO_DATA);
  uint32_t mode = MACVLAN_MODE_BRIDGE;
  netlink_attr(nlmsg, IFLA_MACVLAN_MODE, &mode, sizeof(mode));
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  int ifindex = if_nametoindex(link);
  netlink_attr(nlmsg, IFLA_LINK, &ifindex, sizeof(ifindex));
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_add_geneve(struct nlmsg* nlmsg, int sock, const char* name,
                               uint32_t vni, struct in_addr* addr4,
                               struct in6_addr* addr6)
{
  netlink_add_device_impl(nlmsg, "geneve", name, false);
  netlink_nest(nlmsg, IFLA_INFO_DATA);
  netlink_attr(nlmsg, IFLA_GENEVE_ID, &vni, sizeof(vni));
  if (addr4)
    netlink_attr(nlmsg, IFLA_GENEVE_REMOTE, addr4, sizeof(*addr4));
  if (addr6)
    netlink_attr(nlmsg, IFLA_GENEVE_REMOTE6, addr6, sizeof(*addr6));
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

#define IFLA_IPVLAN_FLAGS 2
#define IPVLAN_MODE_L3S 2
#undef IPVLAN_F_VEPA
#define IPVLAN_F_VEPA 2

static void netlink_add_ipvlan(struct nlmsg* nlmsg, int sock, const char* name,
                               const char* link, uint16_t mode, uint16_t flags)
{
  netlink_add_device_impl(nlmsg, "ipvlan", name, false);
  netlink_nest(nlmsg, IFLA_INFO_DATA);
  netlink_attr(nlmsg, IFLA_IPVLAN_MODE, &mode, sizeof(mode));
  netlink_attr(nlmsg, IFLA_IPVLAN_FLAGS, &flags, sizeof(flags));
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  int ifindex = if_nametoindex(link);
  netlink_attr(nlmsg, IFLA_LINK, &ifindex, sizeof(ifindex));
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_device_change(struct nlmsg* nlmsg, int sock,
                                  const char* name, bool up, const char* master,
                                  const void* mac, int macsize,
                                  const char* new_name)
{
  struct ifinfomsg hdr;
  memset(&hdr, 0, sizeof(hdr));
  if (up)
    hdr.ifi_flags = hdr.ifi_change = IFF_UP;
  hdr.ifi_index = if_nametoindex(name);
  netlink_init(nlmsg, RTM_NEWLINK, 0, &hdr, sizeof(hdr));
  if (new_name)
    netlink_attr(nlmsg, IFLA_IFNAME, new_name, strlen(new_name));
  if (master) {
    int ifindex = if_nametoindex(master);
    netlink_attr(nlmsg, IFLA_MASTER, &ifindex, sizeof(ifindex));
  }
  if (macsize)
    netlink_attr(nlmsg, IFLA_ADDRESS, mac, macsize);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static int netlink_add_addr(struct nlmsg* nlmsg, int sock, const char* dev,
                            const void* addr, int addrsize)
{
  struct ifaddrmsg hdr;
  memset(&hdr, 0, sizeof(hdr));
  hdr.ifa_family = addrsize == 4 ? AF_INET : AF_INET6;
  hdr.ifa_prefixlen = addrsize == 4 ? 24 : 120;
  hdr.ifa_scope = RT_SCOPE_UNIVERSE;
  hdr.ifa_index = if_nametoindex(dev);
  netlink_init(nlmsg, RTM_NEWADDR, NLM_F_CREATE | NLM_F_REPLACE, &hdr,
               sizeof(hdr));
  netlink_attr(nlmsg, IFA_LOCAL, addr, addrsize);
  netlink_attr(nlmsg, IFA_ADDRESS, addr, addrsize);
  return netlink_send(nlmsg, sock);
}

static void netlink_add_addr4(struct nlmsg* nlmsg, int sock, const char* dev,
                              const char* addr)
{
  struct in_addr in_addr;
  inet_pton(AF_INET, addr, &in_addr);
  int err = netlink_add_addr(nlmsg, sock, dev, &in_addr, sizeof(in_addr));
  if (err < 0) {
  }
}

static void netlink_add_addr6(struct nlmsg* nlmsg, int sock, const char* dev,
                              const char* addr)
{
  struct in6_addr in6_addr;
  inet_pton(AF_INET6, addr, &in6_addr);
  int err = netlink_add_addr(nlmsg, sock, dev, &in6_addr, sizeof(in6_addr));
  if (err < 0) {
  }
}

static struct nlmsg nlmsg;

#define DEVLINK_FAMILY_NAME "devlink"

#define DEVLINK_CMD_PORT_GET 5
#define DEVLINK_ATTR_BUS_NAME 1
#define DEVLINK_ATTR_DEV_NAME 2
#define DEVLINK_ATTR_NETDEV_NAME 7

static struct nlmsg nlmsg2;

static void initialize_devlink_ports(const char* bus_name, const char* dev_name,
                                     const char* netdev_prefix)
{
  struct genlmsghdr genlhdr;
  int len, total_len, id, err, offset;
  uint16_t netdev_index;
  int sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_GENERIC);
  if (sock == -1)
    exit(1);
  int rtsock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
  if (rtsock == -1)
    exit(1);
  id = netlink_query_family_id(&nlmsg, sock, DEVLINK_FAMILY_NAME, true);
  if (id == -1)
    goto error;
  memset(&genlhdr, 0, sizeof(genlhdr));
  genlhdr.cmd = DEVLINK_CMD_PORT_GET;
  netlink_init(&nlmsg, id, NLM_F_DUMP, &genlhdr, sizeof(genlhdr));
  netlink_attr(&nlmsg, DEVLINK_ATTR_BUS_NAME, bus_name, strlen(bus_name) + 1);
  netlink_attr(&nlmsg, DEVLINK_ATTR_DEV_NAME, dev_name, strlen(dev_name) + 1);
  err = netlink_send_ext(&nlmsg, sock, id, &total_len, true);
  if (err < 0) {
    goto error;
  }
  offset = 0;
  netdev_index = 0;
  while ((len = netlink_next_msg(&nlmsg, offset, total_len)) != -1) {
    struct nlattr* attr = (struct nlattr*)(nlmsg.buf + offset + NLMSG_HDRLEN +
                                           NLMSG_ALIGN(sizeof(genlhdr)));
    for (; (char*)attr < nlmsg.buf + offset + len;
         attr = (struct nlattr*)((char*)attr + NLMSG_ALIGN(attr->nla_len))) {
      if (attr->nla_type == DEVLINK_ATTR_NETDEV_NAME) {
        char* port_name;
        char netdev_name[IFNAMSIZ];
        port_name = (char*)(attr + 1);
        snprintf(netdev_name, sizeof(netdev_name), "%s%d", netdev_prefix,
                 netdev_index);
        netlink_device_change(&nlmsg2, rtsock, port_name, true, 0, 0, 0,
                              netdev_name);
        break;
      }
    }
    offset += len;
    netdev_index++;
  }
error:
  close(rtsock);
  close(sock);
}

#define DEV_IPV4 "172.20.20.%d"
#define DEV_IPV6 "fe80::%02x"
#define DEV_MAC 0x00aaaaaaaaaa

static void netdevsim_add(unsigned int addr, unsigned int port_count)
{
  write_file("/sys/bus/netdevsim/del_device", "%u", addr);
  if (write_file("/sys/bus/netdevsim/new_device", "%u %u", addr, port_count)) {
    char buf[32];
    snprintf(buf, sizeof(buf), "netdevsim%d", addr);
    initialize_devlink_ports("netdevsim", buf, "netdevsim");
  }
}

#define WG_GENL_NAME "wireguard"
enum wg_cmd {
  WG_CMD_GET_DEVICE,
  WG_CMD_SET_DEVICE,
};
enum wgdevice_attribute {
  WGDEVICE_A_UNSPEC,
  WGDEVICE_A_IFINDEX,
  WGDEVICE_A_IFNAME,
  WGDEVICE_A_PRIVATE_KEY,
  WGDEVICE_A_PUBLIC_KEY,
  WGDEVICE_A_FLAGS,
  WGDEVICE_A_LISTEN_PORT,
  WGDEVICE_A_FWMARK,
  WGDEVICE_A_PEERS,
};
enum wgpeer_attribute {
  WGPEER_A_UNSPEC,
  WGPEER_A_PUBLIC_KEY,
  WGPEER_A_PRESHARED_KEY,
  WGPEER_A_FLAGS,
  WGPEER_A_ENDPOINT,
  WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
  WGPEER_A_LAST_HANDSHAKE_TIME,
  WGPEER_A_RX_BYTES,
  WGPEER_A_TX_BYTES,
  WGPEER_A_ALLOWEDIPS,
  WGPEER_A_PROTOCOL_VERSION,
};
enum wgallowedip_attribute {
  WGALLOWEDIP_A_UNSPEC,
  WGALLOWEDIP_A_FAMILY,
  WGALLOWEDIP_A_IPADDR,
  WGALLOWEDIP_A_CIDR_MASK,
};

static void netlink_wireguard_setup(void)
{
  const char ifname_a[] = "wg0";
  const char ifname_b[] = "wg1";
  const char ifname_c[] = "wg2";
  const char private_a[] =
      "\xa0\x5c\xa8\x4f\x6c\x9c\x8e\x38\x53\xe2\xfd\x7a\x70\xae\x0f\xb2\x0f\xa1"
      "\x52\x60\x0c\xb0\x08\x45\x17\x4f\x08\x07\x6f\x8d\x78\x43";
  const char private_b[] =
      "\xb0\x80\x73\xe8\xd4\x4e\x91\xe3\xda\x92\x2c\x22\x43\x82\x44\xbb\x88\x5c"
      "\x69\xe2\x69\xc8\xe9\xd8\x35\xb1\x14\x29\x3a\x4d\xdc\x6e";
  const char private_c[] =
      "\xa0\xcb\x87\x9a\x47\xf5\xbc\x64\x4c\x0e\x69\x3f\xa6\xd0\x31\xc7\x4a\x15"
      "\x53\xb6\xe9\x01\xb9\xff\x2f\x51\x8c\x78\x04\x2f\xb5\x42";
  const char public_a[] =
      "\x97\x5c\x9d\x81\xc9\x83\xc8\x20\x9e\xe7\x81\x25\x4b\x89\x9f\x8e\xd9\x25"
      "\xae\x9f\x09\x23\xc2\x3c\x62\xf5\x3c\x57\xcd\xbf\x69\x1c";
  const char public_b[] =
      "\xd1\x73\x28\x99\xf6\x11\xcd\x89\x94\x03\x4d\x7f\x41\x3d\xc9\x57\x63\x0e"
      "\x54\x93\xc2\x85\xac\xa4\x00\x65\xcb\x63\x11\xbe\x69\x6b";
  const char public_c[] =
      "\xf4\x4d\xa3\x67\xa8\x8e\xe6\x56\x4f\x02\x02\x11\x45\x67\x27\x08\x2f\x5c"
      "\xeb\xee\x8b\x1b\xf5\xeb\x73\x37\x34\x1b\x45\x9b\x39\x22";
  const uint16_t listen_a = 20001;
  const uint16_t listen_b = 20002;
  const uint16_t listen_c = 20003;
  const uint16_t af_inet = AF_INET;
  const uint16_t af_inet6 = AF_INET6;
  const struct sockaddr_in endpoint_b_v4 = {
      .sin_family = AF_INET,
      .sin_port = htons(listen_b),
      .sin_addr = {htonl(INADDR_LOOPBACK)}};
  const struct sockaddr_in endpoint_c_v4 = {
      .sin_family = AF_INET,
      .sin_port = htons(listen_c),
      .sin_addr = {htonl(INADDR_LOOPBACK)}};
  struct sockaddr_in6 endpoint_a_v6 = {.sin6_family = AF_INET6,
                                       .sin6_port = htons(listen_a)};
  endpoint_a_v6.sin6_addr = in6addr_loopback;
  struct sockaddr_in6 endpoint_c_v6 = {.sin6_family = AF_INET6,
                                       .sin6_port = htons(listen_c)};
  endpoint_c_v6.sin6_addr = in6addr_loopback;
  const struct in_addr first_half_v4 = {0};
  const struct in_addr second_half_v4 = {(uint32_t)htonl(128 << 24)};
  const struct in6_addr first_half_v6 = {{{0}}};
  const struct in6_addr second_half_v6 = {{{0x80}}};
  const uint8_t half_cidr = 1;
  const uint16_t persistent_keepalives[] = {1, 3, 7, 9, 14, 19};
  struct genlmsghdr genlhdr = {.cmd = WG_CMD_SET_DEVICE, .version = 1};
  int sock;
  int id, err;
  sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_GENERIC);
  if (sock == -1) {
    return;
  }
  id = netlink_query_family_id(&nlmsg, sock, WG_GENL_NAME, true);
  if (id == -1)
    goto error;
  netlink_init(&nlmsg, id, 0, &genlhdr, sizeof(genlhdr));
  netlink_attr(&nlmsg, WGDEVICE_A_IFNAME, ifname_a, strlen(ifname_a) + 1);
  netlink_attr(&nlmsg, WGDEVICE_A_PRIVATE_KEY, private_a, 32);
  netlink_attr(&nlmsg, WGDEVICE_A_LISTEN_PORT, &listen_a, 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGDEVICE_A_PEERS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_b, 32);
  netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_b_v4,
               sizeof(endpoint_b_v4));
  netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
               &persistent_keepalives[0], 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v4,
               sizeof(first_half_v4));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v6,
               sizeof(first_half_v6));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_c, 32);
  netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_c_v6,
               sizeof(endpoint_c_v6));
  netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
               &persistent_keepalives[1], 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v4,
               sizeof(second_half_v4));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v6,
               sizeof(second_half_v6));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  err = netlink_send(&nlmsg, sock);
  if (err < 0) {
  }
  netlink_init(&nlmsg, id, 0, &genlhdr, sizeof(genlhdr));
  netlink_attr(&nlmsg, WGDEVICE_A_IFNAME, ifname_b, strlen(ifname_b) + 1);
  netlink_attr(&nlmsg, WGDEVICE_A_PRIVATE_KEY, private_b, 32);
  netlink_attr(&nlmsg, WGDEVICE_A_LISTEN_PORT, &listen_b, 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGDEVICE_A_PEERS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_a, 32);
  netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_a_v6,
               sizeof(endpoint_a_v6));
  netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
               &persistent_keepalives[2], 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v4,
               sizeof(first_half_v4));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v6,
               sizeof(first_half_v6));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_c, 32);
  netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_c_v4,
               sizeof(endpoint_c_v4));
  netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
               &persistent_keepalives[3], 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v4,
               sizeof(second_half_v4));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v6,
               sizeof(second_half_v6));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  err = netlink_send(&nlmsg, sock);
  if (err < 0) {
  }
  netlink_init(&nlmsg, id, 0, &genlhdr, sizeof(genlhdr));
  netlink_attr(&nlmsg, WGDEVICE_A_IFNAME, ifname_c, strlen(ifname_c) + 1);
  netlink_attr(&nlmsg, WGDEVICE_A_PRIVATE_KEY, private_c, 32);
  netlink_attr(&nlmsg, WGDEVICE_A_LISTEN_PORT, &listen_c, 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGDEVICE_A_PEERS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_a, 32);
  netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_a_v6,
               sizeof(endpoint_a_v6));
  netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
               &persistent_keepalives[4], 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v4,
               sizeof(first_half_v4));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v6,
               sizeof(first_half_v6));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_b, 32);
  netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_b_v4,
               sizeof(endpoint_b_v4));
  netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
               &persistent_keepalives[5], 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v4,
               sizeof(second_half_v4));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v6,
               sizeof(second_half_v6));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  err = netlink_send(&nlmsg, sock);
  if (err < 0) {
  }

error:
  close(sock);
}

static void initialize_netdevices(void)
{
  char netdevsim[16];
  sprintf(netdevsim, "netdevsim%d", (int)procid);
  struct {
    const char* type;
    const char* dev;
  } devtypes[] = {
      {"ip6gretap", "ip6gretap0"}, {"bridge", "bridge0"}, {"vcan", "vcan0"},
      {"bond", "bond0"},           {"team", "team0"},     {"dummy", "dummy0"},
      {"nlmon", "nlmon0"},         {"caif", "caif0"},     {"batadv", "batadv0"},
      {"vxcan", "vxcan1"},         {"veth", 0},           {"wireguard", "wg0"},
      {"wireguard", "wg1"},        {"wireguard", "wg2"},
  };
  const char* devmasters[] = {"bridge", "bond", "team", "batadv"};
  struct {
    const char* name;
    int macsize;
    bool noipv6;
  } devices[] = {
      {"lo", ETH_ALEN},
      {"sit0", 0},
      {"bridge0", ETH_ALEN},
      {"vcan0", 0, true},
      {"tunl0", 0},
      {"gre0", 0},
      {"gretap0", ETH_ALEN},
      {"ip_vti0", 0},
      {"ip6_vti0", 0},
      {"ip6tnl0", 0},
      {"ip6gre0", 0},
      {"ip6gretap0", ETH_ALEN},
      {"erspan0", ETH_ALEN},
      {"bond0", ETH_ALEN},
      {"veth0", ETH_ALEN},
      {"veth1", ETH_ALEN},
      {"team0", ETH_ALEN},
      {"veth0_to_bridge", ETH_ALEN},
      {"veth1_to_bridge", ETH_ALEN},
      {"veth0_to_bond", ETH_ALEN},
      {"veth1_to_bond", ETH_ALEN},
      {"veth0_to_team", ETH_ALEN},
      {"veth1_to_team", ETH_ALEN},
      {"veth0_to_hsr", ETH_ALEN},
      {"veth1_to_hsr", ETH_ALEN},
      {"hsr0", 0},
      {"dummy0", ETH_ALEN},
      {"nlmon0", 0},
      {"vxcan0", 0, true},
      {"vxcan1", 0, true},
      {"caif0", ETH_ALEN},
      {"batadv0", ETH_ALEN},
      {netdevsim, ETH_ALEN},
      {"xfrm0", ETH_ALEN},
      {"veth0_virt_wifi", ETH_ALEN},
      {"veth1_virt_wifi", ETH_ALEN},
      {"virt_wifi0", ETH_ALEN},
      {"veth0_vlan", ETH_ALEN},
      {"veth1_vlan", ETH_ALEN},
      {"vlan0", ETH_ALEN},
      {"vlan1", ETH_ALEN},
      {"macvlan0", ETH_ALEN},
      {"macvlan1", ETH_ALEN},
      {"ipvlan0", ETH_ALEN},
      {"ipvlan1", ETH_ALEN},
      {"veth0_macvtap", ETH_ALEN},
      {"veth1_macvtap", ETH_ALEN},
      {"macvtap0", ETH_ALEN},
      {"macsec0", ETH_ALEN},
      {"veth0_to_batadv", ETH_ALEN},
      {"veth1_to_batadv", ETH_ALEN},
      {"batadv_slave_0", ETH_ALEN},
      {"batadv_slave_1", ETH_ALEN},
      {"geneve0", ETH_ALEN},
      {"geneve1", ETH_ALEN},
      {"wg0", 0},
      {"wg1", 0},
      {"wg2", 0},
  };
  int sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
  if (sock == -1)
    exit(1);
  unsigned i;
  for (i = 0; i < sizeof(devtypes) / sizeof(devtypes[0]); i++)
    netlink_add_device(&nlmsg, sock, devtypes[i].type, devtypes[i].dev);
  for (i = 0; i < sizeof(devmasters) / (sizeof(devmasters[0])); i++) {
    char master[32], slave0[32], veth0[32], slave1[32], veth1[32];
    sprintf(slave0, "%s_slave_0", devmasters[i]);
    sprintf(veth0, "veth0_to_%s", devmasters[i]);
    netlink_add_veth(&nlmsg, sock, slave0, veth0);
    sprintf(slave1, "%s_slave_1", devmasters[i]);
    sprintf(veth1, "veth1_to_%s", devmasters[i]);
    netlink_add_veth(&nlmsg, sock, slave1, veth1);
    sprintf(master, "%s0", devmasters[i]);
    netlink_device_change(&nlmsg, sock, slave0, false, master, 0, 0, NULL);
    netlink_device_change(&nlmsg, sock, slave1, false, master, 0, 0, NULL);
  }
  netlink_add_xfrm(&nlmsg, sock, "xfrm0");
  netlink_device_change(&nlmsg, sock, "bridge_slave_0", true, 0, 0, 0, NULL);
  netlink_device_change(&nlmsg, sock, "bridge_slave_1", true, 0, 0, 0, NULL);
  netlink_add_veth(&nlmsg, sock, "hsr_slave_0", "veth0_to_hsr");
  netlink_add_veth(&nlmsg, sock, "hsr_slave_1", "veth1_to_hsr");
  netlink_add_hsr(&nlmsg, sock, "hsr0", "hsr_slave_0", "hsr_slave_1");
  netlink_device_change(&nlmsg, sock, "hsr_slave_0", true, 0, 0, 0, NULL);
  netlink_device_change(&nlmsg, sock, "hsr_slave_1", true, 0, 0, 0, NULL);
  netlink_add_veth(&nlmsg, sock, "veth0_virt_wifi", "veth1_virt_wifi");
  netlink_add_linked(&nlmsg, sock, "virt_wifi", "virt_wifi0",
                     "veth1_virt_wifi");
  netlink_add_veth(&nlmsg, sock, "veth0_vlan", "veth1_vlan");
  netlink_add_vlan(&nlmsg, sock, "vlan0", "veth0_vlan", 0, htons(ETH_P_8021Q));
  netlink_add_vlan(&nlmsg, sock, "vlan1", "veth0_vlan", 1, htons(ETH_P_8021AD));
  netlink_add_macvlan(&nlmsg, sock, "macvlan0", "veth1_vlan");
  netlink_add_macvlan(&nlmsg, sock, "macvlan1", "veth1_vlan");
  netlink_add_ipvlan(&nlmsg, sock, "ipvlan0", "veth0_vlan", IPVLAN_MODE_L2, 0);
  netlink_add_ipvlan(&nlmsg, sock, "ipvlan1", "veth0_vlan", IPVLAN_MODE_L3S,
                     IPVLAN_F_VEPA);
  netlink_add_veth(&nlmsg, sock, "veth0_macvtap", "veth1_macvtap");
  netlink_add_linked(&nlmsg, sock, "macvtap", "macvtap0", "veth0_macvtap");
  netlink_add_linked(&nlmsg, sock, "macsec", "macsec0", "veth1_macvtap");
  char addr[32];
  sprintf(addr, DEV_IPV4, 14 + 10);
  struct in_addr geneve_addr4;
  if (inet_pton(AF_INET, addr, &geneve_addr4) <= 0)
    exit(1);
  struct in6_addr geneve_addr6;
  if (inet_pton(AF_INET6, "fc00::01", &geneve_addr6) <= 0)
    exit(1);
  netlink_add_geneve(&nlmsg, sock, "geneve0", 0, &geneve_addr4, 0);
  netlink_add_geneve(&nlmsg, sock, "geneve1", 1, 0, &geneve_addr6);
  netdevsim_add((int)procid, 4);
  netlink_wireguard_setup();
  for (i = 0; i < sizeof(devices) / (sizeof(devices[0])); i++) {
    char addr[32];
    sprintf(addr, DEV_IPV4, i + 10);
    netlink_add_addr4(&nlmsg, sock, devices[i].name, addr);
    if (!devices[i].noipv6) {
      sprintf(addr, DEV_IPV6, i + 10);
      netlink_add_addr6(&nlmsg, sock, devices[i].name, addr);
    }
    uint64_t macaddr = DEV_MAC + ((i + 10ull) << 40);
    netlink_device_change(&nlmsg, sock, devices[i].name, true, 0, &macaddr,
                          devices[i].macsize, NULL);
  }
  close(sock);
}
static void initialize_netdevices_init(void)
{
  int sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
  if (sock == -1)
    exit(1);
  struct {
    const char* type;
    int macsize;
    bool noipv6;
    bool noup;
  } devtypes[] = {
      {"nr", 7, true},
      {"rose", 5, true, true},
  };
  unsigned i;
  for (i = 0; i < sizeof(devtypes) / sizeof(devtypes[0]); i++) {
    char dev[32], addr[32];
    sprintf(dev, "%s%d", devtypes[i].type, (int)procid);
    sprintf(addr, "172.30.%d.%d", i, (int)procid + 1);
    netlink_add_addr4(&nlmsg, sock, dev, addr);
    if (!devtypes[i].noipv6) {
      sprintf(addr, "fe88::%02x:%02x", i, (int)procid + 1);
      netlink_add_addr6(&nlmsg, sock, dev, addr);
    }
    int macsize = devtypes[i].macsize;
    uint64_t macaddr = 0xbbbbbb +
                       ((unsigned long long)i << (8 * (macsize - 2))) +
                       (procid << (8 * (macsize - 1)));
    netlink_device_change(&nlmsg, sock, dev, !devtypes[i].noup, 0, &macaddr,
                          macsize, NULL);
  }
  close(sock);
}

#define MAX_FDS 30

#define BTPROTO_HCI 1
#define ACL_LINK 1
#define SCAN_PAGE 2

typedef struct {
  uint8_t b[6];
} __attribute__((packed)) bdaddr_t;

#define HCI_COMMAND_PKT 1
#define HCI_EVENT_PKT 4
#define HCI_VENDOR_PKT 0xff

struct hci_command_hdr {
  uint16_t opcode;
  uint8_t plen;
} __attribute__((packed));

struct hci_event_hdr {
  uint8_t evt;
  uint8_t plen;
} __attribute__((packed));

#define HCI_EV_CONN_COMPLETE 0x03
struct hci_ev_conn_complete {
  uint8_t status;
  uint16_t handle;
  bdaddr_t bdaddr;
  uint8_t link_type;
  uint8_t encr_mode;
} __attribute__((packed));

#define HCI_EV_CONN_REQUEST 0x04
struct hci_ev_conn_request {
  bdaddr_t bdaddr;
  uint8_t dev_class[3];
  uint8_t link_type;
} __attribute__((packed));

#define HCI_EV_REMOTE_FEATURES 0x0b
struct hci_ev_remote_features {
  uint8_t status;
  uint16_t handle;
  uint8_t features[8];
} __attribute__((packed));

#define HCI_EV_CMD_COMPLETE 0x0e
struct hci_ev_cmd_complete {
  uint8_t ncmd;
  uint16_t opcode;
} __attribute__((packed));

#define HCI_OP_WRITE_SCAN_ENABLE 0x0c1a

#define HCI_OP_READ_BUFFER_SIZE 0x1005
struct hci_rp_read_buffer_size {
  uint8_t status;
  uint16_t acl_mtu;
  uint8_t sco_mtu;
  uint16_t acl_max_pkt;
  uint16_t sco_max_pkt;
} __attribute__((packed));

#define HCI_OP_READ_BD_ADDR 0x1009
struct hci_rp_read_bd_addr {
  uint8_t status;
  bdaddr_t bdaddr;
} __attribute__((packed));

#define HCI_EV_LE_META 0x3e
struct hci_ev_le_meta {
  uint8_t subevent;
} __attribute__((packed));

#define HCI_EV_LE_CONN_COMPLETE 0x01
struct hci_ev_le_conn_complete {
  uint8_t status;
  uint16_t handle;
  uint8_t role;
  uint8_t bdaddr_type;
  bdaddr_t bdaddr;
  uint16_t interval;
  uint16_t latency;
  uint16_t supervision_timeout;
  uint8_t clk_accurancy;
} __attribute__((packed));

struct hci_dev_req {
  uint16_t dev_id;
  uint32_t dev_opt;
};

struct vhci_vendor_pkt_request {
  uint8_t type;
  uint8_t opcode;
} __attribute__((packed));

struct vhci_pkt {
  uint8_t type;
  union {
    struct {
      uint8_t opcode;
      uint16_t id;
    } __attribute__((packed)) vendor_pkt;
    struct hci_command_hdr command_hdr;
  };
} __attribute__((packed));

#define HCIDEVUP _IOW('H', 201, int)
#define HCISETSCAN _IOW('H', 221, int)

static int vhci_fd = -1;

static void rfkill_unblock_all()
{
  int fd = open("/dev/rfkill", O_WRONLY);
  if (fd < 0)
    exit(1);
  struct rfkill_event event = {0};
  event.idx = 0;
  event.type = RFKILL_TYPE_ALL;
  event.op = RFKILL_OP_CHANGE_ALL;
  event.soft = 0;
  event.hard = 0;
  if (write(fd, &event, sizeof(event)) < 0)
    exit(1);
  close(fd);
}

static void hci_send_event_packet(int fd, uint8_t evt, void* data,
                                  size_t data_len)
{
  struct iovec iv[3];
  struct hci_event_hdr hdr;
  hdr.evt = evt;
  hdr.plen = data_len;
  uint8_t type = HCI_EVENT_PKT;
  iv[0].iov_base = &type;
  iv[0].iov_len = sizeof(type);
  iv[1].iov_base = &hdr;
  iv[1].iov_len = sizeof(hdr);
  iv[2].iov_base = data;
  iv[2].iov_len = data_len;
  if (writev(fd, iv, sizeof(iv) / sizeof(struct iovec)) < 0)
    exit(1);
}

static void hci_send_event_cmd_complete(int fd, uint16_t opcode, void* data,
                                        size_t data_len)
{
  struct iovec iv[4];
  struct hci_event_hdr hdr;
  hdr.evt = HCI_EV_CMD_COMPLETE;
  hdr.plen = sizeof(struct hci_ev_cmd_complete) + data_len;
  struct hci_ev_cmd_complete evt_hdr;
  evt_hdr.ncmd = 1;
  evt_hdr.opcode = opcode;
  uint8_t type = HCI_EVENT_PKT;
  iv[0].iov_base = &type;
  iv[0].iov_len = sizeof(type);
  iv[1].iov_base = &hdr;
  iv[1].iov_len = sizeof(hdr);
  iv[2].iov_base = &evt_hdr;
  iv[2].iov_len = sizeof(evt_hdr);
  iv[3].iov_base = data;
  iv[3].iov_len = data_len;
  if (writev(fd, iv, sizeof(iv) / sizeof(struct iovec)) < 0)
    exit(1);
}

static bool process_command_pkt(int fd, char* buf, ssize_t buf_size)
{
  struct hci_command_hdr* hdr = (struct hci_command_hdr*)buf;
  if (buf_size < (ssize_t)sizeof(struct hci_command_hdr) ||
      hdr->plen != buf_size - sizeof(struct hci_command_hdr))
    exit(1);
  switch (hdr->opcode) {
  case HCI_OP_WRITE_SCAN_ENABLE: {
    uint8_t status = 0;
    hci_send_event_cmd_complete(fd, hdr->opcode, &status, sizeof(status));
    return true;
  }
  case HCI_OP_READ_BD_ADDR: {
    struct hci_rp_read_bd_addr rp = {0};
    rp.status = 0;
    memset(&rp.bdaddr, 0xaa, 6);
    hci_send_event_cmd_complete(fd, hdr->opcode, &rp, sizeof(rp));
    return false;
  }
  case HCI_OP_READ_BUFFER_SIZE: {
    struct hci_rp_read_buffer_size rp = {0};
    rp.status = 0;
    rp.acl_mtu = 1021;
    rp.sco_mtu = 96;
    rp.acl_max_pkt = 4;
    rp.sco_max_pkt = 6;
    hci_send_event_cmd_complete(fd, hdr->opcode, &rp, sizeof(rp));
    return false;
  }
  }
  char dummy[0xf9] = {0};
  hci_send_event_cmd_complete(fd, hdr->opcode, dummy, sizeof(dummy));
  return false;
}

static void* event_thread(void* arg)
{
  while (1) {
    char buf[1024] = {0};
    ssize_t buf_size = read(vhci_fd, buf, sizeof(buf));
    if (buf_size < 0)
      exit(1);
    if (buf_size > 0 && buf[0] == HCI_COMMAND_PKT) {
      if (process_command_pkt(vhci_fd, buf + 1, buf_size - 1))
        break;
    }
  }
  return NULL;
}
#define HCI_HANDLE_1 200
#define HCI_HANDLE_2 201

#define HCI_PRIMARY 0
#define HCI_OP_RESET 0x0c03

static void initialize_vhci()
{
  int hci_sock = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI);
  if (hci_sock < 0)
    exit(1);
  vhci_fd = open("/dev/vhci", O_RDWR);
  if (vhci_fd == -1)
    exit(1);
  const int kVhciFd = 202;
  if (dup2(vhci_fd, kVhciFd) < 0)
    exit(1);
  close(vhci_fd);
  vhci_fd = kVhciFd;
  struct vhci_vendor_pkt_request vendor_pkt_req = {HCI_VENDOR_PKT, HCI_PRIMARY};
  if (write(vhci_fd, &vendor_pkt_req, sizeof(vendor_pkt_req)) !=
      sizeof(vendor_pkt_req))
    exit(1);
  struct vhci_pkt vhci_pkt;
  if (read(vhci_fd, &vhci_pkt, sizeof(vhci_pkt)) != sizeof(vhci_pkt))
    exit(1);
  if (vhci_pkt.type == HCI_COMMAND_PKT &&
      vhci_pkt.command_hdr.opcode == HCI_OP_RESET) {
    char response[1] = {0};
    hci_send_event_cmd_complete(vhci_fd, HCI_OP_RESET, response,
                                sizeof(response));
    if (read(vhci_fd, &vhci_pkt, sizeof(vhci_pkt)) != sizeof(vhci_pkt))
      exit(1);
  }
  if (vhci_pkt.type != HCI_VENDOR_PKT)
    exit(1);
  int dev_id = vhci_pkt.vendor_pkt.id;
  pthread_t th;
  if (pthread_create(&th, NULL, event_thread, NULL))
    exit(1);
  int ret = ioctl(hci_sock, HCIDEVUP, dev_id);
  if (ret) {
    if (errno == ERFKILL) {
      rfkill_unblock_all();
      ret = ioctl(hci_sock, HCIDEVUP, dev_id);
    }
    if (ret && errno != EALREADY)
      exit(1);
  }
  struct hci_dev_req dr = {0};
  dr.dev_id = dev_id;
  dr.dev_opt = SCAN_PAGE;
  if (ioctl(hci_sock, HCISETSCAN, &dr))
    exit(1);
  struct hci_ev_conn_request request;
  memset(&request, 0, sizeof(request));
  memset(&request.bdaddr, 0xaa, 6);
  *(uint8_t*)&request.bdaddr.b[5] = 0x10;
  request.link_type = ACL_LINK;
  hci_send_event_packet(vhci_fd, HCI_EV_CONN_REQUEST, &request,
                        sizeof(request));
  struct hci_ev_conn_complete complete;
  memset(&complete, 0, sizeof(complete));
  complete.status = 0;
  complete.handle = HCI_HANDLE_1;
  memset(&complete.bdaddr, 0xaa, 6);
  *(uint8_t*)&complete.bdaddr.b[5] = 0x10;
  complete.link_type = ACL_LINK;
  complete.encr_mode = 0;
  hci_send_event_packet(vhci_fd, HCI_EV_CONN_COMPLETE, &complete,
                        sizeof(complete));
  struct hci_ev_remote_features features;
  memset(&features, 0, sizeof(features));
  features.status = 0;
  features.handle = HCI_HANDLE_1;
  hci_send_event_packet(vhci_fd, HCI_EV_REMOTE_FEATURES, &features,
                        sizeof(features));
  struct {
    struct hci_ev_le_meta le_meta;
    struct hci_ev_le_conn_complete le_conn;
  } le_conn;
  memset(&le_conn, 0, sizeof(le_conn));
  le_conn.le_meta.subevent = HCI_EV_LE_CONN_COMPLETE;
  memset(&le_conn.le_conn.bdaddr, 0xaa, 6);
  *(uint8_t*)&le_conn.le_conn.bdaddr.b[5] = 0x11;
  le_conn.le_conn.role = 1;
  le_conn.le_conn.handle = HCI_HANDLE_2;
  hci_send_event_packet(vhci_fd, HCI_EV_LE_META, &le_conn, sizeof(le_conn));
  pthread_join(th, NULL);
  close(hci_sock);
}

//% This code is derived from puff.{c,h}, found in the zlib development. The
//% original files come with the following copyright notice:

//% Copyright (C) 2002-2013 Mark Adler, all rights reserved
//% version 2.3, 21 Jan 2013
//% This software is provided 'as-is', without any express or implied
//% warranty.  In no event will the author be held liable for any damages
//% arising from the use of this software.
//% Permission is granted to anyone to use this software for any purpose,
//% including commercial applications, and to alter it and redistribute it
//% freely, subject to the following restrictions:
//% 1. The origin of this software must not be misrepresented; you must not
//%    claim that you wrote the original software. If you use this software
//%    in a product, an acknowledgment in the product documentation would be
//%    appreciated but is not required.
//% 2. Altered source versions must be plainly marked as such, and must not be
//%    misrepresented as being the original software.
//% 3. This notice may not be removed or altered from any source distribution.
//% Mark Adler    madler@alumni.caltech.edu

//% BEGIN CODE DERIVED FROM puff.{c,h}

#define MAXBITS 15
#define MAXLCODES 286
#define MAXDCODES 30
#define MAXCODES (MAXLCODES + MAXDCODES)
#define FIXLCODES 288

struct puff_state {
  unsigned char* out;
  unsigned long outlen;
  unsigned long outcnt;
  const unsigned char* in;
  unsigned long inlen;
  unsigned long incnt;
  int bitbuf;
  int bitcnt;
  jmp_buf env;
};
static int puff_bits(struct puff_state* s, int need)
{
  long val = s->bitbuf;
  while (s->bitcnt < need) {
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    val |= (long)(s->in[s->incnt++]) << s->bitcnt;
    s->bitcnt += 8;
  }
  s->bitbuf = (int)(val >> need);
  s->bitcnt -= need;
  return (int)(val & ((1L << need) - 1));
}
static int puff_stored(struct puff_state* s)
{
  s->bitbuf = 0;
  s->bitcnt = 0;
  if (s->incnt + 4 > s->inlen)
    return 2;
  unsigned len = s->in[s->incnt++];
  len |= s->in[s->incnt++] << 8;
  if (s->in[s->incnt++] != (~len & 0xff) ||
      s->in[s->incnt++] != ((~len >> 8) & 0xff))
    return -2;
  if (s->incnt + len > s->inlen)
    return 2;
  if (s->outcnt + len > s->outlen)
    return 1;
  for (; len--; s->outcnt++, s->incnt++) {
    if (s->in[s->incnt])
      s->out[s->outcnt] = s->in[s->incnt];
  }
  return 0;
}
struct puff_huffman {
  short* count;
  short* symbol;
};
static int puff_decode(struct puff_state* s, const struct puff_huffman* h)
{
  int first = 0;
  int index = 0;
  int bitbuf = s->bitbuf;
  int left = s->bitcnt;
  int code = first = index = 0;
  int len = 1;
  short* next = h->count + 1;
  while (1) {
    while (left--) {
      code |= bitbuf & 1;
      bitbuf >>= 1;
      int count = *next++;
      if (code - count < first) {
        s->bitbuf = bitbuf;
        s->bitcnt = (s->bitcnt - len) & 7;
        return h->symbol[index + (code - first)];
      }
      index += count;
      first += count;
      first <<= 1;
      code <<= 1;
      len++;
    }
    left = (MAXBITS + 1) - len;
    if (left == 0)
      break;
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    bitbuf = s->in[s->incnt++];
    if (left > 8)
      left = 8;
  }
  return -10;
}
static int puff_construct(struct puff_huffman* h, const short* length, int n)
{
  int len;
  for (len = 0; len <= MAXBITS; len++)
    h->count[len] = 0;
  int symbol;
  for (symbol = 0; symbol < n; symbol++)
    (h->count[length[symbol]])++;
  if (h->count[0] == n)
    return 0;
  int left = 1;
  for (len = 1; len <= MAXBITS; len++) {
    left <<= 1;
    left -= h->count[len];
    if (left < 0)
      return left;
  }
  short offs[MAXBITS + 1];
  offs[1] = 0;
  for (len = 1; len < MAXBITS; len++)
    offs[len + 1] = offs[len] + h->count[len];
  for (symbol = 0; symbol < n; symbol++)
    if (length[symbol] != 0)
      h->symbol[offs[length[symbol]]++] = symbol;
  return left;
}
static int puff_codes(struct puff_state* s, const struct puff_huffman* lencode,
                      const struct puff_huffman* distcode)
{
  static const short lens[29] = {3,  4,  5,  6,   7,   8,   9,   10,  11, 13,
                                 15, 17, 19, 23,  27,  31,  35,  43,  51, 59,
                                 67, 83, 99, 115, 131, 163, 195, 227, 258};
  static const short lext[29] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2,
                                 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0};
  static const short dists[30] = {
      1,    2,    3,    4,    5,    7,    9,    13,    17,    25,
      33,   49,   65,   97,   129,  193,  257,  385,   513,   769,
      1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577};
  static const short dext[30] = {0, 0, 0,  0,  1,  1,  2,  2,  3,  3,
                                 4, 4, 5,  5,  6,  6,  7,  7,  8,  8,
                                 9, 9, 10, 10, 11, 11, 12, 12, 13, 13};
  int symbol;
  do {
    symbol = puff_decode(s, lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 256) {
      if (s->outcnt == s->outlen)
        return 1;
      if (symbol)
        s->out[s->outcnt] = symbol;
      s->outcnt++;
    } else if (symbol > 256) {
      symbol -= 257;
      if (symbol >= 29)
        return -10;
      int len = lens[symbol] + puff_bits(s, lext[symbol]);
      symbol = puff_decode(s, distcode);
      if (symbol < 0)
        return symbol;
      unsigned dist = dists[symbol] + puff_bits(s, dext[symbol]);
      if (dist > s->outcnt)
        return -11;
      if (s->outcnt + len > s->outlen)
        return 1;
      while (len--) {
        if (dist <= s->outcnt && s->out[s->outcnt - dist])
          s->out[s->outcnt] = s->out[s->outcnt - dist];
        s->outcnt++;
      }
    }
  } while (symbol != 256);
  return 0;
}
static int puff_fixed(struct puff_state* s)
{
  static int virgin = 1;
  static short lencnt[MAXBITS + 1], lensym[FIXLCODES];
  static short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  static struct puff_huffman lencode, distcode;
  if (virgin) {
    lencode.count = lencnt;
    lencode.symbol = lensym;
    distcode.count = distcnt;
    distcode.symbol = distsym;
    short lengths[FIXLCODES];
    int symbol;
    for (symbol = 0; symbol < 144; symbol++)
      lengths[symbol] = 8;
    for (; symbol < 256; symbol++)
      lengths[symbol] = 9;
    for (; symbol < 280; symbol++)
      lengths[symbol] = 7;
    for (; symbol < FIXLCODES; symbol++)
      lengths[symbol] = 8;
    puff_construct(&lencode, lengths, FIXLCODES);
    for (symbol = 0; symbol < MAXDCODES; symbol++)
      lengths[symbol] = 5;
    puff_construct(&distcode, lengths, MAXDCODES);
    virgin = 0;
  }
  return puff_codes(s, &lencode, &distcode);
}
static int puff_dynamic(struct puff_state* s)
{
  static const short order[19] = {16, 17, 18, 0, 8,  7, 9,  6, 10, 5,
                                  11, 4,  12, 3, 13, 2, 14, 1, 15};
  int nlen = puff_bits(s, 5) + 257;
  int ndist = puff_bits(s, 5) + 1;
  int ncode = puff_bits(s, 4) + 4;
  if (nlen > MAXLCODES || ndist > MAXDCODES)
    return -3;
  short lengths[MAXCODES];
  int index;
  for (index = 0; index < ncode; index++)
    lengths[order[index]] = puff_bits(s, 3);
  for (; index < 19; index++)
    lengths[order[index]] = 0;
  short lencnt[MAXBITS + 1], lensym[MAXLCODES];
  struct puff_huffman lencode = {lencnt, lensym};
  int err = puff_construct(&lencode, lengths, 19);
  if (err != 0)
    return -4;
  index = 0;
  while (index < nlen + ndist) {
    int symbol;
    int len;
    symbol = puff_decode(s, &lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 16)
      lengths[index++] = symbol;
    else {
      len = 0;
      if (symbol == 16) {
        if (index == 0)
          return -5;
        len = lengths[index - 1];
        symbol = 3 + puff_bits(s, 2);
      } else if (symbol == 17)
        symbol = 3 + puff_bits(s, 3);
      else
        symbol = 11 + puff_bits(s, 7);
      if (index + symbol > nlen + ndist)
        return -6;
      while (symbol--)
        lengths[index++] = len;
    }
  }
  if (lengths[256] == 0)
    return -9;
  err = puff_construct(&lencode, lengths, nlen);
  if (err && (err < 0 || nlen != lencode.count[0] + lencode.count[1]))
    return -7;
  short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  struct puff_huffman distcode = {distcnt, distsym};
  err = puff_construct(&distcode, lengths + nlen, ndist);
  if (err && (err < 0 || ndist != distcode.count[0] + distcode.count[1]))
    return -8;
  return puff_codes(s, &lencode, &distcode);
}
static int puff(unsigned char* dest, unsigned long* destlen,
                const unsigned char* source, unsigned long sourcelen)
{
  struct puff_state s = {
      .out = dest,
      .outlen = *destlen,
      .outcnt = 0,
      .in = source,
      .inlen = sourcelen,
      .incnt = 0,
      .bitbuf = 0,
      .bitcnt = 0,
  };
  int err;
  if (setjmp(s.env) != 0)
    err = 2;
  else {
    int last;
    do {
      last = puff_bits(&s, 1);
      int type = puff_bits(&s, 2);
      err = type == 0 ? puff_stored(&s)
                      : (type == 1 ? puff_fixed(&s)
                                   : (type == 2 ? puff_dynamic(&s) : -1));
      if (err != 0)
        break;
    } while (!last);
  }
  *destlen = s.outcnt;
  return err;
}

//% END CODE DERIVED FROM puff.{c,h}

#define ZLIB_HEADER_WIDTH 2

static int puff_zlib_to_file(const unsigned char* source,
                             unsigned long sourcelen, int dest_fd)
{
  if (sourcelen < ZLIB_HEADER_WIDTH)
    return 0;
  source += ZLIB_HEADER_WIDTH;
  sourcelen -= ZLIB_HEADER_WIDTH;
  const unsigned long max_destlen = 132 << 20;
  void* ret = mmap(0, max_destlen, PROT_WRITE | PROT_READ,
                   MAP_PRIVATE | MAP_ANON, -1, 0);
  if (ret == MAP_FAILED)
    return -1;
  unsigned char* dest = (unsigned char*)ret;
  unsigned long destlen = max_destlen;
  int err = puff(dest, &destlen, source, sourcelen);
  if (err) {
    munmap(dest, max_destlen);
    errno = -err;
    return -1;
  }
  if (write(dest_fd, dest, destlen) != (ssize_t)destlen) {
    munmap(dest, max_destlen);
    return -1;
  }
  return munmap(dest, max_destlen);
}

static int setup_loop_device(unsigned char* data, unsigned long size,
                             const char* loopname, int* loopfd_p)
{
  int err = 0, loopfd = -1;
  int memfd = syscall(__NR_memfd_create, "syzkaller", 0);
  if (memfd == -1) {
    err = errno;
    goto error;
  }
  if (puff_zlib_to_file(data, size, memfd)) {
    err = errno;
    goto error_close_memfd;
  }
  loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    err = errno;
    goto error_close_memfd;
  }
  if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
    if (errno != EBUSY) {
      err = errno;
      goto error_close_loop;
    }
    ioctl(loopfd, LOOP_CLR_FD, 0);
    usleep(1000);
    if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
      err = errno;
      goto error_close_loop;
    }
  }
  close(memfd);
  *loopfd_p = loopfd;
  return 0;

error_close_loop:
  close(loopfd);
error_close_memfd:
  close(memfd);
error:
  errno = err;
  return -1;
}

static void reset_loop_device(const char* loopname)
{
  int loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    return;
  }
  if (ioctl(loopfd, LOOP_CLR_FD, 0)) {
  }
  close(loopfd);
}

static long syz_mount_image(volatile long fsarg, volatile long dir,
                            volatile long flags, volatile long optsarg,
                            volatile long change_dir,
                            volatile unsigned long size, volatile long image)
{
  unsigned char* data = (unsigned char*)image;
  int res = -1, err = 0, need_loop_device = !!size;
  char* mount_opts = (char*)optsarg;
  char* target = (char*)dir;
  char* fs = (char*)fsarg;
  char* source = NULL;
  char loopname[64];
  if (need_loop_device) {
    int loopfd;
    memset(loopname, 0, sizeof(loopname));
    snprintf(loopname, sizeof(loopname), "/dev/loop%llu", procid);
    if (setup_loop_device(data, size, loopname, &loopfd) == -1)
      return -1;
    close(loopfd);
    source = loopname;
  }
  mkdir(target, 0777);
  char opts[256];
  memset(opts, 0, sizeof(opts));
  if (strlen(mount_opts) > (sizeof(opts) - 32)) {
  }
  strncpy(opts, mount_opts, sizeof(opts) - 32);
  if (strcmp(fs, "iso9660") == 0) {
    flags |= MS_RDONLY;
  } else if (strncmp(fs, "ext", 3) == 0) {
    bool has_remount_ro = false;
    char* remount_ro_start = strstr(opts, "errors=remount-ro");
    if (remount_ro_start != NULL) {
      char after = *(remount_ro_start + strlen("errors=remount-ro"));
      char before = remount_ro_start == opts ? '\0' : *(remount_ro_start - 1);
      has_remount_ro = ((before == '\0' || before == ',') &&
                        (after == '\0' || after == ','));
    }
    if (strstr(opts, "errors=panic") || !has_remount_ro)
      strcat(opts, ",errors=continue");
  } else if (strcmp(fs, "xfs") == 0) {
    strcat(opts, ",nouuid");
  }
  res = mount(source, target, fs, flags, opts);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  res = open(target, O_RDONLY | O_DIRECTORY);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  if (change_dir) {
    res = chdir(target);
    if (res == -1) {
      err = errno;
    }
  }

error_clear_loop:
  if (need_loop_device)
    reset_loop_device(loopname);
  errno = err;
  return res;
}

static void setup_common()
{
  if (mount(0, "/sys/fs/fuse/connections", "fusectl", 0, 0)) {
  }
}

static void setup_binderfs()
{
  if (mkdir("/dev/binderfs", 0777)) {
  }
  if (mount("binder", "/dev/binderfs", "binder", 0, NULL)) {
  }
  if (symlink("/dev/binderfs", "./binderfs")) {
  }
}

static void loop();

static void sandbox_common()
{
  prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0);
  setsid();
  struct rlimit rlim;
  rlim.rlim_cur = rlim.rlim_max = (200 << 20);
  setrlimit(RLIMIT_AS, &rlim);
  rlim.rlim_cur = rlim.rlim_max = 32 << 20;
  setrlimit(RLIMIT_MEMLOCK, &rlim);
  rlim.rlim_cur = rlim.rlim_max = 136 << 20;
  setrlimit(RLIMIT_FSIZE, &rlim);
  rlim.rlim_cur = rlim.rlim_max = 1 << 20;
  setrlimit(RLIMIT_STACK, &rlim);
  rlim.rlim_cur = rlim.rlim_max = 128 << 20;
  setrlimit(RLIMIT_CORE, &rlim);
  rlim.rlim_cur = rlim.rlim_max = 256;
  setrlimit(RLIMIT_NOFILE, &rlim);
  if (unshare(CLONE_NEWNS)) {
  }
  if (mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, NULL)) {
  }
  if (unshare(CLONE_NEWIPC)) {
  }
  if (unshare(0x02000000)) {
  }
  if (unshare(CLONE_NEWUTS)) {
  }
  if (unshare(CLONE_SYSVSEM)) {
  }
  typedef struct {
    const char* name;
    const char* value;
  } sysctl_t;
  static const sysctl_t sysctls[] = {
      {"/proc/sys/kernel/shmmax", "16777216"},
      {"/proc/sys/kernel/shmall", "536870912"},
      {"/proc/sys/kernel/shmmni", "1024"},
      {"/proc/sys/kernel/msgmax", "8192"},
      {"/proc/sys/kernel/msgmni", "1024"},
      {"/proc/sys/kernel/msgmnb", "1024"},
      {"/proc/sys/kernel/sem", "1024 1048576 500 1024"},
  };
  unsigned i;
  for (i = 0; i < sizeof(sysctls) / sizeof(sysctls[0]); i++)
    write_file(sysctls[i].name, sysctls[i].value);
}

static int wait_for_loop(int pid)
{
  if (pid < 0)
    exit(1);
  int status = 0;
  while (waitpid(-1, &status, __WALL) != pid) {
  }
  return WEXITSTATUS(status);
}

static void drop_caps(void)
{
  struct __user_cap_header_struct cap_hdr = {};
  struct __user_cap_data_struct cap_data[2] = {};
  cap_hdr.version = _LINUX_CAPABILITY_VERSION_3;
  cap_hdr.pid = getpid();
  if (syscall(SYS_capget, &cap_hdr, &cap_data))
    exit(1);
  const int drop = (1 << CAP_SYS_PTRACE) | (1 << CAP_SYS_NICE);
  cap_data[0].effective &= ~drop;
  cap_data[0].permitted &= ~drop;
  cap_data[0].inheritable &= ~drop;
  if (syscall(SYS_capset, &cap_hdr, &cap_data))
    exit(1);
}

static int do_sandbox_none(void)
{
  if (unshare(CLONE_NEWPID)) {
  }
  int pid = fork();
  if (pid != 0)
    return wait_for_loop(pid);
  setup_common();
  initialize_vhci();
  sandbox_common();
  drop_caps();
  initialize_netdevices_init();
  if (unshare(CLONE_NEWNET)) {
  }
  write_file("/proc/sys/net/ipv4/ping_group_range", "0 65535");
  initialize_netdevices();
  setup_binderfs();
  loop();
  exit(1);
}

static void kill_and_wait(int pid, int* status)
{
  kill(-pid, SIGKILL);
  kill(pid, SIGKILL);
  for (int i = 0; i < 100; i++) {
    if (waitpid(-1, status, WNOHANG | __WALL) == pid)
      return;
    usleep(1000);
  }
  DIR* dir = opendir("/sys/fs/fuse/connections");
  if (dir) {
    for (;;) {
      struct dirent* ent = readdir(dir);
      if (!ent)
        break;
      if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0)
        continue;
      char abort[300];
      snprintf(abort, sizeof(abort), "/sys/fs/fuse/connections/%s/abort",
               ent->d_name);
      int fd = open(abort, O_WRONLY);
      if (fd == -1) {
        continue;
      }
      if (write(fd, abort, 1) < 0) {
      }
      close(fd);
    }
    closedir(dir);
  } else {
  }
  while (waitpid(-1, status, __WALL) != pid) {
  }
}

static void reset_loop()
{
  char buf[64];
  snprintf(buf, sizeof(buf), "/dev/loop%llu", procid);
  int loopfd = open(buf, O_RDWR);
  if (loopfd != -1) {
    ioctl(loopfd, LOOP_CLR_FD, 0);
    close(loopfd);
  }
}

static void setup_test()
{
  prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0);
  setpgrp();
  write_file("/proc/self/oom_score_adj", "1000");
}

static void close_fds()
{
  for (int fd = 3; fd < MAX_FDS; fd++)
    close(fd);
}

struct thread_t {
  int created, call;
  event_t ready, done;
};

static struct thread_t threads[16];
static void execute_call(int call);
static int running;

static void* thr(void* arg)
{
  struct thread_t* th = (struct thread_t*)arg;
  for (;;) {
    event_wait(&th->ready);
    event_reset(&th->ready);
    execute_call(th->call);
    __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED);
    event_set(&th->done);
  }
  return 0;
}

static void execute_one(void)
{
  int i, call, thread;
  for (call = 0; call < 3; call++) {
    for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0]));
         thread++) {
      struct thread_t* th = &threads[thread];
      if (!th->created) {
        th->created = 1;
        event_init(&th->ready);
        event_init(&th->done);
        event_set(&th->done);
        thread_start(thr, th);
      }
      if (!event_isset(&th->done))
        continue;
      event_reset(&th->done);
      th->call = call;
      __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED);
      event_set(&th->ready);
      event_timedwait(&th->done, 50 + (call == 2 ? 4000 : 0));
      break;
    }
  }
  for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++)
    sleep_ms(1);
  close_fds();
}

static void execute_one(void);

#define WAIT_FLAGS __WALL

static void loop(void)
{
  int iter = 0;
  for (;; iter++) {
    reset_loop();
    int pid = fork();
    if (pid < 0)
      exit(1);
    if (pid == 0) {
      setup_test();
      execute_one();
      exit(0);
    }
    int status = 0;
    uint64_t start = current_time_ms();
    for (;;) {
      if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid)
        break;
      sleep_ms(1);
      if (current_time_ms() - start < 5000)
        continue;
      kill_and_wait(pid, &status);
      break;
    }
  }
}

uint64_t r[1] = {0xffffffffffffffff};

void execute_call(int call)
{
  intptr_t res = 0;
  switch (call) {
  case 0:
    res = syscall(__NR_openat, /*fd=*/0xffffffffffffff9cul, /*file=*/0ul,
                  /*flags=*/2ul, /*mode=*/0ul);
    if (res != -1)
      r[0] = res;
    break;
  case 1:
    NONFAILING(*(uint64_t*)0x20001140 = 0);
    NONFAILING(*(uint64_t*)0x20001148 = 0);
    syscall(__NR_pwritev, /*fd=*/r[0], /*vec=*/0x20001140ul, /*vlen=*/1ul,
            /*off_low=*/0, /*off_high=*/0);
    break;
  case 2:
    NONFAILING(memcpy((void*)0x20000000, "reiserfs\000", 9));
    NONFAILING(memcpy((void*)0x20001140, "./file1\000", 8));
    NONFAILING(memcpy(
        (void*)0x200011c0,
        "\x78\x9c\xec\xd8\x31\x8b\x13\x41\x18\x06\xe0\x77\x36\xe9\x23\x73\xfd"
        "\x36\x5a\x58\x88\xdc\x11\xff\xc0\x15\x0a\x69\x2c\xac\x6d\xe4\xb8\xca"
        "\xab\x2e\x95\x92\xc2\x1f\xe3\xcf\x91\x54\xf6\x21\xbd\x29\x02\xf6\xca"
        "\x9a\x6c\x08\x21\x28\x92\x28\x28\xcf\x03\xcb\xcc\xbe\xbb\xf3\xcd\x6e"
        "\xf9\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x33\x4c"
        "\xbe\x94\xe4\xa2\x49\x6a\x9f\x35\x49\x4a\xd2\xb6\xf3\xc9\x32\x49\xdb"
        "\xe7\x0f\x3e\x0d\x9a\x94\xbc\xba\x9d\x4c\x9f\xdf\x8f\x5f\x4c\x37\xaf"
        "\xa5\xcb\x9a\x94\x6e\xd5\x8f\xfb\x7a\xf5\xb0\xd6\x71\x1d\xd7\xab\xfa"
        "\xec\xe2\xfa\x51\x9d\xbe\x7b\xff\xf6\xcd\xdd\xdd\xed\xfd\xb6\x4c\x49"
        "\x9b\xc5\x7a\x76\x93\x97\xab\xb3\xfe\x4a\xb7\xf7\xe0\xac\x15\x01\x00"
        "\x00\xe0\xff\xf0\xed\x64\xa3\x9f\x95\x2f\x1f\xfe\xf8\xfe\x00\x00\x00"
        "\xc0\xaf\x9c\xf7\x34\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x34\xb5"
        "\x9f\x34\x49\x4a\xd2\xb6\xf3\xc9\x32\x49\x9b\xfd\x07\x00\x00\x00\xc0"
        "\xbf\xa6\xa4\xc9\xeb\xd1\xb1\xfc\xb0\xdb\x7f\x92\xcf\xa3\xb2\xcb\xbb"
        "\xf1\x6b\xe9\xe6\x97\xf9\x78\x64\x3d\x00\x00\x00\xf0\x7b\x86\x7b\xfd"
        "\xf8\xe3\x0c\x77\x7d\x79\xd9\xc4\x3b\x4f\xb7\xe3\xea\x3a\x19\x24\xb9"
        "\x3c\xa8\xb3\x58\xcf\x6e\xfa\xab\xfc\x9d\x4f\x07\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\xb3\x03"
        "\xc7\x02\x00\x00\x00\x00\xc2\xfc\xad\xd3\xe8\xd8\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x80\xb5\x02\x00\x00\xff\xff\x85\x03\xd4\xbe",
        4335));
    NONFAILING(syz_mount_image(/*fs=*/0x20000000, /*dir=*/0x20001140,
                               /*flags=*/0, /*opts=*/0x20000180, /*chdir=*/0xef,
                               /*size=*/0x10ef, /*img=*/0x200011c0));
    break;
  }
}
int main(void)
{
  syscall(__NR_mmap, /*addr=*/0x1ffff000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x20000000ul, /*len=*/0x1000000ul,
          /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x21000000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  install_segv_handler();
  for (procid = 0; procid < 4; procid++) {
    if (fork() == 0) {
      do_sandbox_none();
    }
  }
  sleep(1000000);
  return 0;
}



^ permalink raw reply	[relevance 2%]

* [Linux kernel bug] general protection fault in mac80211_hwsim_tx_frame_no_nl
@ 2024-05-07  6:49  1% Sam Sun
  0 siblings, 0 replies; 200+ results
From: Sam Sun @ 2024-05-07  6:49 UTC (permalink / raw)
  To: linux-kernel, linux-wireless; +Cc: kvalo, johannes, syzkaller-bugs, xrivendell7

[-- Attachment #1: Type: text/plain, Size: 6932 bytes --]

Dear developers and maintainers,

We encountered a general protection fault in function
mac80211_hwsim_tx_frame_no_nl. It was tested against the latest
upstream linux (tag 6.9-rc7). C repro and kernel config are attached
to this email. Kernel crash log is listed below.
```
general protection fault, probably for non-canonical address
0xee0bea6cc00087aa: 0000 [#1] PREEMPT SMP KASAN NOPTI
KASAN: maybe wild-memory-access in range [0x705f736600043d50-0x705f736600043d57]
CPU: 0 PID: 3 Comm: pool_workqueue_ Not tainted 6.9.0-rc6 #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.13.0-1ubuntu1.1 04/01/2014
RIP: 0010:mac80211_hwsim_tx_frame_no_nl+0x99e/0x15b0
drivers/net/wireless/virtual/mac80211_hwsim.c:1816
Code: b6 04 30 84 c0 0f 85 0d 06 00 00 c6 84 24 18 01 00 00 00 4d 39
ef 0f 84 84 00 00 00 49 8d 9d 08 3d 00 00 48 89 d8 48 c1 e8 03 <42> 0f
b6 04 30 84 c0 0f 85 00 06 00 00 0f b6 1b 31 ff 89 de e8 c9
RSP: 0018:ffffc90000006bc0 EFLAGS: 00010206
RAX: 0e0bee6cc00087aa RBX: 705f736600043d50 RCX: ffff8880152e4a00
RDX: 0000000000000303 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90000006d60 R08: ffffffff86b8f262 R09: ffffffff86b8f179
R10: 0000000000000002 R11: ffff8880152e4a00 R12: ffff88807a2c32f8
R13: 705f736600040048 R14: dffffc0000000000 R15: ffff88807a2c3060
FS:  0000000000000000(0000) GS:ffff888044000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fff3bddbff8 CR3: 000000002c79a000 CR4: 0000000000750ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
 <IRQ>
 mac80211_hwsim_tx+0x1891/0x2400
drivers/net/wireless/virtual/mac80211_hwsim.c:2072
 drv_tx net/mac80211/driver-ops.h:37 [inline]
 wake_tx_push_queue net/mac80211/util.c:298 [inline]
 ieee80211_handle_wake_tx_queue+0x1ac/0x2d0 net/mac80211/util.c:315
 drv_wake_tx_queue net/mac80211/driver-ops.h:1350 [inline]
 schedule_and_wake_txq net/mac80211/driver-ops.h:1357 [inline]
 ieee80211_queue_skb+0x1ae9/0x2390 net/mac80211/tx.c:1664
 ieee80211_tx+0x2ae/0x450 net/mac80211/tx.c:1966
 __ieee80211_subif_start_xmit+0xd8a/0x1550 net/mac80211/tx.c:4338
 ieee80211_subif_start_xmit+0xdd/0x4f0 net/mac80211/tx.c:4532
 __netdev_start_xmit include/linux/netdevice.h:4903 [inline]
 netdev_start_xmit include/linux/netdevice.h:4917 [inline]
 xmit_one net/core/dev.c:3531 [inline]
 dev_hard_start_xmit+0x1db/0x410 net/core/dev.c:3547
 __dev_queue_xmit+0x1ae1/0x3a60 net/core/dev.c:4341
 dev_queue_xmit include/linux/netdevice.h:3091 [inline]
 neigh_hh_output include/net/neighbour.h:526 [inline]
 neigh_output include/net/neighbour.h:540 [inline]
 ip6_finish_output2+0xf95/0x1600 net/ipv6/ip6_output.c:137
 ip6_finish_output+0x3c8/0x7f0 net/ipv6/ip6_output.c:222
 NF_HOOK include/linux/netfilter.h:314 [inline]
 ndisc_send_skb+0xa39/0xf40 net/ipv6/ndisc.c:509
 addrconf_rs_timer+0x38f/0x630 net/ipv6/addrconf.c:4038
 call_timer_fn+0x101/0x250 kernel/time/timer.c:1793
 expire_timers kernel/time/timer.c:1844 [inline]
 __run_timers kernel/time/timer.c:2418 [inline]
 __run_timer_base+0x726/0x990 kernel/time/timer.c:2429
 run_timer_base kernel/time/timer.c:2438 [inline]
 run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2448
 __do_softirq+0x272/0x734 kernel/softirq.c:554
 invoke_softirq kernel/softirq.c:428 [inline]
 __irq_exit_rcu+0xd5/0x190 kernel/softirq.c:633
 irq_exit_rcu+0x9/0x20 kernel/softirq.c:645
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline]
 sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1043
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:synchronize_rcu+0x0/0x3a0 kernel/rcu/tree.c:3601
Code: e9 85 fe ff ff 44 89 f1 80 e1 07 80 c1 03 38 c1 0f 8c 9b fe ff
ff 4c 89 f7 e8 2c 29 79 00 e9 8e fe ff ff 0f 1f 80 00 00 00 00 <f3> 0f
1e fa 55 48 89 e5 41 57 41 56 41 55 41 54 53 48 83 e4 e0 48
RSP: 0018:ffffc9000005fcd8 EFLAGS: 00000206
RAX: 1ffff9200000bfa4 RBX: 1ffff9200000bfa0 RCX: dffffc0000000000
RDX: 0000000000000001 RSI: ffffffff8b6c93e0 RDI: ffffffff8bcdd0a0
RBP: ffffc9000005fdb8 R08: ffffffff92b85bff R09: 1ffffffff2570b7f
R10: dffffc0000000000 R11: fffffbfff2570b80 R12: ffff88806e41b938
R13: 0000000000000a06 R14: ffffc9000005fd20 R15: ffffffff92b84b88
 lockdep_unregister_key+0x494/0x510 kernel/locking/lockdep.c:6475
 wq_unregister_lockdep kernel/workqueue.c:4655 [inline]
 pwq_release_workfn+0x70a/0x860 kernel/workqueue.c:4958
 kthread_worker_fn+0x3fb/0x640 kernel/kthread.c:841
 kthread+0x2ed/0x390 kernel/kthread.c:388
 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:244
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:mac80211_hwsim_tx_frame_no_nl+0x99e/0x15b0
drivers/net/wireless/virtual/mac80211_hwsim.c:1816
Code: b6 04 30 84 c0 0f 85 0d 06 00 00 c6 84 24 18 01 00 00 00 4d 39
ef 0f 84 84 00 00 00 49 8d 9d 08 3d 00 00 48 89 d8 48 c1 e8 03 <42> 0f
b6 04 30 84 c0 0f 85 00 06 00 00 0f b6 1b 31 ff 89 de e8 c9
RSP: 0018:ffffc90000006bc0 EFLAGS: 00010206

RAX: 0e0bee6cc00087aa RBX: 705f736600043d50 RCX: ffff8880152e4a00
RDX: 0000000000000303 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90000006d60 R08: ffffffff86b8f262 R09: ffffffff86b8f179
R10: 0000000000000002 R11: ffff8880152e4a00 R12: ffff88807a2c32f8
R13: 705f736600040048 R14: dffffc0000000000 R15: ffff88807a2c3060
FS:  0000000000000000(0000) GS:ffff888044000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fff3bddbff8 CR3: 000000002c79a000 CR4: 0000000000750ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
----------------
Code disassembly (best guess):
   0:    b6 04                    mov    $0x4,%dh
   2:    30 84 c0 0f 85 0d 06     xor    %al,0x60d850f(%rax,%rax,8)
   9:    00 00                    add    %al,(%rax)
   b:    c6 84 24 18 01 00 00     movb   $0x0,0x118(%rsp)
  12:    00
  13:    4d 39 ef                 cmp    %r13,%r15
  16:    0f 84 84 00 00 00        je     0xa0
  1c:    49 8d 9d 08 3d 00 00     lea    0x3d08(%r13),%rbx
  23:    48 89 d8                 mov    %rbx,%rax
  26:    48 c1 e8 03              shr    $0x3,%rax
* 2a:    42 0f b6 04 30           movzbl (%rax,%r14,1),%eax <--
trapping instruction
  2f:    84 c0                    test   %al,%al
  31:    0f 85 00 06 00 00        jne    0x637
  37:    0f b6 1b                 movzbl (%rbx),%ebx
  3a:    31 ff                    xor    %edi,%edi
  3c:    89 de                    mov    %ebx,%esi
  3e:    e8                       .byte 0xe8
  3f:    c9                       leaveq
```
If you have any questions, please contact us.

Reported by Yue Sun <samsun1006219@gmail.com>
Reported by xingwei lee <xrivendell7@gmail.com>

Best Regards,
Yue

[-- Attachment #2: config --]
[-- Type: application/octet-stream, Size: 247919 bytes --]

#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 6.9.0-rc7 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="Ubuntu clang version 14.0.0-1ubuntu1.1"
CONFIG_GCC_VERSION=0
CONFIG_CC_IS_CLANG=y
CONFIG_CLANG_VERSION=140000
CONFIG_AS_IS_LLVM=y
CONFIG_AS_VERSION=140000
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=23800
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_TOOLS_SUPPORT_RELR=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_PAHOLE_VERSION=0
CONFIG_CONSTRUCTORS=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
# CONFIG_WERROR is not set
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_HAVE_KERNEL_ZSTD=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_WATCH_QUEUE=y
CONFIG_CROSS_MEMORY_ATTACH=y
# CONFIG_USELIB is not set
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_IRQ_MSI_IOMMU=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
# end of IRQ subsystem

CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_INIT=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST_IDLE=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_CONTEXT_TRACKING=y
CONFIG_CONTEXT_TRACKING_IDLE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_CONTEXT_TRACKING_USER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=125
# end of Timers subsystem

CONFIG_BPF=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y

#
# BPF subsystem
#
CONFIG_BPF_SYSCALL=y
# CONFIG_BPF_JIT is not set
# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
CONFIG_USERMODE_DRIVER=y
CONFIG_BPF_PRELOAD=y
CONFIG_BPF_PRELOAD_UMD=y
# end of BPF subsystem

CONFIG_PREEMPT_BUILD=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
CONFIG_PREEMPT_DYNAMIC=y
CONFIG_SCHED_CORE=y

#
# CPU/Task time and stats accounting
#
CONFIG_VIRT_CPU_ACCOUNTING=y
# CONFIG_TICK_CPU_ACCOUNTING is not set
CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_SCHED_AVG_IRQ=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_PSI=y
# CONFIG_PSI_DEFAULT_DISABLED is not set
# end of CPU/Task time and stats accounting

CONFIG_CPU_ISOLATION=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
CONFIG_TASKS_RCU=y
CONFIG_TASKS_TRACE_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
# end of RCU Subsystem

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_IKHEADERS is not set
CONFIG_LOG_BUF_SHIFT=18
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
# CONFIG_PRINTK_INDEX is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y

#
# Scheduler features
#
# CONFIG_UCLAMP_TASK is not set
# end of Scheduler features

CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CC_HAS_INT128=y
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough"
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
CONFIG_MEMCG_KMEM=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_SCHED_MM_CID=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_RDMA=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_BPF=y
CONFIG_CGROUP_MISC=y
CONFIG_CGROUP_DEBUG=y
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_TIME_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_CHECKPOINT_RESTORE=y
# CONFIG_SCHED_AUTOGROUP is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
# CONFIG_BOOT_CONFIG is not set
CONFIG_INITRAMFS_PRESERVE_MTIME=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_LD_ORPHAN_WARN=y
CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
CONFIG_SYSCTL=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_IO_URING=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KCMP=y
CONFIG_RSEQ=y
# CONFIG_DEBUG_RSEQ is not set
CONFIG_CACHESTAT_SYSCALL=y
# CONFIG_PC104 is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_SELFTEST is not set
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_GUEST_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# end of Kernel Performance Events And Counters

CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y

#
# Kexec and crash features
#
CONFIG_CRASH_RESERVE=y
CONFIG_VMCORE_INFO=y
CONFIG_KEXEC_CORE=y
CONFIG_KEXEC=y
# CONFIG_KEXEC_FILE is not set
# CONFIG_KEXEC_JUMP is not set
CONFIG_CRASH_DUMP=y
CONFIG_CRASH_HOTPLUG=y
CONFIG_CRASH_MAX_MEMORY_RANGES=8192
# end of Kexec and crash features
# end of General setup

CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_CSUM=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_AUDIT_ARCH=y
CONFIG_KASAN_SHADOW_OFFSET=0xdffffc0000000000
CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_64_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=4
CONFIG_CC_HAS_SANE_STACKPROTECTOR=y

#
# Processor type and features
#
CONFIG_SMP=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_CPU_RESCTRL is not set
# CONFIG_X86_FRED is not set
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_NUMACHIP is not set
# CONFIG_X86_VSMP is not set
# CONFIG_X86_GOLDFISH is not set
# CONFIG_X86_INTEL_MID is not set
# CONFIG_X86_INTEL_LPSS is not set
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
CONFIG_IOSF_MBI=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_DEBUG=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_X86_HV_CALLBACK_VECTOR=y
# CONFIG_XEN is not set
CONFIG_KVM_GUEST=y
CONFIG_ARCH_CPUIDLE_HALTPOLL=y
CONFIG_PVH=y
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_JAILHOUSE_GUEST is not set
# CONFIG_ACRN_GUEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
CONFIG_MCORE2=y
# CONFIG_MATOM is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_P6_NOP=y
CONFIG_X86_TSC=y
CONFIG_X86_HAVE_PAE=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_IA32_FEAT_CTL=y
CONFIG_X86_VMX_FEATURE_NAMES=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
# CONFIG_CPU_SUP_HYGON is not set
# CONFIG_CPU_SUP_CENTAUR is not set
# CONFIG_CPU_SUP_ZHAOXIN is not set
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
# CONFIG_GART_IOMMU is not set
CONFIG_BOOT_VESA_SUPPORT=y
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS_RANGE_BEGIN=2
CONFIG_NR_CPUS_RANGE_END=512
CONFIG_NR_CPUS_DEFAULT=64
CONFIG_NR_CPUS=8
CONFIG_SCHED_CLUSTER=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_SCHED_MC_PRIO=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
# CONFIG_X86_MCELOG_LEGACY is not set
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set

#
# Performance monitoring
#
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_PERF_EVENTS_INTEL_RAPL=y
CONFIG_PERF_EVENTS_INTEL_CSTATE=y
# CONFIG_PERF_EVENTS_AMD_POWER is not set
CONFIG_PERF_EVENTS_AMD_UNCORE=y
# CONFIG_PERF_EVENTS_AMD_BRS is not set
# end of Performance monitoring

CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
CONFIG_X86_VSYSCALL_EMULATION=y
CONFIG_X86_IOPL_IOPERM=y
CONFIG_MICROCODE=y
# CONFIG_MICROCODE_LATE_LOADING is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
# CONFIG_X86_5LEVEL is not set
CONFIG_X86_DIRECT_GBPAGES=y
# CONFIG_X86_CPA_STATISTICS is not set
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NUMA_EMU=y
CONFIG_NODES_SHIFT=6
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
# CONFIG_ARCH_MEMORY_PROBE is not set
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
# CONFIG_X86_PMEM_LEGACY is not set
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_MTRR=y
# CONFIG_MTRR_SANITIZER is not set
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_X86_UMIP=y
CONFIG_CC_HAS_IBT=y
CONFIG_X86_CET=y
CONFIG_X86_KERNEL_IBT=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
# CONFIG_X86_INTEL_TSX_MODE_OFF is not set
CONFIG_X86_INTEL_TSX_MODE_ON=y
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_SGX=y
CONFIG_X86_USER_SHADOW_STACK=y
# CONFIG_EFI is not set
CONFIG_HZ_100=y
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=100
CONFIG_SCHED_HRTICK=y
CONFIG_ARCH_SUPPORTS_KEXEC=y
CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG_FORCE=y
CONFIG_ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_JUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_HOTPLUG=y
CONFIG_ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION=y
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_ADDRESS_MASKING=y
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
CONFIG_LEGACY_VSYSCALL_XONLY=y
# CONFIG_LEGACY_VSYSCALL_NONE is not set
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="earlyprintk=serial net.ifnames=0 sysctl.kernel.hung_task_all_cpu_backtrace=1 ima_policy=tcb nf-conntrack-ftp.ports=20000 nf-conntrack-tftp.ports=20000 nf-conntrack-sip.ports=20000 nf-conntrack-irc.ports=20000 nf-conntrack-sane.ports=20000 binder.debug_mask=0 rcupdate.rcu_expedited=1 rcupdate.rcu_cpu_stall_cputime=1 no_hash_pointers page_owner=on sysctl.vm.nr_hugepages=4 sysctl.vm.nr_overcommit_hugepages=4 secretmem.enable=1 sysctl.max_rcu_stall_to_panic=1 msr.allow_writes=off coredump_filter=0xffff root=/dev/sda console=ttyS0 vsyscall=native numa=fake=2 kvm-intel.nested=1 spec_store_bypass_disable=prctl nopcid vivid.n_devs=16 vivid.multiplanar=1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2 netrom.nr_ndevs=16 rose.rose_ndevs=16 smp.csd_lock_timeout=100000 watchdog_thresh=55 workqueue.watchdog_thresh=140 sysctl.net.core.netdev_unregister_timeout_secs=140 dummy_hcd.num=8 panic_on_warn=1"
# CONFIG_CMDLINE_OVERRIDE is not set
CONFIG_MODIFY_LDT_SYSCALL=y
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
CONFIG_HAVE_LIVEPATCH=y
# end of Processor type and features

CONFIG_CC_HAS_ENTRY_PADDING=y
CONFIG_FUNCTION_PADDING_CFI=11
CONFIG_FUNCTION_PADDING_BYTES=16
CONFIG_CPU_MITIGATIONS=y
CONFIG_MITIGATION_PAGE_TABLE_ISOLATION=y
CONFIG_MITIGATION_RETPOLINE=y
CONFIG_MITIGATION_IBPB_ENTRY=y
CONFIG_MITIGATION_IBRS_ENTRY=y
# CONFIG_MITIGATION_GDS_FORCE is not set
CONFIG_MITIGATION_RFDS=y
CONFIG_MITIGATION_SPECTRE_BHI=y
CONFIG_ARCH_HAS_ADD_PAGES=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_HIBERNATION_SNAPSHOT_DEV=y
CONFIG_HIBERNATION_COMP_LZO=y
# CONFIG_HIBERNATION_COMP_LZ4 is not set
CONFIG_HIBERNATION_DEF_COMP="lzo"
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM=y
CONFIG_PM_DEBUG=y
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_PM_SLEEP_DEBUG=y
# CONFIG_DPM_WATCHDOG is not set
CONFIG_PM_TRACE=y
CONFIG_PM_TRACE_RTC=y
CONFIG_PM_CLK=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_ENERGY_MODEL is not set
CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
CONFIG_ACPI_THERMAL_LIB=y
# CONFIG_ACPI_DEBUGGER is not set
CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_FPDT is not set
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=y
CONFIG_ACPI_FAN=y
# CONFIG_ACPI_TAD is not set
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_CPU_FREQ_PSS=y
CONFIG_ACPI_PROCESSOR_CSTATE=y
CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_PLATFORM_PROFILE=y
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_TABLE_UPGRADE=y
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_HOTPLUG_MEMORY is not set
CONFIG_ACPI_HOTPLUG_IOAPIC=y
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_HED is not set
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
CONFIG_ACPI_NFIT=y
# CONFIG_NFIT_SECURITY_DEBUG is not set
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_HMAT is not set
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
# CONFIG_ACPI_APEI is not set
# CONFIG_ACPI_DPTF is not set
# CONFIG_ACPI_EXTLOG is not set
# CONFIG_ACPI_CONFIGFS is not set
# CONFIG_ACPI_PFRUT is not set
CONFIG_ACPI_PCC=y
# CONFIG_ACPI_FFH is not set
# CONFIG_PMIC_OPREGION is not set
CONFIG_X86_PM_TIMER=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

#
# CPU frequency scaling drivers
#
# CONFIG_CPUFREQ_DT is not set
# CONFIG_CPUFREQ_DT_PLATDEV is not set
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_PCC_CPUFREQ is not set
CONFIG_X86_AMD_PSTATE=y
CONFIG_X86_AMD_PSTATE_DEFAULT_MODE=3
# CONFIG_X86_AMD_PSTATE_UT is not set
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_ACPI_CPUFREQ_CPB=y
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_P4_CLOCKMOD is not set

#
# shared options
#
# end of CPU Frequency scaling

#
# CPU Idle
#
CONFIG_CPU_IDLE=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE_GOV_HALTPOLL=y
CONFIG_HALTPOLL_CPUIDLE=y
# end of CPU Idle

CONFIG_INTEL_IDLE=y
# end of Power management and ACPI options

#
# Bus options (PCI etc.)
#
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_MMCONF_FAM10H=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_ISA_BUS is not set
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
# end of Bus options (PCI etc.)

#
# Binary Emulations
#
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_EMULATION_DEFAULT_DISABLED is not set
CONFIG_X86_X32_ABI=y
CONFIG_COMPAT_32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
# end of Binary Emulations

CONFIG_KVM_COMMON=y
CONFIG_HAVE_KVM_PFNCACHE=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQ_ROUTING=y
CONFIG_HAVE_KVM_DIRTY_RING=y
CONFIG_HAVE_KVM_DIRTY_RING_TSO=y
CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_READONLY_MEM=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_COMPAT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_KVM_XFER_TO_GUEST_WORK=y
CONFIG_HAVE_KVM_PM_NOTIFIER=y
CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y
CONFIG_KVM_GENERIC_MMU_NOTIFIER=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
# CONFIG_KVM_SW_PROTECTED_VM is not set
CONFIG_KVM_INTEL=y
CONFIG_X86_SGX_KVM=y
CONFIG_KVM_AMD=y
# CONFIG_KVM_SMM is not set
CONFIG_KVM_HYPERV=y
CONFIG_KVM_XEN=y
CONFIG_KVM_PROVE_MMU=y
CONFIG_KVM_MAX_NR_VCPUS=1024
CONFIG_AS_AVX512=y
CONFIG_AS_SHA1_NI=y
CONFIG_AS_SHA256_NI=y
CONFIG_AS_TPAUSE=y
CONFIG_AS_GFNI=y
CONFIG_AS_WRUSS=y
CONFIG_ARCH_CONFIGURES_CPU_MITIGATIONS=y

#
# General architecture-dependent options
#
CONFIG_HOTPLUG_SMT=y
CONFIG_HOTPLUG_CORE_SYNC=y
CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
CONFIG_HOTPLUG_CORE_SYNC_FULL=y
CONFIG_HOTPLUG_SPLIT_STARTUP=y
CONFIG_HOTPLUG_PARALLEL=y
CONFIG_GENERIC_ENTRY=y
# CONFIG_KPROBES is not set
CONFIG_JUMP_LABEL=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
# CONFIG_STATIC_CALL_SELFTEST is not set
CONFIG_UPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
CONFIG_ARCH_HAS_CPU_FINALIZE_INIT=y
CONFIG_ARCH_HAS_CPU_PASID=y
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_ARCH_WANTS_NO_INSTR=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_RUST=y
CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
CONFIG_MMU_GATHER_TABLE_FREE=y
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
CONFIG_MMU_GATHER_MERGE_VMAS=y
CONFIG_MMU_LAZY_TLB_REFCOUNT=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
# CONFIG_SECCOMP_CACHE_DEBUG is not set
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_LTO_NONE=y
CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING_USER=y
CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_MOVE_PUD=y
CONFIG_HAVE_MOVE_PMD=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_PMD_MKWRITE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=28
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
CONFIG_HAVE_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
CONFIG_PAGE_SHIFT=12
CONFIG_HAVE_OBJTOOL=y
CONFIG_HAVE_JUMP_LABEL_HACK=y
CONFIG_HAVE_NOINSTR_HACK=y
CONFIG_HAVE_NOINSTR_VALIDATION=y
CONFIG_HAVE_UACCESS_VALIDATION=y
CONFIG_HAVE_STACK_VALIDATION=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_HAVE_ARCH_VMAP_STACK=y
CONFIG_VMAP_STACK=y
CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
# CONFIG_LOCK_EVENT_COUNTS is not set
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_HAVE_STATIC_CALL=y
CONFIG_HAVE_STATIC_CALL_INLINE=y
CONFIG_HAVE_PREEMPT_DYNAMIC=y
CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
CONFIG_DYNAMIC_SIGFRAME=y
CONFIG_HAVE_ARCH_NODE_DEV_GROUP=y
CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# end of GCOV-based kernel profiling

CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_FUNCTION_ALIGNMENT_4B=y
CONFIG_FUNCTION_ALIGNMENT_16B=y
CONFIG_FUNCTION_ALIGNMENT=16
CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT=y
# end of General architecture-dependent options

CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULE_SIG_FORMAT=y
CONFIG_MODULES=y
# CONFIG_MODULE_DEBUG is not set
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
CONFIG_MODVERSIONS=y
CONFIG_ASM_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_MODULE_SIG=y
# CONFIG_MODULE_SIG_FORCE is not set
# CONFIG_MODULE_SIG_ALL is not set
# CONFIG_MODULE_SIG_SHA1 is not set
CONFIG_MODULE_SIG_SHA256=y
# CONFIG_MODULE_SIG_SHA384 is not set
# CONFIG_MODULE_SIG_SHA512 is not set
# CONFIG_MODULE_SIG_SHA3_256 is not set
# CONFIG_MODULE_SIG_SHA3_384 is not set
# CONFIG_MODULE_SIG_SHA3_512 is not set
CONFIG_MODULE_SIG_HASH="sha256"
CONFIG_MODULE_COMPRESS_NONE=y
# CONFIG_MODULE_COMPRESS_GZIP is not set
# CONFIG_MODULE_COMPRESS_XZ is not set
# CONFIG_MODULE_COMPRESS_ZSTD is not set
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
CONFIG_MODPROBE_PATH="/sbin/modprobe"
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_BLOCK_LEGACY_AUTOLOAD=y
CONFIG_BLK_RQ_ALLOC_TIME=y
CONFIG_BLK_CGROUP_RWSTAT=y
CONFIG_BLK_CGROUP_PUNT_BIO=y
CONFIG_BLK_DEV_BSG_COMMON=y
CONFIG_BLK_ICQ=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_INTEGRITY_T10=y
CONFIG_BLK_DEV_WRITE_MOUNTED=y
CONFIG_BLK_DEV_ZONED=y
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_WBT=y
CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_CGROUP_IOLATENCY=y
# CONFIG_BLK_CGROUP_FC_APPID is not set
CONFIG_BLK_CGROUP_IOCOST=y
CONFIG_BLK_CGROUP_IOPRIO=y
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEBUG_FS_ZONED=y
# CONFIG_BLK_SED_OPAL is not set
CONFIG_BLK_INLINE_ENCRYPTION=y
CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
CONFIG_ACORN_PARTITION_CUMANA=y
CONFIG_ACORN_PARTITION_EESOX=y
CONFIG_ACORN_PARTITION_ICS=y
CONFIG_ACORN_PARTITION_ADFS=y
CONFIG_ACORN_PARTITION_POWERTEC=y
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_AIX_PARTITION=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_SYSV68_PARTITION=y
CONFIG_CMDLINE_PARTITION=y
# end of Partition Types

CONFIG_BLK_MQ_PCI=y
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_BLK_PM=y
CONFIG_BLOCK_HOLDER_DEPRECATED=y
CONFIG_BLK_MQ_STACKING=y

#
# IO Schedulers
#
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_IOSCHED_BFQ=y
CONFIG_BFQ_GROUP_IOSCHED=y
CONFIG_BFQ_CGROUP_DEBUG=y
# end of IO Schedulers

CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PADATA=y
CONFIG_ASN1=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
CONFIG_FREEZER=y

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

#
# Memory Management options
#
CONFIG_ZPOOL=y
CONFIG_SWAP=y
CONFIG_ZSWAP=y
CONFIG_ZSWAP_DEFAULT_ON=y
# CONFIG_ZSWAP_SHRINKER_DEFAULT_ON is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC=y
CONFIG_ZSWAP_ZPOOL_DEFAULT="zsmalloc"
# CONFIG_ZBUD is not set
# CONFIG_Z3FOLD is not set
CONFIG_ZSMALLOC=y
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC_CHAIN_SIZE=8

#
# Slab allocator options
#
CONFIG_SLUB=y
# CONFIG_SLUB_TINY is not set
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLAB_FREELIST_RANDOM is not set
# CONFIG_SLAB_FREELIST_HARDENED is not set
# CONFIG_SLUB_STATS is not set
CONFIG_SLUB_CPU_PARTIAL=y
# CONFIG_RANDOM_KMALLOC_CACHES is not set
# end of Slab allocator options

# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
# CONFIG_COMPAT_BRK is not set
CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
CONFIG_HAVE_FAST_GUP=y
CONFIG_NUMA_KEEP_MEMINFO=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MHP_MEMMAP_ON_MEMORY=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_MEMORY_BALLOON=y
# CONFIG_BALLOON_COMPACTION is not set
CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
CONFIG_PAGE_REPORTING=y
CONFIG_MIGRATION=y
CONFIG_DEVICE_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_CONTIG_ALLOC=y
CONFIG_PCP_BATCH_SCALE_MAX=5
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_WANTS_THP_SWAP=y
CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
CONFIG_READ_ONLY_THP_FOR_FS=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_CMA=y
# CONFIG_CMA_DEBUGFS is not set
# CONFIG_CMA_SYSFS is not set
CONFIG_CMA_AREAS=19
CONFIG_MEM_SOFT_DIRTY=y
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
CONFIG_PAGE_IDLE_FLAG=y
# CONFIG_IDLE_PAGE_TRACKING is not set
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
CONFIG_ARCH_HAS_PTE_DEVMAP=y
CONFIG_ARCH_HAS_ZONE_DMA_SET=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA32=y
CONFIG_ZONE_DEVICE=y
CONFIG_HMM_MIRROR=y
CONFIG_GET_FREE_REGION=y
CONFIG_DEVICE_PRIVATE=y
CONFIG_VMAP_PFN=y
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
CONFIG_ARCH_HAS_PKEYS=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PERCPU_STATS=y
# CONFIG_GUP_TEST is not set
# CONFIG_DMAPOOL_TEST is not set
CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_MAPPING_DIRTY_HELPERS=y
CONFIG_KMAP_LOCAL=y
CONFIG_MEMFD_CREATE=y
CONFIG_SECRETMEM=y
CONFIG_ANON_VMA_NAME=y
CONFIG_HAVE_ARCH_USERFAULTFD_WP=y
CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y
CONFIG_USERFAULTFD=y
# CONFIG_PTE_MARKER_UFFD_WP is not set
CONFIG_LRU_GEN=y
CONFIG_LRU_GEN_ENABLED=y
# CONFIG_LRU_GEN_STATS is not set
CONFIG_LRU_GEN_WALKS_MMU=y
CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
CONFIG_PER_VMA_LOCK=y
CONFIG_LOCK_MM_AND_FIND_VMA=y
CONFIG_IOMMU_MM_DATA=y

#
# Data Access Monitoring
#
CONFIG_DAMON=y
CONFIG_DAMON_VADDR=y
CONFIG_DAMON_PADDR=y
# CONFIG_DAMON_SYSFS is not set
# CONFIG_DAMON_DBGFS_DEPRECATED is not set
CONFIG_DAMON_RECLAIM=y
# CONFIG_DAMON_LRU_SORT is not set
# end of Data Access Monitoring
# end of Memory Management options

CONFIG_NET=y
CONFIG_WANT_COMPAT_NETLINK_MESSAGES=y
CONFIG_COMPAT_NETLINK_MESSAGES=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
CONFIG_NET_XGRESS=y
CONFIG_NET_REDIRECT=y
CONFIG_SKB_EXTENSIONS=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y
CONFIG_UNIX=y
CONFIG_AF_UNIX_OOB=y
CONFIG_UNIX_DIAG=y
CONFIG_TLS=y
CONFIG_TLS_DEVICE=y
CONFIG_TLS_TOE=y
CONFIG_XFRM=y
CONFIG_XFRM_OFFLOAD=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_USER_COMPAT=y
CONFIG_XFRM_INTERFACE=y
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_AH=y
CONFIG_XFRM_ESP=y
CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=y
CONFIG_NET_KEY_MIGRATE=y
CONFIG_XFRM_ESPINTCP=y
CONFIG_SMC=y
CONFIG_SMC_DIAG=y
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=y
CONFIG_NET_HANDSHAKE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
CONFIG_NET_IPIP=y
CONFIG_NET_IPGRE_DEMUX=y
CONFIG_NET_IP_TUNNEL=y
CONFIG_NET_IPGRE=y
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE_COMMON=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=y
CONFIG_NET_UDP_TUNNEL=y
CONFIG_NET_FOU=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_ESP_OFFLOAD=y
CONFIG_INET_ESPINTCP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_TABLE_PERTURB_ORDER=16
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_INET_UDP_DIAG=y
CONFIG_INET_RAW_DIAG=y
CONFIG_INET_DIAG_DESTROY=y
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=y
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=y
CONFIG_TCP_CONG_HTCP=y
CONFIG_TCP_CONG_HSTCP=y
CONFIG_TCP_CONG_HYBLA=y
CONFIG_TCP_CONG_VEGAS=y
CONFIG_TCP_CONG_NV=y
CONFIG_TCP_CONG_SCALABLE=y
CONFIG_TCP_CONG_LP=y
CONFIG_TCP_CONG_VENO=y
CONFIG_TCP_CONG_YEAH=y
CONFIG_TCP_CONG_ILLINOIS=y
CONFIG_TCP_CONG_DCTCP=y
CONFIG_TCP_CONG_CDG=y
CONFIG_TCP_CONG_BBR=y
# CONFIG_DEFAULT_BIC is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_HYBLA is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_VENO is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_DCTCP is not set
# CONFIG_DEFAULT_CDG is not set
# CONFIG_DEFAULT_BBR is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_SIGPOOL=y
# CONFIG_TCP_AO is not set
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
CONFIG_INET6_ESP_OFFLOAD=y
CONFIG_INET6_ESPINTCP=y
CONFIG_INET6_IPCOMP=y
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_ILA=y
CONFIG_INET6_XFRM_TUNNEL=y
CONFIG_INET6_TUNNEL=y
CONFIG_IPV6_VTI=y
CONFIG_IPV6_SIT=y
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_GRE=y
CONFIG_IPV6_FOU=y
CONFIG_IPV6_FOU_TUNNEL=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_BPF=y
CONFIG_IPV6_RPL_LWTUNNEL=y
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
CONFIG_NETLABEL=y
CONFIG_MPTCP=y
CONFIG_INET_MPTCP_DIAG=y
CONFIG_MPTCP_IPV6=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_EGRESS=y
CONFIG_NETFILTER_SKIP_EGRESS=y
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_FAMILY_BRIDGE=y
CONFIG_NETFILTER_FAMILY_ARP=y
CONFIG_NETFILTER_BPF_LINK=y
# CONFIG_NETFILTER_NETLINK_HOOK is not set
CONFIG_NETFILTER_NETLINK_ACCT=y
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NETFILTER_NETLINK_OSF=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_LOG_SYSLOG=y
CONFIG_NETFILTER_CONNCOUNT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
# CONFIG_NF_CONNTRACK_PROCFS is not set
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK_OVS=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_GRE=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_BROADCAST=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_SNMP=y
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NF_CT_NETLINK_TIMEOUT=y
CONFIG_NF_CT_NETLINK_HELPER=y
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_AMANDA=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
CONFIG_NF_NAT_SIP=y
CONFIG_NF_NAT_TFTP=y
CONFIG_NF_NAT_REDIRECT=y
CONFIG_NF_NAT_MASQUERADE=y
CONFIG_NF_NAT_OVS=y
CONFIG_NETFILTER_SYNPROXY=y
CONFIG_NF_TABLES=y
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_NETDEV=y
CONFIG_NFT_NUMGEN=y
CONFIG_NFT_CT=y
CONFIG_NFT_FLOW_OFFLOAD=y
CONFIG_NFT_CONNLIMIT=y
CONFIG_NFT_LOG=y
CONFIG_NFT_LIMIT=y
CONFIG_NFT_MASQ=y
CONFIG_NFT_REDIR=y
CONFIG_NFT_NAT=y
CONFIG_NFT_TUNNEL=y
CONFIG_NFT_QUEUE=y
CONFIG_NFT_QUOTA=y
CONFIG_NFT_REJECT=y
CONFIG_NFT_REJECT_INET=y
CONFIG_NFT_COMPAT=y
CONFIG_NFT_HASH=y
CONFIG_NFT_FIB=y
CONFIG_NFT_FIB_INET=y
CONFIG_NFT_XFRM=y
CONFIG_NFT_SOCKET=y
CONFIG_NFT_OSF=y
CONFIG_NFT_TPROXY=y
CONFIG_NFT_SYNPROXY=y
CONFIG_NF_DUP_NETDEV=y
CONFIG_NFT_DUP_NETDEV=y
CONFIG_NFT_FWD_NETDEV=y
CONFIG_NFT_FIB_NETDEV=y
CONFIG_NFT_REJECT_NETDEV=y
CONFIG_NF_FLOW_TABLE_INET=y
CONFIG_NF_FLOW_TABLE=y
# CONFIG_NF_FLOW_TABLE_PROCFS is not set
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XTABLES_COMPAT=y

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=y
CONFIG_NETFILTER_XT_CONNMARK=y
CONFIG_NETFILTER_XT_SET=y

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=y
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_CT=y
CONFIG_NETFILTER_XT_TARGET_DSCP=y
CONFIG_NETFILTER_XT_TARGET_HL=y
CONFIG_NETFILTER_XT_TARGET_HMARK=y
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
CONFIG_NETFILTER_XT_TARGET_LED=y
CONFIG_NETFILTER_XT_TARGET_LOG=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_NAT=y
CONFIG_NETFILTER_XT_TARGET_NETMAP=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
CONFIG_NETFILTER_XT_TARGET_NOTRACK=y
CONFIG_NETFILTER_XT_TARGET_RATEEST=y
CONFIG_NETFILTER_XT_TARGET_REDIRECT=y
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y
CONFIG_NETFILTER_XT_TARGET_TEE=y
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_TRACE=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=y

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_BPF=y
CONFIG_NETFILTER_XT_MATCH_CGROUP=y
CONFIG_NETFILTER_XT_MATCH_CLUSTER=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_CPU=y
CONFIG_NETFILTER_XT_MATCH_DCCP=y
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=y
CONFIG_NETFILTER_XT_MATCH_DSCP=y
CONFIG_NETFILTER_XT_MATCH_ECN=y
CONFIG_NETFILTER_XT_MATCH_ESP=y
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_HL=y
CONFIG_NETFILTER_XT_MATCH_IPCOMP=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_IPVS=y
CONFIG_NETFILTER_XT_MATCH_L2TP=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NETFILTER_XT_MATCH_NFACCT=y
CONFIG_NETFILTER_XT_MATCH_OSF=y
CONFIG_NETFILTER_XT_MATCH_OWNER=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_RATEEST=y
CONFIG_NETFILTER_XT_MATCH_REALM=y
CONFIG_NETFILTER_XT_MATCH_RECENT=y
CONFIG_NETFILTER_XT_MATCH_SCTP=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_TIME=y
CONFIG_NETFILTER_XT_MATCH_U32=y
# end of Core Netfilter Configuration

CONFIG_IP_SET=y
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=y
CONFIG_IP_SET_BITMAP_IPMAC=y
CONFIG_IP_SET_BITMAP_PORT=y
CONFIG_IP_SET_HASH_IP=y
CONFIG_IP_SET_HASH_IPMARK=y
CONFIG_IP_SET_HASH_IPPORT=y
CONFIG_IP_SET_HASH_IPPORTIP=y
CONFIG_IP_SET_HASH_IPPORTNET=y
CONFIG_IP_SET_HASH_IPMAC=y
CONFIG_IP_SET_HASH_MAC=y
CONFIG_IP_SET_HASH_NETPORTNET=y
CONFIG_IP_SET_HASH_NET=y
CONFIG_IP_SET_HASH_NETNET=y
CONFIG_IP_SET_HASH_NETPORT=y
CONFIG_IP_SET_HASH_NETIFACE=y
CONFIG_IP_SET_LIST_SET=y
CONFIG_IP_VS=y
CONFIG_IP_VS_IPV6=y
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=y
CONFIG_IP_VS_WRR=y
CONFIG_IP_VS_LC=y
CONFIG_IP_VS_WLC=y
CONFIG_IP_VS_FO=y
CONFIG_IP_VS_OVF=y
CONFIG_IP_VS_LBLC=y
CONFIG_IP_VS_LBLCR=y
CONFIG_IP_VS_DH=y
CONFIG_IP_VS_SH=y
CONFIG_IP_VS_MH=y
CONFIG_IP_VS_SED=y
CONFIG_IP_VS_NQ=y
CONFIG_IP_VS_TWOS=y

#
# IPVS SH scheduler
#
CONFIG_IP_VS_SH_TAB_BITS=8

#
# IPVS MH scheduler
#
CONFIG_IP_VS_MH_TAB_INDEX=12

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=y
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PE_SIP=y

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_IP_NF_IPTABLES_LEGACY=y
CONFIG_NF_SOCKET_IPV4=y
CONFIG_NF_TPROXY_IPV4=y
CONFIG_NF_TABLES_IPV4=y
CONFIG_NFT_REJECT_IPV4=y
CONFIG_NFT_DUP_IPV4=y
CONFIG_NFT_FIB_IPV4=y
CONFIG_NF_TABLES_ARP=y
CONFIG_NF_DUP_IPV4=y
CONFIG_NF_LOG_ARP=y
CONFIG_NF_LOG_IPV4=y
CONFIG_NF_REJECT_IPV4=y
CONFIG_NF_NAT_SNMP_BASIC=y
CONFIG_NF_NAT_PPTP=y
CONFIG_NF_NAT_H323=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_AH=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_RPFILTER=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_SYNPROXY=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_TTL=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_SECURITY=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_NFT_COMPAT_ARP=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARP_MANGLE=y
# end of IP: Netfilter Configuration

#
# IPv6: Netfilter Configuration
#
CONFIG_IP6_NF_IPTABLES_LEGACY=y
CONFIG_NF_SOCKET_IPV6=y
CONFIG_NF_TPROXY_IPV6=y
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_REJECT_IPV6=y
CONFIG_NFT_DUP_IPV6=y
CONFIG_NFT_FIB_IPV6=y
CONFIG_NF_DUP_IPV6=y
CONFIG_NF_REJECT_IPV6=y
CONFIG_NF_LOG_IPV6=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_AH=y
CONFIG_IP6_NF_MATCH_EUI64=y
CONFIG_IP6_NF_MATCH_FRAG=y
CONFIG_IP6_NF_MATCH_OPTS=y
CONFIG_IP6_NF_MATCH_HL=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=y
CONFIG_IP6_NF_MATCH_MH=y
CONFIG_IP6_NF_MATCH_RPFILTER=y
CONFIG_IP6_NF_MATCH_RT=y
CONFIG_IP6_NF_MATCH_SRH=y
CONFIG_IP6_NF_TARGET_HL=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IP6_NF_TARGET_SYNPROXY=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_RAW=y
CONFIG_IP6_NF_SECURITY=y
CONFIG_IP6_NF_NAT=y
CONFIG_IP6_NF_TARGET_MASQUERADE=y
CONFIG_IP6_NF_TARGET_NPT=y
# end of IPv6: Netfilter Configuration

CONFIG_NF_DEFRAG_IPV6=y
CONFIG_NF_TABLES_BRIDGE=y
CONFIG_NFT_BRIDGE_META=y
CONFIG_NFT_BRIDGE_REJECT=y
CONFIG_NF_CONNTRACK_BRIDGE=y
CONFIG_BRIDGE_NF_EBTABLES_LEGACY=y
CONFIG_BRIDGE_NF_EBTABLES=y
CONFIG_BRIDGE_EBT_BROUTE=y
CONFIG_BRIDGE_EBT_T_FILTER=y
CONFIG_BRIDGE_EBT_T_NAT=y
CONFIG_BRIDGE_EBT_802_3=y
CONFIG_BRIDGE_EBT_AMONG=y
CONFIG_BRIDGE_EBT_ARP=y
CONFIG_BRIDGE_EBT_IP=y
CONFIG_BRIDGE_EBT_IP6=y
CONFIG_BRIDGE_EBT_LIMIT=y
CONFIG_BRIDGE_EBT_MARK=y
CONFIG_BRIDGE_EBT_PKTTYPE=y
CONFIG_BRIDGE_EBT_STP=y
CONFIG_BRIDGE_EBT_VLAN=y
CONFIG_BRIDGE_EBT_ARPREPLY=y
CONFIG_BRIDGE_EBT_DNAT=y
CONFIG_BRIDGE_EBT_MARK_T=y
CONFIG_BRIDGE_EBT_REDIRECT=y
CONFIG_BRIDGE_EBT_SNAT=y
CONFIG_BRIDGE_EBT_LOG=y
CONFIG_BRIDGE_EBT_NFLOG=y
CONFIG_IP_DCCP=y
CONFIG_INET_DCCP_DIAG=y

#
# DCCP CCIDs Configuration
#
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_TFRC_LIB=y
# end of DCCP CCIDs Configuration

#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
# end of DCCP Kernel Hacking

CONFIG_IP_SCTP=y
# CONFIG_SCTP_DBG_OBJCNT is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_COOKIE_HMAC_MD5=y
CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_INET_SCTP_DIAG=y
CONFIG_RDS=y
CONFIG_RDS_RDMA=y
CONFIG_RDS_TCP=y
# CONFIG_RDS_DEBUG is not set
CONFIG_TIPC=y
CONFIG_TIPC_MEDIA_IB=y
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=y
CONFIG_ATM=y
CONFIG_ATM_CLIP=y
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=y
CONFIG_ATM_MPOA=y
CONFIG_ATM_BR2684=y
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_L2TP=y
# CONFIG_L2TP_DEBUGFS is not set
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=y
CONFIG_L2TP_ETH=y
CONFIG_STP=y
CONFIG_GARP=y
CONFIG_MRP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_BRIDGE_MRP=y
CONFIG_BRIDGE_CFM=y
CONFIG_NET_DSA=y
# CONFIG_NET_DSA_TAG_NONE is not set
# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_BRCM_COMMON=y
CONFIG_NET_DSA_TAG_BRCM=y
# CONFIG_NET_DSA_TAG_BRCM_LEGACY is not set
CONFIG_NET_DSA_TAG_BRCM_PREPEND=y
# CONFIG_NET_DSA_TAG_HELLCREEK is not set
# CONFIG_NET_DSA_TAG_GSWIP is not set
# CONFIG_NET_DSA_TAG_DSA is not set
# CONFIG_NET_DSA_TAG_EDSA is not set
CONFIG_NET_DSA_TAG_MTK=y
# CONFIG_NET_DSA_TAG_KSZ is not set
# CONFIG_NET_DSA_TAG_OCELOT is not set
# CONFIG_NET_DSA_TAG_OCELOT_8021Q is not set
CONFIG_NET_DSA_TAG_QCA=y
CONFIG_NET_DSA_TAG_RTL4_A=y
# CONFIG_NET_DSA_TAG_RTL8_4 is not set
# CONFIG_NET_DSA_TAG_RZN1_A5PSW is not set
# CONFIG_NET_DSA_TAG_LAN9303 is not set
# CONFIG_NET_DSA_TAG_SJA1105 is not set
# CONFIG_NET_DSA_TAG_TRAILER is not set
# CONFIG_NET_DSA_TAG_XRS700X is not set
CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_LLC=y
CONFIG_LLC2=y
# CONFIG_ATALK is not set
CONFIG_X25=y
CONFIG_LAPB=y
CONFIG_PHONET=y
CONFIG_6LOWPAN=y
# CONFIG_6LOWPAN_DEBUGFS is not set
CONFIG_6LOWPAN_NHC=y
CONFIG_6LOWPAN_NHC_DEST=y
CONFIG_6LOWPAN_NHC_FRAGMENT=y
CONFIG_6LOWPAN_NHC_HOP=y
CONFIG_6LOWPAN_NHC_IPV6=y
CONFIG_6LOWPAN_NHC_MOBILITY=y
CONFIG_6LOWPAN_NHC_ROUTING=y
CONFIG_6LOWPAN_NHC_UDP=y
CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=y
CONFIG_6LOWPAN_GHC_UDP=y
CONFIG_6LOWPAN_GHC_ICMPV6=y
CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=y
CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=y
CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=y
CONFIG_IEEE802154=y
CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y
CONFIG_IEEE802154_SOCKET=y
CONFIG_IEEE802154_6LOWPAN=y
CONFIG_MAC802154=y
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_HFSC=y
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_MULTIQ=y
CONFIG_NET_SCH_RED=y
CONFIG_NET_SCH_SFB=y
CONFIG_NET_SCH_SFQ=y
CONFIG_NET_SCH_TEQL=y
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_CBS=y
CONFIG_NET_SCH_ETF=y
CONFIG_NET_SCH_MQPRIO_LIB=y
CONFIG_NET_SCH_TAPRIO=y
CONFIG_NET_SCH_GRED=y
CONFIG_NET_SCH_NETEM=y
CONFIG_NET_SCH_DRR=y
CONFIG_NET_SCH_MQPRIO=y
CONFIG_NET_SCH_SKBPRIO=y
CONFIG_NET_SCH_CHOKE=y
CONFIG_NET_SCH_QFQ=y
CONFIG_NET_SCH_CODEL=y
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_CAKE=y
CONFIG_NET_SCH_FQ=y
CONFIG_NET_SCH_HHF=y
CONFIG_NET_SCH_PIE=y
CONFIG_NET_SCH_FQ_PIE=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_SCH_PLUG=y
CONFIG_NET_SCH_ETS=y
CONFIG_NET_SCH_DEFAULT=y
# CONFIG_DEFAULT_FQ is not set
# CONFIG_DEFAULT_CODEL is not set
# CONFIG_DEFAULT_FQ_CODEL is not set
# CONFIG_DEFAULT_FQ_PIE is not set
# CONFIG_DEFAULT_SFQ is not set
CONFIG_DEFAULT_PFIFO_FAST=y
CONFIG_DEFAULT_NET_SCH="pfifo_fast"

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=y
CONFIG_NET_CLS_ROUTE4=y
CONFIG_NET_CLS_FW=y
CONFIG_NET_CLS_U32=y
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_FLOW=y
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_FLOWER=y
CONFIG_NET_CLS_MATCHALL=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=y
CONFIG_NET_EMATCH_NBYTE=y
CONFIG_NET_EMATCH_U32=y
CONFIG_NET_EMATCH_META=y
CONFIG_NET_EMATCH_TEXT=y
CONFIG_NET_EMATCH_CANID=y
CONFIG_NET_EMATCH_IPSET=y
CONFIG_NET_EMATCH_IPT=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=y
CONFIG_NET_ACT_GACT=y
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=y
CONFIG_NET_ACT_SAMPLE=y
CONFIG_NET_ACT_NAT=y
CONFIG_NET_ACT_PEDIT=y
CONFIG_NET_ACT_SIMP=y
CONFIG_NET_ACT_SKBEDIT=y
CONFIG_NET_ACT_CSUM=y
CONFIG_NET_ACT_MPLS=y
CONFIG_NET_ACT_VLAN=y
CONFIG_NET_ACT_BPF=y
CONFIG_NET_ACT_CONNMARK=y
CONFIG_NET_ACT_CTINFO=y
CONFIG_NET_ACT_SKBMOD=y
CONFIG_NET_ACT_IFE=y
CONFIG_NET_ACT_TUNNEL_KEY=y
CONFIG_NET_ACT_CT=y
CONFIG_NET_ACT_GATE=y
CONFIG_NET_IFE_SKBMARK=y
CONFIG_NET_IFE_SKBPRIO=y
CONFIG_NET_IFE_SKBTCINDEX=y
CONFIG_NET_TC_SKB_EXT=y
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=y
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
CONFIG_BATMAN_ADV_NC=y
CONFIG_BATMAN_ADV_MCAST=y
# CONFIG_BATMAN_ADV_DEBUG is not set
# CONFIG_BATMAN_ADV_TRACING is not set
CONFIG_OPENVSWITCH=y
CONFIG_OPENVSWITCH_GRE=y
CONFIG_OPENVSWITCH_VXLAN=y
CONFIG_OPENVSWITCH_GENEVE=y
CONFIG_VSOCKETS=y
CONFIG_VSOCKETS_DIAG=y
CONFIG_VSOCKETS_LOOPBACK=y
# CONFIG_VMWARE_VMCI_VSOCKETS is not set
CONFIG_VIRTIO_VSOCKETS=y
CONFIG_VIRTIO_VSOCKETS_COMMON=y
CONFIG_NETLINK_DIAG=y
CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=y
CONFIG_MPLS_ROUTING=y
CONFIG_MPLS_IPTUNNEL=y
CONFIG_NET_NSH=y
CONFIG_HSR=y
CONFIG_NET_SWITCHDEV=y
CONFIG_NET_L3_MASTER_DEV=y
CONFIG_QRTR=y
CONFIG_QRTR_TUN=y
# CONFIG_QRTR_MHI is not set
CONFIG_NET_NCSI=y
# CONFIG_NCSI_OEM_CMD_GET_MAC is not set
# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set
# CONFIG_PCPU_DEV_REFCNT is not set
CONFIG_MAX_SKB_FRAGS=17
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_SOCK_RX_QUEUE_MAPPING=y
CONFIG_XPS=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_NET_FLOW_LIMIT=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
CONFIG_NET_DROP_MONITOR=y
# end of Network testing
# end of Networking options

CONFIG_HAMRADIO=y

#
# Packet Radio protocols
#
CONFIG_AX25=y
CONFIG_AX25_DAMA_SLAVE=y
CONFIG_NETROM=y
CONFIG_ROSE=y

#
# AX.25 network device drivers
#
CONFIG_MKISS=y
CONFIG_6PACK=y
CONFIG_BPQETHER=y
# CONFIG_BAYCOM_SER_FDX is not set
# CONFIG_BAYCOM_SER_HDX is not set
# CONFIG_BAYCOM_PAR is not set
# CONFIG_YAM is not set
# end of AX.25 network device drivers

CONFIG_CAN=y
CONFIG_CAN_RAW=y
CONFIG_CAN_BCM=y
CONFIG_CAN_GW=y
CONFIG_CAN_J1939=y
CONFIG_CAN_ISOTP=y
CONFIG_BT=y
CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=y
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=y
CONFIG_BT_HIDP=y
CONFIG_BT_LE=y
CONFIG_BT_LE_L2CAP_ECRED=y
CONFIG_BT_6LOWPAN=y
CONFIG_BT_LEDS=y
CONFIG_BT_MSFTEXT=y
# CONFIG_BT_AOSPEXT is not set
# CONFIG_BT_DEBUGFS is not set
# CONFIG_BT_SELFTEST is not set

#
# Bluetooth device drivers
#
CONFIG_BT_INTEL=y
CONFIG_BT_BCM=y
CONFIG_BT_RTL=y
CONFIG_BT_QCA=y
CONFIG_BT_MTK=y
CONFIG_BT_HCIBTUSB=y
# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_POLL_SYNC=y
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_MTK=y
CONFIG_BT_HCIBTUSB_RTL=y
# CONFIG_BT_HCIBTSDIO is not set
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_SERDEV=y
CONFIG_BT_HCIUART_H4=y
# CONFIG_BT_HCIUART_NOKIA is not set
CONFIG_BT_HCIUART_BCSP=y
# CONFIG_BT_HCIUART_ATH3K is not set
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART_3WIRE=y
# CONFIG_BT_HCIUART_INTEL is not set
# CONFIG_BT_HCIUART_BCM is not set
# CONFIG_BT_HCIUART_RTL is not set
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIUART_AG6XX=y
CONFIG_BT_HCIUART_MRVL=y
CONFIG_BT_HCIBCM203X=y
# CONFIG_BT_HCIBCM4377 is not set
CONFIG_BT_HCIBPA10X=y
CONFIG_BT_HCIBFUSB=y
# CONFIG_BT_HCIDTL1 is not set
# CONFIG_BT_HCIBT3C is not set
# CONFIG_BT_HCIBLUECARD is not set
CONFIG_BT_HCIVHCI=y
# CONFIG_BT_MRVL is not set
CONFIG_BT_ATH3K=y
# CONFIG_BT_MTKSDIO is not set
# CONFIG_BT_MTKUART is not set
# CONFIG_BT_VIRTIO is not set
# CONFIG_BT_NXPUART is not set
# end of Bluetooth device drivers

CONFIG_AF_RXRPC=y
CONFIG_AF_RXRPC_IPV6=y
# CONFIG_AF_RXRPC_INJECT_LOSS is not set
# CONFIG_AF_RXRPC_INJECT_RX_DELAY is not set
# CONFIG_AF_RXRPC_DEBUG is not set
CONFIG_RXKAD=y
# CONFIG_RXPERF is not set
CONFIG_AF_KCM=y
CONFIG_STREAM_PARSER=y
# CONFIG_MCTP is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=y
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
CONFIG_CFG80211_DEFAULT_PS=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=y
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
CONFIG_RFKILL=y
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_NET_9P=y
CONFIG_NET_9P_FD=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_NET_9P_RDMA=y
# CONFIG_NET_9P_DEBUG is not set
CONFIG_CAIF=y
CONFIG_CAIF_DEBUG=y
CONFIG_CAIF_NETDEV=y
CONFIG_CAIF_USB=y
CONFIG_CEPH_LIB=y
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
CONFIG_NFC=y
CONFIG_NFC_DIGITAL=y
CONFIG_NFC_NCI=y
# CONFIG_NFC_NCI_SPI is not set
CONFIG_NFC_NCI_UART=y
CONFIG_NFC_HCI=y
CONFIG_NFC_SHDLC=y

#
# Near Field Communication (NFC) devices
#
# CONFIG_NFC_TRF7970A is not set
CONFIG_NFC_SIM=y
CONFIG_NFC_PORT100=y
CONFIG_NFC_VIRTUAL_NCI=y
CONFIG_NFC_FDP=y
# CONFIG_NFC_FDP_I2C is not set
# CONFIG_NFC_PN544_I2C is not set
CONFIG_NFC_PN533=y
CONFIG_NFC_PN533_USB=y
# CONFIG_NFC_PN533_I2C is not set
# CONFIG_NFC_PN532_UART is not set
# CONFIG_NFC_MICROREAD_I2C is not set
CONFIG_NFC_MRVL=y
CONFIG_NFC_MRVL_USB=y
# CONFIG_NFC_MRVL_UART is not set
# CONFIG_NFC_MRVL_I2C is not set
# CONFIG_NFC_ST21NFCA_I2C is not set
# CONFIG_NFC_ST_NCI_I2C is not set
# CONFIG_NFC_ST_NCI_SPI is not set
# CONFIG_NFC_NXP_NCI is not set
# CONFIG_NFC_S3FWRN5_I2C is not set
# CONFIG_NFC_S3FWRN82_UART is not set
# CONFIG_NFC_ST95HF is not set
# end of Near Field Communication (NFC) devices

CONFIG_PSAMPLE=y
CONFIG_NET_IFE=y
CONFIG_LWTUNNEL=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
CONFIG_SOCK_VALIDATE_XMIT=y
CONFIG_NET_SELFTESTS=y
CONFIG_NET_SOCK_MSG=y
CONFIG_NET_DEVLINK=y
CONFIG_PAGE_POOL=y
# CONFIG_PAGE_POOL_STATS is not set
CONFIG_FAILOVER=y
CONFIG_ETHTOOL_NETLINK=y

#
# Device Drivers
#
CONFIG_HAVE_EISA=y
# CONFIG_EISA is not set
CONFIG_HAVE_PCI=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_PCIEAER=y
# CONFIG_PCIEAER_INJECT is not set
# CONFIG_PCIE_ECRC is not set
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
# CONFIG_PCIE_DPC is not set
# CONFIG_PCIE_PTM is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
# CONFIG_PCI_STUB is not set
# CONFIG_PCI_PF_STUB is not set
CONFIG_PCI_ATS=y
CONFIG_PCI_ECAM=y
CONFIG_PCI_LOCKLESS_CONFIG=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
# CONFIG_PCI_P2PDMA is not set
CONFIG_PCI_LABEL=y
# CONFIG_PCI_DYNAMIC_OF_NODES is not set
# CONFIG_PCIE_BUS_TUNE_OFF is not set
CONFIG_PCIE_BUS_DEFAULT=y
# CONFIG_PCIE_BUS_SAFE is not set
# CONFIG_PCIE_BUS_PERFORMANCE is not set
# CONFIG_PCIE_BUS_PEER2PEER is not set
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_ACPI is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set

#
# PCI controller drivers
#
# CONFIG_PCI_FTPCI100 is not set
CONFIG_PCI_HOST_COMMON=y
CONFIG_PCI_HOST_GENERIC=y
# CONFIG_VMD is not set
# CONFIG_PCIE_MICROCHIP_HOST is not set
# CONFIG_PCIE_XILINX is not set

#
# Cadence-based PCIe controllers
#
# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
# CONFIG_PCIE_CADENCE_PLAT_EP is not set
# end of Cadence-based PCIe controllers

#
# DesignWare-based PCIe controllers
#
# CONFIG_PCI_MESON is not set
# CONFIG_PCIE_INTEL_GW is not set
# CONFIG_PCIE_DW_PLAT_HOST is not set
# CONFIG_PCIE_DW_PLAT_EP is not set
# end of DesignWare-based PCIe controllers

#
# Mobiveil-based PCIe controllers
#
# end of Mobiveil-based PCIe controllers
# end of PCI controller drivers

#
# PCI Endpoint
#
CONFIG_PCI_ENDPOINT=y
# CONFIG_PCI_ENDPOINT_CONFIGFS is not set
# CONFIG_PCI_EPF_TEST is not set
# CONFIG_PCI_EPF_NTB is not set
# end of PCI Endpoint

#
# PCI switch controller drivers
#
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers

# CONFIG_CXL_BUS is not set
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=y
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
CONFIG_PCCARD_NONSTATIC=y
# CONFIG_RAPIDIO is not set

#
# Generic Driver Options
#
CONFIG_AUXILIARY_BUS=y
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_DEVTMPFS_SAFE is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y

#
# Firmware loader
#
CONFIG_FW_LOADER=y
# CONFIG_FW_LOADER_DEBUG is not set
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_FW_LOADER_SYSFS=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_COMPRESS_XZ is not set
# CONFIG_FW_LOADER_COMPRESS_ZSTD is not set
CONFIG_FW_CACHE=y
# CONFIG_FW_UPLOAD is not set
# end of Firmware loader

CONFIG_WANT_DEV_COREDUMP=y
CONFIG_ALLOW_DEV_COREDUMP=y
CONFIG_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
CONFIG_DEBUG_DEVRES=y
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
CONFIG_GENERIC_CPU_DEVICES=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_CPU_VULNERABILITIES=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_IRQ=y
CONFIG_DMA_SHARED_BUFFER=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
# end of Generic Driver Options

#
# Bus devices
#
# CONFIG_MOXTET is not set
CONFIG_MHI_BUS=y
# CONFIG_MHI_BUS_DEBUG is not set
# CONFIG_MHI_BUS_PCI_GENERIC is not set
# CONFIG_MHI_BUS_EP is not set
# end of Bus devices

#
# Cache Drivers
#
# end of Cache Drivers

CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y

#
# Firmware Drivers
#

#
# ARM System Control and Management Interface Protocol
#
# end of ARM System Control and Management Interface Protocol

# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DMIID=y
# CONFIG_DMI_SYSFS is not set
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_ISCSI_IBFT is not set
# CONFIG_FW_CFG_SYSFS is not set
CONFIG_SYSFB=y
# CONFIG_SYSFB_SIMPLEFB is not set
CONFIG_GOOGLE_FIRMWARE=y
# CONFIG_GOOGLE_SMI is not set
# CONFIG_GOOGLE_CBMEM is not set
CONFIG_GOOGLE_COREBOOT_TABLE=y
CONFIG_GOOGLE_MEMCONSOLE=y
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
# CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT is not set
CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=y
CONFIG_GOOGLE_VPD=y

#
# Qualcomm firmware drivers
#
# end of Qualcomm firmware drivers

#
# Tegra firmware driver
#
# end of Tegra firmware driver
# end of Firmware Drivers

# CONFIG_GNSS is not set
CONFIG_MTD=y
# CONFIG_MTD_TESTS is not set

#
# Partition parsers
#
# CONFIG_MTD_CMDLINE_PARTS is not set
# CONFIG_MTD_OF_PARTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
# end of Partition parsers

#
# User Modules And Translation Layers
#
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y

#
# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK.
#
CONFIG_FTL=y
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
# CONFIG_SM_FTL is not set
# CONFIG_MTD_OOPS is not set
# CONFIG_MTD_SWAP is not set
# CONFIG_MTD_PARTITIONED_MASTER is not set

#
# RAM/ROM/Flash chip drivers
#
# CONFIG_MTD_CFI is not set
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
# end of RAM/ROM/Flash chip drivers

#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PLATRAM is not set
# end of Mapping drivers for chip access

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_DATAFLASH is not set
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MCHP48L640 is not set
# CONFIG_MTD_SST25L is not set
CONFIG_MTD_SLRAM=y
CONFIG_MTD_PHRAM=y
CONFIG_MTD_MTDRAM=y
CONFIG_MTDRAM_TOTAL_SIZE=128
CONFIG_MTDRAM_ERASE_SIZE=4
CONFIG_MTD_BLOCK2MTD=y

#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOCG3 is not set
# end of Self-contained MTD device drivers

#
# NAND
#
# CONFIG_MTD_ONENAND is not set
# CONFIG_MTD_RAW_NAND is not set
# CONFIG_MTD_SPI_NAND is not set

#
# ECC engine support
#
# CONFIG_MTD_NAND_ECC_SW_HAMMING is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_MXIC is not set
# end of ECC engine support
# end of NAND

#
# LPDDR & LPDDR2 PCM memory drivers
#
# CONFIG_MTD_LPDDR is not set
# end of LPDDR & LPDDR2 PCM memory drivers

# CONFIG_MTD_SPI_NOR is not set
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
# CONFIG_MTD_UBI_FASTMAP is not set
# CONFIG_MTD_UBI_GLUEBI is not set
# CONFIG_MTD_UBI_BLOCK is not set
# CONFIG_MTD_UBI_FAULT_INJECTION is not set
# CONFIG_MTD_UBI_NVMEM is not set
# CONFIG_MTD_HYPERBUS is not set
CONFIG_DTC=y
CONFIG_OF=y
# CONFIG_OF_UNITTEST is not set
CONFIG_OF_FLATTREE=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_KOBJ=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_IRQ=y
CONFIG_OF_RESERVED_MEM=y
# CONFIG_OF_OVERLAY is not set
CONFIG_OF_NUMA=y
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_PARPORT=y
# CONFIG_PARPORT_PC is not set
# CONFIG_PARPORT_1284 is not set
CONFIG_PARPORT_NOT_PC=y
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_NULL_BLK=y
CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
# CONFIG_BLK_DEV_FD is not set
CONFIG_CDROM=y
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
CONFIG_ZRAM=y
CONFIG_ZRAM_DEF_COMP_LZORLE=y
# CONFIG_ZRAM_DEF_COMP_ZSTD is not set
# CONFIG_ZRAM_DEF_COMP_LZ4 is not set
# CONFIG_ZRAM_DEF_COMP_LZO is not set
# CONFIG_ZRAM_DEF_COMP_LZ4HC is not set
# CONFIG_ZRAM_DEF_COMP_842 is not set
CONFIG_ZRAM_DEF_COMP="lzo-rle"
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZRAM_TRACK_ENTRY_ACTIME is not set
# CONFIG_ZRAM_MEMORY_TRACKING is not set
# CONFIG_ZRAM_MULTI_COMP is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=16
# CONFIG_BLK_DEV_DRBD is not set
CONFIG_BLK_DEV_NBD=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_CDROM_PKTCDVD is not set
CONFIG_ATA_OVER_ETH=y
CONFIG_VIRTIO_BLK=y
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_BLK_DEV_UBLK is not set
CONFIG_BLK_DEV_RNBD=y
CONFIG_BLK_DEV_RNBD_CLIENT=y

#
# NVME Support
#
CONFIG_NVME_CORE=y
CONFIG_BLK_DEV_NVME=y
CONFIG_NVME_MULTIPATH=y
# CONFIG_NVME_VERBOSE_ERRORS is not set
# CONFIG_NVME_HWMON is not set
CONFIG_NVME_FABRICS=y
CONFIG_NVME_RDMA=y
CONFIG_NVME_FC=y
CONFIG_NVME_TCP=y
# CONFIG_NVME_TCP_TLS is not set
# CONFIG_NVME_HOST_AUTH is not set
CONFIG_NVME_TARGET=y
# CONFIG_NVME_TARGET_PASSTHRU is not set
CONFIG_NVME_TARGET_LOOP=y
CONFIG_NVME_TARGET_RDMA=y
CONFIG_NVME_TARGET_FC=y
CONFIG_NVME_TARGET_FCLOOP=y
CONFIG_NVME_TARGET_TCP=y
# CONFIG_NVME_TARGET_TCP_TLS is not set
# CONFIG_NVME_TARGET_AUTH is not set
# end of NVME Support

#
# Misc devices
#
# CONFIG_AD525X_DPOT is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
# CONFIG_VMWARE_BALLOON is not set
# CONFIG_LATTICE_ECP3_CONFIG is not set
# CONFIG_SRAM is not set
# CONFIG_DW_XDATA_PCIE is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_XILINX_SDFEC is not set
CONFIG_MISC_RTSX=y
# CONFIG_HISI_HIKEY_USB is not set
# CONFIG_OPEN_DICE is not set
# CONFIG_VCPU_STALL_DETECTOR is not set
# CONFIG_NSM is not set
# CONFIG_C2PORT is not set

#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_AT25 is not set
# CONFIG_EEPROM_MAX6875 is not set
CONFIG_EEPROM_93CX6=y
# CONFIG_EEPROM_93XX46 is not set
# CONFIG_EEPROM_IDT_89HPESX is not set
# CONFIG_EEPROM_EE1004 is not set
# end of EEPROM support

# CONFIG_CB710_CORE is not set

#
# Texas Instruments shared transport line discipline
#
# CONFIG_TI_ST is not set
# end of Texas Instruments shared transport line discipline

# CONFIG_SENSORS_LIS3_I2C is not set
# CONFIG_ALTERA_STAPL is not set
# CONFIG_INTEL_MEI is not set
CONFIG_VMWARE_VMCI=y
# CONFIG_GENWQE is not set
# CONFIG_ECHO is not set
# CONFIG_BCM_VK is not set
# CONFIG_MISC_ALCOR_PCI is not set
# CONFIG_MISC_RTSX_PCI is not set
CONFIG_MISC_RTSX_USB=y
# CONFIG_UACCE is not set
# CONFIG_PVPANIC is not set
# CONFIG_GP_PCI1XXXX is not set
# end of Misc devices

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=y
CONFIG_SCSI_COMMON=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_CHR_DEV_SCH is not set
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_ATA=y
# CONFIG_SCSI_SAS_HOST_SMP is not set
CONFIG_SCSI_SRP_ATTRS=y
# end of SCSI Transports

CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_CXGB4_ISCSI is not set
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_SCSI_HPSA=y
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_ESAS2R is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_MPT3SAS is not set
# CONFIG_SCSI_MPT2SAS is not set
# CONFIG_SCSI_MPI3MR is not set
# CONFIG_SCSI_SMARTPQI is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_MYRB is not set
# CONFIG_SCSI_MYRS is not set
# CONFIG_VMWARE_PVSCSI is not set
# CONFIG_LIBFC is not set
# CONFIG_SCSI_SNIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_FDOMAIN_PCI is not set
# CONFIG_SCSI_ISCI is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_EFCT is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_WD719X is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
# CONFIG_SCSI_BFA_FC is not set
CONFIG_SCSI_VIRTIO=y
# CONFIG_SCSI_CHELSIO_FCOE is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
# CONFIG_SCSI_DH is not set
# end of SCSI device support

CONFIG_ATA=y
CONFIG_SATA_HOST=y
CONFIG_PATA_TIMINGS=y
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_FORCE=y
CONFIG_ATA_ACPI=y
# CONFIG_SATA_ZPODD is not set
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=y
CONFIG_SATA_MOBILE_LPM_POLICY=0
# CONFIG_SATA_AHCI_PLATFORM is not set
# CONFIG_AHCI_DWC is not set
# CONFIG_AHCI_CEVA is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_SATA_ACARD_AHCI is not set
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_SX4 is not set
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set

#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not set
CONFIG_PATA_AMD=y
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
CONFIG_PATA_OLDPIIX=y
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RDC is not set
CONFIG_PATA_SCH=y
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_PCMCIA is not set
# CONFIG_PATA_OF_PLATFORM is not set
# CONFIG_PATA_RZ1000 is not set

#
# Generic fallback / legacy drivers
#
# CONFIG_PATA_ACPI is not set
CONFIG_ATA_GENERIC=y
# CONFIG_PATA_LEGACY is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
CONFIG_MD_BITMAP_FILE=y
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
CONFIG_MD_RAID10=y
CONFIG_MD_RAID456=y
# CONFIG_MD_CLUSTER is not set
CONFIG_BCACHE=y
# CONFIG_BCACHE_DEBUG is not set
# CONFIG_BCACHE_ASYNC_REGISTRATION is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_DEBUG is not set
CONFIG_DM_BUFIO=y
# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
CONFIG_DM_BIO_PRISON=y
CONFIG_DM_PERSISTENT_DATA=y
# CONFIG_DM_UNSTRIPED is not set
CONFIG_DM_CRYPT=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_THIN_PROVISIONING=y
CONFIG_DM_CACHE=y
CONFIG_DM_CACHE_SMQ=y
CONFIG_DM_WRITECACHE=y
# CONFIG_DM_EBS is not set
# CONFIG_DM_ERA is not set
CONFIG_DM_CLONE=y
CONFIG_DM_MIRROR=y
# CONFIG_DM_LOG_USERSPACE is not set
CONFIG_DM_RAID=y
CONFIG_DM_ZERO=y
CONFIG_DM_MULTIPATH=y
CONFIG_DM_MULTIPATH_QL=y
CONFIG_DM_MULTIPATH_ST=y
# CONFIG_DM_MULTIPATH_HST is not set
# CONFIG_DM_MULTIPATH_IOA is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_DUST is not set
# CONFIG_DM_INIT is not set
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=y
CONFIG_DM_VERITY=y
# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set
CONFIG_DM_VERITY_FEC=y
# CONFIG_DM_SWITCH is not set
# CONFIG_DM_LOG_WRITES is not set
CONFIG_DM_INTEGRITY=y
CONFIG_DM_ZONED=y
CONFIG_DM_AUDIT=y
# CONFIG_DM_VDO is not set
CONFIG_TARGET_CORE=y
# CONFIG_TCM_IBLOCK is not set
# CONFIG_TCM_FILEIO is not set
# CONFIG_TCM_PSCSI is not set
# CONFIG_LOOPBACK_TARGET is not set
# CONFIG_ISCSI_TARGET is not set
# CONFIG_SBP_TARGET is not set
# CONFIG_REMOTE_TARGET is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=y
CONFIG_FIREWIRE_OHCI=y
CONFIG_FIREWIRE_SBP2=y
CONFIG_FIREWIRE_NET=y
# CONFIG_FIREWIRE_NOSY is not set
# end of IEEE 1394 (FireWire) support

# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_MII=y
CONFIG_NET_CORE=y
CONFIG_BONDING=y
CONFIG_DUMMY=y
CONFIG_WIREGUARD=y
# CONFIG_WIREGUARD_DEBUG is not set
CONFIG_EQUALIZER=y
CONFIG_NET_FC=y
CONFIG_IFB=y
CONFIG_NET_TEAM=y
CONFIG_NET_TEAM_MODE_BROADCAST=y
CONFIG_NET_TEAM_MODE_ROUNDROBIN=y
CONFIG_NET_TEAM_MODE_RANDOM=y
CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=y
CONFIG_NET_TEAM_MODE_LOADBALANCE=y
CONFIG_MACVLAN=y
CONFIG_MACVTAP=y
CONFIG_IPVLAN_L3S=y
CONFIG_IPVLAN=y
CONFIG_IPVTAP=y
CONFIG_VXLAN=y
CONFIG_GENEVE=y
CONFIG_BAREUDP=y
CONFIG_GTP=y
# CONFIG_AMT is not set
CONFIG_MACSEC=y
CONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not set
# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETPOLL=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=y
CONFIG_TAP=y
CONFIG_TUN_VNET_CROSS_LE=y
CONFIG_VETH=y
CONFIG_VIRTIO_NET=y
CONFIG_NLMON=y
# CONFIG_NETKIT is not set
CONFIG_NET_VRF=y
CONFIG_VSOCKMON=y
# CONFIG_MHI_NET is not set
# CONFIG_ARCNET is not set
CONFIG_ATM_DRIVERS=y
# CONFIG_ATM_DUMMY is not set
CONFIG_ATM_TCP=y
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_NICSTAR is not set
# CONFIG_ATM_IDT77252 is not set
# CONFIG_ATM_IA is not set
# CONFIG_ATM_FORE200E is not set
# CONFIG_ATM_HE is not set
# CONFIG_ATM_SOLOS is not set
CONFIG_CAIF_DRIVERS=y
CONFIG_CAIF_TTY=y
CONFIG_CAIF_VIRTIO=y

#
# Distributed Switch Architecture drivers
#
# CONFIG_B53 is not set
# CONFIG_NET_DSA_BCM_SF2 is not set
# CONFIG_NET_DSA_LOOP is not set
# CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK is not set
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
# CONFIG_NET_DSA_MT7530 is not set
# CONFIG_NET_DSA_MV88E6060 is not set
# CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON is not set
# CONFIG_NET_DSA_MV88E6XXX is not set
# CONFIG_NET_DSA_AR9331 is not set
# CONFIG_NET_DSA_QCA8K is not set
# CONFIG_NET_DSA_SJA1105 is not set
# CONFIG_NET_DSA_XRS700X_I2C is not set
# CONFIG_NET_DSA_XRS700X_MDIO is not set
# CONFIG_NET_DSA_REALTEK is not set
# CONFIG_NET_DSA_SMSC_LAN9303_I2C is not set
# CONFIG_NET_DSA_SMSC_LAN9303_MDIO is not set
# CONFIG_NET_DSA_VITESSE_VSC73XX_SPI is not set
# CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM is not set
# end of Distributed Switch Architecture drivers

CONFIG_ETHERNET=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not set
# CONFIG_NET_VENDOR_AGERE is not set
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
# CONFIG_ACENIC is not set
# CONFIG_ALTERA_TSE is not set
CONFIG_NET_VENDOR_AMAZON=y
# CONFIG_ENA_ETHERNET is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
CONFIG_NET_VENDOR_ASIX=y
# CONFIG_SPI_AX88796C is not set
# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_CX_ECAT is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_CADENCE is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
CONFIG_NET_VENDOR_CISCO=y
# CONFIG_ENIC is not set
# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_NET_VENDOR_DAVICOM=y
# CONFIG_DM9051 is not set
# CONFIG_DNET is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
CONFIG_NET_VENDOR_ENGLEDER=y
# CONFIG_TSNEP is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
# CONFIG_NET_VENDOR_FUJITSU is not set
CONFIG_NET_VENDOR_FUNGIBLE=y
# CONFIG_FUN_ETH is not set
CONFIG_NET_VENDOR_GOOGLE=y
CONFIG_GVE=y
# CONFIG_NET_VENDOR_HUAWEI is not set
CONFIG_NET_VENDOR_I825XX=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=y
CONFIG_E1000=y
CONFIG_E1000E=y
CONFIG_E1000E_HWTS=y
# CONFIG_IGB is not set
# CONFIG_IGBVF is not set
# CONFIG_IXGBE is not set
# CONFIG_IXGBEVF is not set
# CONFIG_I40E is not set
# CONFIG_I40EVF is not set
# CONFIG_ICE is not set
# CONFIG_FM10K is not set
# CONFIG_IGC is not set
# CONFIG_IDPF is not set
# CONFIG_JME is not set
# CONFIG_NET_VENDOR_ADI is not set
CONFIG_NET_VENDOR_LITEX=y
# CONFIG_LITEX_LITEETH is not set
# CONFIG_NET_VENDOR_MARVELL is not set
CONFIG_NET_VENDOR_MELLANOX=y
# CONFIG_MLX4_EN is not set
CONFIG_MLX4_CORE=y
# CONFIG_MLX4_DEBUG is not set
# CONFIG_MLX4_CORE_GEN2 is not set
# CONFIG_MLX5_CORE is not set
# CONFIG_MLXSW_CORE is not set
# CONFIG_MLXFW is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MICROSEMI is not set
CONFIG_NET_VENDOR_MICROSOFT=y
# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_FEALNX is not set
# CONFIG_NET_VENDOR_NI is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NETERION is not set
# CONFIG_NET_VENDOR_NETRONOME is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
# CONFIG_NET_VENDOR_OKI is not set
# CONFIG_ETHOC is not set
# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
# CONFIG_NET_VENDOR_PENSANDO is not set
# CONFIG_NET_VENDOR_QLOGIC is not set
# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
# CONFIG_NET_VENDOR_RDC is not set
# CONFIG_NET_VENDOR_REALTEK is not set
# CONFIG_NET_VENDOR_RENESAS is not set
# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
# CONFIG_NET_VENDOR_TEHUTI is not set
# CONFIG_NET_VENDOR_TI is not set
CONFIG_NET_VENDOR_VERTEXCOM=y
# CONFIG_MSE102X is not set
# CONFIG_NET_VENDOR_VIA is not set
CONFIG_NET_VENDOR_WANGXUN=y
# CONFIG_NGBE is not set
# CONFIG_TXGBE is not set
# CONFIG_NET_VENDOR_WIZNET is not set
# CONFIG_NET_VENDOR_XILINX is not set
# CONFIG_NET_VENDOR_XIRCOM is not set
CONFIG_FDDI=y
# CONFIG_DEFXX is not set
# CONFIG_SKFP is not set
# CONFIG_HIPPI is not set
# CONFIG_NET_SB1000 is not set
CONFIG_PHYLINK=y
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
# CONFIG_LED_TRIGGER_PHY is not set
CONFIG_PHYLIB_LEDS=y
CONFIG_FIXED_PHY=y
# CONFIG_SFP is not set

#
# MII PHY device drivers
#
# CONFIG_AMD_PHY is not set
# CONFIG_ADIN_PHY is not set
# CONFIG_ADIN1100_PHY is not set
# CONFIG_AQUANTIA_PHY is not set
CONFIG_AX88796B_PHY=y
# CONFIG_BROADCOM_PHY is not set
# CONFIG_BCM54140_PHY is not set
# CONFIG_BCM7XXX_PHY is not set
# CONFIG_BCM84881_PHY is not set
# CONFIG_BCM87XX_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_CORTINA_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_INTEL_XWAY_PHY is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MARVELL_PHY is not set
# CONFIG_MARVELL_10G_PHY is not set
# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
# CONFIG_MAXLINEAR_GPHY is not set
# CONFIG_MEDIATEK_GE_PHY is not set
# CONFIG_MICREL_PHY is not set
# CONFIG_MICROCHIP_T1S_PHY is not set
CONFIG_MICROCHIP_PHY=y
# CONFIG_MICROCHIP_T1_PHY is not set
# CONFIG_MICROSEMI_PHY is not set
# CONFIG_MOTORCOMM_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_NXP_CBTX_PHY is not set
# CONFIG_NXP_C45_TJA11XX_PHY is not set
# CONFIG_NXP_TJA11XX_PHY is not set
# CONFIG_NCN26000_PHY is not set
# CONFIG_AT803X_PHY is not set
# CONFIG_QCA83XX_PHY is not set
# CONFIG_QCA808X_PHY is not set
# CONFIG_QCA807X_PHY is not set
# CONFIG_QSEMI_PHY is not set
CONFIG_REALTEK_PHY=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_ROCKCHIP_PHY is not set
CONFIG_SMSC_PHY=y
# CONFIG_STE10XP is not set
# CONFIG_TERANETICS_PHY is not set
# CONFIG_DP83822_PHY is not set
# CONFIG_DP83TC811_PHY is not set
# CONFIG_DP83848_PHY is not set
# CONFIG_DP83867_PHY is not set
# CONFIG_DP83869_PHY is not set
# CONFIG_DP83TD510_PHY is not set
# CONFIG_DP83TG720_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_XILINX_GMII2RGMII is not set
# CONFIG_MICREL_KS8995MA is not set
# CONFIG_PSE_CONTROLLER is not set
CONFIG_CAN_DEV=y
CONFIG_CAN_VCAN=y
CONFIG_CAN_VXCAN=y
CONFIG_CAN_NETLINK=y
CONFIG_CAN_CALC_BITTIMING=y
CONFIG_CAN_RX_OFFLOAD=y
# CONFIG_CAN_CAN327 is not set
# CONFIG_CAN_FLEXCAN is not set
# CONFIG_CAN_GRCAN is not set
# CONFIG_CAN_KVASER_PCIEFD is not set
CONFIG_CAN_SLCAN=y
# CONFIG_CAN_C_CAN is not set
# CONFIG_CAN_CC770 is not set
# CONFIG_CAN_CTUCANFD_PCI is not set
# CONFIG_CAN_CTUCANFD_PLATFORM is not set
# CONFIG_CAN_ESD_402_PCI is not set
CONFIG_CAN_IFI_CANFD=y
# CONFIG_CAN_M_CAN is not set
# CONFIG_CAN_PEAK_PCIEFD is not set
# CONFIG_CAN_SJA1000 is not set
# CONFIG_CAN_SOFTING is not set

#
# CAN SPI interfaces
#
# CONFIG_CAN_HI311X is not set
# CONFIG_CAN_MCP251X is not set
# CONFIG_CAN_MCP251XFD is not set
# end of CAN SPI interfaces

#
# CAN USB interfaces
#
CONFIG_CAN_8DEV_USB=y
CONFIG_CAN_EMS_USB=y
# CONFIG_CAN_ESD_USB is not set
# CONFIG_CAN_ETAS_ES58X is not set
# CONFIG_CAN_F81604 is not set
CONFIG_CAN_GS_USB=y
CONFIG_CAN_KVASER_USB=y
CONFIG_CAN_MCBA_USB=y
CONFIG_CAN_PEAK_USB=y
# CONFIG_CAN_UCAN is not set
# end of CAN USB interfaces

# CONFIG_CAN_DEBUG_DEVICES is not set
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
CONFIG_FWNODE_MDIO=y
CONFIG_OF_MDIO=y
CONFIG_ACPI_MDIO=y
CONFIG_MDIO_DEVRES=y
# CONFIG_MDIO_BITBANG is not set
# CONFIG_MDIO_BCM_UNIMAC is not set
# CONFIG_MDIO_HISI_FEMAC is not set
# CONFIG_MDIO_MVUSB is not set
# CONFIG_MDIO_MSCC_MIIM is not set
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_IPQ4019 is not set
# CONFIG_MDIO_IPQ8064 is not set
# CONFIG_MDIO_THUNDER is not set

#
# MDIO Multiplexers
#
# CONFIG_MDIO_BUS_MUX_GPIO is not set
# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set

#
# PCS device drivers
#
# end of PCS device drivers

# CONFIG_PLIP is not set
CONFIG_PPP=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPPOATM=y
CONFIG_PPPOE=y
# CONFIG_PPPOE_HASH_BITS_1 is not set
# CONFIG_PPPOE_HASH_BITS_2 is not set
CONFIG_PPPOE_HASH_BITS_4=y
# CONFIG_PPPOE_HASH_BITS_8 is not set
CONFIG_PPPOE_HASH_BITS=4
CONFIG_PPTP=y
CONFIG_PPPOL2TP=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_SLIP=y
CONFIG_SLHC=y
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_CATC=y
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_RTL8150=y
CONFIG_USB_RTL8152=y
CONFIG_USB_LAN78XX=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_AX88179_178A=y
CONFIG_USB_NET_CDCETHER=y
CONFIG_USB_NET_CDC_EEM=y
CONFIG_USB_NET_CDC_NCM=y
CONFIG_USB_NET_HUAWEI_CDC_NCM=y
CONFIG_USB_NET_CDC_MBIM=y
CONFIG_USB_NET_DM9601=y
CONFIG_USB_NET_SR9700=y
CONFIG_USB_NET_SR9800=y
CONFIG_USB_NET_SMSC75XX=y
CONFIG_USB_NET_SMSC95XX=y
CONFIG_USB_NET_GL620A=y
CONFIG_USB_NET_NET1080=y
CONFIG_USB_NET_PLUSB=y
CONFIG_USB_NET_MCS7830=y
CONFIG_USB_NET_RNDIS_HOST=y
CONFIG_USB_NET_CDC_SUBSET_ENABLE=y
CONFIG_USB_NET_CDC_SUBSET=y
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=y
CONFIG_USB_NET_CX82310_ETH=y
CONFIG_USB_NET_KALMIA=y
CONFIG_USB_NET_QMI_WWAN=y
CONFIG_USB_HSO=y
CONFIG_USB_NET_INT51X1=y
CONFIG_USB_CDC_PHONET=y
CONFIG_USB_IPHETH=y
CONFIG_USB_SIERRA_NET=y
CONFIG_USB_VL600=y
CONFIG_USB_NET_CH9200=y
# CONFIG_USB_NET_AQC111 is not set
CONFIG_USB_RTL8153_ECM=y
CONFIG_WLAN=y
CONFIG_WLAN_VENDOR_ADMTEK=y
# CONFIG_ADM8211 is not set
CONFIG_ATH_COMMON=y
CONFIG_WLAN_VENDOR_ATH=y
# CONFIG_ATH_DEBUG is not set
# CONFIG_ATH5K is not set
# CONFIG_ATH5K_PCI is not set
CONFIG_ATH9K_HW=y
CONFIG_ATH9K_COMMON=y
CONFIG_ATH9K_COMMON_DEBUG=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
CONFIG_ATH9K=y
CONFIG_ATH9K_PCI=y
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_STATION_STATISTICS is not set
CONFIG_ATH9K_DYNACK=y
# CONFIG_ATH9K_WOW is not set
CONFIG_ATH9K_RFKILL=y
CONFIG_ATH9K_CHANNEL_CONTEXT=y
CONFIG_ATH9K_PCOEM=y
# CONFIG_ATH9K_PCI_NO_EEPROM is not set
CONFIG_ATH9K_HTC=y
CONFIG_ATH9K_HTC_DEBUGFS=y
# CONFIG_ATH9K_HWRNG is not set
# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_CARL9170=y
CONFIG_CARL9170_LEDS=y
# CONFIG_CARL9170_DEBUGFS is not set
CONFIG_CARL9170_WPC=y
CONFIG_CARL9170_HWRNG=y
CONFIG_ATH6KL=y
# CONFIG_ATH6KL_SDIO is not set
CONFIG_ATH6KL_USB=y
# CONFIG_ATH6KL_DEBUG is not set
# CONFIG_ATH6KL_TRACING is not set
CONFIG_AR5523=y
# CONFIG_WIL6210 is not set
CONFIG_ATH10K=y
CONFIG_ATH10K_CE=y
CONFIG_ATH10K_PCI=y
# CONFIG_ATH10K_AHB is not set
# CONFIG_ATH10K_SDIO is not set
CONFIG_ATH10K_USB=y
# CONFIG_ATH10K_DEBUG is not set
# CONFIG_ATH10K_DEBUGFS is not set
# CONFIG_ATH10K_TRACING is not set
# CONFIG_WCN36XX is not set
CONFIG_ATH11K=y
# CONFIG_ATH11K_PCI is not set
# CONFIG_ATH11K_DEBUG is not set
# CONFIG_ATH11K_DEBUGFS is not set
# CONFIG_ATH11K_TRACING is not set
# CONFIG_ATH12K is not set
# CONFIG_WLAN_VENDOR_ATMEL is not set
# CONFIG_WLAN_VENDOR_BROADCOM is not set
# CONFIG_WLAN_VENDOR_INTEL is not set
# CONFIG_WLAN_VENDOR_INTERSIL is not set
# CONFIG_WLAN_VENDOR_MARVELL is not set
# CONFIG_WLAN_VENDOR_MEDIATEK is not set
# CONFIG_WLAN_VENDOR_MICROCHIP is not set
CONFIG_WLAN_VENDOR_PURELIFI=y
# CONFIG_PLFXLC is not set
# CONFIG_WLAN_VENDOR_RALINK is not set
# CONFIG_WLAN_VENDOR_REALTEK is not set
# CONFIG_WLAN_VENDOR_RSI is not set
CONFIG_WLAN_VENDOR_SILABS=y
# CONFIG_WFX is not set
# CONFIG_WLAN_VENDOR_ST is not set
# CONFIG_WLAN_VENDOR_TI is not set
# CONFIG_WLAN_VENDOR_ZYDAS is not set
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
CONFIG_MAC80211_HWSIM=y
CONFIG_VIRT_WIFI=y
CONFIG_WAN=y
CONFIG_HDLC=y
CONFIG_HDLC_RAW=y
CONFIG_HDLC_RAW_ETH=y
CONFIG_HDLC_CISCO=y
CONFIG_HDLC_FR=y
CONFIG_HDLC_PPP=y
CONFIG_HDLC_X25=y
# CONFIG_FRAMER is not set
# CONFIG_PCI200SYN is not set
# CONFIG_WANXL is not set
# CONFIG_PC300TOO is not set
# CONFIG_FARSYNC is not set
CONFIG_LAPBETHER=y
CONFIG_IEEE802154_DRIVERS=y
# CONFIG_IEEE802154_FAKELB is not set
# CONFIG_IEEE802154_AT86RF230 is not set
# CONFIG_IEEE802154_MRF24J40 is not set
# CONFIG_IEEE802154_CC2520 is not set
CONFIG_IEEE802154_ATUSB=y
# CONFIG_IEEE802154_ADF7242 is not set
# CONFIG_IEEE802154_CA8210 is not set
# CONFIG_IEEE802154_MCR20A is not set
CONFIG_IEEE802154_HWSIM=y

#
# Wireless WAN
#
CONFIG_WWAN=y
# CONFIG_WWAN_DEBUGFS is not set
# CONFIG_WWAN_HWSIM is not set
CONFIG_MHI_WWAN_CTRL=y
# CONFIG_MHI_WWAN_MBIM is not set
# CONFIG_IOSM is not set
# CONFIG_MTK_T7XX is not set
# end of Wireless WAN

CONFIG_VMXNET3=y
# CONFIG_FUJITSU_ES is not set
CONFIG_USB4_NET=y
CONFIG_NETDEVSIM=y
CONFIG_NET_FAILOVER=y
CONFIG_ISDN=y
CONFIG_ISDN_CAPI=y
CONFIG_CAPI_TRACE=y
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_MISDN=y
CONFIG_MISDN_DSP=y
CONFIG_MISDN_L1OIP=y

#
# mISDN hardware drivers
#
# CONFIG_MISDN_HFCPCI is not set
# CONFIG_MISDN_HFCMULTI is not set
CONFIG_MISDN_HFCUSB=y
# CONFIG_MISDN_AVMFRITZ is not set
# CONFIG_MISDN_SPEEDFAX is not set
# CONFIG_MISDN_INFINEON is not set
# CONFIG_MISDN_W6692 is not set
# CONFIG_MISDN_NETJET is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_SPARSEKMAP=y
# CONFIG_INPUT_MATRIXKMAP is not set
CONFIG_INPUT_VIVALDIFMAP=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADC is not set
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1050 is not set
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_DLINK_DIR685 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_PINEPHONE is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
# CONFIG_KEYBOARD_TWL4030 is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_CAP11XX is not set
# CONFIG_KEYBOARD_BCM is not set
# CONFIG_KEYBOARD_CYPRESS_SF is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_BYD=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_FOCALTECH=y
# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2_SMBUS=y
# CONFIG_MOUSE_SERIAL is not set
CONFIG_MOUSE_APPLETOUCH=y
CONFIG_MOUSE_BCM5974=y
# CONFIG_MOUSE_CYAPA is not set
# CONFIG_MOUSE_ELAN_I2C is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MOUSE_GPIO is not set
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
CONFIG_MOUSE_SYNAPTICS_USB=y
CONFIG_INPUT_JOYSTICK=y
# CONFIG_JOYSTICK_ANALOG is not set
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADC is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
CONFIG_JOYSTICK_IFORCE=y
CONFIG_JOYSTICK_IFORCE_USB=y
# CONFIG_JOYSTICK_IFORCE_232 is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDJOY is not set
# CONFIG_JOYSTICK_ZHENHUA is not set
# CONFIG_JOYSTICK_DB9 is not set
# CONFIG_JOYSTICK_GAMECON is not set
# CONFIG_JOYSTICK_TURBOGRAFX is not set
# CONFIG_JOYSTICK_AS5011 is not set
# CONFIG_JOYSTICK_JOYDUMP is not set
CONFIG_JOYSTICK_XPAD=y
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
# CONFIG_JOYSTICK_WALKERA0701 is not set
# CONFIG_JOYSTICK_PSXPAD_SPI is not set
# CONFIG_JOYSTICK_PXRC is not set
# CONFIG_JOYSTICK_QWIIC is not set
# CONFIG_JOYSTICK_FSIA6B is not set
# CONFIG_JOYSTICK_SENSEHAT is not set
# CONFIG_JOYSTICK_SEESAW is not set
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=y
CONFIG_TABLET_USB_AIPTEK=y
CONFIG_TABLET_USB_HANWANG=y
CONFIG_TABLET_USB_KBTAB=y
CONFIG_TABLET_USB_PEGASUS=y
# CONFIG_TABLET_SERIAL_WACOM4 is not set
CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_ADS7846 is not set
# CONFIG_TOUCHSCREEN_AD7877 is not set
# CONFIG_TOUCHSCREEN_AD7879 is not set
# CONFIG_TOUCHSCREEN_ADC is not set
# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_BU21029 is not set
# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
# CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 is not set
# CONFIG_TOUCHSCREEN_CY8CTMA140 is not set
# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
# CONFIG_TOUCHSCREEN_CYTTSP5 is not set
# CONFIG_TOUCHSCREEN_DYNAPRO is not set
# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
# CONFIG_TOUCHSCREEN_EETI is not set
# CONFIG_TOUCHSCREEN_EGALAX is not set
# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
# CONFIG_TOUCHSCREEN_EXC3000 is not set
# CONFIG_TOUCHSCREEN_FUJITSU is not set
# CONFIG_TOUCHSCREEN_GOODIX is not set
# CONFIG_TOUCHSCREEN_GOODIX_BERLIN_I2C is not set
# CONFIG_TOUCHSCREEN_GOODIX_BERLIN_SPI is not set
# CONFIG_TOUCHSCREEN_HIDEEP is not set
# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set
# CONFIG_TOUCHSCREEN_HYNITRON_CSTXXX is not set
# CONFIG_TOUCHSCREEN_ILI210X is not set
# CONFIG_TOUCHSCREEN_ILITEK is not set
# CONFIG_TOUCHSCREEN_S6SY761 is not set
# CONFIG_TOUCHSCREEN_GUNZE is not set
# CONFIG_TOUCHSCREEN_EKTF2127 is not set
# CONFIG_TOUCHSCREEN_ELAN is not set
# CONFIG_TOUCHSCREEN_ELO is not set
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MMS114 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
# CONFIG_TOUCHSCREEN_MSG2638 is not set
# CONFIG_TOUCHSCREEN_MTOUCH is not set
# CONFIG_TOUCHSCREEN_NOVATEK_NVT_TS is not set
# CONFIG_TOUCHSCREEN_IMAGIS is not set
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_PIXCIR is not set
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
CONFIG_TOUCHSCREEN_USB_COMPOSITE=y
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_USB_JASTEC=y
CONFIG_TOUCHSCREEN_USB_ELO=y
CONFIG_TOUCHSCREEN_USB_E2I=y
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
# CONFIG_TOUCHSCREEN_TSC2004 is not set
# CONFIG_TOUCHSCREEN_TSC2005 is not set
# CONFIG_TOUCHSCREEN_TSC2007 is not set
# CONFIG_TOUCHSCREEN_RM_TS is not set
# CONFIG_TOUCHSCREEN_SILEAD is not set
# CONFIG_TOUCHSCREEN_SIS_I2C is not set
# CONFIG_TOUCHSCREEN_ST1232 is not set
# CONFIG_TOUCHSCREEN_STMFTS is not set
CONFIG_TOUCHSCREEN_SUR40=y
# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
# CONFIG_TOUCHSCREEN_SX8654 is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
# CONFIG_TOUCHSCREEN_ZET6223 is not set
# CONFIG_TOUCHSCREEN_ZFORCE is not set
# CONFIG_TOUCHSCREEN_COLIBRI_VF50 is not set
# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_ZINITIX is not set
# CONFIG_TOUCHSCREEN_HIMAX_HX83112B is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_E3X0_BUTTON is not set
# CONFIG_INPUT_PCSPKR is not set
# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_APANEL is not set
# CONFIG_INPUT_GPIO_BEEPER is not set
# CONFIG_INPUT_GPIO_DECODER is not set
# CONFIG_INPUT_GPIO_VIBRA is not set
# CONFIG_INPUT_ATLAS_BTNS is not set
CONFIG_INPUT_ATI_REMOTE2=y
CONFIG_INPUT_KEYSPAN_REMOTE=y
# CONFIG_INPUT_KXTJ9 is not set
CONFIG_INPUT_POWERMATE=y
CONFIG_INPUT_YEALINK=y
CONFIG_INPUT_CM109=y
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
# CONFIG_INPUT_RETU_PWRBUTTON is not set
# CONFIG_INPUT_TWL4030_PWRBUTTON is not set
# CONFIG_INPUT_TWL4030_VIBRA is not set
CONFIG_INPUT_UINPUT=y
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
# CONFIG_INPUT_DA7280_HAPTICS is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_IBM_PANEL is not set
CONFIG_INPUT_IMS_PCU=y
# CONFIG_INPUT_IQS269A is not set
# CONFIG_INPUT_IQS626A is not set
# CONFIG_INPUT_IQS7222 is not set
# CONFIG_INPUT_CMA3000 is not set
# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set
# CONFIG_INPUT_DRV260X_HAPTICS is not set
# CONFIG_INPUT_DRV2665_HAPTICS is not set
# CONFIG_INPUT_DRV2667_HAPTICS is not set
CONFIG_RMI4_CORE=y
# CONFIG_RMI4_I2C is not set
# CONFIG_RMI4_SPI is not set
# CONFIG_RMI4_SMB is not set
CONFIG_RMI4_F03=y
CONFIG_RMI4_F03_SERIO=y
CONFIG_RMI4_2D_SENSOR=y
CONFIG_RMI4_F11=y
CONFIG_RMI4_F12=y
CONFIG_RMI4_F30=y
# CONFIG_RMI4_F34 is not set
# CONFIG_RMI4_F3A is not set
# CONFIG_RMI4_F54 is not set
# CONFIG_RMI4_F55 is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_SERIO_ARC_PS2 is not set
# CONFIG_SERIO_APBPS2 is not set
# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_USERIO=y
# CONFIG_GAMEPORT is not set
# end of Hardware I/O ports
# end of Input device support

#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_LEGACY_TIOCSTI=y
CONFIG_LDISC_AUTOLOAD=y

#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
CONFIG_SERIAL_8250_PNP=y
# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_PCILIB=y
CONFIG_SERIAL_8250_PCI=y
# CONFIG_SERIAL_8250_EXAR is not set
# CONFIG_SERIAL_8250_CS is not set
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_PCI1XXXX is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_DWLIB=y
# CONFIG_SERIAL_8250_DW is not set
# CONFIG_SERIAL_8250_RT288X is not set
CONFIG_SERIAL_8250_LPSS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_PERICOM=y
# CONFIG_SERIAL_OF_PLATFORM is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_SIFIVE is not set
# CONFIG_SERIAL_LANTIQ is not set
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_FSL_LINFLEXUART is not set
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
# CONFIG_SERIAL_SPRD is not set
# end of Serial drivers

CONFIG_SERIAL_MCTRL_GPIO=y
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
CONFIG_N_HDLC=y
# CONFIG_IPWIRELESS is not set
CONFIG_N_GSM=y
CONFIG_NOZOMI=y
CONFIG_NULL_TTY=y
CONFIG_HVC_DRIVER=y
CONFIG_SERIAL_DEV_BUS=y
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_TTY_PRINTK=y
CONFIG_TTY_PRINTK_LEVEL=6
# CONFIG_PRINTER is not set
# CONFIG_PPDEV is not set
CONFIG_VIRTIO_CONSOLE=y
# CONFIG_IPMI_HANDLER is not set
# CONFIG_SSIF_IPMI_BMC is not set
# CONFIG_IPMB_DEVICE_INTERFACE is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
# CONFIG_HW_RANDOM_INTEL is not set
# CONFIG_HW_RANDOM_AMD is not set
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_VIA is not set
CONFIG_HW_RANDOM_VIRTIO=y
# CONFIG_HW_RANDOM_CCTRNG is not set
# CONFIG_HW_RANDOM_XIPHERA is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
# CONFIG_DEVMEM is not set
CONFIG_NVRAM=y
# CONFIG_DEVPORT is not set
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HPET_MMAP_DEFAULT=y
# CONFIG_HANGCHECK_TIMER is not set
CONFIG_TCG_TPM=y
# CONFIG_HW_RANDOM_TPM is not set
CONFIG_TCG_TIS_CORE=y
CONFIG_TCG_TIS=y
# CONFIG_TCG_TIS_SPI is not set
# CONFIG_TCG_TIS_I2C is not set
# CONFIG_TCG_TIS_I2C_CR50 is not set
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
# CONFIG_TCG_NSC is not set
# CONFIG_TCG_ATMEL is not set
# CONFIG_TCG_INFINEON is not set
CONFIG_TCG_CRB=y
# CONFIG_TCG_VTPM_PROXY is not set
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
# CONFIG_TELCLOCK is not set
# CONFIG_XILLYBUS is not set
# CONFIG_XILLYUSB is not set
# end of Character devices

#
# I2C support
#
CONFIG_I2C=y
CONFIG_ACPI_I2C_OPREGION=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y

#
# Multiplexer I2C Chip support
#
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
# CONFIG_I2C_MUX_GPIO is not set
# CONFIG_I2C_MUX_GPMUX is not set
# CONFIG_I2C_MUX_LTC4306 is not set
# CONFIG_I2C_MUX_PCA9541 is not set
# CONFIG_I2C_MUX_PCA954x is not set
CONFIG_I2C_MUX_REG=y
# CONFIG_I2C_MUX_MLXCPLD is not set
# end of Multiplexer I2C Chip support

CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=y
CONFIG_I2C_ALGOBIT=y

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_I801=y
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_ISMT is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_CHT_WC is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set

#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_DESIGNWARE_CORE=y
# CONFIG_I2C_DESIGNWARE_SLAVE is not set
CONFIG_I2C_DESIGNWARE_PLATFORM=y
# CONFIG_I2C_DESIGNWARE_BAYTRAIL is not set
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_RK3X is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_DIOLAN_U2C=y
CONFIG_I2C_DLN2=y
# CONFIG_I2C_CP2615 is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PCI1XXXX is not set
CONFIG_I2C_ROBOTFUZZ_OSIF=y
# CONFIG_I2C_TAOS_EVM is not set
CONFIG_I2C_TINY_USB=y
CONFIG_I2C_VIPERBOARD=y

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_MLXCPLD is not set
# CONFIG_I2C_VIRTIO is not set
# end of I2C Hardware Bus support

# CONFIG_I2C_STUB is not set
CONFIG_I2C_SLAVE=y
CONFIG_I2C_SLAVE_EEPROM=y
# CONFIG_I2C_SLAVE_TESTUNIT is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# end of I2C support

# CONFIG_I3C is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
# CONFIG_SPI_MEM is not set

#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
# CONFIG_SPI_AXI_SPI_ENGINE is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_BUTTERFLY is not set
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_CADENCE_QUADSPI is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_DLN2=y
# CONFIG_SPI_GPIO is not set
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_MICROCHIP_CORE is not set
# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set
# CONFIG_SPI_LANTIQ_SSC is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PCI1XXXX is not set
# CONFIG_SPI_PXA2XX is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SIFIVE is not set
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_XCOMM is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_AMD is not set

#
# SPI Multiplexer support
#
# CONFIG_SPI_MUX is not set

#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_SPI_SLAVE is not set
CONFIG_SPI_DYNAMIC=y
# CONFIG_SPMI is not set
# CONFIG_HSI is not set
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
# CONFIG_PPS_CLIENT_LDISC is not set
# CONFIG_PPS_CLIENT_PARPORT is not set
# CONFIG_PPS_CLIENT_GPIO is not set

#
# PPS generators support
#

#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_OPTIONAL=y

#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
CONFIG_PTP_1588_CLOCK_KVM=y
# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_FC3W is not set
# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_VMW is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
# end of PTP clock support

# CONFIG_PINCTRL is not set
CONFIG_GPIOLIB=y
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_OF_GPIO=y
CONFIG_GPIO_ACPI=y
CONFIG_GPIOLIB_IRQCHIP=y
# CONFIG_DEBUG_GPIO is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_CDEV is not set

#
# Memory mapped GPIO drivers
#
# CONFIG_GPIO_74XX_MMIO is not set
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
# CONFIG_GPIO_CADENCE is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_FTGPIO010 is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_HLWD is not set
# CONFIG_GPIO_ICH is not set
# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_MB86S7X is not set
# CONFIG_GPIO_SIFIVE is not set
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_XILINX is not set
# CONFIG_GPIO_AMD_FCH is not set
# end of Memory mapped GPIO drivers

#
# Port-mapped I/O GPIO drivers
#
# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_IT87 is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_WINBOND is not set
# CONFIG_GPIO_WS16C48 is not set
# end of Port-mapped I/O GPIO drivers

#
# I2C GPIO expanders
#
# CONFIG_GPIO_ADNP is not set
# CONFIG_GPIO_FXL6408 is not set
# CONFIG_GPIO_DS4520 is not set
# CONFIG_GPIO_GW_PLD is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCA9570 is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_TPIC2810 is not set
# end of I2C GPIO expanders

#
# MFD GPIO expanders
#
CONFIG_GPIO_DLN2=y
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_TWL4030 is not set
# end of MFD GPIO expanders

#
# PCI GPIO expanders
#
# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_PCI_IDIO_16 is not set
# CONFIG_GPIO_PCIE_IDIO_24 is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SODAVILLE is not set
# end of PCI GPIO expanders

#
# SPI GPIO expanders
#
# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_XRA1403 is not set
# end of SPI GPIO expanders

#
# USB GPIO expanders
#
CONFIG_GPIO_VIPERBOARD=y
# end of USB GPIO expanders

#
# Virtual GPIO drivers
#
# CONFIG_GPIO_AGGREGATOR is not set
# CONFIG_GPIO_LATCH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_VIRTIO is not set
# CONFIG_GPIO_SIM is not set
# end of Virtual GPIO drivers

# CONFIG_W1 is not set
# CONFIG_POWER_RESET is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_POWER_SUPPLY_HWMON=y
# CONFIG_GENERIC_ADC_BATTERY is not set
# CONFIG_IP5XXX_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_CHARGER_ADP5061 is not set
# CONFIG_BATTERY_CW2015 is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SAMSUNG_SDI is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_CHARGER_SBS is not set
# CONFIG_MANAGER_SBS is not set
# CONFIG_BATTERY_BQ27XXX is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
CONFIG_CHARGER_ISP1704=y
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_TWL4030 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_MANAGER is not set
# CONFIG_CHARGER_LT3651 is not set
# CONFIG_CHARGER_LTC4162L is not set
# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_MAX77976 is not set
# CONFIG_CHARGER_BQ2415X is not set
CONFIG_CHARGER_BQ24190=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ2515X is not set
# CONFIG_CHARGER_BQ25890 is not set
# CONFIG_CHARGER_BQ25980 is not set
# CONFIG_CHARGER_BQ256XX is not set
# CONFIG_CHARGER_SMB347 is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
# CONFIG_BATTERY_GOLDFISH is not set
# CONFIG_BATTERY_RT5033 is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_RT9467 is not set
# CONFIG_CHARGER_RT9471 is not set
# CONFIG_CHARGER_UCS1002 is not set
# CONFIG_CHARGER_BD99954 is not set
# CONFIG_BATTERY_UG3105 is not set
# CONFIG_FUEL_GAUGE_MM8013 is not set
CONFIG_HWMON=y
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7314 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM1177 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7310 is not set
# CONFIG_SENSORS_ADT7410 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_AHT10 is not set
# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
# CONFIG_SENSORS_AS370 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_ASUS_ROG_RYUJIN is not set
# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_K10TEMP is not set
# CONFIG_SENSORS_FAM15H_POWER is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_CHIPCAP2 is not set
# CONFIG_SENSORS_CORSAIR_CPRO is not set
# CONFIG_SENSORS_CORSAIR_PSU is not set
# CONFIG_SENSORS_DRIVETEMP is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_DELL_SMM is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHMD is not set
# CONFIG_SENSORS_FTSTEUTATES is not set
# CONFIG_SENSORS_GIGABYTE_WATERFORCE is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_G762 is not set
# CONFIG_SENSORS_GPIO_FAN is not set
# CONFIG_SENSORS_HIH6130 is not set
# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_IIO_HWMON is not set
# CONFIG_SENSORS_I5500 is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_POWERZ is not set
# CONFIG_SENSORS_POWR1220 is not set
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LTC2945 is not set
# CONFIG_SENSORS_LTC2947_I2C is not set
# CONFIG_SENSORS_LTC2947_SPI is not set
# CONFIG_SENSORS_LTC2990 is not set
# CONFIG_SENSORS_LTC2991 is not set
# CONFIG_SENSORS_LTC2992 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4222 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4260 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_LTC4282 is not set
# CONFIG_SENSORS_MAX1111 is not set
# CONFIG_SENSORS_MAX127 is not set
# CONFIG_SENSORS_MAX16065 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX197 is not set
# CONFIG_SENSORS_MAX31722 is not set
# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31760 is not set
# CONFIG_MAX31827 is not set
# CONFIG_SENSORS_MAX6620 is not set
# CONFIG_SENSORS_MAX6621 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_MAX6697 is not set
# CONFIG_SENSORS_MAX31790 is not set
# CONFIG_SENSORS_MC34VR500 is not set
# CONFIG_SENSORS_MCP3021 is not set
# CONFIG_SENSORS_TC654 is not set
# CONFIG_SENSORS_TPS23861 is not set
# CONFIG_SENSORS_MR75203 is not set
# CONFIG_SENSORS_ADCXX is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM70 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LM95234 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_NTC_THERMISTOR is not set
# CONFIG_SENSORS_NCT6683 is not set
# CONFIG_SENSORS_NCT6775 is not set
# CONFIG_SENSORS_NCT6775_I2C is not set
# CONFIG_SENSORS_NCT7802 is not set
# CONFIG_SENSORS_NCT7904 is not set
# CONFIG_SENSORS_NPCM7XX is not set
# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
# CONFIG_SENSORS_NZXT_KRAKEN3 is not set
# CONFIG_SENSORS_NZXT_SMART2 is not set
# CONFIG_SENSORS_OCC_P8_I2C is not set
# CONFIG_SENSORS_OXP is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not set
# CONFIG_SENSORS_PT5161L is not set
# CONFIG_SENSORS_SBTSI is not set
# CONFIG_SENSORS_SBRMI is not set
# CONFIG_SENSORS_SHT15 is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SHT3x is not set
# CONFIG_SENSORS_SHT4x is not set
# CONFIG_SENSORS_SHTC1 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC2305 is not set
# CONFIG_SENSORS_EMC6W201 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH5627 is not set
# CONFIG_SENSORS_SCH5636 is not set
# CONFIG_SENSORS_STTS751 is not set
# CONFIG_SENSORS_ADC128D818 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_ADS7871 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_INA209 is not set
# CONFIG_SENSORS_INA2XX is not set
# CONFIG_SENSORS_INA238 is not set
# CONFIG_SENSORS_INA3221 is not set
# CONFIG_SENSORS_TC74 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP103 is not set
# CONFIG_SENSORS_TMP108 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_TMP464 is not set
# CONFIG_SENSORS_TMP513 is not set
# CONFIG_SENSORS_VIA_CPUTEMP is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83773G is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_XGENE is not set

#
# ACPI drivers
#
# CONFIG_SENSORS_ACPI_POWER is not set
# CONFIG_SENSORS_ATK0110 is not set
# CONFIG_SENSORS_ASUS_WMI is not set
# CONFIG_SENSORS_ASUS_EC is not set
# CONFIG_SENSORS_HP_WMI is not set
CONFIG_THERMAL=y
CONFIG_THERMAL_NETLINK=y
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_DEBUGFS is not set
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
# CONFIG_THERMAL_OF is not set
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
CONFIG_THERMAL_GOV_STEP_WISE=y
# CONFIG_THERMAL_GOV_BANG_BANG is not set
CONFIG_THERMAL_GOV_USER_SPACE=y
# CONFIG_THERMAL_EMULATION is not set
# CONFIG_THERMAL_MMIO is not set

#
# Intel thermal drivers
#
# CONFIG_INTEL_POWERCLAMP is not set
CONFIG_X86_THERMAL_VECTOR=y
# CONFIG_X86_PKG_TEMP_THERMAL is not set
# CONFIG_INTEL_SOC_DTS_THERMAL is not set

#
# ACPI INT340X thermal drivers
#
# CONFIG_INT340X_THERMAL is not set
# end of ACPI INT340X thermal drivers

# CONFIG_INTEL_PCH_THERMAL is not set
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_HFI_THERMAL is not set
# end of Intel thermal drivers

# CONFIG_GENERIC_ADC_THERMAL is not set
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_CORE is not set
# CONFIG_WATCHDOG_NOWAYOUT is not set
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
CONFIG_WATCHDOG_OPEN_TIMEOUT=0
# CONFIG_WATCHDOG_SYSFS is not set
# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set

#
# Watchdog Pretimeout Governors
#

#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_GPIO_WATCHDOG is not set
# CONFIG_WDAT_WDT is not set
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_ZIIRAVE_WATCHDOG is not set
# CONFIG_CADENCE_WATCHDOG is not set
# CONFIG_DW_WATCHDOG is not set
# CONFIG_TWL4030_WATCHDOG is not set
# CONFIG_MAX63XX_WATCHDOG is not set
# CONFIG_RETU_WATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADVANTECH_EC_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_EBC_C384_WDT is not set
# CONFIG_EXAR_WDT is not set
# CONFIG_F71808E_WDT is not set
# CONFIG_SP5100_TCO is not set
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_IE6XX_WDT is not set
# CONFIG_ITCO_WDT is not set
# CONFIG_IT8712F_WDT is not set
# CONFIG_IT87_WDT is not set
# CONFIG_HP_WATCHDOG is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_NV_TCO is not set
# CONFIG_60XX_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_SMSC_SCH311X_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_TQMX86_WDT is not set
# CONFIG_VIA_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
# CONFIG_NI903X_WDT is not set
# CONFIG_NIC7018_WDT is not set
# CONFIG_MEN_A21_WDT is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set

#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=y
CONFIG_SSB_POSSIBLE=y
CONFIG_SSB=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
# CONFIG_SSB_PCIHOST is not set
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
# CONFIG_SSB_PCMCIAHOST is not set
CONFIG_SSB_SDIOHOST_POSSIBLE=y
# CONFIG_SSB_SDIOHOST is not set
# CONFIG_SSB_DRIVER_GPIO is not set
CONFIG_BCMA_POSSIBLE=y
CONFIG_BCMA=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
# CONFIG_BCMA_HOST_PCI is not set
# CONFIG_BCMA_HOST_SOC is not set
# CONFIG_BCMA_DRIVER_PCI is not set
# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
# CONFIG_BCMA_DRIVER_GPIO is not set
# CONFIG_BCMA_DEBUG is not set

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
# CONFIG_MFD_ACT8945A is not set
# CONFIG_MFD_AS3711 is not set
# CONFIG_MFD_SMPRO is not set
# CONFIG_MFD_AS3722 is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_AAT2870_CORE is not set
# CONFIG_MFD_ATMEL_FLEXCOM is not set
# CONFIG_MFD_ATMEL_HLCDC is not set
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_CS42L43_I2C is not set
# CONFIG_MFD_MADERA is not set
# CONFIG_MFD_MAX5970 is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_DA9062 is not set
# CONFIG_MFD_DA9063 is not set
# CONFIG_MFD_DA9150 is not set
CONFIG_MFD_DLN2=y
# CONFIG_MFD_GATEWORKS_GSC is not set
# CONFIG_MFD_MC13XXX_SPI is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_MFD_MP2629 is not set
# CONFIG_MFD_HI6421_PMIC is not set
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
CONFIG_LPC_ICH=y
# CONFIG_LPC_SCH is not set
# CONFIG_INTEL_SOC_PMIC is not set
CONFIG_INTEL_SOC_PMIC_CHTWC=y
# CONFIG_INTEL_SOC_PMIC_CHTDC_TI is not set
# CONFIG_MFD_INTEL_LPSS_ACPI is not set
# CONFIG_MFD_INTEL_LPSS_PCI is not set
# CONFIG_MFD_INTEL_PMC_BXT is not set
# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77541 is not set
# CONFIG_MFD_MAX77620 is not set
# CONFIG_MFD_MAX77650 is not set
# CONFIG_MFD_MAX77686 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77714 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_MT6360 is not set
# CONFIG_MFD_MT6370 is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_MFD_OCELOT is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_VIPERBOARD=y
# CONFIG_MFD_NTXEC is not set
CONFIG_MFD_RETU=y
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_SY7636A is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RT4831 is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RT5120 is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_RK8XX_I2C is not set
# CONFIG_MFD_RK8XX_SPI is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SKY81452 is not set
# CONFIG_MFD_STMPE is not set
CONFIG_MFD_SYSCON=y
# CONFIG_MFD_LP3943 is not set
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_TI_LMU is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS65010 is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65086 is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TI_LP87565 is not set
# CONFIG_MFD_TPS65218 is not set
# CONFIG_MFD_TPS65219 is not set
# CONFIG_MFD_TPS6586X is not set
# CONFIG_MFD_TPS65910 is not set
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912_SPI is not set
# CONFIG_MFD_TPS6594_I2C is not set
# CONFIG_MFD_TPS6594_SPI is not set
CONFIG_TWL4030_CORE=y
# CONFIG_MFD_TWL4030_AUDIO is not set
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_LM3533 is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TQMX86 is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_LOCHNAGAR is not set
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_ARIZONA_SPI is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD957XMUF is not set
# CONFIG_MFD_STPMIC1 is not set
# CONFIG_MFD_STMFX is not set
# CONFIG_MFD_ATC260X_I2C is not set
# CONFIG_MFD_QCOM_PM8008 is not set
# CONFIG_RAVE_SP_CORE is not set
# CONFIG_MFD_INTEL_M10_BMC_SPI is not set
# CONFIG_MFD_RSMU_I2C is not set
# CONFIG_MFD_RSMU_SPI is not set
# end of Multifunction device drivers

CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
# CONFIG_REGULATOR_NETLINK_EVENTS is not set
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_AW37503 is not set
# CONFIG_REGULATOR_DA9121 is not set
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_FAN53555 is not set
# CONFIG_REGULATOR_FAN53880 is not set
# CONFIG_REGULATOR_GPIO is not set
# CONFIG_REGULATOR_ISL9305 is not set
# CONFIG_REGULATOR_ISL6271A is not set
# CONFIG_REGULATOR_LP3971 is not set
# CONFIG_REGULATOR_LP3972 is not set
# CONFIG_REGULATOR_LP872X is not set
# CONFIG_REGULATOR_LP8755 is not set
# CONFIG_REGULATOR_LTC3589 is not set
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX77503 is not set
# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8893 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MAX20086 is not set
# CONFIG_REGULATOR_MAX20411 is not set
# CONFIG_REGULATOR_MAX77826 is not set
# CONFIG_REGULATOR_MCP16502 is not set
# CONFIG_REGULATOR_MP5416 is not set
# CONFIG_REGULATOR_MP8859 is not set
# CONFIG_REGULATOR_MP886X is not set
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PCA9450 is not set
# CONFIG_REGULATOR_PF8X00 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
# CONFIG_REGULATOR_RT4801 is not set
# CONFIG_REGULATOR_RT4803 is not set
# CONFIG_REGULATOR_RT5190A is not set
# CONFIG_REGULATOR_RT5739 is not set
# CONFIG_REGULATOR_RT5759 is not set
# CONFIG_REGULATOR_RT6160 is not set
# CONFIG_REGULATOR_RT6190 is not set
# CONFIG_REGULATOR_RT6245 is not set
# CONFIG_REGULATOR_RTQ2134 is not set
# CONFIG_REGULATOR_RTMV20 is not set
# CONFIG_REGULATOR_RTQ6752 is not set
# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SLG51000 is not set
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_SY8824X is not set
# CONFIG_REGULATOR_SY8827N is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
# CONFIG_REGULATOR_TPS6286X is not set
# CONFIG_REGULATOR_TPS6287X is not set
# CONFIG_REGULATOR_TPS65023 is not set
# CONFIG_REGULATOR_TPS6507X is not set
# CONFIG_REGULATOR_TPS65132 is not set
# CONFIG_REGULATOR_TPS6524X is not set
CONFIG_REGULATOR_TWL4030=y
# CONFIG_REGULATOR_VCTRL is not set
CONFIG_RC_CORE=y
# CONFIG_LIRC is not set
# CONFIG_RC_MAP is not set
# CONFIG_RC_DECODERS is not set
CONFIG_RC_DEVICES=y
# CONFIG_IR_ENE is not set
# CONFIG_IR_FINTEK is not set
# CONFIG_IR_GPIO_CIR is not set
# CONFIG_IR_HIX5HD2 is not set
CONFIG_IR_IGORPLUGUSB=y
CONFIG_IR_IGUANA=y
CONFIG_IR_IMON=y
# CONFIG_IR_IMON_RAW is not set
# CONFIG_IR_ITE_CIR is not set
CONFIG_IR_MCEUSB=y
# CONFIG_IR_NUVOTON is not set
CONFIG_IR_REDRAT3=y
# CONFIG_IR_SERIAL is not set
CONFIG_IR_STREAMZAP=y
# CONFIG_IR_TOY is not set
CONFIG_IR_TTUSBIR=y
# CONFIG_IR_WINBOND_CIR is not set
CONFIG_RC_ATI_REMOTE=y
# CONFIG_RC_LOOPBACK is not set
# CONFIG_RC_XBOX_DVD is not set
CONFIG_CEC_CORE=y

#
# CEC support
#
# CONFIG_MEDIA_CEC_RC is not set
CONFIG_MEDIA_CEC_SUPPORT=y
# CONFIG_CEC_CH7322 is not set
# CONFIG_CEC_GPIO is not set
# CONFIG_CEC_SECO is not set
CONFIG_USB_PULSE8_CEC=y
CONFIG_USB_RAINSHADOW_CEC=y
# end of CEC support

CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_SUPPORT_FILTER=y
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set

#
# Media device types
#
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_SDR_SUPPORT=y
# CONFIG_MEDIA_PLATFORM_SUPPORT is not set
CONFIG_MEDIA_TEST_SUPPORT=y
# end of Media device types

CONFIG_VIDEO_DEV=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_DVB_CORE=y

#
# Video4Linux options
#
CONFIG_VIDEO_V4L2_I2C=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_TUNER=y
CONFIG_V4L2_MEM2MEM_DEV=y
# end of Video4Linux options

#
# Media controller options
#
CONFIG_MEDIA_CONTROLLER_DVB=y
# end of Media controller options

#
# Digital TV options
#
# CONFIG_DVB_MMAP is not set
# CONFIG_DVB_NET is not set
CONFIG_DVB_MAX_ADAPTERS=16
# CONFIG_DVB_DYNAMIC_MINORS is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
# CONFIG_DVB_ULE_DEBUG is not set
# end of Digital TV options

#
# Media drivers
#

#
# Drivers filtered as selected at 'Filter media drivers'
#

#
# Media drivers
#
CONFIG_MEDIA_USB_SUPPORT=y

#
# Webcam devices
#
CONFIG_USB_GSPCA=y
CONFIG_USB_GSPCA_BENQ=y
CONFIG_USB_GSPCA_CONEX=y
CONFIG_USB_GSPCA_CPIA1=y
CONFIG_USB_GSPCA_DTCS033=y
CONFIG_USB_GSPCA_ETOMS=y
CONFIG_USB_GSPCA_FINEPIX=y
CONFIG_USB_GSPCA_JEILINJ=y
CONFIG_USB_GSPCA_JL2005BCD=y
CONFIG_USB_GSPCA_KINECT=y
CONFIG_USB_GSPCA_KONICA=y
CONFIG_USB_GSPCA_MARS=y
CONFIG_USB_GSPCA_MR97310A=y
CONFIG_USB_GSPCA_NW80X=y
CONFIG_USB_GSPCA_OV519=y
CONFIG_USB_GSPCA_OV534=y
CONFIG_USB_GSPCA_OV534_9=y
CONFIG_USB_GSPCA_PAC207=y
CONFIG_USB_GSPCA_PAC7302=y
CONFIG_USB_GSPCA_PAC7311=y
CONFIG_USB_GSPCA_SE401=y
CONFIG_USB_GSPCA_SN9C2028=y
CONFIG_USB_GSPCA_SN9C20X=y
CONFIG_USB_GSPCA_SONIXB=y
CONFIG_USB_GSPCA_SONIXJ=y
CONFIG_USB_GSPCA_SPCA1528=y
CONFIG_USB_GSPCA_SPCA500=y
CONFIG_USB_GSPCA_SPCA501=y
CONFIG_USB_GSPCA_SPCA505=y
CONFIG_USB_GSPCA_SPCA506=y
CONFIG_USB_GSPCA_SPCA508=y
CONFIG_USB_GSPCA_SPCA561=y
CONFIG_USB_GSPCA_SQ905=y
CONFIG_USB_GSPCA_SQ905C=y
CONFIG_USB_GSPCA_SQ930X=y
CONFIG_USB_GSPCA_STK014=y
CONFIG_USB_GSPCA_STK1135=y
CONFIG_USB_GSPCA_STV0680=y
CONFIG_USB_GSPCA_SUNPLUS=y
CONFIG_USB_GSPCA_T613=y
CONFIG_USB_GSPCA_TOPRO=y
CONFIG_USB_GSPCA_TOUPTEK=y
CONFIG_USB_GSPCA_TV8532=y
CONFIG_USB_GSPCA_VC032X=y
CONFIG_USB_GSPCA_VICAM=y
CONFIG_USB_GSPCA_XIRLINK_CIT=y
CONFIG_USB_GSPCA_ZC3XX=y
CONFIG_USB_GL860=y
CONFIG_USB_M5602=y
CONFIG_USB_STV06XX=y
CONFIG_USB_PWC=y
# CONFIG_USB_PWC_DEBUG is not set
CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_USB_S2255=y
CONFIG_VIDEO_USBTV=y
CONFIG_USB_VIDEO_CLASS=y
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y

#
# Analog TV USB devices
#
CONFIG_VIDEO_GO7007=y
CONFIG_VIDEO_GO7007_USB=y
CONFIG_VIDEO_GO7007_LOADER=y
CONFIG_VIDEO_GO7007_USB_S2250_BOARD=y
CONFIG_VIDEO_HDPVR=y
CONFIG_VIDEO_PVRUSB2=y
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_STK1160=y

#
# Analog/digital TV USB devices
#
CONFIG_VIDEO_AU0828=y
CONFIG_VIDEO_AU0828_V4L2=y
CONFIG_VIDEO_AU0828_RC=y
CONFIG_VIDEO_CX231XX=y
CONFIG_VIDEO_CX231XX_RC=y
CONFIG_VIDEO_CX231XX_ALSA=y
CONFIG_VIDEO_CX231XX_DVB=y

#
# Digital TV USB devices
#
CONFIG_DVB_AS102=y
CONFIG_DVB_B2C2_FLEXCOP_USB=y
# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
CONFIG_DVB_USB_V2=y
CONFIG_DVB_USB_AF9015=y
CONFIG_DVB_USB_AF9035=y
CONFIG_DVB_USB_ANYSEE=y
CONFIG_DVB_USB_AU6610=y
CONFIG_DVB_USB_AZ6007=y
CONFIG_DVB_USB_CE6230=y
CONFIG_DVB_USB_DVBSKY=y
CONFIG_DVB_USB_EC168=y
CONFIG_DVB_USB_GL861=y
CONFIG_DVB_USB_LME2510=y
CONFIG_DVB_USB_MXL111SF=y
CONFIG_DVB_USB_RTL28XXU=y
CONFIG_DVB_USB_ZD1301=y
CONFIG_DVB_USB=y
# CONFIG_DVB_USB_DEBUG is not set
CONFIG_DVB_USB_A800=y
CONFIG_DVB_USB_AF9005=y
CONFIG_DVB_USB_AF9005_REMOTE=y
CONFIG_DVB_USB_AZ6027=y
CONFIG_DVB_USB_CINERGY_T2=y
CONFIG_DVB_USB_CXUSB=y
# CONFIG_DVB_USB_CXUSB_ANALOG is not set
CONFIG_DVB_USB_DIB0700=y
CONFIG_DVB_USB_DIB3000MC=y
CONFIG_DVB_USB_DIBUSB_MB=y
# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
CONFIG_DVB_USB_DIBUSB_MC=y
CONFIG_DVB_USB_DIGITV=y
CONFIG_DVB_USB_DTT200U=y
CONFIG_DVB_USB_DTV5100=y
CONFIG_DVB_USB_DW2102=y
CONFIG_DVB_USB_GP8PSK=y
CONFIG_DVB_USB_M920X=y
CONFIG_DVB_USB_NOVA_T_USB2=y
CONFIG_DVB_USB_OPERA1=y
CONFIG_DVB_USB_PCTV452E=y
CONFIG_DVB_USB_TECHNISAT_USB2=y
CONFIG_DVB_USB_TTUSB2=y
CONFIG_DVB_USB_UMT_010=y
CONFIG_DVB_USB_VP702X=y
CONFIG_DVB_USB_VP7045=y
CONFIG_SMS_USB_DRV=y
CONFIG_DVB_TTUSB_BUDGET=y
CONFIG_DVB_TTUSB_DEC=y

#
# Webcam, TV (analog/digital) USB devices
#
CONFIG_VIDEO_EM28XX=y
CONFIG_VIDEO_EM28XX_V4L2=y
CONFIG_VIDEO_EM28XX_ALSA=y
CONFIG_VIDEO_EM28XX_DVB=y
CONFIG_VIDEO_EM28XX_RC=y

#
# Software defined radio USB devices
#
CONFIG_USB_AIRSPY=y
CONFIG_USB_HACKRF=y
CONFIG_USB_MSI2500=y
# CONFIG_MEDIA_PCI_SUPPORT is not set
CONFIG_RADIO_ADAPTERS=y
# CONFIG_RADIO_MAXIRADIO is not set
# CONFIG_RADIO_SAA7706H is not set
CONFIG_RADIO_SHARK=y
CONFIG_RADIO_SHARK2=y
CONFIG_RADIO_SI4713=y
CONFIG_RADIO_TEA575X=y
# CONFIG_RADIO_TEA5764 is not set
# CONFIG_RADIO_TEF6862 is not set
# CONFIG_RADIO_WL1273 is not set
CONFIG_USB_DSBR=y
CONFIG_USB_KEENE=y
CONFIG_USB_MA901=y
CONFIG_USB_MR800=y
CONFIG_USB_RAREMONO=y
CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=y
# CONFIG_I2C_SI470X is not set
CONFIG_USB_SI4713=y
# CONFIG_PLATFORM_SI4713 is not set
CONFIG_I2C_SI4713=y
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIM2M=y
CONFIG_VIDEO_VICODEC=y
CONFIG_VIDEO_VIMC=y
CONFIG_VIDEO_VIVID=y
CONFIG_VIDEO_VIVID_CEC=y
CONFIG_VIDEO_VIVID_MAX_DEVS=64
# CONFIG_VIDEO_VISL is not set
CONFIG_DVB_TEST_DRIVERS=y
CONFIG_DVB_VIDTV=y

#
# FireWire (IEEE 1394) Adapters
#
# CONFIG_DVB_FIREDTV is not set
CONFIG_MEDIA_COMMON_OPTIONS=y

#
# common driver options
#
CONFIG_CYPRESS_FIRMWARE=y
CONFIG_TTPCI_EEPROM=y
CONFIG_UVC_COMMON=y
CONFIG_VIDEO_CX2341X=y
CONFIG_VIDEO_TVEEPROM=y
CONFIG_DVB_B2C2_FLEXCOP=y
CONFIG_SMS_SIANO_MDTV=y
CONFIG_SMS_SIANO_RC=y
CONFIG_VIDEO_V4L2_TPG=y
CONFIG_VIDEOBUF2_CORE=y
CONFIG_VIDEOBUF2_V4L2=y
CONFIG_VIDEOBUF2_MEMOPS=y
CONFIG_VIDEOBUF2_DMA_CONTIG=y
CONFIG_VIDEOBUF2_VMALLOC=y
CONFIG_VIDEOBUF2_DMA_SG=y
# end of Media drivers

#
# Media ancillary drivers
#
CONFIG_MEDIA_ATTACH=y
# CONFIG_VIDEO_IR_I2C is not set
# CONFIG_VIDEO_CAMERA_SENSOR is not set

#
# Camera ISPs
#
# CONFIG_VIDEO_THP7312 is not set
# end of Camera ISPs

#
# Lens drivers
#
# CONFIG_VIDEO_AD5820 is not set
# CONFIG_VIDEO_AK7375 is not set
# CONFIG_VIDEO_DW9714 is not set
# CONFIG_VIDEO_DW9719 is not set
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
# end of Lens drivers

#
# Flash devices
#
# CONFIG_VIDEO_ADP1653 is not set
# CONFIG_VIDEO_LM3560 is not set
# CONFIG_VIDEO_LM3646 is not set
# end of Flash devices

#
# Audio decoders, processors and mixers
#
# CONFIG_VIDEO_CS3308 is not set
# CONFIG_VIDEO_CS5345 is not set
CONFIG_VIDEO_CS53L32A=y
CONFIG_VIDEO_MSP3400=y
# CONFIG_VIDEO_SONY_BTF_MPX is not set
# CONFIG_VIDEO_TDA7432 is not set
# CONFIG_VIDEO_TDA9840 is not set
# CONFIG_VIDEO_TEA6415C is not set
# CONFIG_VIDEO_TEA6420 is not set
# CONFIG_VIDEO_TLV320AIC23B is not set
# CONFIG_VIDEO_TVAUDIO is not set
# CONFIG_VIDEO_UDA1342 is not set
# CONFIG_VIDEO_VP27SMPX is not set
# CONFIG_VIDEO_WM8739 is not set
CONFIG_VIDEO_WM8775=y
# end of Audio decoders, processors and mixers

#
# RDS decoders
#
# CONFIG_VIDEO_SAA6588 is not set
# end of RDS decoders

#
# Video decoders
#
# CONFIG_VIDEO_ADV7180 is not set
# CONFIG_VIDEO_ADV7183 is not set
# CONFIG_VIDEO_ADV748X is not set
# CONFIG_VIDEO_ADV7604 is not set
# CONFIG_VIDEO_ADV7842 is not set
# CONFIG_VIDEO_BT819 is not set
# CONFIG_VIDEO_BT856 is not set
# CONFIG_VIDEO_BT866 is not set
# CONFIG_VIDEO_ISL7998X is not set
# CONFIG_VIDEO_KS0127 is not set
# CONFIG_VIDEO_MAX9286 is not set
# CONFIG_VIDEO_ML86V7667 is not set
# CONFIG_VIDEO_SAA7110 is not set
CONFIG_VIDEO_SAA711X=y
# CONFIG_VIDEO_TC358743 is not set
# CONFIG_VIDEO_TC358746 is not set
# CONFIG_VIDEO_TVP514X is not set
# CONFIG_VIDEO_TVP5150 is not set
# CONFIG_VIDEO_TVP7002 is not set
# CONFIG_VIDEO_TW2804 is not set
# CONFIG_VIDEO_TW9900 is not set
# CONFIG_VIDEO_TW9903 is not set
# CONFIG_VIDEO_TW9906 is not set
# CONFIG_VIDEO_TW9910 is not set
# CONFIG_VIDEO_VPX3220 is not set

#
# Video and audio decoders
#
# CONFIG_VIDEO_SAA717X is not set
CONFIG_VIDEO_CX25840=y
# end of Video decoders

#
# Video encoders
#
# CONFIG_VIDEO_ADV7170 is not set
# CONFIG_VIDEO_ADV7175 is not set
# CONFIG_VIDEO_ADV7343 is not set
# CONFIG_VIDEO_ADV7393 is not set
# CONFIG_VIDEO_ADV7511 is not set
# CONFIG_VIDEO_AK881X is not set
# CONFIG_VIDEO_SAA7127 is not set
# CONFIG_VIDEO_SAA7185 is not set
# CONFIG_VIDEO_THS8200 is not set
# end of Video encoders

#
# Video improvement chips
#
# CONFIG_VIDEO_UPD64031A is not set
# CONFIG_VIDEO_UPD64083 is not set
# end of Video improvement chips

#
# Audio/Video compression chips
#
# CONFIG_VIDEO_SAA6752HS is not set
# end of Audio/Video compression chips

#
# SDR tuner chips
#
# CONFIG_SDR_MAX2175 is not set
# end of SDR tuner chips

#
# Miscellaneous helper chips
#
# CONFIG_VIDEO_I2C is not set
# CONFIG_VIDEO_M52790 is not set
# CONFIG_VIDEO_ST_MIPID02 is not set
# CONFIG_VIDEO_THS7303 is not set
# end of Miscellaneous helper chips

#
# Video serializers and deserializers
#
# CONFIG_VIDEO_DS90UB913 is not set
# CONFIG_VIDEO_DS90UB953 is not set
# CONFIG_VIDEO_DS90UB960 is not set
# end of Video serializers and deserializers

#
# Media SPI Adapters
#
# CONFIG_CXD2880_SPI_DRV is not set
# CONFIG_VIDEO_GS1662 is not set
# end of Media SPI Adapters

CONFIG_MEDIA_TUNER=y

#
# Customize TV tuners
#
# CONFIG_MEDIA_TUNER_E4000 is not set
# CONFIG_MEDIA_TUNER_FC0011 is not set
# CONFIG_MEDIA_TUNER_FC0012 is not set
# CONFIG_MEDIA_TUNER_FC0013 is not set
# CONFIG_MEDIA_TUNER_FC2580 is not set
# CONFIG_MEDIA_TUNER_IT913X is not set
# CONFIG_MEDIA_TUNER_M88RS6000T is not set
# CONFIG_MEDIA_TUNER_MAX2165 is not set
# CONFIG_MEDIA_TUNER_MC44S803 is not set
CONFIG_MEDIA_TUNER_MSI001=y
# CONFIG_MEDIA_TUNER_MT2060 is not set
# CONFIG_MEDIA_TUNER_MT2063 is not set
# CONFIG_MEDIA_TUNER_MT20XX is not set
# CONFIG_MEDIA_TUNER_MT2131 is not set
# CONFIG_MEDIA_TUNER_MT2266 is not set
# CONFIG_MEDIA_TUNER_MXL301RF is not set
# CONFIG_MEDIA_TUNER_MXL5005S is not set
# CONFIG_MEDIA_TUNER_MXL5007T is not set
# CONFIG_MEDIA_TUNER_QM1D1B0004 is not set
# CONFIG_MEDIA_TUNER_QM1D1C0042 is not set
# CONFIG_MEDIA_TUNER_QT1010 is not set
# CONFIG_MEDIA_TUNER_R820T is not set
# CONFIG_MEDIA_TUNER_SI2157 is not set
# CONFIG_MEDIA_TUNER_SIMPLE is not set
# CONFIG_MEDIA_TUNER_TDA18212 is not set
# CONFIG_MEDIA_TUNER_TDA18218 is not set
# CONFIG_MEDIA_TUNER_TDA18250 is not set
# CONFIG_MEDIA_TUNER_TDA18271 is not set
# CONFIG_MEDIA_TUNER_TDA827X is not set
# CONFIG_MEDIA_TUNER_TDA8290 is not set
# CONFIG_MEDIA_TUNER_TDA9887 is not set
# CONFIG_MEDIA_TUNER_TEA5761 is not set
# CONFIG_MEDIA_TUNER_TEA5767 is not set
# CONFIG_MEDIA_TUNER_TUA9001 is not set
# CONFIG_MEDIA_TUNER_XC2028 is not set
# CONFIG_MEDIA_TUNER_XC4000 is not set
# CONFIG_MEDIA_TUNER_XC5000 is not set
# end of Customize TV tuners

#
# Customise DVB Frontends
#

#
# Multistandard (satellite) frontends
#
# CONFIG_DVB_M88DS3103 is not set
# CONFIG_DVB_MXL5XX is not set
# CONFIG_DVB_STB0899 is not set
# CONFIG_DVB_STB6100 is not set
# CONFIG_DVB_STV090x is not set
# CONFIG_DVB_STV0910 is not set
# CONFIG_DVB_STV6110x is not set
# CONFIG_DVB_STV6111 is not set

#
# Multistandard (cable + terrestrial) frontends
#
# CONFIG_DVB_DRXK is not set
# CONFIG_DVB_MN88472 is not set
# CONFIG_DVB_MN88473 is not set
# CONFIG_DVB_SI2165 is not set
# CONFIG_DVB_TDA18271C2DD is not set

#
# DVB-S (satellite) frontends
#
# CONFIG_DVB_CX24110 is not set
# CONFIG_DVB_CX24116 is not set
# CONFIG_DVB_CX24117 is not set
# CONFIG_DVB_CX24120 is not set
# CONFIG_DVB_CX24123 is not set
# CONFIG_DVB_DS3000 is not set
# CONFIG_DVB_MB86A16 is not set
# CONFIG_DVB_MT312 is not set
# CONFIG_DVB_S5H1420 is not set
# CONFIG_DVB_SI21XX is not set
# CONFIG_DVB_STB6000 is not set
# CONFIG_DVB_STV0288 is not set
# CONFIG_DVB_STV0299 is not set
# CONFIG_DVB_STV0900 is not set
# CONFIG_DVB_STV6110 is not set
# CONFIG_DVB_TDA10071 is not set
# CONFIG_DVB_TDA10086 is not set
# CONFIG_DVB_TDA8083 is not set
# CONFIG_DVB_TDA8261 is not set
# CONFIG_DVB_TDA826X is not set
# CONFIG_DVB_TS2020 is not set
# CONFIG_DVB_TUA6100 is not set
# CONFIG_DVB_TUNER_CX24113 is not set
# CONFIG_DVB_TUNER_ITD1000 is not set
# CONFIG_DVB_VES1X93 is not set
# CONFIG_DVB_ZL10036 is not set
# CONFIG_DVB_ZL10039 is not set

#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_AF9013=y
CONFIG_DVB_AS102_FE=y
# CONFIG_DVB_CX22700 is not set
# CONFIG_DVB_CX22702 is not set
# CONFIG_DVB_CXD2820R is not set
# CONFIG_DVB_CXD2841ER is not set
CONFIG_DVB_DIB3000MB=y
CONFIG_DVB_DIB3000MC=y
# CONFIG_DVB_DIB7000M is not set
# CONFIG_DVB_DIB7000P is not set
# CONFIG_DVB_DIB9000 is not set
# CONFIG_DVB_DRXD is not set
CONFIG_DVB_EC100=y
CONFIG_DVB_GP8PSK_FE=y
# CONFIG_DVB_L64781 is not set
# CONFIG_DVB_MT352 is not set
# CONFIG_DVB_NXT6000 is not set
CONFIG_DVB_RTL2830=y
CONFIG_DVB_RTL2832=y
CONFIG_DVB_RTL2832_SDR=y
# CONFIG_DVB_S5H1432 is not set
# CONFIG_DVB_SI2168 is not set
# CONFIG_DVB_SP887X is not set
# CONFIG_DVB_STV0367 is not set
# CONFIG_DVB_TDA10048 is not set
# CONFIG_DVB_TDA1004X is not set
# CONFIG_DVB_ZD1301_DEMOD is not set
CONFIG_DVB_ZL10353=y
# CONFIG_DVB_CXD2880 is not set

#
# DVB-C (cable) frontends
#
# CONFIG_DVB_STV0297 is not set
# CONFIG_DVB_TDA10021 is not set
# CONFIG_DVB_TDA10023 is not set
# CONFIG_DVB_VES1820 is not set

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
# CONFIG_DVB_AU8522_DTV is not set
# CONFIG_DVB_AU8522_V4L is not set
# CONFIG_DVB_BCM3510 is not set
# CONFIG_DVB_LG2160 is not set
# CONFIG_DVB_LGDT3305 is not set
# CONFIG_DVB_LGDT3306A is not set
# CONFIG_DVB_LGDT330X is not set
# CONFIG_DVB_MXL692 is not set
# CONFIG_DVB_NXT200X is not set
# CONFIG_DVB_OR51132 is not set
# CONFIG_DVB_OR51211 is not set
# CONFIG_DVB_S5H1409 is not set
# CONFIG_DVB_S5H1411 is not set

#
# ISDB-T (terrestrial) frontends
#
# CONFIG_DVB_DIB8000 is not set
# CONFIG_DVB_MB86A20S is not set
# CONFIG_DVB_S921 is not set

#
# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
#
# CONFIG_DVB_MN88443X is not set
# CONFIG_DVB_TC90522 is not set

#
# Digital terrestrial only tuners/PLL
#
# CONFIG_DVB_PLL is not set
# CONFIG_DVB_TUNER_DIB0070 is not set
# CONFIG_DVB_TUNER_DIB0090 is not set

#
# SEC control devices for DVB-S
#
# CONFIG_DVB_A8293 is not set
CONFIG_DVB_AF9033=y
# CONFIG_DVB_ASCOT2E is not set
# CONFIG_DVB_ATBM8830 is not set
# CONFIG_DVB_HELENE is not set
# CONFIG_DVB_HORUS3A is not set
# CONFIG_DVB_ISL6405 is not set
# CONFIG_DVB_ISL6421 is not set
# CONFIG_DVB_ISL6423 is not set
# CONFIG_DVB_IX2505V is not set
# CONFIG_DVB_LGS8GL5 is not set
# CONFIG_DVB_LGS8GXX is not set
# CONFIG_DVB_LNBH25 is not set
# CONFIG_DVB_LNBH29 is not set
# CONFIG_DVB_LNBP21 is not set
# CONFIG_DVB_LNBP22 is not set
# CONFIG_DVB_M88RS2000 is not set
# CONFIG_DVB_TDA665x is not set
# CONFIG_DVB_DRX39XYJ is not set

#
# Common Interface (EN50221) controller drivers
#
# CONFIG_DVB_CXD2099 is not set
# CONFIG_DVB_SP2 is not set
# end of Customise DVB Frontends

#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set
# end of Media ancillary drivers

#
# Graphics support
#
CONFIG_APERTURE_HELPERS=y
CONFIG_SCREEN_INFO=y
CONFIG_VIDEO=y
# CONFIG_AUXDISPLAY is not set
# CONFIG_PANEL is not set
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_VIA is not set
CONFIG_INTEL_GTT=y
# CONFIG_VGA_SWITCHEROO is not set
CONFIG_DRM=y
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_DEBUG_MM=y
CONFIG_DRM_KMS_HELPER=y
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
# CONFIG_DRM_DEBUG_MODESET_LOCK is not set
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_DP_AUX_BUS=y
CONFIG_DRM_DISPLAY_HELPER=y
CONFIG_DRM_DISPLAY_DP_HELPER=y
CONFIG_DRM_DISPLAY_DP_TUNNEL=y
# CONFIG_DRM_DISPLAY_DEBUG_DP_TUNNEL_STATE is not set
CONFIG_DRM_DISPLAY_HDCP_HELPER=y
CONFIG_DRM_DISPLAY_HDMI_HELPER=y
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_TTM=y
CONFIG_DRM_BUDDY=y
CONFIG_DRM_VRAM_HELPER=y
CONFIG_DRM_TTM_HELPER=y
CONFIG_DRM_GEM_SHMEM_HELPER=y

#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
# end of I2C encoder or helper chips

#
# ARM devices
#
# CONFIG_DRM_KOMEDA is not set
# end of ARM devices

# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_AMDGPU is not set
# CONFIG_DRM_NOUVEAU is not set
CONFIG_DRM_I915=y
CONFIG_DRM_I915_FORCE_PROBE=""
CONFIG_DRM_I915_CAPTURE_ERROR=y
CONFIG_DRM_I915_COMPRESS_ERROR=y
CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_I915_GVT_KVMGT is not set
CONFIG_DRM_I915_DP_TUNNEL=y

#
# drm/i915 Debugging
#
# CONFIG_DRM_I915_WERROR is not set
# CONFIG_DRM_I915_DEBUG is not set
# CONFIG_DRM_I915_DEBUG_MMIO is not set
# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set
# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set
# CONFIG_DRM_I915_DEBUG_GUC is not set
# CONFIG_DRM_I915_SELFTEST is not set
# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set
# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set
# CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set
# CONFIG_DRM_I915_DEBUG_WAKEREF is not set
# end of drm/i915 Debugging

#
# drm/i915 Profile Guided Optimisation
#
CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
CONFIG_DRM_I915_PREEMPT_TIMEOUT_COMPUTE=7500
CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000
CONFIG_DRM_I915_STOP_TIMEOUT=100
CONFIG_DRM_I915_TIMESLICE_DURATION=1
# end of drm/i915 Profile Guided Optimisation

# CONFIG_DRM_XE is not set
CONFIG_DRM_VGEM=y
CONFIG_DRM_VKMS=y
CONFIG_DRM_VMWGFX=y
# CONFIG_DRM_VMWGFX_MKSSTATS is not set
# CONFIG_DRM_GMA500 is not set
CONFIG_DRM_UDL=y
# CONFIG_DRM_AST is not set
# CONFIG_DRM_MGAG200 is not set
# CONFIG_DRM_QXL is not set
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_DRM_VIRTIO_GPU_KMS=y
CONFIG_DRM_PANEL=y

#
# Display Panels
#
# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
# CONFIG_DRM_PANEL_AUO_A030JTN01 is not set
# CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0 is not set
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
# CONFIG_DRM_PANEL_BOE_TH101MB31UIG002_28A is not set
# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
# CONFIG_DRM_PANEL_EBBG_FT8719 is not set
# CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set
# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
# CONFIG_DRM_PANEL_DSI_CM is not set
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_HIMAX_HX83112A is not set
# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9805 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9882T is not set
# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JADARD_JD9365DA_H3 is not set
# CONFIG_DRM_PANEL_JDI_LPM102A188A is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_JDI_R63452 is not set
# CONFIG_DRM_PANEL_KHADAS_TS050 is not set
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966 is not set
# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
# CONFIG_DRM_PANEL_NEWVISION_NV3051D is not set
# CONFIG_DRM_PANEL_NEWVISION_NV3052C is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT36523 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
# CONFIG_DRM_PANEL_NOVATEK_NT36672E is not set
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
# CONFIG_DRM_PANEL_ORISETECH_OTA5601A is not set
# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM692E5 is not set
# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set
# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set
# CONFIG_DRM_PANEL_STARTEK_KD070FHFID015 is not set
CONFIG_DRM_PANEL_EDP=y
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SYNAPTICS_R63353 is not set
# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
# CONFIG_DRM_PANEL_VISIONOX_R66451 is not set
# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
# end of Display Panels

CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y

#
# Display Interface Bridges
#
# CONFIG_DRM_CHIPONE_ICN6211 is not set
# CONFIG_DRM_CHRONTEL_CH7033 is not set
# CONFIG_DRM_DISPLAY_CONNECTOR is not set
# CONFIG_DRM_ITE_IT6505 is not set
# CONFIG_DRM_LONTIUM_LT8912B is not set
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
# CONFIG_DRM_ITE_IT66121 is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
# CONFIG_DRM_NWL_MIPI_DSI is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PARADE_PS8622 is not set
# CONFIG_DRM_PARADE_PS8640 is not set
# CONFIG_DRM_SAMSUNG_DSIM is not set
# CONFIG_DRM_SIL_SII8620 is not set
# CONFIG_DRM_SII902X is not set
# CONFIG_DRM_SII9234 is not set
# CONFIG_DRM_SIMPLE_BRIDGE is not set
# CONFIG_DRM_THINE_THC63LVD1024 is not set
# CONFIG_DRM_TOSHIBA_TC358762 is not set
# CONFIG_DRM_TOSHIBA_TC358764 is not set
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
# CONFIG_DRM_TI_DLPC3433 is not set
# CONFIG_DRM_TI_TFP410 is not set
# CONFIG_DRM_TI_SN65DSI83 is not set
# CONFIG_DRM_TI_SN65DSI86 is not set
# CONFIG_DRM_TI_TPD12S015 is not set
# CONFIG_DRM_ANALOGIX_ANX6345 is not set
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# CONFIG_DRM_ANALOGIX_ANX7625 is not set
# CONFIG_DRM_I2C_ADV7511 is not set
# CONFIG_DRM_CDNS_DSI is not set
# CONFIG_DRM_CDNS_MHDP8546 is not set
# end of Display Interface Bridges

# CONFIG_DRM_ETNAVIV is not set
# CONFIG_DRM_LOGICVC is not set
# CONFIG_DRM_ARCPGU is not set
CONFIG_DRM_BOCHS=y
CONFIG_DRM_CIRRUS_QEMU=y
# CONFIG_DRM_GM12U320 is not set
# CONFIG_DRM_PANEL_MIPI_DBI is not set
CONFIG_DRM_SIMPLEDRM=y
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9163 is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
# CONFIG_TINYDRM_ILI9486 is not set
# CONFIG_TINYDRM_MI0283QT is not set
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
# CONFIG_TINYDRM_ST7735R is not set
# CONFIG_DRM_VBOXVIDEO is not set
# CONFIG_DRM_GUD is not set
# CONFIG_DRM_SSD130X is not set
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y

#
# Frame buffer Devices
#
CONFIG_FB=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
CONFIG_FB_VGA16=y
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_OPENCORES is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_VIA is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_IBM_GXT4500 is not set
CONFIG_FB_VIRTUAL=y
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_SSD1307 is not set
# CONFIG_FB_SM712 is not set
CONFIG_FB_CORE=y
CONFIG_FB_NOTIFY=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DEVICE is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYSMEM_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_IOMEM_FOPS=y
CONFIG_FB_IOMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
# CONFIG_FB_MODE_HELPERS is not set
CONFIG_FB_TILEBLITTING=y
# end of Frame buffer Devices

#
# Backlight & LCD device support
#
CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_LCD_L4F00242T03 is not set
# CONFIG_LCD_LMS283GF05 is not set
# CONFIG_LCD_LTV350QV is not set
# CONFIG_LCD_ILI922X is not set
# CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_TDO24M is not set
# CONFIG_LCD_VGG2432A4 is not set
# CONFIG_LCD_PLATFORM is not set
# CONFIG_LCD_AMS369FG06 is not set
# CONFIG_LCD_LMS501KF03 is not set
# CONFIG_LCD_HX8357 is not set
# CONFIG_LCD_OTM3225A is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_KTD253 is not set
# CONFIG_BACKLIGHT_KTD2801 is not set
# CONFIG_BACKLIGHT_KTZ8866 is not set
# CONFIG_BACKLIGHT_APPLE is not set
# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_PANDORA is not set
# CONFIG_BACKLIGHT_GPIO is not set
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
# CONFIG_BACKLIGHT_ARCXCNN is not set
# CONFIG_BACKLIGHT_LED is not set
# end of Backlight & LCD device support

CONFIG_VGASTATE=y
CONFIG_VIDEOMODE_HELPERS=y
CONFIG_HDMI=y

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
# end of Console display driver support

CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
# CONFIG_LOGO_LINUX_CLUT224 is not set
# end of Graphics support

# CONFIG_DRM_ACCEL is not set
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_SEQ_DEVICE=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_JACK=y
CONFIG_SND_JACK_INPUT_DEV=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_PCM_TIMER=y
CONFIG_SND_HRTIMER=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MAX_CARDS=32
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_PROC_FS=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
CONFIG_SND_CTL_FAST_LOOKUP=y
CONFIG_SND_DEBUG=y
# CONFIG_SND_DEBUG_VERBOSE is not set
CONFIG_SND_PCM_XRUN_DEBUG=y
# CONFIG_SND_CTL_INPUT_VALIDATION is not set
# CONFIG_SND_CTL_DEBUG is not set
# CONFIG_SND_JACK_INJECTION_DEBUG is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_CTL_LED=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_SEQ_MIDI_EVENT=y
CONFIG_SND_SEQ_MIDI=y
CONFIG_SND_SEQ_VIRMIDI=y
# CONFIG_SND_SEQ_UMP is not set
CONFIG_SND_DRIVERS=y
# CONFIG_SND_PCSP is not set
CONFIG_SND_DUMMY=y
CONFIG_SND_ALOOP=y
# CONFIG_SND_PCMTEST is not set
CONFIG_SND_VIRMIDI=y
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_MTS64 is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_SERIAL_GENERIC is not set
# CONFIG_SND_MPU401 is not set
# CONFIG_SND_PORTMAN2X4 is not set
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ASIHPI is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_OXYGEN is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CTXFI is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_INDIGOIOX is not set
# CONFIG_SND_INDIGODJX is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_LOLA is not set
# CONFIG_SND_LX6464ES is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SE6X is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set

#
# HD-Audio
#
CONFIG_SND_HDA=y
CONFIG_SND_HDA_GENERIC_LEDS=y
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_SCODEC_COMPONENT=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_HDMI=y
CONFIG_SND_HDA_CODEC_CIRRUS=y
# CONFIG_SND_HDA_CODEC_CS8409 is not set
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CA0132=y
# CONFIG_SND_HDA_CODEC_CA0132_DSP is not set
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
# CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set
# CONFIG_SND_HDA_CTL_DEV_ID is not set
# end of HD-Audio

CONFIG_SND_HDA_CORE=y
CONFIG_SND_HDA_COMPONENT=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_INTEL_NHLT=y
CONFIG_SND_INTEL_DSP_CONFIG=y
CONFIG_SND_INTEL_SOUNDWIRE_ACPI=y
# CONFIG_SND_SPI is not set
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
# CONFIG_SND_USB_AUDIO_MIDI_V2 is not set
CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
CONFIG_SND_USB_UA101=y
CONFIG_SND_USB_USX2Y=y
CONFIG_SND_USB_CAIAQ=y
CONFIG_SND_USB_CAIAQ_INPUT=y
CONFIG_SND_USB_US122L=y
CONFIG_SND_USB_6FIRE=y
CONFIG_SND_USB_HIFACE=y
CONFIG_SND_BCD2000=y
CONFIG_SND_USB_LINE6=y
CONFIG_SND_USB_POD=y
CONFIG_SND_USB_PODHD=y
CONFIG_SND_USB_TONEPORT=y
CONFIG_SND_USB_VARIAX=y
# CONFIG_SND_FIREWIRE is not set
CONFIG_SND_PCMCIA=y
# CONFIG_SND_VXPOCKET is not set
# CONFIG_SND_PDAUDIOCF is not set
# CONFIG_SND_SOC is not set
CONFIG_SND_X86=y
# CONFIG_HDMI_LPE_AUDIO is not set
CONFIG_SND_VIRTIO=y
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=y
CONFIG_HID_GENERIC=y

#
# Special HID drivers
#
CONFIG_HID_A4TECH=y
CONFIG_HID_ACCUTOUCH=y
CONFIG_HID_ACRUX=y
CONFIG_HID_ACRUX_FF=y
CONFIG_HID_APPLE=y
CONFIG_HID_APPLEIR=y
CONFIG_HID_ASUS=y
CONFIG_HID_AUREAL=y
CONFIG_HID_BELKIN=y
CONFIG_HID_BETOP_FF=y
# CONFIG_HID_BIGBEN_FF is not set
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CORSAIR=y
# CONFIG_HID_COUGAR is not set
# CONFIG_HID_MACALLY is not set
CONFIG_HID_PRODIKEYS=y
CONFIG_HID_CMEDIA=y
CONFIG_HID_CP2112=y
# CONFIG_HID_CREATIVE_SB0540 is not set
CONFIG_HID_CYPRESS=y
CONFIG_HID_DRAGONRISE=y
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=y
# CONFIG_HID_ELAN is not set
CONFIG_HID_ELECOM=y
CONFIG_HID_ELO=y
# CONFIG_HID_EVISION is not set
CONFIG_HID_EZKEY=y
# CONFIG_HID_FT260 is not set
CONFIG_HID_GEMBIRD=y
CONFIG_HID_GFRM=y
# CONFIG_HID_GLORIOUS is not set
CONFIG_HID_HOLTEK=y
CONFIG_HOLTEK_FF=y
# CONFIG_HID_GOOGLE_STADIA_FF is not set
# CONFIG_HID_VIVALDI is not set
CONFIG_HID_GT683R=y
CONFIG_HID_KEYTOUCH=y
CONFIG_HID_KYE=y
CONFIG_HID_UCLOGIC=y
CONFIG_HID_WALTOP=y
# CONFIG_HID_VIEWSONIC is not set
# CONFIG_HID_VRC2 is not set
# CONFIG_HID_XIAOMI is not set
CONFIG_HID_GYRATION=y
CONFIG_HID_ICADE=y
CONFIG_HID_ITE=y
# CONFIG_HID_JABRA is not set
CONFIG_HID_TWINHAN=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LCPOWER=y
CONFIG_HID_LED=y
CONFIG_HID_LENOVO=y
# CONFIG_HID_LETSKETCH is not set
CONFIG_HID_LOGITECH=y
CONFIG_HID_LOGITECH_DJ=y
CONFIG_HID_LOGITECH_HIDPP=y
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MAGICMOUSE=y
# CONFIG_HID_MALTRON is not set
CONFIG_HID_MAYFLASH=y
# CONFIG_HID_MEGAWORLD_FF is not set
CONFIG_HID_REDRAGON=y
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_MULTITOUCH=y
# CONFIG_HID_NINTENDO is not set
CONFIG_HID_NTI=y
CONFIG_HID_NTRIG=y
# CONFIG_HID_NVIDIA_SHIELD is not set
CONFIG_HID_ORTEK=y
CONFIG_HID_PANTHERLORD=y
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PENMOUNT=y
CONFIG_HID_PETALYNX=y
CONFIG_HID_PICOLCD=y
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PICOLCD_CIR=y
CONFIG_HID_PLANTRONICS=y
# CONFIG_HID_PXRC is not set
# CONFIG_HID_RAZER is not set
CONFIG_HID_PRIMAX=y
CONFIG_HID_RETRODE=y
CONFIG_HID_ROCCAT=y
CONFIG_HID_SAITEK=y
CONFIG_HID_SAMSUNG=y
# CONFIG_HID_SEMITEK is not set
# CONFIG_HID_SIGMAMICRO is not set
CONFIG_HID_SONY=y
CONFIG_SONY_FF=y
CONFIG_HID_SPEEDLINK=y
# CONFIG_HID_STEAM is not set
CONFIG_HID_STEELSERIES=y
CONFIG_HID_SUNPLUS=y
CONFIG_HID_RMI=y
CONFIG_HID_GREENASIA=y
CONFIG_GREENASIA_FF=y
CONFIG_HID_SMARTJOYPLUS=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_HID_TIVO=y
CONFIG_HID_TOPSEED=y
# CONFIG_HID_TOPRE is not set
CONFIG_HID_THINGM=y
CONFIG_HID_THRUSTMASTER=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_HID_UDRAW_PS3=y
# CONFIG_HID_U2FZERO is not set
CONFIG_HID_WACOM=y
CONFIG_HID_WIIMOTE=y
CONFIG_HID_XINMO=y
CONFIG_HID_ZEROPLUS=y
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=y
CONFIG_HID_SENSOR_HUB=y
CONFIG_HID_SENSOR_CUSTOM_SENSOR=y
CONFIG_HID_ALPS=y
# CONFIG_HID_MCP2200 is not set
# CONFIG_HID_MCP2221 is not set
# end of Special HID drivers

#
# HID-BPF support
#
# end of HID-BPF support

#
# USB HID support
#
CONFIG_USB_HID=y
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y
# end of USB HID support

CONFIG_I2C_HID=y
# CONFIG_I2C_HID_ACPI is not set
# CONFIG_I2C_HID_OF is not set
# CONFIG_I2C_HID_OF_ELAN is not set
# CONFIG_I2C_HID_OF_GOODIX is not set

#
# Intel ISH HID support
#
CONFIG_INTEL_ISH_HID=y
# CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER is not set
# end of Intel ISH HID support

#
# AMD SFH HID Support
#
# CONFIG_AMD_SFH_HID is not set
# end of AMD SFH HID Support

CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_LED_TRIG=y
CONFIG_USB_ULPI_BUS=y
# CONFIG_USB_CONN_GPIO is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
CONFIG_USB_PCI=y
CONFIG_USB_PCI_AMD=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_FEW_INIT_RETRIES=y
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_OTG=y
# CONFIG_USB_OTG_PRODUCTLIST is not set
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
CONFIG_USB_OTG_FSM=y
CONFIG_USB_LEDS_TRIGGER_USBPORT=y
CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_DEFAULT_AUTHORIZATION_MODE=1
CONFIG_USB_MON=y

#
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_PCI=y
# CONFIG_USB_XHCI_PCI_RENESAS is not set
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_PCI=y
# CONFIG_USB_EHCI_FSL is not set
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_OXU210HP_HCD=y
CONFIG_USB_ISP116X_HCD=y
CONFIG_USB_MAX3421_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PCI=y
# CONFIG_USB_OHCI_HCD_SSB is not set
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_SL811_HCD=y
CONFIG_USB_SL811_HCD_ISO=y
CONFIG_USB_SL811_CS=y
CONFIG_USB_R8A66597_HCD=y
CONFIG_USB_HCD_BCMA=y
CONFIG_USB_HCD_SSB=y
# CONFIG_USB_HCD_TEST_MODE is not set

#
# USB Device Class drivers
#
CONFIG_USB_ACM=y
CONFIG_USB_PRINTER=y
CONFIG_USB_WDM=y
CONFIG_USB_TMC=y

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_REALTEK=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
CONFIG_USB_STORAGE_ONETOUCH=y
CONFIG_USB_STORAGE_KARMA=y
CONFIG_USB_STORAGE_CYPRESS_ATACB=y
CONFIG_USB_STORAGE_ENE_UB6250=y
CONFIG_USB_UAS=y

#
# USB Imaging devices
#
CONFIG_USB_MDC800=y
CONFIG_USB_MICROTEK=y
CONFIG_USBIP_CORE=y
CONFIG_USBIP_VHCI_HCD=y
CONFIG_USBIP_VHCI_HC_PORTS=8
CONFIG_USBIP_VHCI_NR_HCS=16
CONFIG_USBIP_HOST=y
CONFIG_USBIP_VUDC=y
# CONFIG_USBIP_DEBUG is not set

#
# USB dual-mode controller drivers
#
# CONFIG_USB_CDNS_SUPPORT is not set
CONFIG_USB_MUSB_HDRC=y
# CONFIG_USB_MUSB_HOST is not set
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_DUAL_ROLE=y

#
# Platform Glue Layer
#

#
# MUSB DMA mode
#
CONFIG_MUSB_PIO_ONLY=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_ULPI=y
# CONFIG_USB_DWC3_HOST is not set
CONFIG_USB_DWC3_GADGET=y
# CONFIG_USB_DWC3_DUAL_ROLE is not set

#
# Platform Glue Driver Support
#
CONFIG_USB_DWC3_PCI=y
# CONFIG_USB_DWC3_HAPS is not set
CONFIG_USB_DWC3_OF_SIMPLE=y
CONFIG_USB_DWC2=y
CONFIG_USB_DWC2_HOST=y

#
# Gadget/Dual-role mode requires USB Gadget support to be enabled
#
# CONFIG_USB_DWC2_PERIPHERAL is not set
# CONFIG_USB_DWC2_DUAL_ROLE is not set
CONFIG_USB_DWC2_PCI=y
# CONFIG_USB_DWC2_DEBUG is not set
# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_CHIPIDEA_PCI=y
# CONFIG_USB_CHIPIDEA_MSM is not set
# CONFIG_USB_CHIPIDEA_NPCM is not set
# CONFIG_USB_CHIPIDEA_IMX is not set
# CONFIG_USB_CHIPIDEA_GENERIC is not set
# CONFIG_USB_CHIPIDEA_TEGRA is not set
CONFIG_USB_ISP1760=y
CONFIG_USB_ISP1760_HCD=y
CONFIG_USB_ISP1761_UDC=y
# CONFIG_USB_ISP1760_HOST_ROLE is not set
# CONFIG_USB_ISP1760_GADGET_ROLE is not set
CONFIG_USB_ISP1760_DUAL_ROLE=y

#
# USB port drivers
#
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_SIMPLE=y
CONFIG_USB_SERIAL_AIRCABLE=y
CONFIG_USB_SERIAL_ARK3116=y
CONFIG_USB_SERIAL_BELKIN=y
CONFIG_USB_SERIAL_CH341=y
CONFIG_USB_SERIAL_WHITEHEAT=y
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=y
CONFIG_USB_SERIAL_CP210X=y
CONFIG_USB_SERIAL_CYPRESS_M8=y
CONFIG_USB_SERIAL_EMPEG=y
CONFIG_USB_SERIAL_FTDI_SIO=y
CONFIG_USB_SERIAL_VISOR=y
CONFIG_USB_SERIAL_IPAQ=y
CONFIG_USB_SERIAL_IR=y
CONFIG_USB_SERIAL_EDGEPORT=y
CONFIG_USB_SERIAL_EDGEPORT_TI=y
CONFIG_USB_SERIAL_F81232=y
CONFIG_USB_SERIAL_F8153X=y
CONFIG_USB_SERIAL_GARMIN=y
CONFIG_USB_SERIAL_IPW=y
CONFIG_USB_SERIAL_IUU=y
CONFIG_USB_SERIAL_KEYSPAN_PDA=y
CONFIG_USB_SERIAL_KEYSPAN=y
CONFIG_USB_SERIAL_KLSI=y
CONFIG_USB_SERIAL_KOBIL_SCT=y
CONFIG_USB_SERIAL_MCT_U232=y
CONFIG_USB_SERIAL_METRO=y
CONFIG_USB_SERIAL_MOS7720=y
CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7840=y
CONFIG_USB_SERIAL_MXUPORT=y
CONFIG_USB_SERIAL_NAVMAN=y
CONFIG_USB_SERIAL_PL2303=y
CONFIG_USB_SERIAL_OTI6858=y
CONFIG_USB_SERIAL_QCAUX=y
CONFIG_USB_SERIAL_QUALCOMM=y
CONFIG_USB_SERIAL_SPCP8X5=y
CONFIG_USB_SERIAL_SAFE=y
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
CONFIG_USB_SERIAL_SIERRAWIRELESS=y
CONFIG_USB_SERIAL_SYMBOL=y
CONFIG_USB_SERIAL_TI=y
CONFIG_USB_SERIAL_CYBERJACK=y
CONFIG_USB_SERIAL_WWAN=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_USB_SERIAL_OMNINET=y
CONFIG_USB_SERIAL_OPTICON=y
CONFIG_USB_SERIAL_XSENS_MT=y
CONFIG_USB_SERIAL_WISHBONE=y
CONFIG_USB_SERIAL_SSU100=y
CONFIG_USB_SERIAL_QT2=y
CONFIG_USB_SERIAL_UPD78F0730=y
CONFIG_USB_SERIAL_XR=y
CONFIG_USB_SERIAL_DEBUG=y

#
# USB Miscellaneous drivers
#
CONFIG_USB_USS720=y
CONFIG_USB_EMI62=y
CONFIG_USB_EMI26=y
CONFIG_USB_ADUTUX=y
CONFIG_USB_SEVSEG=y
CONFIG_USB_LEGOTOWER=y
CONFIG_USB_LCD=y
CONFIG_USB_CYPRESS_CY7C63=y
CONFIG_USB_CYTHERM=y
CONFIG_USB_IDMOUSE=y
CONFIG_USB_APPLEDISPLAY=y
# CONFIG_APPLE_MFI_FASTCHARGE is not set
# CONFIG_USB_LJCA is not set
CONFIG_USB_SISUSBVGA=y
CONFIG_USB_LD=y
CONFIG_USB_TRANCEVIBRATOR=y
CONFIG_USB_IOWARRIOR=y
CONFIG_USB_TEST=y
CONFIG_USB_EHSET_TEST_FIXTURE=y
CONFIG_USB_ISIGHTFW=y
CONFIG_USB_YUREX=y
CONFIG_USB_EZUSB_FX2=y
CONFIG_USB_HUB_USB251XB=y
CONFIG_USB_HSIC_USB3503=y
CONFIG_USB_HSIC_USB4604=y
CONFIG_USB_LINK_LAYER_TEST=y
CONFIG_USB_CHAOSKEY=y
# CONFIG_USB_ONBOARD_HUB is not set
CONFIG_USB_ATM=y
CONFIG_USB_SPEEDTOUCH=y
CONFIG_USB_CXACRU=y
CONFIG_USB_UEAGLEATM=y
CONFIG_USB_XUSBATM=y

#
# USB Physical Layer drivers
#
CONFIG_USB_PHY=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_GPIO_VBUS=y
CONFIG_TAHVO_USB=y
CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y
CONFIG_USB_ISP1301=y
# end of USB Physical Layer drivers

CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
CONFIG_USB_GADGET_DEBUG_FILES=y
CONFIG_USB_GADGET_DEBUG_FS=y
CONFIG_USB_GADGET_VBUS_DRAW=500
CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
CONFIG_U_SERIAL_CONSOLE=y

#
# USB Peripheral Controller
#
CONFIG_USB_GR_UDC=y
CONFIG_USB_R8A66597=y
CONFIG_USB_PXA27X=y
CONFIG_USB_MV_UDC=y
CONFIG_USB_MV_U3D=y
CONFIG_USB_SNP_CORE=y
# CONFIG_USB_SNP_UDC_PLAT is not set
# CONFIG_USB_M66592 is not set
CONFIG_USB_BDC_UDC=y
CONFIG_USB_AMD5536UDC=y
CONFIG_USB_NET2272=y
CONFIG_USB_NET2272_DMA=y
CONFIG_USB_NET2280=y
CONFIG_USB_GOKU=y
CONFIG_USB_EG20T=y
# CONFIG_USB_GADGET_XILINX is not set
# CONFIG_USB_MAX3420_UDC is not set
# CONFIG_USB_CDNS2_UDC is not set
CONFIG_USB_DUMMY_HCD=y
# end of USB Peripheral Controller

CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_F_ACM=y
CONFIG_USB_F_SS_LB=y
CONFIG_USB_U_SERIAL=y
CONFIG_USB_U_ETHER=y
CONFIG_USB_U_AUDIO=y
CONFIG_USB_F_SERIAL=y
CONFIG_USB_F_OBEX=y
CONFIG_USB_F_NCM=y
CONFIG_USB_F_ECM=y
CONFIG_USB_F_PHONET=y
CONFIG_USB_F_EEM=y
CONFIG_USB_F_SUBSET=y
CONFIG_USB_F_RNDIS=y
CONFIG_USB_F_MASS_STORAGE=y
CONFIG_USB_F_FS=y
CONFIG_USB_F_UAC1=y
CONFIG_USB_F_UAC1_LEGACY=y
CONFIG_USB_F_UAC2=y
CONFIG_USB_F_UVC=y
CONFIG_USB_F_MIDI=y
CONFIG_USB_F_HID=y
CONFIG_USB_F_PRINTER=y
CONFIG_USB_F_TCM=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_OBEX=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_ECM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_EEM=y
CONFIG_USB_CONFIGFS_PHONET=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_LB_SS=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_UAC1=y
CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y
CONFIG_USB_CONFIGFS_F_UAC2=y
CONFIG_USB_CONFIGFS_F_MIDI=y
# CONFIG_USB_CONFIGFS_F_MIDI2 is not set
CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_CONFIGFS_F_UVC=y
CONFIG_USB_CONFIGFS_F_PRINTER=y
CONFIG_USB_CONFIGFS_F_TCM=y

#
# USB Gadget precomposed configurations
#
# CONFIG_USB_ZERO is not set
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_ETH is not set
# CONFIG_USB_G_NCM is not set
CONFIG_USB_GADGETFS=y
# CONFIG_USB_FUNCTIONFS is not set
# CONFIG_USB_MASS_STORAGE is not set
# CONFIG_USB_GADGET_TARGET is not set
# CONFIG_USB_G_SERIAL is not set
# CONFIG_USB_MIDI_GADGET is not set
# CONFIG_USB_G_PRINTER is not set
# CONFIG_USB_CDC_COMPOSITE is not set
# CONFIG_USB_G_NOKIA is not set
# CONFIG_USB_G_ACM_MS is not set
# CONFIG_USB_G_MULTI is not set
# CONFIG_USB_G_HID is not set
# CONFIG_USB_G_DBGP is not set
# CONFIG_USB_G_WEBCAM is not set
CONFIG_USB_RAW_GADGET=y
# end of USB Gadget precomposed configurations

CONFIG_TYPEC=y
CONFIG_TYPEC_TCPM=y
CONFIG_TYPEC_TCPCI=y
# CONFIG_TYPEC_RT1711H is not set
# CONFIG_TYPEC_TCPCI_MAXIM is not set
CONFIG_TYPEC_FUSB302=y
CONFIG_TYPEC_UCSI=y
# CONFIG_UCSI_CCG is not set
CONFIG_UCSI_ACPI=y
# CONFIG_UCSI_STM32G0 is not set
CONFIG_TYPEC_TPS6598X=y
# CONFIG_TYPEC_ANX7411 is not set
# CONFIG_TYPEC_RT1719 is not set
# CONFIG_TYPEC_HD3SS3220 is not set
# CONFIG_TYPEC_STUSB160X is not set
# CONFIG_TYPEC_WUSB3801 is not set

#
# USB Type-C Multiplexer/DeMultiplexer Switch support
#
# CONFIG_TYPEC_MUX_FSA4480 is not set
# CONFIG_TYPEC_MUX_GPIO_SBU is not set
# CONFIG_TYPEC_MUX_PI3USB30532 is not set
# CONFIG_TYPEC_MUX_IT5205 is not set
# CONFIG_TYPEC_MUX_NB7VPQ904M is not set
# CONFIG_TYPEC_MUX_PTN36502 is not set
# CONFIG_TYPEC_MUX_WCD939X_USBSS is not set
# end of USB Type-C Multiplexer/DeMultiplexer Switch support

#
# USB Type-C Alternate Mode drivers
#
# CONFIG_TYPEC_DP_ALTMODE is not set
# end of USB Type-C Alternate Mode drivers

CONFIG_USB_ROLE_SWITCH=y
# CONFIG_USB_ROLES_INTEL_XHCI is not set
CONFIG_MMC=y
# CONFIG_PWRSEQ_EMMC is not set
# CONFIG_PWRSEQ_SIMPLE is not set
# CONFIG_MMC_BLOCK is not set
# CONFIG_SDIO_UART is not set
# CONFIG_MMC_TEST is not set
# CONFIG_MMC_CRYPTO is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_SDHCI is not set
# CONFIG_MMC_WBSD is not set
# CONFIG_MMC_TIFM_SD is not set
# CONFIG_MMC_SPI is not set
# CONFIG_MMC_SDRICOH_CS is not set
# CONFIG_MMC_CB710 is not set
# CONFIG_MMC_VIA_SDMMC is not set
CONFIG_MMC_VUB300=y
CONFIG_MMC_USHC=y
# CONFIG_MMC_USDHI6ROL0 is not set
CONFIG_MMC_REALTEK_USB=y
# CONFIG_MMC_CQHCI is not set
# CONFIG_MMC_HSQ is not set
# CONFIG_MMC_TOSHIBA_PCI is not set
# CONFIG_MMC_MTK is not set
# CONFIG_SCSI_UFSHCD is not set
CONFIG_MEMSTICK=y
# CONFIG_MEMSTICK_DEBUG is not set

#
# MemoryStick drivers
#
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MSPRO_BLOCK is not set
# CONFIG_MS_BLOCK is not set

#
# MemoryStick Host Controller Drivers
#
# CONFIG_MEMSTICK_TIFM_MS is not set
# CONFIG_MEMSTICK_JMICRON_38X is not set
# CONFIG_MEMSTICK_R592 is not set
CONFIG_MEMSTICK_REALTEK_USB=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
# CONFIG_LEDS_CLASS_FLASH is not set
# CONFIG_LEDS_CLASS_MULTICOLOR is not set
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set

#
# LED drivers
#
# CONFIG_LEDS_AN30259A is not set
# CONFIG_LEDS_APU is not set
# CONFIG_LEDS_AW200XX is not set
# CONFIG_LEDS_AW2013 is not set
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_CHT_WCOVE is not set
# CONFIG_LEDS_CR0014114 is not set
# CONFIG_LEDS_EL15203000 is not set
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_LM3532 is not set
# CONFIG_LEDS_LM3642 is not set
# CONFIG_LEDS_LM3692X is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_GPIO is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP3952 is not set
# CONFIG_LEDS_LP8860 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_BD2606MVV is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_INTEL_SS4200 is not set
# CONFIG_LEDS_LT3593 is not set
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set

#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
# CONFIG_LEDS_BLINKM is not set
# CONFIG_LEDS_SYSCON is not set
# CONFIG_LEDS_MLXCPLD is not set
# CONFIG_LEDS_MLXREG is not set
# CONFIG_LEDS_USER is not set
# CONFIG_LEDS_NIC78BX is not set
# CONFIG_LEDS_SPI_BYTE is not set
# CONFIG_LEDS_LM3697 is not set
# CONFIG_LEDS_LGM is not set

#
# Flash and Torch LED drivers
#

#
# RGB LED drivers
#

#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
# CONFIG_LEDS_TRIGGER_TIMER is not set
# CONFIG_LEDS_TRIGGER_ONESHOT is not set
# CONFIG_LEDS_TRIGGER_DISK is not set
# CONFIG_LEDS_TRIGGER_MTD is not set
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
# CONFIG_LEDS_TRIGGER_CPU is not set
# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
# CONFIG_LEDS_TRIGGER_GPIO is not set
# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set

#
# iptables trigger is under Netfilter config (LED target)
#
# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
# CONFIG_LEDS_TRIGGER_CAMERA is not set
# CONFIG_LEDS_TRIGGER_PANIC is not set
# CONFIG_LEDS_TRIGGER_NETDEV is not set
# CONFIG_LEDS_TRIGGER_PATTERN is not set
CONFIG_LEDS_TRIGGER_AUDIO=y
# CONFIG_LEDS_TRIGGER_TTY is not set

#
# Simple LED drivers
#
# CONFIG_ACCESSIBILITY is not set
CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_USER_MAD=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y
CONFIG_INFINIBAND_VIRT_DMA=y
# CONFIG_INFINIBAND_EFA is not set
# CONFIG_INFINIBAND_ERDMA is not set
CONFIG_MLX4_INFINIBAND=y
# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_OCRDMA is not set
# CONFIG_INFINIBAND_USNIC is not set
# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFINIBAND_RDMAVT is not set
CONFIG_RDMA_RXE=y
CONFIG_RDMA_SIW=y
CONFIG_INFINIBAND_IPOIB=y
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG=y
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
CONFIG_INFINIBAND_SRP=y
# CONFIG_INFINIBAND_SRPT is not set
CONFIG_INFINIBAND_ISER=y
CONFIG_INFINIBAND_RTRS=y
CONFIG_INFINIBAND_RTRS_CLIENT=y
# CONFIG_INFINIBAND_RTRS_SERVER is not set
# CONFIG_INFINIBAND_OPA_VNIC is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
# CONFIG_EDAC_LEGACY_SYSFS is not set
# CONFIG_EDAC_DEBUG is not set
# CONFIG_EDAC_DECODE_MCE is not set
# CONFIG_EDAC_E752X is not set
# CONFIG_EDAC_I82975X is not set
# CONFIG_EDAC_I3000 is not set
# CONFIG_EDAC_I3200 is not set
# CONFIG_EDAC_IE31200 is not set
# CONFIG_EDAC_X38 is not set
# CONFIG_EDAC_I5400 is not set
# CONFIG_EDAC_I7CORE is not set
# CONFIG_EDAC_I5100 is not set
# CONFIG_EDAC_I7300 is not set
# CONFIG_EDAC_SBRIDGE is not set
# CONFIG_EDAC_SKX is not set
# CONFIG_EDAC_I10NM is not set
# CONFIG_EDAC_PND2 is not set
# CONFIG_EDAC_IGEN6 is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
# CONFIG_RTC_HCTOSYS is not set
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
# CONFIG_RTC_NVMEM is not set

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_ABB5ZES3 is not set
# CONFIG_RTC_DRV_ABEOZ9 is not set
# CONFIG_RTC_DRV_ABX80X is not set
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_HYM8563 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_MAX31335 is not set
# CONFIG_RTC_DRV_NCT3018Y is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_ISL12026 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8523 is not set
# CONFIG_RTC_DRV_PCF85063 is not set
# CONFIG_RTC_DRV_PCF85363 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_TWL4030 is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8010 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3028 is not set
# CONFIG_RTC_DRV_RV3032 is not set
# CONFIG_RTC_DRV_RV8803 is not set
# CONFIG_RTC_DRV_SD3078 is not set

#
# SPI RTC drivers
#
# CONFIG_RTC_DRV_M41T93 is not set
# CONFIG_RTC_DRV_M41T94 is not set
# CONFIG_RTC_DRV_DS1302 is not set
# CONFIG_RTC_DRV_DS1305 is not set
# CONFIG_RTC_DRV_DS1343 is not set
# CONFIG_RTC_DRV_DS1347 is not set
# CONFIG_RTC_DRV_DS1390 is not set
# CONFIG_RTC_DRV_MAX6916 is not set
# CONFIG_RTC_DRV_R9701 is not set
# CONFIG_RTC_DRV_RX4581 is not set
# CONFIG_RTC_DRV_RS5C348 is not set
# CONFIG_RTC_DRV_MAX6902 is not set
# CONFIG_RTC_DRV_PCF2123 is not set
# CONFIG_RTC_DRV_MCP795 is not set
CONFIG_RTC_I2C_AND_SPI=y

#
# SPI and I2C RTC drivers
#
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_PCF2127 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set
# CONFIG_RTC_DRV_RX6110 is not set

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1685_FAMILY is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_DS2404 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_ZYNQMP is not set

#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_CADENCE is not set
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_R7301 is not set

#
# HID Sensor RTC drivers
#
CONFIG_RTC_DRV_HID_SENSOR_TIME=y
# CONFIG_RTC_DRV_GOLDFISH is not set
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set

#
# DMA Devices
#
CONFIG_DMA_ENGINE=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_ACPI=y
CONFIG_DMA_OF=y
# CONFIG_ALTERA_MSGDMA is not set
# CONFIG_DW_AXI_DMAC is not set
# CONFIG_FSL_EDMA is not set
CONFIG_INTEL_IDMA64=y
# CONFIG_INTEL_IDXD is not set
# CONFIG_INTEL_IDXD_COMPAT is not set
CONFIG_INTEL_IOATDMA=y
# CONFIG_PLX_DMA is not set
# CONFIG_XILINX_DMA is not set
# CONFIG_XILINX_XDMA is not set
# CONFIG_XILINX_ZYNQMP_DPDMA is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_HIDMA is not set
CONFIG_DW_DMAC_CORE=y
# CONFIG_DW_DMAC is not set
# CONFIG_DW_DMAC_PCI is not set
# CONFIG_DW_EDMA is not set
CONFIG_HSU_DMA=y
# CONFIG_SF_PDMA is not set
# CONFIG_INTEL_LDMA is not set

#
# DMA Clients
#
CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DMA_ENGINE_RAID=y

#
# DMABUF options
#
CONFIG_SYNC_FILE=y
CONFIG_SW_SYNC=y
CONFIG_UDMABUF=y
CONFIG_DMABUF_MOVE_NOTIFY=y
# CONFIG_DMABUF_DEBUG is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMABUF_HEAPS=y
# CONFIG_DMABUF_SYSFS_STATS is not set
CONFIG_DMABUF_HEAPS_SYSTEM=y
CONFIG_DMABUF_HEAPS_CMA=y
# end of DMABUF options

CONFIG_DCA=y
# CONFIG_UIO is not set
CONFIG_VFIO=y
CONFIG_VFIO_DEVICE_CDEV=y
# CONFIG_VFIO_GROUP is not set
CONFIG_VFIO_VIRQFD=y
# CONFIG_VFIO_DEBUGFS is not set

#
# VFIO support for PCI devices
#
CONFIG_VFIO_PCI_CORE=y
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_VFIO_PCI=y
# CONFIG_VFIO_PCI_VGA is not set
# CONFIG_VFIO_PCI_IGD is not set
# CONFIG_VIRTIO_VFIO_PCI is not set
# end of VFIO support for PCI devices

CONFIG_IRQ_BYPASS_MANAGER=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_ANCHOR=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI_LIB=y
CONFIG_VIRTIO_PCI_LIB_LEGACY=y
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_ADMIN_LEGACY=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_VDPA=y
CONFIG_VIRTIO_PMEM=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_MEM=y
CONFIG_VIRTIO_INPUT=y
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_VIRTIO_DMA_SHARED_BUFFER=y
CONFIG_VDPA=y
CONFIG_VDPA_SIM=y
CONFIG_VDPA_SIM_NET=y
CONFIG_VDPA_SIM_BLOCK=y
CONFIG_VDPA_USER=y
# CONFIG_IFCVF is not set
# CONFIG_MLX5_VDPA_STEERING_DEBUG is not set
CONFIG_VP_VDPA=y
# CONFIG_ALIBABA_ENI_VDPA is not set
# CONFIG_SNET_VDPA is not set
CONFIG_VHOST_IOTLB=y
CONFIG_VHOST_RING=y
CONFIG_VHOST_TASK=y
CONFIG_VHOST=y
CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=y
# CONFIG_VHOST_SCSI is not set
CONFIG_VHOST_VSOCK=y
CONFIG_VHOST_VDPA=y
CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y

#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV is not set
# end of Microsoft Hyper-V guest support

CONFIG_GREYBUS=y
# CONFIG_GREYBUS_BEAGLEPLAY is not set
CONFIG_GREYBUS_ES2=y
CONFIG_COMEDI=y
# CONFIG_COMEDI_DEBUG is not set
CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
# CONFIG_COMEDI_MISC_DRIVERS is not set
# CONFIG_COMEDI_PCI_DRIVERS is not set
# CONFIG_COMEDI_PCMCIA_DRIVERS is not set
CONFIG_COMEDI_USB_DRIVERS=y
CONFIG_COMEDI_DT9812=y
CONFIG_COMEDI_NI_USB6501=y
CONFIG_COMEDI_USBDUX=y
CONFIG_COMEDI_USBDUXFAST=y
CONFIG_COMEDI_USBDUXSIGMA=y
CONFIG_COMEDI_VMK80XX=y
# CONFIG_COMEDI_8255_SA is not set
# CONFIG_COMEDI_KCOMEDILIB is not set
# CONFIG_COMEDI_TESTS is not set
CONFIG_STAGING=y
CONFIG_PRISM2_USB=y
# CONFIG_RTLLIB is not set
# CONFIG_RTL8723BS is not set
CONFIG_R8712U=y
# CONFIG_RTS5208 is not set
# CONFIG_VT6655 is not set
# CONFIG_VT6656 is not set

#
# IIO staging drivers
#

#
# Accelerometers
#
# CONFIG_ADIS16203 is not set
# CONFIG_ADIS16240 is not set
# end of Accelerometers

#
# Analog to digital converters
#
# CONFIG_AD7816 is not set
# end of Analog to digital converters

#
# Analog digital bi-direction converters
#
# CONFIG_ADT7316 is not set
# end of Analog digital bi-direction converters

#
# Direct Digital Synthesis
#
# CONFIG_AD9832 is not set
# CONFIG_AD9834 is not set
# end of Direct Digital Synthesis

#
# Network Analyzer, Impedance Converters
#
# CONFIG_AD5933 is not set
# end of Network Analyzer, Impedance Converters
# end of IIO staging drivers

# CONFIG_FB_SM750 is not set
# CONFIG_STAGING_MEDIA is not set
# CONFIG_LTE_GDM724X is not set
# CONFIG_MOST_COMPONENTS is not set
# CONFIG_KS7010 is not set
# CONFIG_GREYBUS_BOOTROM is not set
# CONFIG_GREYBUS_FIRMWARE is not set
CONFIG_GREYBUS_HID=y
# CONFIG_GREYBUS_LOG is not set
# CONFIG_GREYBUS_LOOPBACK is not set
# CONFIG_GREYBUS_POWER is not set
# CONFIG_GREYBUS_RAW is not set
# CONFIG_GREYBUS_VIBRATOR is not set
CONFIG_GREYBUS_BRIDGED_PHY=y
# CONFIG_GREYBUS_GPIO is not set
# CONFIG_GREYBUS_I2C is not set
# CONFIG_GREYBUS_SDIO is not set
# CONFIG_GREYBUS_SPI is not set
# CONFIG_GREYBUS_UART is not set
CONFIG_GREYBUS_USB=y
# CONFIG_PI433 is not set
# CONFIG_XIL_AXIS_FIFO is not set
# CONFIG_FIELDBUS_DEV is not set
# CONFIG_VME_BUS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_CHROME_PLATFORMS is not set
# CONFIG_MELLANOX_PLATFORM is not set
CONFIG_SURFACE_PLATFORMS=y
# CONFIG_SURFACE3_WMI is not set
# CONFIG_SURFACE_3_POWER_OPREGION is not set
# CONFIG_SURFACE_GPE is not set
# CONFIG_SURFACE_HOTPLUG is not set
# CONFIG_SURFACE_PRO3_BUTTON is not set
# CONFIG_SURFACE_AGGREGATOR is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACPI_WMI=y
CONFIG_WMI_BMOF=y
# CONFIG_HUAWEI_WMI is not set
# CONFIG_MXM_WMI is not set
# CONFIG_NVIDIA_WMI_EC_BACKLIGHT is not set
# CONFIG_XIAOMI_WMI is not set
# CONFIG_GIGABYTE_WMI is not set
# CONFIG_YOGABOOK is not set
# CONFIG_ACERHDF is not set
# CONFIG_ACER_WIRELESS is not set
# CONFIG_ACER_WMI is not set
# CONFIG_AMD_PMC is not set
# CONFIG_AMD_HSMP is not set
# CONFIG_AMD_WBRF is not set
# CONFIG_ADV_SWBUTTON is not set
# CONFIG_APPLE_GMUX is not set
# CONFIG_ASUS_LAPTOP is not set
# CONFIG_ASUS_WIRELESS is not set
CONFIG_ASUS_WMI=y
# CONFIG_ASUS_NB_WMI is not set
# CONFIG_ASUS_TF103C_DOCK is not set
CONFIG_EEEPC_LAPTOP=y
# CONFIG_EEEPC_WMI is not set
# CONFIG_X86_PLATFORM_DRIVERS_DELL is not set
# CONFIG_AMILO_RFKILL is not set
# CONFIG_FUJITSU_LAPTOP is not set
# CONFIG_FUJITSU_TABLET is not set
# CONFIG_GPD_POCKET_FAN is not set
# CONFIG_X86_PLATFORM_DRIVERS_HP is not set
# CONFIG_WIRELESS_HOTKEY is not set
# CONFIG_IBM_RTL is not set
# CONFIG_IDEAPAD_LAPTOP is not set
# CONFIG_LENOVO_YMC is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_THINKPAD_LMI is not set
# CONFIG_INTEL_ATOMISP2_PM is not set
# CONFIG_INTEL_IFS is not set
# CONFIG_INTEL_SAR_INT1092 is not set
# CONFIG_INTEL_SKL_INT3472 is not set

#
# Intel Speed Select Technology interface support
#
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
# end of Intel Speed Select Technology interface support

# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
# CONFIG_INTEL_WMI_THUNDERBOLT is not set

#
# Intel Uncore Frequency Control
#
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
# end of Intel Uncore Frequency Control

# CONFIG_INTEL_HID_EVENT is not set
# CONFIG_INTEL_VBTN is not set
# CONFIG_INTEL_INT0002_VGPIO is not set
# CONFIG_INTEL_OAKTRAIL is not set
# CONFIG_INTEL_ISHTP_ECLITE is not set
# CONFIG_INTEL_PUNIT_IPC is not set
# CONFIG_INTEL_RST is not set
# CONFIG_INTEL_SMARTCONNECT is not set
# CONFIG_INTEL_TURBO_MAX_3 is not set
# CONFIG_INTEL_VSEC is not set
# CONFIG_MSI_EC is not set
# CONFIG_MSI_LAPTOP is not set
# CONFIG_MSI_WMI is not set
# CONFIG_PCENGINES_APU2 is not set
# CONFIG_BARCO_P50_GPIO is not set
# CONFIG_SAMSUNG_LAPTOP is not set
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_TOSHIBA_HAPS is not set
# CONFIG_TOSHIBA_WMI is not set
# CONFIG_ACPI_CMPC is not set
# CONFIG_COMPAL_LAPTOP is not set
# CONFIG_LG_LAPTOP is not set
# CONFIG_PANASONIC_LAPTOP is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_SYSTEM76_ACPI is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_SERIAL_MULTI_INSTANTIATE is not set
# CONFIG_MLX_PLATFORM is not set
# CONFIG_INSPUR_PLATFORM_PROFILE is not set
# CONFIG_INTEL_IPS is not set
# CONFIG_INTEL_SCU_PCI is not set
# CONFIG_INTEL_SCU_PLATFORM is not set
# CONFIG_SIEMENS_SIMATIC_IPC is not set
# CONFIG_WINMATE_FM07_KEYS is not set
CONFIG_P2SB=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
# CONFIG_LMK04832 is not set
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_SI5341 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_CLK_TWL is not set
# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
# CONFIG_COMMON_CLK_RS9_PCIE is not set
# CONFIG_COMMON_CLK_SI521XX is not set
# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
# CONFIG_CLK_LGM_CGU is not set
# CONFIG_XILINX_VCU is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
# CONFIG_HWSPINLOCK is not set

#
# Clock Source drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
# end of Clock Source drivers

CONFIG_MAILBOX=y
# CONFIG_PLATFORM_MHU is not set
CONFIG_PCC=y
# CONFIG_ALTERA_MBOX is not set
# CONFIG_MAILBOX_TEST is not set
CONFIG_IOMMU_IOVA=y
CONFIG_IOMMU_API=y
CONFIG_IOMMUFD_DRIVER=y
CONFIG_IOMMU_SUPPORT=y

#
# Generic IOMMU Pagetable Support
#
# end of Generic IOMMU Pagetable Support

# CONFIG_IOMMU_DEBUGFS is not set
# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
CONFIG_OF_IOMMU=y
CONFIG_IOMMU_DMA=y
CONFIG_IOMMU_SVA=y
CONFIG_IOMMU_IOPF=y
# CONFIG_AMD_IOMMU is not set
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_PERF_EVENTS=y
CONFIG_IOMMUFD=y
CONFIG_IOMMUFD_TEST=y
CONFIG_IRQ_REMAP=y
# CONFIG_VIRTIO_IOMMU is not set

#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set
# end of Remoteproc drivers

#
# Rpmsg drivers
#
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
# CONFIG_RPMSG_VIRTIO is not set
# end of Rpmsg drivers

# CONFIG_SOUNDWIRE is not set

#
# SOC (System On Chip) specific Drivers
#

#
# Amlogic SoC drivers
#
# end of Amlogic SoC drivers

#
# Broadcom SoC drivers
#
# end of Broadcom SoC drivers

#
# NXP/Freescale QorIQ SoC drivers
#
# end of NXP/Freescale QorIQ SoC drivers

#
# fujitsu SoC drivers
#
# end of fujitsu SoC drivers

#
# i.MX SoC drivers
#
# end of i.MX SoC drivers

#
# Enable LiteX SoC Builder specific drivers
#
# CONFIG_LITEX_SOC_CONTROLLER is not set
# end of Enable LiteX SoC Builder specific drivers

# CONFIG_WPCM450_SOC is not set

#
# Qualcomm SoC drivers
#
CONFIG_QCOM_QMI_HELPERS=y
# end of Qualcomm SoC drivers

# CONFIG_SOC_TI is not set

#
# Xilinx SoC drivers
#
# end of Xilinx SoC drivers
# end of SOC (System On Chip) specific Drivers

#
# PM Domains
#

#
# Amlogic PM Domains
#
# end of Amlogic PM Domains

#
# Broadcom PM Domains
#
# end of Broadcom PM Domains

#
# i.MX PM Domains
#
# end of i.MX PM Domains

#
# Qualcomm PM Domains
#
# end of Qualcomm PM Domains
# end of PM Domains

# CONFIG_PM_DEVFREQ is not set
CONFIG_EXTCON=y

#
# Extcon Device Drivers
#
# CONFIG_EXTCON_ADC_JACK is not set
# CONFIG_EXTCON_FSA9480 is not set
# CONFIG_EXTCON_GPIO is not set
# CONFIG_EXTCON_INTEL_INT3496 is not set
CONFIG_EXTCON_INTEL_CHT_WC=y
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_PTN5150 is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
# CONFIG_EXTCON_USB_GPIO is not set
# CONFIG_EXTCON_USBC_TUSB320 is not set
# CONFIG_MEMORY is not set
CONFIG_IIO=y
CONFIG_IIO_BUFFER=y
# CONFIG_IIO_BUFFER_CB is not set
# CONFIG_IIO_BUFFER_DMA is not set
# CONFIG_IIO_BUFFER_DMAENGINE is not set
# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
CONFIG_IIO_KFIFO_BUF=y
CONFIG_IIO_TRIGGERED_BUFFER=y
# CONFIG_IIO_CONFIGFS is not set
CONFIG_IIO_TRIGGER=y
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
# CONFIG_IIO_SW_DEVICE is not set
# CONFIG_IIO_SW_TRIGGER is not set
# CONFIG_IIO_TRIGGERED_EVENT is not set

#
# Accelerometers
#
# CONFIG_ADIS16201 is not set
# CONFIG_ADIS16209 is not set
# CONFIG_ADXL313_I2C is not set
# CONFIG_ADXL313_SPI is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
# CONFIG_ADXL355_I2C is not set
# CONFIG_ADXL355_SPI is not set
# CONFIG_ADXL367_SPI is not set
# CONFIG_ADXL367_I2C is not set
# CONFIG_ADXL372_SPI is not set
# CONFIG_ADXL372_I2C is not set
# CONFIG_BMA180 is not set
# CONFIG_BMA220 is not set
# CONFIG_BMA400 is not set
# CONFIG_BMC150_ACCEL is not set
# CONFIG_BMI088_ACCEL is not set
# CONFIG_DA280 is not set
# CONFIG_DA311 is not set
# CONFIG_DMARD06 is not set
# CONFIG_DMARD09 is not set
# CONFIG_DMARD10 is not set
# CONFIG_FXLS8962AF_I2C is not set
# CONFIG_FXLS8962AF_SPI is not set
CONFIG_HID_SENSOR_ACCEL_3D=y
# CONFIG_IIO_ST_ACCEL_3AXIS is not set
# CONFIG_IIO_KX022A_SPI is not set
# CONFIG_IIO_KX022A_I2C is not set
# CONFIG_KXSD9 is not set
# CONFIG_KXCJK1013 is not set
# CONFIG_MC3230 is not set
# CONFIG_MMA7455_I2C is not set
# CONFIG_MMA7455_SPI is not set
# CONFIG_MMA7660 is not set
# CONFIG_MMA8452 is not set
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MSA311 is not set
# CONFIG_MXC4005 is not set
# CONFIG_MXC6255 is not set
# CONFIG_SCA3000 is not set
# CONFIG_SCA3300 is not set
# CONFIG_STK8312 is not set
# CONFIG_STK8BA50 is not set
# end of Accelerometers

#
# Analog to digital converters
#
# CONFIG_AD4130 is not set
# CONFIG_AD7091R5 is not set
# CONFIG_AD7091R8 is not set
# CONFIG_AD7124 is not set
# CONFIG_AD7192 is not set
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
# CONFIG_AD7292 is not set
# CONFIG_AD7298 is not set
# CONFIG_AD7476 is not set
# CONFIG_AD7606_IFACE_PARALLEL is not set
# CONFIG_AD7606_IFACE_SPI is not set
# CONFIG_AD7766 is not set
# CONFIG_AD7768_1 is not set
# CONFIG_AD7780 is not set
# CONFIG_AD7791 is not set
# CONFIG_AD7793 is not set
# CONFIG_AD7887 is not set
# CONFIG_AD7923 is not set
# CONFIG_AD7949 is not set
# CONFIG_AD799X is not set
# CONFIG_AD9467 is not set
# CONFIG_ADI_AXI_ADC is not set
# CONFIG_CC10001_ADC is not set
CONFIG_DLN2_ADC=y
# CONFIG_ENVELOPE_DETECTOR is not set
# CONFIG_HI8435 is not set
# CONFIG_HX711 is not set
# CONFIG_INA2XX_ADC is not set
# CONFIG_LTC2309 is not set
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
# CONFIG_MAX1118 is not set
# CONFIG_MAX11205 is not set
# CONFIG_MAX11410 is not set
# CONFIG_MAX1241 is not set
# CONFIG_MAX1363 is not set
# CONFIG_MAX34408 is not set
# CONFIG_MAX9611 is not set
# CONFIG_MCP320X is not set
# CONFIG_MCP3422 is not set
# CONFIG_MCP3564 is not set
# CONFIG_MCP3911 is not set
# CONFIG_NAU7802 is not set
# CONFIG_PAC1934 is not set
# CONFIG_RICHTEK_RTQ6056 is not set
# CONFIG_SD_ADC_MODULATOR is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC108S102 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
# CONFIG_TI_ADS7924 is not set
# CONFIG_TI_ADS1100 is not set
# CONFIG_TI_ADS1298 is not set
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8344 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_ADS124S08 is not set
# CONFIG_TI_ADS131E08 is not set
# CONFIG_TI_LMP92064 is not set
# CONFIG_TI_TLC4541 is not set
# CONFIG_TI_TSC2046 is not set
# CONFIG_TWL4030_MADC is not set
# CONFIG_TWL6030_GPADC is not set
# CONFIG_VF610_ADC is not set
CONFIG_VIPERBOARD_ADC=y
# CONFIG_XILINX_XADC is not set
# end of Analog to digital converters

#
# Analog to digital and digital to analog converters
#
# CONFIG_AD74115 is not set
# CONFIG_AD74413R is not set
# end of Analog to digital and digital to analog converters

#
# Analog Front Ends
#
# CONFIG_IIO_RESCALE is not set
# end of Analog Front Ends

#
# Amplifiers
#
# CONFIG_AD8366 is not set
# CONFIG_ADA4250 is not set
# CONFIG_HMC425 is not set
# end of Amplifiers

#
# Capacitance to digital converters
#
# CONFIG_AD7150 is not set
# CONFIG_AD7746 is not set
# end of Capacitance to digital converters

#
# Chemical Sensors
#
# CONFIG_AOSONG_AGS02MA is not set
# CONFIG_ATLAS_PH_SENSOR is not set
# CONFIG_ATLAS_EZO_SENSOR is not set
# CONFIG_BME680 is not set
# CONFIG_CCS811 is not set
# CONFIG_IAQCORE is not set
# CONFIG_PMS7003 is not set
# CONFIG_SCD30_CORE is not set
# CONFIG_SCD4X is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
# CONFIG_SPS30_I2C is not set
# CONFIG_SPS30_SERIAL is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_VZ89X is not set
# end of Chemical Sensors

#
# Hid Sensor IIO Common
#
CONFIG_HID_SENSOR_IIO_COMMON=y
CONFIG_HID_SENSOR_IIO_TRIGGER=y
# end of Hid Sensor IIO Common

#
# IIO SCMI Sensors
#
# end of IIO SCMI Sensors

#
# SSP Sensor Common
#
# CONFIG_IIO_SSP_SENSORHUB is not set
# end of SSP Sensor Common

#
# Digital to analog converters
#
# CONFIG_AD3552R is not set
# CONFIG_AD5064 is not set
# CONFIG_AD5360 is not set
# CONFIG_AD5380 is not set
# CONFIG_AD5421 is not set
# CONFIG_AD5446 is not set
# CONFIG_AD5449 is not set
# CONFIG_AD5592R is not set
# CONFIG_AD5593R is not set
# CONFIG_AD5504 is not set
# CONFIG_AD5624R_SPI is not set
# CONFIG_LTC2688 is not set
# CONFIG_AD5686_SPI is not set
# CONFIG_AD5696_I2C is not set
# CONFIG_AD5755 is not set
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
# CONFIG_AD5766 is not set
# CONFIG_AD5770R is not set
# CONFIG_AD5791 is not set
# CONFIG_AD7293 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD8801 is not set
# CONFIG_DPOT_DAC is not set
# CONFIG_DS4424 is not set
# CONFIG_LTC1660 is not set
# CONFIG_LTC2632 is not set
# CONFIG_M62332 is not set
# CONFIG_MAX517 is not set
# CONFIG_MAX5522 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MCP4725 is not set
# CONFIG_MCP4728 is not set
# CONFIG_MCP4821 is not set
# CONFIG_MCP4922 is not set
# CONFIG_TI_DAC082S085 is not set
# CONFIG_TI_DAC5571 is not set
# CONFIG_TI_DAC7311 is not set
# CONFIG_TI_DAC7612 is not set
# CONFIG_VF610_DAC is not set
# end of Digital to analog converters

#
# IIO dummy driver
#
# end of IIO dummy driver

#
# Filters
#
# CONFIG_ADMV8818 is not set
# end of Filters

#
# Frequency Synthesizers DDS/PLL
#

#
# Clock Generator/Distribution
#
# CONFIG_AD9523 is not set
# end of Clock Generator/Distribution

#
# Phase-Locked Loop (PLL) frequency synthesizers
#
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
# CONFIG_ADF4377 is not set
# CONFIG_ADMFM2000 is not set
# CONFIG_ADMV1013 is not set
# CONFIG_ADMV1014 is not set
# CONFIG_ADMV4420 is not set
# CONFIG_ADRF6780 is not set
# end of Phase-Locked Loop (PLL) frequency synthesizers
# end of Frequency Synthesizers DDS/PLL

#
# Digital gyroscope sensors
#
# CONFIG_ADIS16080 is not set
# CONFIG_ADIS16130 is not set
# CONFIG_ADIS16136 is not set
# CONFIG_ADIS16260 is not set
# CONFIG_ADXRS290 is not set
# CONFIG_ADXRS450 is not set
# CONFIG_BMG160 is not set
# CONFIG_FXAS21002C is not set
CONFIG_HID_SENSOR_GYRO_3D=y
# CONFIG_MPU3050_I2C is not set
# CONFIG_IIO_ST_GYRO_3AXIS is not set
# CONFIG_ITG3200 is not set
# end of Digital gyroscope sensors

#
# Health Sensors
#

#
# Heart Rate Monitors
#
# CONFIG_AFE4403 is not set
# CONFIG_AFE4404 is not set
# CONFIG_MAX30100 is not set
# CONFIG_MAX30102 is not set
# end of Heart Rate Monitors
# end of Health Sensors

#
# Humidity sensors
#
# CONFIG_AM2315 is not set
# CONFIG_DHT11 is not set
# CONFIG_HDC100X is not set
# CONFIG_HDC2010 is not set
# CONFIG_HDC3020 is not set
CONFIG_HID_SENSOR_HUMIDITY=y
# CONFIG_HTS221 is not set
# CONFIG_HTU21 is not set
# CONFIG_SI7005 is not set
# CONFIG_SI7020 is not set
# end of Humidity sensors

#
# Inertial measurement units
#
# CONFIG_ADIS16400 is not set
# CONFIG_ADIS16460 is not set
# CONFIG_ADIS16475 is not set
# CONFIG_ADIS16480 is not set
# CONFIG_BMI160_I2C is not set
# CONFIG_BMI160_SPI is not set
# CONFIG_BMI323_I2C is not set
# CONFIG_BMI323_SPI is not set
# CONFIG_BOSCH_BNO055_SERIAL is not set
# CONFIG_BOSCH_BNO055_I2C is not set
# CONFIG_FXOS8700_I2C is not set
# CONFIG_FXOS8700_SPI is not set
# CONFIG_KMX61 is not set
# CONFIG_INV_ICM42600_I2C is not set
# CONFIG_INV_ICM42600_SPI is not set
# CONFIG_INV_MPU6050_I2C is not set
# CONFIG_INV_MPU6050_SPI is not set
# CONFIG_IIO_ST_LSM6DSX is not set
# CONFIG_IIO_ST_LSM9DS0 is not set
# end of Inertial measurement units

#
# Light sensors
#
# CONFIG_ACPI_ALS is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADUX1020 is not set
# CONFIG_AL3010 is not set
# CONFIG_AL3320A is not set
# CONFIG_APDS9300 is not set
# CONFIG_APDS9960 is not set
# CONFIG_AS73211 is not set
# CONFIG_BH1750 is not set
# CONFIG_BH1780 is not set
# CONFIG_CM32181 is not set
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
# CONFIG_CM3605 is not set
# CONFIG_CM36651 is not set
# CONFIG_GP2AP002 is not set
# CONFIG_GP2AP020A00F is not set
# CONFIG_SENSORS_ISL29018 is not set
# CONFIG_SENSORS_ISL29028 is not set
# CONFIG_ISL29125 is not set
# CONFIG_ISL76682 is not set
CONFIG_HID_SENSOR_ALS=y
CONFIG_HID_SENSOR_PROX=y
# CONFIG_JSA1212 is not set
# CONFIG_ROHM_BU27008 is not set
# CONFIG_ROHM_BU27034 is not set
# CONFIG_RPR0521 is not set
# CONFIG_LTR390 is not set
# CONFIG_LTR501 is not set
# CONFIG_LTRF216A is not set
# CONFIG_LV0104CS is not set
# CONFIG_MAX44000 is not set
# CONFIG_MAX44009 is not set
# CONFIG_NOA1305 is not set
# CONFIG_OPT3001 is not set
# CONFIG_OPT4001 is not set
# CONFIG_PA12203001 is not set
# CONFIG_SI1133 is not set
# CONFIG_SI1145 is not set
# CONFIG_STK3310 is not set
# CONFIG_ST_UVIS25 is not set
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_SENSORS_TSL2563 is not set
# CONFIG_TSL2583 is not set
# CONFIG_TSL2591 is not set
# CONFIG_TSL2772 is not set
# CONFIG_TSL4531 is not set
# CONFIG_US5182D is not set
# CONFIG_VCNL4000 is not set
# CONFIG_VCNL4035 is not set
# CONFIG_VEML6030 is not set
# CONFIG_VEML6070 is not set
# CONFIG_VEML6075 is not set
# CONFIG_VL6180 is not set
# CONFIG_ZOPT2201 is not set
# end of Light sensors

#
# Magnetometer sensors
#
# CONFIG_AF8133J is not set
# CONFIG_AK8974 is not set
# CONFIG_AK8975 is not set
# CONFIG_AK09911 is not set
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN_SPI is not set
# CONFIG_MAG3110 is not set
CONFIG_HID_SENSOR_MAGNETOMETER_3D=y
# CONFIG_MMC35240 is not set
# CONFIG_IIO_ST_MAGN_3AXIS is not set
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_RM3100_I2C is not set
# CONFIG_SENSORS_RM3100_SPI is not set
# CONFIG_TI_TMAG5273 is not set
# CONFIG_YAMAHA_YAS530 is not set
# end of Magnetometer sensors

#
# Multiplexers
#
# CONFIG_IIO_MUX is not set
# end of Multiplexers

#
# Inclinometer sensors
#
CONFIG_HID_SENSOR_INCLINOMETER_3D=y
CONFIG_HID_SENSOR_DEVICE_ROTATION=y
# end of Inclinometer sensors

#
# Triggers - standalone
#
# CONFIG_IIO_INTERRUPT_TRIGGER is not set
# CONFIG_IIO_SYSFS_TRIGGER is not set
# end of Triggers - standalone

#
# Linear and angular position sensors
#
# CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE is not set
# end of Linear and angular position sensors

#
# Digital potentiometers
#
# CONFIG_AD5110 is not set
# CONFIG_AD5272 is not set
# CONFIG_DS1803 is not set
# CONFIG_MAX5432 is not set
# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MCP4018 is not set
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP41010 is not set
# CONFIG_TPL0102 is not set
# CONFIG_X9250 is not set
# end of Digital potentiometers

#
# Digital potentiostats
#
# CONFIG_LMP91000 is not set
# end of Digital potentiostats

#
# Pressure sensors
#
# CONFIG_ABP060MG is not set
# CONFIG_ROHM_BM1390 is not set
# CONFIG_BMP280 is not set
# CONFIG_DLHL60D is not set
# CONFIG_DPS310 is not set
CONFIG_HID_SENSOR_PRESS=y
# CONFIG_HP03 is not set
# CONFIG_HSC030PA is not set
# CONFIG_ICP10100 is not set
# CONFIG_MPL115_I2C is not set
# CONFIG_MPL115_SPI is not set
# CONFIG_MPL3115 is not set
# CONFIG_MPRLS0025PA is not set
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_IIO_ST_PRESS is not set
# CONFIG_T5403 is not set
# CONFIG_HP206C is not set
# CONFIG_ZPA2326 is not set
# end of Pressure sensors

#
# Lightning sensors
#
# CONFIG_AS3935 is not set
# end of Lightning sensors

#
# Proximity and distance sensors
#
# CONFIG_IRSD200 is not set
# CONFIG_ISL29501 is not set
# CONFIG_LIDAR_LITE_V2 is not set
# CONFIG_MB1232 is not set
# CONFIG_PING is not set
# CONFIG_RFD77402 is not set
# CONFIG_SRF04 is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
# CONFIG_SX9360 is not set
# CONFIG_SX9500 is not set
# CONFIG_SRF08 is not set
# CONFIG_VCNL3020 is not set
# CONFIG_VL53L0X_I2C is not set
# end of Proximity and distance sensors

#
# Resolver to digital converters
#
# CONFIG_AD2S90 is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
# end of Resolver to digital converters

#
# Temperature sensors
#
# CONFIG_LTC2983 is not set
# CONFIG_MAXIM_THERMOCOUPLE is not set
CONFIG_HID_SENSOR_TEMP=y
# CONFIG_MLX90614 is not set
# CONFIG_MLX90632 is not set
# CONFIG_MLX90635 is not set
# CONFIG_TMP006 is not set
# CONFIG_TMP007 is not set
# CONFIG_TMP117 is not set
# CONFIG_TSYS01 is not set
# CONFIG_TSYS02D is not set
# CONFIG_MAX30208 is not set
# CONFIG_MAX31856 is not set
# CONFIG_MAX31865 is not set
# CONFIG_MCP9600 is not set
# end of Temperature sensors

# CONFIG_NTB is not set
# CONFIG_PWM is not set

#
# IRQ chip support
#
CONFIG_IRQCHIP=y
# CONFIG_AL_FIC is not set
# CONFIG_XILINX_INTC is not set
# end of IRQ chip support

# CONFIG_IPACK_BUS is not set
CONFIG_RESET_CONTROLLER=y
# CONFIG_RESET_GPIO is not set
# CONFIG_RESET_INTEL_GW is not set
# CONFIG_RESET_SIMPLE is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RESET_TI_TPS380X is not set

#
# PHY Subsystem
#
CONFIG_GENERIC_PHY=y
# CONFIG_USB_LGM_PHY is not set
# CONFIG_PHY_CAN_TRANSCEIVER is not set

#
# PHY drivers for Broadcom platforms
#
# CONFIG_BCM_KONA_USB2_PHY is not set
# end of PHY drivers for Broadcom platforms

# CONFIG_PHY_CADENCE_TORRENT is not set
# CONFIG_PHY_CADENCE_DPHY is not set
# CONFIG_PHY_CADENCE_DPHY_RX is not set
# CONFIG_PHY_CADENCE_SIERRA is not set
# CONFIG_PHY_CADENCE_SALVO is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_LAN966X_SERDES is not set
CONFIG_PHY_CPCAP_USB=y
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
# CONFIG_PHY_OCELOT_SERDES is not set
CONFIG_PHY_QCOM_USB_HS=y
CONFIG_PHY_QCOM_USB_HSIC=y
CONFIG_PHY_SAMSUNG_USB2=y
CONFIG_PHY_TUSB1210=y
# CONFIG_PHY_INTEL_LGM_COMBO is not set
# CONFIG_PHY_INTEL_LGM_EMMC is not set
# end of PHY Subsystem

# CONFIG_POWERCAP is not set
# CONFIG_MCB is not set

#
# Performance monitor support
#
# CONFIG_DWC_PCIE_PMU is not set
# end of Performance monitor support

CONFIG_RAS=y
CONFIG_USB4=y
# CONFIG_USB4_DEBUGFS_WRITE is not set
# CONFIG_USB4_DMA_TEST is not set

#
# Android
#
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES="binder0,binder1"
# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set
# end of Android

CONFIG_LIBNVDIMM=y
CONFIG_BLK_DEV_PMEM=y
CONFIG_ND_CLAIM=y
CONFIG_ND_BTT=y
CONFIG_BTT=y
CONFIG_ND_PFN=y
CONFIG_NVDIMM_PFN=y
CONFIG_NVDIMM_DAX=y
CONFIG_OF_PMEM=y
CONFIG_NVDIMM_KEYS=y
# CONFIG_NVDIMM_SECURITY_TEST is not set
CONFIG_DAX=y
CONFIG_DEV_DAX=y
# CONFIG_DEV_DAX_PMEM is not set
# CONFIG_DEV_DAX_KMEM is not set
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
CONFIG_NVMEM_LAYOUTS=y

#
# Layout Types
#
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# end of Layout Types

# CONFIG_NVMEM_RMEM is not set
# CONFIG_NVMEM_U_BOOT_ENV is not set

#
# HW tracing support
#
# CONFIG_STM is not set
# CONFIG_INTEL_TH is not set
# end of HW tracing support

# CONFIG_FPGA is not set
# CONFIG_FSI is not set
# CONFIG_TEE is not set
# CONFIG_SIOX is not set
# CONFIG_SLIMBUS is not set
# CONFIG_INTERCONNECT is not set
CONFIG_COUNTER=y
# CONFIG_INTEL_QEP is not set
# CONFIG_INTERRUPT_CNT is not set
CONFIG_MOST=y
# CONFIG_MOST_USB_HDM is not set
# CONFIG_MOST_CDEV is not set
# CONFIG_MOST_SND is not set
# CONFIG_PECI is not set
# CONFIG_HTE is not set
# end of Device Drivers

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_VALIDATE_FS_PARSER=y
CONFIG_FS_IOMAP=y
CONFIG_FS_STACK=y
CONFIG_BUFFER_HEAD=y
CONFIG_LEGACY_DIRECT_IO=y
# CONFIG_EXT2_FS is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
CONFIG_JFS_DEBUG=y
# CONFIG_JFS_STATISTICS is not set
CONFIG_XFS_FS=y
# CONFIG_XFS_SUPPORT_V4 is not set
# CONFIG_XFS_SUPPORT_ASCII_CI is not set
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_ONLINE_SCRUB is not set
# CONFIG_XFS_WARN is not set
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=y
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=y
CONFIG_OCFS2_FS_O2CB=y
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=y
CONFIG_OCFS2_FS_STATS=y
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
CONFIG_OCFS2_DEBUG_FS=y
CONFIG_BTRFS_FS=y
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
# CONFIG_BTRFS_DEBUG is not set
CONFIG_BTRFS_ASSERT=y
CONFIG_BTRFS_FS_REF_VERIFY=y
CONFIG_NILFS2_FS=y
CONFIG_F2FS_FS=y
CONFIG_F2FS_STAT_FS=y
CONFIG_F2FS_FS_XATTR=y
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_CHECK_FS=y
CONFIG_F2FS_FAULT_INJECTION=y
CONFIG_F2FS_FS_COMPRESSION=y
CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS_LZORLE=y
CONFIG_F2FS_FS_LZ4=y
CONFIG_F2FS_FS_LZ4HC=y
CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IOSTAT is not set
# CONFIG_F2FS_UNFAIR_RWSEM is not set
CONFIG_BCACHEFS_FS=y
CONFIG_BCACHEFS_QUOTA=y
# CONFIG_BCACHEFS_ERASURE_CODING is not set
# CONFIG_BCACHEFS_POSIX_ACL is not set
CONFIG_BCACHEFS_DEBUG=y
# CONFIG_BCACHEFS_TESTS is not set
# CONFIG_BCACHEFS_LOCK_TIME_STATS is not set
# CONFIG_BCACHEFS_NO_LATENCY_ACCT is not set
CONFIG_BCACHEFS_SIX_OPTIMISTIC_SPIN=y
CONFIG_ZONEFS_FS=y
CONFIG_FS_DAX=y
CONFIG_FS_DAX_PMD=y
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_EXPORTFS_BLOCK_OPS=y
CONFIG_FILE_LOCKING=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FS_ENCRYPTION_ALGS=y
# CONFIG_FS_ENCRYPTION_INLINE_CRYPT is not set
CONFIG_FS_VERITY=y
CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=y
CONFIG_CUSE=y
CONFIG_VIRTIO_FS=y
CONFIG_FUSE_DAX=y
CONFIG_FUSE_PASSTHROUGH=y
CONFIG_OVERLAY_FS=y
CONFIG_OVERLAY_FS_REDIRECT_DIR=y
CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
CONFIG_OVERLAY_FS_INDEX=y
# CONFIG_OVERLAY_FS_NFS_EXPORT is not set
# CONFIG_OVERLAY_FS_XINO_AUTO is not set
# CONFIG_OVERLAY_FS_METACOPY is not set
CONFIG_OVERLAY_FS_DEBUG=y

#
# Caches
#
CONFIG_NETFS_SUPPORT=y
# CONFIG_NETFS_STATS is not set
CONFIG_FSCACHE=y
# CONFIG_FSCACHE_STATS is not set
# CONFIG_FSCACHE_DEBUG is not set
CONFIG_CACHEFILES=y
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_ERROR_INJECTION is not set
# CONFIG_CACHEFILES_ONDEMAND is not set
# end of Caches

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
# end of CD-ROM/DVD Filesystems

#
# DOS/FAT/EXFAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_FAT_DEFAULT_UTF8 is not set
CONFIG_EXFAT_FS=y
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
CONFIG_NTFS3_FS=y
# CONFIG_NTFS3_64BIT_CLUSTER is not set
CONFIG_NTFS3_LZX_XPRESS=y
CONFIG_NTFS3_FS_POSIX_ACL=y
# CONFIG_NTFS_FS is not set
# end of DOS/FAT/EXFAT/NT Filesystems

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
# CONFIG_PROC_VMCORE_DEVICE_DUMP is not set
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PROC_CHILDREN=y
CONFIG_PROC_PID_ARCH_STATUS=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_TMPFS_INODE64 is not set
CONFIG_TMPFS_QUOTA=y
CONFIG_HUGETLBFS=y
# CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set
CONFIG_HUGETLB_PAGE=y
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
CONFIG_CONFIGFS_FS=y
# end of Pseudo filesystems

CONFIG_MISC_FILESYSTEMS=y
CONFIG_ORANGEFS_FS=y
CONFIG_ADFS_FS=y
# CONFIG_ADFS_FS_RW is not set
CONFIG_AFFS_FS=y
CONFIG_ECRYPT_FS=y
CONFIG_ECRYPT_FS_MESSAGING=y
CONFIG_HFS_FS=y
CONFIG_HFSPLUS_FS=y
CONFIG_BEFS_FS=y
# CONFIG_BEFS_DEBUG is not set
CONFIG_BFS_FS=y
CONFIG_EFS_FS=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
CONFIG_JFFS2_SUMMARY=y
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
# CONFIG_JFFS2_CMODE_NONE is not set
CONFIG_JFFS2_CMODE_PRIORITY=y
# CONFIG_JFFS2_CMODE_SIZE is not set
# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
CONFIG_UBIFS_FS_ZSTD=y
CONFIG_UBIFS_ATIME_SUPPORT=y
CONFIG_UBIFS_FS_XATTR=y
CONFIG_UBIFS_FS_SECURITY=y
# CONFIG_UBIFS_FS_AUTHENTICATION is not set
CONFIG_CRAMFS=y
CONFIG_CRAMFS_BLOCKDEV=y
CONFIG_CRAMFS_MTD=y
CONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_FILE_CACHE is not set
CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZSTD=y
CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
CONFIG_VXFS_FS=y
CONFIG_MINIX_FS=y
CONFIG_OMFS_FS=y
CONFIG_HPFS_FS=y
CONFIG_QNX4FS_FS=y
CONFIG_QNX6FS_FS=y
# CONFIG_QNX6FS_DEBUG is not set
CONFIG_ROMFS_FS=y
# CONFIG_ROMFS_BACKED_BY_BLOCK is not set
# CONFIG_ROMFS_BACKED_BY_MTD is not set
CONFIG_ROMFS_BACKED_BY_BOTH=y
CONFIG_ROMFS_ON_BLOCK=y
CONFIG_ROMFS_ON_MTD=y
CONFIG_PSTORE=y
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_PMSG is not set
# CONFIG_PSTORE_RAM is not set
# CONFIG_PSTORE_BLK is not set
CONFIG_SYSV_FS=y
CONFIG_UFS_FS=y
CONFIG_UFS_FS_WRITE=y
# CONFIG_UFS_DEBUG is not set
CONFIG_EROFS_FS=y
# CONFIG_EROFS_FS_DEBUG is not set
CONFIG_EROFS_FS_XATTR=y
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_ZIP=y
# CONFIG_EROFS_FS_ZIP_LZMA is not set
# CONFIG_EROFS_FS_ZIP_DEFLATE is not set
# CONFIG_EROFS_FS_ONDEMAND is not set
# CONFIG_EROFS_FS_PCPU_KTHREAD is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
# CONFIG_NFS_SWAP is not set
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_PNFS_FILE_LAYOUT=y
CONFIG_PNFS_BLOCK=y
CONFIG_PNFS_FLEXFILE_LAYOUT=y
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
# CONFIG_NFS_V4_1_MIGRATION is not set
CONFIG_NFS_V4_SECURITY_LABEL=y
CONFIG_ROOT_NFS=y
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFS_V4_2_READ_PLUS=y
CONFIG_NFSD=y
# CONFIG_NFSD_V2 is not set
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_FLEXFILELAYOUT=y
CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
# CONFIG_NFSD_LEGACY_CLIENT_TRACKING is not set
CONFIG_GRACE_PERIOD=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_NFS_V4_2_SSC_HELPER=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1 is not set
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA is not set
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set
# CONFIG_SUNRPC_DEBUG is not set
# CONFIG_SUNRPC_XPRT_RDMA is not set
CONFIG_CEPH_FS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS_POSIX_ACL=y
# CONFIG_CEPH_FS_SECURITY_LABEL is not set
CONFIG_CIFS=y
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_SWN_UPCALL=y
CONFIG_CIFS_SMB_DIRECT=y
CONFIG_CIFS_FSCACHE=y
# CONFIG_CIFS_ROOT is not set
# CONFIG_SMB_SERVER is not set
CONFIG_SMBFS=y
# CONFIG_CODA_FS is not set
CONFIG_AFS_FS=y
# CONFIG_AFS_DEBUG is not set
CONFIG_AFS_FSCACHE=y
# CONFIG_AFS_DEBUG_CURSOR is not set
CONFIG_9P_FS=y
CONFIG_9P_FSCACHE=y
CONFIG_9P_FS_POSIX_ACL=y
CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=y
CONFIG_NLS_CODEPAGE_775=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=y
CONFIG_NLS_CODEPAGE_855=y
CONFIG_NLS_CODEPAGE_857=y
CONFIG_NLS_CODEPAGE_860=y
CONFIG_NLS_CODEPAGE_861=y
CONFIG_NLS_CODEPAGE_862=y
CONFIG_NLS_CODEPAGE_863=y
CONFIG_NLS_CODEPAGE_864=y
CONFIG_NLS_CODEPAGE_865=y
CONFIG_NLS_CODEPAGE_866=y
CONFIG_NLS_CODEPAGE_869=y
CONFIG_NLS_CODEPAGE_936=y
CONFIG_NLS_CODEPAGE_950=y
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
CONFIG_NLS_CODEPAGE_874=y
CONFIG_NLS_ISO8859_8=y
CONFIG_NLS_CODEPAGE_1250=y
CONFIG_NLS_CODEPAGE_1251=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_3=y
CONFIG_NLS_ISO8859_4=y
CONFIG_NLS_ISO8859_5=y
CONFIG_NLS_ISO8859_6=y
CONFIG_NLS_ISO8859_7=y
CONFIG_NLS_ISO8859_9=y
CONFIG_NLS_ISO8859_13=y
CONFIG_NLS_ISO8859_14=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=y
CONFIG_NLS_KOI8_U=y
CONFIG_NLS_MAC_ROMAN=y
CONFIG_NLS_MAC_CELTIC=y
CONFIG_NLS_MAC_CENTEURO=y
CONFIG_NLS_MAC_CROATIAN=y
CONFIG_NLS_MAC_CYRILLIC=y
CONFIG_NLS_MAC_GAELIC=y
CONFIG_NLS_MAC_GREEK=y
CONFIG_NLS_MAC_ICELAND=y
CONFIG_NLS_MAC_INUIT=y
CONFIG_NLS_MAC_ROMANIAN=y
CONFIG_NLS_MAC_TURKISH=y
CONFIG_NLS_UTF8=y
CONFIG_NLS_UCS2_UTILS=y
CONFIG_DLM=y
# CONFIG_DLM_DEBUG is not set
CONFIG_UNICODE=y
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
CONFIG_IO_WQ=y
# end of File systems

#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_REQUEST_CACHE=y
CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_BIG_KEYS=y
CONFIG_TRUSTED_KEYS=y
# CONFIG_TRUSTED_KEYS_TPM is not set

#
# No trust source selected!
#
CONFIG_ENCRYPTED_KEYS=y
# CONFIG_USER_DECRYPTED_DATA is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEY_NOTIFICATIONS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_INFINIBAND=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
# CONFIG_INTEL_TXT is not set
CONFIG_LSM_MMAP_MIN_ADDR=65536
CONFIG_HARDENED_USERCOPY=y
CONFIG_FORTIFY_SOURCE=y
# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
# CONFIG_SECURITY_SELINUX_DEBUG is not set
# CONFIG_SECURITY_SMACK is not set
CONFIG_SECURITY_TOMOYO=y
CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=64
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=32
CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER=y
CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING=y
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_LOADPIN is not set
CONFIG_SECURITY_YAMA=y
CONFIG_SECURITY_SAFESETID=y
CONFIG_SECURITY_LOCKDOWN_LSM=y
CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y
CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y
# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set
# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set
CONFIG_SECURITY_LANDLOCK=y
CONFIG_INTEGRITY=y
CONFIG_INTEGRITY_SIGNATURE=y
CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
CONFIG_INTEGRITY_TRUSTED_KEYRING=y
CONFIG_INTEGRITY_AUDIT=y
CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_LSM_RULES=y
CONFIG_IMA_NG_TEMPLATE=y
# CONFIG_IMA_SIG_TEMPLATE is not set
CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng"
# CONFIG_IMA_DEFAULT_HASH_SHA1 is not set
CONFIG_IMA_DEFAULT_HASH_SHA256=y
# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set
# CONFIG_IMA_DEFAULT_HASH_WP512 is not set
CONFIG_IMA_DEFAULT_HASH="sha256"
CONFIG_IMA_WRITE_POLICY=y
CONFIG_IMA_READ_POLICY=y
CONFIG_IMA_APPRAISE=y
# CONFIG_IMA_ARCH_POLICY is not set
# CONFIG_IMA_APPRAISE_BUILD_POLICY is not set
# CONFIG_IMA_APPRAISE_BOOTPARAM is not set
CONFIG_IMA_APPRAISE_MODSIG=y
# CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY is not set
# CONFIG_IMA_BLACKLIST_KEYRING is not set
# CONFIG_IMA_LOAD_X509 is not set
CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y
CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y
# CONFIG_IMA_DISABLE_HTABLE is not set
CONFIG_EVM=y
CONFIG_EVM_ATTR_FSUUID=y
CONFIG_EVM_ADD_XATTRS=y
# CONFIG_EVM_LOAD_X509 is not set
CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_LSM="landlock,lockdown,yama,safesetid,integrity,tomoyo,selinux,bpf"

#
# Kernel hardening options
#

#
# Memory initialization
#
CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
CONFIG_INIT_STACK_NONE=y
# CONFIG_INIT_STACK_ALL_PATTERN is not set
# CONFIG_INIT_STACK_ALL_ZERO is not set
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
# end of Memory initialization

#
# Hardening of kernel data structures
#
CONFIG_LIST_HARDENED=y
CONFIG_BUG_ON_DATA_CORRUPTION=y
# end of Hardening of kernel data structures

CONFIG_RANDSTRUCT_NONE=y
# end of Kernel hardening options
# end of Security options

CONFIG_XOR_BLOCKS=y
CONFIG_ASYNC_CORE=y
CONFIG_ASYNC_MEMCPY=y
CONFIG_ASYNC_XOR=y
CONFIG_ASYNC_PQ=y
CONFIG_ASYNC_RAID6_RECOV=y
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SIG2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_RNG_DEFAULT=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_AKCIPHER=y
CONFIG_CRYPTO_KPP2=y
CONFIG_CRYPTO_KPP=y
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=y
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=y
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_TEST is not set
CONFIG_CRYPTO_SIMD=y
CONFIG_CRYPTO_ENGINE=y
# end of Crypto core or helper

#
# Public-key cryptography
#
CONFIG_CRYPTO_RSA=y
CONFIG_CRYPTO_DH=y
# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set
CONFIG_CRYPTO_ECC=y
CONFIG_CRYPTO_ECDH=y
# CONFIG_CRYPTO_ECDSA is not set
CONFIG_CRYPTO_ECRDSA=y
CONFIG_CRYPTO_SM2=y
CONFIG_CRYPTO_CURVE25519=y
# end of Public-key cryptography

#
# Block ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_TI=y
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_ARIA=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_BLOWFISH_COMMON=y
CONFIG_CRYPTO_CAMELLIA=y
CONFIG_CRYPTO_CAST_COMMON=y
CONFIG_CRYPTO_CAST5=y
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_FCRYPT=y
CONFIG_CRYPTO_KHAZAD=y
CONFIG_CRYPTO_SEED=y
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_SM4=y
CONFIG_CRYPTO_SM4_GENERIC=y
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
# end of Block ciphers

#
# Length-preserving ciphers and modes
#
CONFIG_CRYPTO_ADIANTUM=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_CHACHA20=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_HCTR2=y
CONFIG_CRYPTO_KEYWRAP=y
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_XCTR=y
CONFIG_CRYPTO_XTS=y
CONFIG_CRYPTO_NHPOLY1305=y
# end of Length-preserving ciphers and modes

#
# AEAD (authenticated encryption with associated data) ciphers
#
CONFIG_CRYPTO_AEGIS128=y
CONFIG_CRYPTO_CHACHA20POLY1305=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_GENIV=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ECHAINIV=y
CONFIG_CRYPTO_ESSIV=y
# end of AEAD (authenticated encryption with associated data) ciphers

#
# Hashes, digests, and MACs
#
CONFIG_CRYPTO_BLAKE2B=y
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_POLYVAL=y
CONFIG_CRYPTO_POLY1305=y
CONFIG_CRYPTO_RMD160=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=y
CONFIG_CRYPTO_SM3=y
# CONFIG_CRYPTO_SM3_GENERIC is not set
CONFIG_CRYPTO_STREEBOG=y
CONFIG_CRYPTO_VMAC=y
CONFIG_CRYPTO_WP512=y
CONFIG_CRYPTO_XCBC=y
CONFIG_CRYPTO_XXHASH=y
# end of Hashes, digests, and MACs

#
# CRCs (cyclic redundancy checks)
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=y
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRC64_ROCKSOFT=y
# end of CRCs (cyclic redundancy checks)

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_LZ4=y
CONFIG_CRYPTO_LZ4HC=y
CONFIG_CRYPTO_ZSTD=y
# end of Compression

#
# Random number generation
#
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_CRYPTO_DRBG_MENU=y
CONFIG_CRYPTO_DRBG_HMAC=y
CONFIG_CRYPTO_DRBG_HASH=y
CONFIG_CRYPTO_DRBG_CTR=y
CONFIG_CRYPTO_DRBG=y
CONFIG_CRYPTO_JITTERENTROPY=y
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKS=64
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32
CONFIG_CRYPTO_JITTERENTROPY_OSR=1
CONFIG_CRYPTO_KDF800108_CTR=y
# end of Random number generation

#
# Userspace interface
#
CONFIG_CRYPTO_USER_API=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_USER_API_SKCIPHER=y
CONFIG_CRYPTO_USER_API_RNG=y
# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
CONFIG_CRYPTO_USER_API_AEAD=y
CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
# CONFIG_CRYPTO_STATS is not set
# end of Userspace interface

CONFIG_CRYPTO_HASH_INFO=y

#
# Accelerated Cryptographic Algorithms for CPU (x86)
#
CONFIG_CRYPTO_CURVE25519_X86=y
CONFIG_CRYPTO_AES_NI_INTEL=y
CONFIG_CRYPTO_BLOWFISH_X86_64=y
CONFIG_CRYPTO_CAMELLIA_X86_64=y
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=y
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=y
CONFIG_CRYPTO_CAST5_AVX_X86_64=y
CONFIG_CRYPTO_CAST6_AVX_X86_64=y
CONFIG_CRYPTO_DES3_EDE_X86_64=y
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=y
CONFIG_CRYPTO_SERPENT_AVX_X86_64=y
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=y
CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64=y
CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64=y
CONFIG_CRYPTO_TWOFISH_X86_64=y
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=y
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=y
CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64=y
# CONFIG_CRYPTO_ARIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_ARIA_GFNI_AVX512_X86_64 is not set
CONFIG_CRYPTO_CHACHA20_X86_64=y
CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=y
CONFIG_CRYPTO_NHPOLY1305_SSE2=y
CONFIG_CRYPTO_NHPOLY1305_AVX2=y
CONFIG_CRYPTO_BLAKE2S_X86=y
CONFIG_CRYPTO_POLYVAL_CLMUL_NI=y
CONFIG_CRYPTO_POLY1305_X86_64=y
CONFIG_CRYPTO_SHA1_SSSE3=y
CONFIG_CRYPTO_SHA256_SSSE3=y
CONFIG_CRYPTO_SHA512_SSSE3=y
CONFIG_CRYPTO_SM3_AVX_X86_64=y
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=y
CONFIG_CRYPTO_CRC32C_INTEL=y
CONFIG_CRYPTO_CRC32_PCLMUL=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=y
# end of Accelerated Cryptographic Algorithms for CPU (x86)

CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=y
CONFIG_CRYPTO_DEV_PADLOCK_AES=y
CONFIG_CRYPTO_DEV_PADLOCK_SHA=y
# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
CONFIG_CRYPTO_DEV_CCP=y
CONFIG_CRYPTO_DEV_CCP_DD=y
# CONFIG_CRYPTO_DEV_SP_CCP is not set
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
CONFIG_CRYPTO_DEV_QAT=y
CONFIG_CRYPTO_DEV_QAT_DH895xCC=y
CONFIG_CRYPTO_DEV_QAT_C3XXX=y
CONFIG_CRYPTO_DEV_QAT_C62X=y
# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
# CONFIG_CRYPTO_DEV_QAT_420XX is not set
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=y
CONFIG_CRYPTO_DEV_QAT_C3XXXVF=y
CONFIG_CRYPTO_DEV_QAT_C62XVF=y
# CONFIG_CRYPTO_DEV_QAT_ERROR_INJECTION is not set
CONFIG_CRYPTO_DEV_VIRTIO=y
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_CCREE is not set
# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_PKCS8_PRIVATE_KEY_PARSER=y
CONFIG_PKCS7_MESSAGE_PARSER=y
CONFIG_PKCS7_TEST_KEY=y
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
# CONFIG_FIPS_SIGNATURE_SELFTEST is not set

#
# Certificates for signature checking
#
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
CONFIG_SECONDARY_TRUSTED_KEYRING=y
# CONFIG_SECONDARY_TRUSTED_KEYRING_SIGNED_BY_BUILTIN is not set
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
# end of Certificates for signature checking

CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=y
# CONFIG_RAID6_PQ_BENCHMARK is not set
CONFIG_LINEAR_RANGES=y
# CONFIG_PACKING is not set
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
# CONFIG_CORDIC is not set
# CONFIG_PRIME_NUMBERS is not set
CONFIG_RATIONAL=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_ARCH_USE_SYM_ANNOTATIONS=y

#
# Crypto library routines
#
CONFIG_CRYPTO_LIB_UTILS=y
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_ARC4=y
CONFIG_CRYPTO_LIB_GF128MUL=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y
CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y
CONFIG_CRYPTO_LIB_CHACHA=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=y
CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=y
CONFIG_CRYPTO_LIB_CURVE25519=y
CONFIG_CRYPTO_LIB_DES=y
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=y
CONFIG_CRYPTO_LIB_POLY1305_GENERIC=y
CONFIG_CRYPTO_LIB_POLY1305=y
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=y
CONFIG_CRYPTO_LIB_SHA1=y
CONFIG_CRYPTO_LIB_SHA256=y
# end of Crypto library routines

CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC64_ROCKSOFT=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
CONFIG_CRC64=y
CONFIG_CRC4=y
CONFIG_CRC7=y
CONFIG_LIBCRC32C=y
CONFIG_CRC8=y
CONFIG_XXHASH=y
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_842_COMPRESS=y
CONFIG_842_DECOMPRESS=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_COMPRESS=y
CONFIG_LZ4HC_COMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMMON=y
CONFIG_ZSTD_COMPRESS=y
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
# CONFIG_XZ_DEC_MICROLZMA is not set
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=y
CONFIG_REED_SOLOMON_DEC8=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=y
CONFIG_TEXTSEARCH_BM=y
CONFIG_TEXTSEARCH_FSM=y
CONFIG_INTERVAL_TREE=y
CONFIG_INTERVAL_TREE_SPAN_ITER=y
CONFIG_XARRAY_MULTI=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_CLOSURES=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS=y
CONFIG_NEED_SG_DMA_FLAGS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DMA_DECLARE_COHERENT=y
CONFIG_SWIOTLB=y
# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_DMA_RESTRICTED_POOL is not set
CONFIG_DMA_CMA=y
# CONFIG_DMA_NUMA_CMA is not set

#
# Default contiguous memory area size:
#
CONFIG_CMA_SIZE_MBYTES=0
CONFIG_CMA_SIZE_SEL_MBYTES=y
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
# CONFIG_CMA_SIZE_SEL_MIN is not set
# CONFIG_CMA_SIZE_SEL_MAX is not set
CONFIG_CMA_ALIGNMENT=8
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
CONFIG_SGL_ALLOC=y
CONFIG_CHECK_SIGNATURE=y
# CONFIG_CPUMASK_OFFSTACK is not set
# CONFIG_FORCE_NR_CPUS is not set
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_GLOB=y
# CONFIG_GLOB_SELFTEST is not set
CONFIG_NLATTR=y
CONFIG_CLZ_TAB=y
CONFIG_IRQ_POLL=y
CONFIG_MPILIB=y
CONFIG_SIGNATURE=y
CONFIG_DIMLIB=y
CONFIG_LIBFDT=y
CONFIG_OID_REGISTRY=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_TIME_NS=y
CONFIG_FONT_SUPPORT=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_MEMREGION=y
CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_ARCH_HAS_COPY_MC=y
CONFIG_ARCH_STACKWALK=y
CONFIG_STACKDEPOT=y
CONFIG_STACKDEPOT_ALWAYS_INIT=y
CONFIG_STACKDEPOT_MAX_FRAMES=64
CONFIG_REF_TRACKER=y
CONFIG_SBITMAP=y
# CONFIG_LWQ_TEST is not set
# end of Library routines

CONFIG_FIRMWARE_TABLE=y

#
# Kernel hacking
#

#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
CONFIG_PRINTK_CALLER=y
# CONFIG_STACKTRACE_BUILD_ID is not set
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_BOOT_PRINTK_DELAY is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_DEBUG_CORE=y
CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_DEBUG_BUGVERBOSE=y
# end of printk and dmesg options

CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_MISC=y

#
# Compile-time checks and compiler options
#
CONFIG_DEBUG_INFO=y
CONFIG_AS_HAS_NON_CONST_ULEB128=y
# CONFIG_DEBUG_INFO_NONE is not set
# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
CONFIG_DEBUG_INFO_DWARF4=y
# CONFIG_DEBUG_INFO_DWARF5 is not set
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_DEBUG_INFO_COMPRESSED_NONE=y
# CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set
# CONFIG_DEBUG_INFO_SPLIT is not set
# CONFIG_DEBUG_INFO_BTF is not set
CONFIG_GDB_SCRIPTS=y
CONFIG_FRAME_WARN=2048
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_HEADERS_INSTALL is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set
CONFIG_OBJTOOL=y
CONFIG_NOINSTR_VALIDATION=y
# CONFIG_VMLINUX_MAP is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# end of Compile-time checks and compiler options

#
# Generic Kernel Debugging Instruments
#
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_ARCH_HAS_UBSAN=y
CONFIG_UBSAN=y
# CONFIG_UBSAN_TRAP is not set
CONFIG_CC_HAS_UBSAN_ARRAY_BOUNDS=y
CONFIG_UBSAN_BOUNDS=y
CONFIG_UBSAN_ARRAY_BOUNDS=y
CONFIG_UBSAN_SHIFT=y
CONFIG_UBSAN_SIGNED_WRAP=y
# CONFIG_UBSAN_BOOL is not set
# CONFIG_UBSAN_ENUM is not set
# CONFIG_UBSAN_ALIGNMENT is not set
# CONFIG_TEST_UBSAN is not set
CONFIG_HAVE_ARCH_KCSAN=y
CONFIG_HAVE_KCSAN_COMPILER=y
# end of Generic Kernel Debugging Instruments

#
# Networking Debugging
#
CONFIG_NET_DEV_REFCNT_TRACKER=y
CONFIG_NET_NS_REFCNT_TRACKER=y
CONFIG_DEBUG_NET=y
# end of Networking Debugging

#
# Memory Debugging
#
CONFIG_PAGE_EXTENSION=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_SLUB_DEBUG=y
# CONFIG_SLUB_DEBUG_ON is not set
CONFIG_PAGE_OWNER=y
CONFIG_PAGE_TABLE_CHECK=y
CONFIG_PAGE_TABLE_CHECK_ENFORCED=y
CONFIG_PAGE_POISONING=y
# CONFIG_DEBUG_PAGE_REF is not set
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_ARCH_HAS_DEBUG_WX=y
CONFIG_DEBUG_WX=y
CONFIG_GENERIC_PTDUMP=y
CONFIG_PTDUMP_CORE=y
CONFIG_PTDUMP_DEBUGFS=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_PER_VMA_LOCK_STATS is not set
CONFIG_DEBUG_OBJECTS=y
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
CONFIG_DEBUG_OBJECTS_FREE=y
CONFIG_DEBUG_OBJECTS_TIMERS=y
CONFIG_DEBUG_OBJECTS_WORK=y
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_SHRINKER_DEBUG is not set
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_SCHED_STACK_END_CHECK=y
CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
CONFIG_DEBUG_VM_IRQSOFF=y
CONFIG_DEBUG_VM=y
CONFIG_DEBUG_VM_MAPLE_TREE=y
CONFIG_DEBUG_VM_RB=y
CONFIG_DEBUG_VM_PGFLAGS=y
CONFIG_DEBUG_VM_PGTABLE=y
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
CONFIG_DEBUG_VIRTUAL=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_DEBUG_KMAP_LOCAL=y
CONFIG_ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP=y
CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP=y
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_KASAN_SW_TAGS=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
CONFIG_KASAN=y
CONFIG_KASAN_GENERIC=y
# CONFIG_KASAN_OUTLINE is not set
CONFIG_KASAN_INLINE=y
CONFIG_KASAN_STACK=y
CONFIG_KASAN_VMALLOC=y
# CONFIG_KASAN_MODULE_TEST is not set
# CONFIG_KASAN_EXTRA_INFO is not set
CONFIG_HAVE_ARCH_KFENCE=y
CONFIG_KFENCE=y
CONFIG_KFENCE_SAMPLE_INTERVAL=100
CONFIG_KFENCE_NUM_OBJECTS=255
# CONFIG_KFENCE_DEFERRABLE is not set
CONFIG_KFENCE_STATIC_KEYS=y
CONFIG_KFENCE_STRESS_TEST_FAULTS=0
CONFIG_HAVE_ARCH_KMSAN=y
CONFIG_HAVE_KMSAN_COMPILER=y
# end of Memory Debugging

# CONFIG_DEBUG_SHIRQ is not set

#
# Debug Oops, Lockups and Hangs
#
CONFIG_PANIC_ON_OOPS=y
CONFIG_PANIC_ON_OOPS_VALUE=1
CONFIG_PANIC_TIMEOUT=86400
CONFIG_LOCKUP_DETECTOR=y
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_HARDLOCKUP_DETECTOR_PREFER_BUDDY is not set
CONFIG_HARDLOCKUP_DETECTOR_PERF=y
# CONFIG_HARDLOCKUP_DETECTOR_BUDDY is not set
# CONFIG_HARDLOCKUP_DETECTOR_ARCH is not set
CONFIG_HARDLOCKUP_DETECTOR_COUNTS_HRTIMER=y
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=140
CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
CONFIG_WQ_WATCHDOG=y
# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set
# CONFIG_TEST_LOCKUP is not set
# end of Debug Oops, Lockups and Hangs

#
# Scheduler Debugging
#
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
# end of Scheduler Debugging

CONFIG_DEBUG_TIMEKEEPING=y
CONFIG_DEBUG_PREEMPT=y

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RAW_LOCK_NESTING is not set
# CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
CONFIG_DEBUG_RWSEMS=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_LOCKDEP=y
CONFIG_LOCKDEP_BITS=17
CONFIG_LOCKDEP_CHAINS_BITS=18
CONFIG_LOCKDEP_STACK_TRACE_BITS=20
CONFIG_LOCKDEP_STACK_TRACE_HASH_BITS=14
CONFIG_LOCKDEP_CIRCULAR_QUEUE_BITS=12
# CONFIG_DEBUG_LOCKDEP is not set
CONFIG_DEBUG_ATOMIC_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_LOCK_TORTURE_TEST is not set
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_SCF_TORTURE_TEST is not set
CONFIG_CSD_LOCK_WAIT_DEBUG=y
# CONFIG_CSD_LOCK_WAIT_DEBUG_DEFAULT is not set
# end of Lock Debugging (spinlocks, mutexes, etc...)

CONFIG_TRACE_IRQFLAGS=y
CONFIG_TRACE_IRQFLAGS_NMI=y
CONFIG_NMI_CHECK_CPU=y
CONFIG_DEBUG_IRQFLAGS=y
CONFIG_STACKTRACE=y
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_KOBJECT_RELEASE is not set

#
# Debug kernel data structures
#
CONFIG_DEBUG_LIST=y
CONFIG_DEBUG_PLIST=y
CONFIG_DEBUG_SG=y
CONFIG_DEBUG_NOTIFIERS=y
# CONFIG_DEBUG_CLOSURES is not set
CONFIG_DEBUG_MAPLE_TREE=y
# end of Debug kernel data structures

#
# RCU Debugging
#
CONFIG_PROVE_RCU=y
# CONFIG_RCU_SCALE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=100
CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=21000
# CONFIG_RCU_CPU_STALL_CPUTIME is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_EQS_DEBUG=y
# end of RCU Debugging

# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_LATENCYTOP is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_RETHOOK=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_OBJTOOL_MCOUNT=y
CONFIG_HAVE_OBJTOOL_NOP_MCOUNT=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_PREEMPTIRQ_TRACEPOINTS=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_BOOTTIME_TRACING is not set
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_STACK_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_HWLAT_TRACER is not set
# CONFIG_OSNOISE_TRACER is not set
# CONFIG_TIMERLAT_TRACER is not set
# CONFIG_MMIOTRACE is not set
# CONFIG_FTRACE_SYSCALLS is not set
# CONFIG_TRACER_SNAPSHOT is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y
# CONFIG_SYNTH_EVENTS is not set
# CONFIG_USER_EVENTS is not set
# CONFIG_HIST_TRIGGERS is not set
CONFIG_TRACE_EVENT_INJECT=y
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_TRACE_EVAL_MAP_FILE is not set
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS=y
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
# CONFIG_RV is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
# CONFIG_SAMPLES is not set
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
# CONFIG_STRICT_DEVMEM is not set

#
# x86 Debugging
#
CONFIG_EARLY_PRINTK_USB=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
# CONFIG_EARLY_PRINTK_USB_XDBC is not set
# CONFIG_DEBUG_TLBFLUSH is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
CONFIG_DEBUG_ENTRY=y
# CONFIG_DEBUG_NMI_SELFTEST is not set
CONFIG_X86_DEBUG_FPU=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_UNWINDER_ORC=y
# CONFIG_UNWINDER_FRAME_POINTER is not set
# end of x86 Debugging

#
# Kernel Testing and Coverage
#
# CONFIG_KUNIT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
CONFIG_FAULT_INJECTION=y
CONFIG_FAILSLAB=y
CONFIG_FAIL_PAGE_ALLOC=y
CONFIG_FAULT_INJECTION_USERCOPY=y
CONFIG_FAIL_MAKE_REQUEST=y
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_FUTEX=y
CONFIG_FAULT_INJECTION_DEBUG_FS=y
# CONFIG_FAIL_MMC_REQUEST is not set
CONFIG_FAULT_INJECTION_CONFIGFS=y
# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
CONFIG_ARCH_HAS_KCOV=y
CONFIG_CC_HAS_SANCOV_TRACE_PC=y
CONFIG_KCOV=y
CONFIG_KCOV_ENABLE_COMPARISONS=y
CONFIG_KCOV_INSTRUMENT_ALL=y
CONFIG_KCOV_IRQ_AREA_SIZE=0x40000
CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_TEST_DHRY is not set
# CONFIG_LKDTM is not set
# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_DIV64 is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_TEST_REF_TRACKER is not set
# CONFIG_RBTREE_TEST is not set
# CONFIG_REED_SOLOMON_TEST is not set
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_PERCPU_TEST is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_TEST_HEXDUMP is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_SCANF is not set
# CONFIG_TEST_BITMAP is not set
# CONFIG_TEST_UUID is not set
# CONFIG_TEST_XARRAY is not set
# CONFIG_TEST_MAPLE_TREE is not set
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_TEST_IDA is not set
# CONFIG_TEST_LKM is not set
# CONFIG_TEST_BITOPS is not set
# CONFIG_TEST_VMALLOC is not set
# CONFIG_TEST_USER_COPY is not set
# CONFIG_TEST_BPF is not set
# CONFIG_TEST_BLACKHOLE_DEV is not set
# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_TEST_FIRMWARE is not set
# CONFIG_TEST_SYSCTL is not set
# CONFIG_TEST_UDELAY is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_DYNAMIC_DEBUG is not set
# CONFIG_TEST_KMOD is not set
# CONFIG_TEST_DEBUG_VIRTUAL is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
# CONFIG_TEST_HMM is not set
# CONFIG_TEST_FREE_PAGES is not set
# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set
# CONFIG_TEST_OBJPOOL is not set
CONFIG_ARCH_USE_MEMTEST=y
# CONFIG_MEMTEST is not set
# end of Kernel Testing and Coverage

#
# Rust hacking
#
# end of Rust hacking
# end of Kernel hacking

[-- Attachment #3: mac80211_hwsim_tx_frame_no_nl.c --]
[-- Type: text/x-csrc, Size: 207841 bytes --]

#define _GNU_SOURCE

#include <arpa/inet.h>
#include <dirent.h>
#include <endian.h>
#include <errno.h>
#include <fcntl.h>
#include <net/if.h>
#include <net/if_arp.h>
#include <netinet/in.h>
#include <pthread.h>
#include <sched.h>
#include <setjmp.h>
#include <signal.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/epoll.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/prctl.h>
#include <sys/resource.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/uio.h>
#include <sys/wait.h>
#include <time.h>
#include <unistd.h>

#include <linux/capability.h>
#include <linux/genetlink.h>
#include <linux/if_addr.h>
#include <linux/if_ether.h>
#include <linux/if_link.h>
#include <linux/if_tun.h>
#include <linux/in6.h>
#include <linux/ip.h>
#include <linux/loop.h>
#include <linux/neighbour.h>
#include <linux/net.h>
#include <linux/netlink.h>
#include <linux/nl80211.h>
#include <linux/rfkill.h>
#include <linux/rtnetlink.h>
#include <linux/tcp.h>
#include <linux/veth.h>

#ifndef __NR_memfd_create
#define __NR_memfd_create 319
#endif

static unsigned long long procid;

static void sleep_ms(uint64_t ms)
{
  usleep(ms * 1000);
}

static uint64_t current_time_ms(void)
{
  struct timespec ts;
  if (clock_gettime(CLOCK_MONOTONIC, &ts))
    exit(1);
  return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000;
}

static void use_temporary_dir(void)
{
  char tmpdir_template[] = "./syzkaller.XXXXXX";
  char* tmpdir = mkdtemp(tmpdir_template);
  if (!tmpdir)
    exit(1);
  if (chmod(tmpdir, 0777))
    exit(1);
  if (chdir(tmpdir))
    exit(1);
}

static bool write_file(const char* file, const char* what, ...)
{
  char buf[1024];
  va_list args;
  va_start(args, what);
  vsnprintf(buf, sizeof(buf), what, args);
  va_end(args);
  buf[sizeof(buf) - 1] = 0;
  int len = strlen(buf);
  int fd = open(file, O_WRONLY | O_CLOEXEC);
  if (fd == -1)
    return false;
  if (write(fd, buf, len) != len) {
    int err = errno;
    close(fd);
    errno = err;
    return false;
  }
  close(fd);
  return true;
}

struct nlmsg {
  char* pos;
  int nesting;
  struct nlattr* nested[8];
  char buf[4096];
};

static void netlink_init(struct nlmsg* nlmsg, int typ, int flags,
                         const void* data, int size)
{
  memset(nlmsg, 0, sizeof(*nlmsg));
  struct nlmsghdr* hdr = (struct nlmsghdr*)nlmsg->buf;
  hdr->nlmsg_type = typ;
  hdr->nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK | flags;
  memcpy(hdr + 1, data, size);
  nlmsg->pos = (char*)(hdr + 1) + NLMSG_ALIGN(size);
}

static void netlink_attr(struct nlmsg* nlmsg, int typ, const void* data,
                         int size)
{
  struct nlattr* attr = (struct nlattr*)nlmsg->pos;
  attr->nla_len = sizeof(*attr) + size;
  attr->nla_type = typ;
  if (size > 0)
    memcpy(attr + 1, data, size);
  nlmsg->pos += NLMSG_ALIGN(attr->nla_len);
}

static void netlink_nest(struct nlmsg* nlmsg, int typ)
{
  struct nlattr* attr = (struct nlattr*)nlmsg->pos;
  attr->nla_type = typ;
  nlmsg->pos += sizeof(*attr);
  nlmsg->nested[nlmsg->nesting++] = attr;
}

static void netlink_done(struct nlmsg* nlmsg)
{
  struct nlattr* attr = nlmsg->nested[--nlmsg->nesting];
  attr->nla_len = nlmsg->pos - (char*)attr;
}

static int netlink_send_ext(struct nlmsg* nlmsg, int sock, uint16_t reply_type,
                            int* reply_len, bool dofail)
{
  if (nlmsg->pos > nlmsg->buf + sizeof(nlmsg->buf) || nlmsg->nesting)
    exit(1);
  struct nlmsghdr* hdr = (struct nlmsghdr*)nlmsg->buf;
  hdr->nlmsg_len = nlmsg->pos - nlmsg->buf;
  struct sockaddr_nl addr;
  memset(&addr, 0, sizeof(addr));
  addr.nl_family = AF_NETLINK;
  ssize_t n = sendto(sock, nlmsg->buf, hdr->nlmsg_len, 0,
                     (struct sockaddr*)&addr, sizeof(addr));
  if (n != (ssize_t)hdr->nlmsg_len) {
    if (dofail)
      exit(1);
    return -1;
  }
  n = recv(sock, nlmsg->buf, sizeof(nlmsg->buf), 0);
  if (reply_len)
    *reply_len = 0;
  if (n < 0) {
    if (dofail)
      exit(1);
    return -1;
  }
  if (n < (ssize_t)sizeof(struct nlmsghdr)) {
    errno = EINVAL;
    if (dofail)
      exit(1);
    return -1;
  }
  if (hdr->nlmsg_type == NLMSG_DONE)
    return 0;
  if (reply_len && hdr->nlmsg_type == reply_type) {
    *reply_len = n;
    return 0;
  }
  if (n < (ssize_t)(sizeof(struct nlmsghdr) + sizeof(struct nlmsgerr))) {
    errno = EINVAL;
    if (dofail)
      exit(1);
    return -1;
  }
  if (hdr->nlmsg_type != NLMSG_ERROR) {
    errno = EINVAL;
    if (dofail)
      exit(1);
    return -1;
  }
  errno = -((struct nlmsgerr*)(hdr + 1))->error;
  return -errno;
}

static int netlink_send(struct nlmsg* nlmsg, int sock)
{
  return netlink_send_ext(nlmsg, sock, 0, NULL, true);
}

static int netlink_query_family_id(struct nlmsg* nlmsg, int sock,
                                   const char* family_name, bool dofail)
{
  struct genlmsghdr genlhdr;
  memset(&genlhdr, 0, sizeof(genlhdr));
  genlhdr.cmd = CTRL_CMD_GETFAMILY;
  netlink_init(nlmsg, GENL_ID_CTRL, 0, &genlhdr, sizeof(genlhdr));
  netlink_attr(nlmsg, CTRL_ATTR_FAMILY_NAME, family_name,
               strnlen(family_name, GENL_NAMSIZ - 1) + 1);
  int n = 0;
  int err = netlink_send_ext(nlmsg, sock, GENL_ID_CTRL, &n, dofail);
  if (err < 0) {
    return -1;
  }
  uint16_t id = 0;
  struct nlattr* attr = (struct nlattr*)(nlmsg->buf + NLMSG_HDRLEN +
                                         NLMSG_ALIGN(sizeof(genlhdr)));
  for (; (char*)attr < nlmsg->buf + n;
       attr = (struct nlattr*)((char*)attr + NLMSG_ALIGN(attr->nla_len))) {
    if (attr->nla_type == CTRL_ATTR_FAMILY_ID) {
      id = *(uint16_t*)(attr + 1);
      break;
    }
  }
  if (!id) {
    errno = EINVAL;
    return -1;
  }
  recv(sock, nlmsg->buf, sizeof(nlmsg->buf), 0);
  return id;
}

static int netlink_next_msg(struct nlmsg* nlmsg, unsigned int offset,
                            unsigned int total_len)
{
  struct nlmsghdr* hdr = (struct nlmsghdr*)(nlmsg->buf + offset);
  if (offset == total_len || offset + hdr->nlmsg_len > total_len)
    return -1;
  return hdr->nlmsg_len;
}

static void netlink_add_device_impl(struct nlmsg* nlmsg, const char* type,
                                    const char* name, bool up)
{
  struct ifinfomsg hdr;
  memset(&hdr, 0, sizeof(hdr));
  if (up)
    hdr.ifi_flags = hdr.ifi_change = IFF_UP;
  netlink_init(nlmsg, RTM_NEWLINK, NLM_F_EXCL | NLM_F_CREATE, &hdr,
               sizeof(hdr));
  if (name)
    netlink_attr(nlmsg, IFLA_IFNAME, name, strlen(name));
  netlink_nest(nlmsg, IFLA_LINKINFO);
  netlink_attr(nlmsg, IFLA_INFO_KIND, type, strlen(type));
}

static void netlink_add_device(struct nlmsg* nlmsg, int sock, const char* type,
                               const char* name)
{
  netlink_add_device_impl(nlmsg, type, name, false);
  netlink_done(nlmsg);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_add_veth(struct nlmsg* nlmsg, int sock, const char* name,
                             const char* peer)
{
  netlink_add_device_impl(nlmsg, "veth", name, false);
  netlink_nest(nlmsg, IFLA_INFO_DATA);
  netlink_nest(nlmsg, VETH_INFO_PEER);
  nlmsg->pos += sizeof(struct ifinfomsg);
  netlink_attr(nlmsg, IFLA_IFNAME, peer, strlen(peer));
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_add_xfrm(struct nlmsg* nlmsg, int sock, const char* name)
{
  netlink_add_device_impl(nlmsg, "xfrm", name, true);
  netlink_nest(nlmsg, IFLA_INFO_DATA);
  int if_id = 1;
  netlink_attr(nlmsg, 2, &if_id, sizeof(if_id));
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_add_hsr(struct nlmsg* nlmsg, int sock, const char* name,
                            const char* slave1, const char* slave2)
{
  netlink_add_device_impl(nlmsg, "hsr", name, false);
  netlink_nest(nlmsg, IFLA_INFO_DATA);
  int ifindex1 = if_nametoindex(slave1);
  netlink_attr(nlmsg, IFLA_HSR_SLAVE1, &ifindex1, sizeof(ifindex1));
  int ifindex2 = if_nametoindex(slave2);
  netlink_attr(nlmsg, IFLA_HSR_SLAVE2, &ifindex2, sizeof(ifindex2));
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_add_linked(struct nlmsg* nlmsg, int sock, const char* type,
                               const char* name, const char* link)
{
  netlink_add_device_impl(nlmsg, type, name, false);
  netlink_done(nlmsg);
  int ifindex = if_nametoindex(link);
  netlink_attr(nlmsg, IFLA_LINK, &ifindex, sizeof(ifindex));
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_add_vlan(struct nlmsg* nlmsg, int sock, const char* name,
                             const char* link, uint16_t id, uint16_t proto)
{
  netlink_add_device_impl(nlmsg, "vlan", name, false);
  netlink_nest(nlmsg, IFLA_INFO_DATA);
  netlink_attr(nlmsg, IFLA_VLAN_ID, &id, sizeof(id));
  netlink_attr(nlmsg, IFLA_VLAN_PROTOCOL, &proto, sizeof(proto));
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  int ifindex = if_nametoindex(link);
  netlink_attr(nlmsg, IFLA_LINK, &ifindex, sizeof(ifindex));
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_add_macvlan(struct nlmsg* nlmsg, int sock, const char* name,
                                const char* link)
{
  netlink_add_device_impl(nlmsg, "macvlan", name, false);
  netlink_nest(nlmsg, IFLA_INFO_DATA);
  uint32_t mode = MACVLAN_MODE_BRIDGE;
  netlink_attr(nlmsg, IFLA_MACVLAN_MODE, &mode, sizeof(mode));
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  int ifindex = if_nametoindex(link);
  netlink_attr(nlmsg, IFLA_LINK, &ifindex, sizeof(ifindex));
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_add_geneve(struct nlmsg* nlmsg, int sock, const char* name,
                               uint32_t vni, struct in_addr* addr4,
                               struct in6_addr* addr6)
{
  netlink_add_device_impl(nlmsg, "geneve", name, false);
  netlink_nest(nlmsg, IFLA_INFO_DATA);
  netlink_attr(nlmsg, IFLA_GENEVE_ID, &vni, sizeof(vni));
  if (addr4)
    netlink_attr(nlmsg, IFLA_GENEVE_REMOTE, addr4, sizeof(*addr4));
  if (addr6)
    netlink_attr(nlmsg, IFLA_GENEVE_REMOTE6, addr6, sizeof(*addr6));
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

#define IFLA_IPVLAN_FLAGS 2
#define IPVLAN_MODE_L3S 2
#undef IPVLAN_F_VEPA
#define IPVLAN_F_VEPA 2

static void netlink_add_ipvlan(struct nlmsg* nlmsg, int sock, const char* name,
                               const char* link, uint16_t mode, uint16_t flags)
{
  netlink_add_device_impl(nlmsg, "ipvlan", name, false);
  netlink_nest(nlmsg, IFLA_INFO_DATA);
  netlink_attr(nlmsg, IFLA_IPVLAN_MODE, &mode, sizeof(mode));
  netlink_attr(nlmsg, IFLA_IPVLAN_FLAGS, &flags, sizeof(flags));
  netlink_done(nlmsg);
  netlink_done(nlmsg);
  int ifindex = if_nametoindex(link);
  netlink_attr(nlmsg, IFLA_LINK, &ifindex, sizeof(ifindex));
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static void netlink_device_change(struct nlmsg* nlmsg, int sock,
                                  const char* name, bool up, const char* master,
                                  const void* mac, int macsize,
                                  const char* new_name)
{
  struct ifinfomsg hdr;
  memset(&hdr, 0, sizeof(hdr));
  if (up)
    hdr.ifi_flags = hdr.ifi_change = IFF_UP;
  hdr.ifi_index = if_nametoindex(name);
  netlink_init(nlmsg, RTM_NEWLINK, 0, &hdr, sizeof(hdr));
  if (new_name)
    netlink_attr(nlmsg, IFLA_IFNAME, new_name, strlen(new_name));
  if (master) {
    int ifindex = if_nametoindex(master);
    netlink_attr(nlmsg, IFLA_MASTER, &ifindex, sizeof(ifindex));
  }
  if (macsize)
    netlink_attr(nlmsg, IFLA_ADDRESS, mac, macsize);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static int netlink_add_addr(struct nlmsg* nlmsg, int sock, const char* dev,
                            const void* addr, int addrsize)
{
  struct ifaddrmsg hdr;
  memset(&hdr, 0, sizeof(hdr));
  hdr.ifa_family = addrsize == 4 ? AF_INET : AF_INET6;
  hdr.ifa_prefixlen = addrsize == 4 ? 24 : 120;
  hdr.ifa_scope = RT_SCOPE_UNIVERSE;
  hdr.ifa_index = if_nametoindex(dev);
  netlink_init(nlmsg, RTM_NEWADDR, NLM_F_CREATE | NLM_F_REPLACE, &hdr,
               sizeof(hdr));
  netlink_attr(nlmsg, IFA_LOCAL, addr, addrsize);
  netlink_attr(nlmsg, IFA_ADDRESS, addr, addrsize);
  return netlink_send(nlmsg, sock);
}

static void netlink_add_addr4(struct nlmsg* nlmsg, int sock, const char* dev,
                              const char* addr)
{
  struct in_addr in_addr;
  inet_pton(AF_INET, addr, &in_addr);
  int err = netlink_add_addr(nlmsg, sock, dev, &in_addr, sizeof(in_addr));
  if (err < 0) {
  }
}

static void netlink_add_addr6(struct nlmsg* nlmsg, int sock, const char* dev,
                              const char* addr)
{
  struct in6_addr in6_addr;
  inet_pton(AF_INET6, addr, &in6_addr);
  int err = netlink_add_addr(nlmsg, sock, dev, &in6_addr, sizeof(in6_addr));
  if (err < 0) {
  }
}

static void netlink_add_neigh(struct nlmsg* nlmsg, int sock, const char* name,
                              const void* addr, int addrsize, const void* mac,
                              int macsize)
{
  struct ndmsg hdr;
  memset(&hdr, 0, sizeof(hdr));
  hdr.ndm_family = addrsize == 4 ? AF_INET : AF_INET6;
  hdr.ndm_ifindex = if_nametoindex(name);
  hdr.ndm_state = NUD_PERMANENT;
  netlink_init(nlmsg, RTM_NEWNEIGH, NLM_F_EXCL | NLM_F_CREATE, &hdr,
               sizeof(hdr));
  netlink_attr(nlmsg, NDA_DST, addr, addrsize);
  netlink_attr(nlmsg, NDA_LLADDR, mac, macsize);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static struct nlmsg nlmsg;

static int tunfd = -1;

#define TUN_IFACE "syz_tun"
#define LOCAL_MAC 0xaaaaaaaaaaaa
#define REMOTE_MAC 0xaaaaaaaaaabb
#define LOCAL_IPV4 "172.20.20.170"
#define REMOTE_IPV4 "172.20.20.187"
#define LOCAL_IPV6 "fe80::aa"
#define REMOTE_IPV6 "fe80::bb"

#define IFF_NAPI 0x0010

static void initialize_tun(void)
{
  tunfd = open("/dev/net/tun", O_RDWR | O_NONBLOCK);
  if (tunfd == -1) {
    printf("tun: can't open /dev/net/tun: please enable CONFIG_TUN=y\n");
    printf("otherwise fuzzing or reproducing might not work as intended\n");
    return;
  }
  const int kTunFd = 200;
  if (dup2(tunfd, kTunFd) < 0)
    exit(1);
  close(tunfd);
  tunfd = kTunFd;
  struct ifreq ifr;
  memset(&ifr, 0, sizeof(ifr));
  strncpy(ifr.ifr_name, TUN_IFACE, IFNAMSIZ);
  ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
  if (ioctl(tunfd, TUNSETIFF, (void*)&ifr) < 0) {
    exit(1);
  }
  char sysctl[64];
  sprintf(sysctl, "/proc/sys/net/ipv6/conf/%s/accept_dad", TUN_IFACE);
  write_file(sysctl, "0");
  sprintf(sysctl, "/proc/sys/net/ipv6/conf/%s/router_solicitations", TUN_IFACE);
  write_file(sysctl, "0");
  int sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
  if (sock == -1)
    exit(1);
  netlink_add_addr4(&nlmsg, sock, TUN_IFACE, LOCAL_IPV4);
  netlink_add_addr6(&nlmsg, sock, TUN_IFACE, LOCAL_IPV6);
  uint64_t macaddr = REMOTE_MAC;
  struct in_addr in_addr;
  inet_pton(AF_INET, REMOTE_IPV4, &in_addr);
  netlink_add_neigh(&nlmsg, sock, TUN_IFACE, &in_addr, sizeof(in_addr),
                    &macaddr, ETH_ALEN);
  struct in6_addr in6_addr;
  inet_pton(AF_INET6, REMOTE_IPV6, &in6_addr);
  netlink_add_neigh(&nlmsg, sock, TUN_IFACE, &in6_addr, sizeof(in6_addr),
                    &macaddr, ETH_ALEN);
  macaddr = LOCAL_MAC;
  netlink_device_change(&nlmsg, sock, TUN_IFACE, true, 0, &macaddr, ETH_ALEN,
                        NULL);
  close(sock);
}

#define DEVLINK_FAMILY_NAME "devlink"

#define DEVLINK_CMD_PORT_GET 5
#define DEVLINK_ATTR_BUS_NAME 1
#define DEVLINK_ATTR_DEV_NAME 2
#define DEVLINK_ATTR_NETDEV_NAME 7

static struct nlmsg nlmsg2;

static void initialize_devlink_ports(const char* bus_name, const char* dev_name,
                                     const char* netdev_prefix)
{
  struct genlmsghdr genlhdr;
  int len, total_len, id, err, offset;
  uint16_t netdev_index;
  int sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_GENERIC);
  if (sock == -1)
    exit(1);
  int rtsock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
  if (rtsock == -1)
    exit(1);
  id = netlink_query_family_id(&nlmsg, sock, DEVLINK_FAMILY_NAME, true);
  if (id == -1)
    goto error;
  memset(&genlhdr, 0, sizeof(genlhdr));
  genlhdr.cmd = DEVLINK_CMD_PORT_GET;
  netlink_init(&nlmsg, id, NLM_F_DUMP, &genlhdr, sizeof(genlhdr));
  netlink_attr(&nlmsg, DEVLINK_ATTR_BUS_NAME, bus_name, strlen(bus_name) + 1);
  netlink_attr(&nlmsg, DEVLINK_ATTR_DEV_NAME, dev_name, strlen(dev_name) + 1);
  err = netlink_send_ext(&nlmsg, sock, id, &total_len, true);
  if (err < 0) {
    goto error;
  }
  offset = 0;
  netdev_index = 0;
  while ((len = netlink_next_msg(&nlmsg, offset, total_len)) != -1) {
    struct nlattr* attr = (struct nlattr*)(nlmsg.buf + offset + NLMSG_HDRLEN +
                                           NLMSG_ALIGN(sizeof(genlhdr)));
    for (; (char*)attr < nlmsg.buf + offset + len;
         attr = (struct nlattr*)((char*)attr + NLMSG_ALIGN(attr->nla_len))) {
      if (attr->nla_type == DEVLINK_ATTR_NETDEV_NAME) {
        char* port_name;
        char netdev_name[IFNAMSIZ];
        port_name = (char*)(attr + 1);
        snprintf(netdev_name, sizeof(netdev_name), "%s%d", netdev_prefix,
                 netdev_index);
        netlink_device_change(&nlmsg2, rtsock, port_name, true, 0, 0, 0,
                              netdev_name);
        break;
      }
    }
    offset += len;
    netdev_index++;
  }
error:
  close(rtsock);
  close(sock);
}

#define WIFI_INITIAL_DEVICE_COUNT 2
#define WIFI_MAC_BASE                                                          \
  {                                                                            \
    0x08, 0x02, 0x11, 0x00, 0x00, 0x00                                         \
  }
#define WIFI_IBSS_BSSID                                                        \
  {                                                                            \
    0x50, 0x50, 0x50, 0x50, 0x50, 0x50                                         \
  }
#define WIFI_IBSS_SSID                                                         \
  {                                                                            \
    0x10, 0x10, 0x10, 0x10, 0x10, 0x10                                         \
  }
#define WIFI_DEFAULT_FREQUENCY 2412
#define WIFI_DEFAULT_SIGNAL 0
#define WIFI_DEFAULT_RX_RATE 1
#define HWSIM_CMD_REGISTER 1
#define HWSIM_CMD_FRAME 2
#define HWSIM_CMD_NEW_RADIO 4
#define HWSIM_ATTR_SUPPORT_P2P_DEVICE 14
#define HWSIM_ATTR_PERM_ADDR 22

#define IF_OPER_UP 6
struct join_ibss_props {
  int wiphy_freq;
  bool wiphy_freq_fixed;
  uint8_t* mac;
  uint8_t* ssid;
  int ssid_len;
};

static int set_interface_state(const char* interface_name, int on)
{
  struct ifreq ifr;
  int sock = socket(AF_INET, SOCK_DGRAM, 0);
  if (sock < 0) {
    return -1;
  }
  memset(&ifr, 0, sizeof(ifr));
  strcpy(ifr.ifr_name, interface_name);
  int ret = ioctl(sock, SIOCGIFFLAGS, &ifr);
  if (ret < 0) {
    close(sock);
    return -1;
  }
  if (on)
    ifr.ifr_flags |= IFF_UP;
  else
    ifr.ifr_flags &= ~IFF_UP;
  ret = ioctl(sock, SIOCSIFFLAGS, &ifr);
  close(sock);
  if (ret < 0) {
    return -1;
  }
  return 0;
}

static int nl80211_set_interface(struct nlmsg* nlmsg, int sock,
                                 int nl80211_family, uint32_t ifindex,
                                 uint32_t iftype, bool dofail)
{
  struct genlmsghdr genlhdr;
  memset(&genlhdr, 0, sizeof(genlhdr));
  genlhdr.cmd = NL80211_CMD_SET_INTERFACE;
  netlink_init(nlmsg, nl80211_family, 0, &genlhdr, sizeof(genlhdr));
  netlink_attr(nlmsg, NL80211_ATTR_IFINDEX, &ifindex, sizeof(ifindex));
  netlink_attr(nlmsg, NL80211_ATTR_IFTYPE, &iftype, sizeof(iftype));
  int err = netlink_send_ext(nlmsg, sock, 0, NULL, dofail);
  if (err < 0) {
  }
  return err;
}

static int nl80211_join_ibss(struct nlmsg* nlmsg, int sock, int nl80211_family,
                             uint32_t ifindex, struct join_ibss_props* props,
                             bool dofail)
{
  struct genlmsghdr genlhdr;
  memset(&genlhdr, 0, sizeof(genlhdr));
  genlhdr.cmd = NL80211_CMD_JOIN_IBSS;
  netlink_init(nlmsg, nl80211_family, 0, &genlhdr, sizeof(genlhdr));
  netlink_attr(nlmsg, NL80211_ATTR_IFINDEX, &ifindex, sizeof(ifindex));
  netlink_attr(nlmsg, NL80211_ATTR_SSID, props->ssid, props->ssid_len);
  netlink_attr(nlmsg, NL80211_ATTR_WIPHY_FREQ, &(props->wiphy_freq),
               sizeof(props->wiphy_freq));
  if (props->mac)
    netlink_attr(nlmsg, NL80211_ATTR_MAC, props->mac, ETH_ALEN);
  if (props->wiphy_freq_fixed)
    netlink_attr(nlmsg, NL80211_ATTR_FREQ_FIXED, NULL, 0);
  int err = netlink_send_ext(nlmsg, sock, 0, NULL, dofail);
  if (err < 0) {
  }
  return err;
}

static int get_ifla_operstate(struct nlmsg* nlmsg, int ifindex, bool dofail)
{
  struct ifinfomsg info;
  memset(&info, 0, sizeof(info));
  info.ifi_family = AF_UNSPEC;
  info.ifi_index = ifindex;
  int sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
  if (sock == -1) {
    return -1;
  }
  netlink_init(nlmsg, RTM_GETLINK, 0, &info, sizeof(info));
  int n;
  int err = netlink_send_ext(nlmsg, sock, RTM_NEWLINK, &n, dofail);
  close(sock);
  if (err) {
    return -1;
  }
  struct rtattr* attr = IFLA_RTA(NLMSG_DATA(nlmsg->buf));
  for (; RTA_OK(attr, n); attr = RTA_NEXT(attr, n)) {
    if (attr->rta_type == IFLA_OPERSTATE)
      return *((int32_t*)RTA_DATA(attr));
  }
  return -1;
}

static int await_ifla_operstate(struct nlmsg* nlmsg, char* interface,
                                int operstate, bool dofail)
{
  int ifindex = if_nametoindex(interface);
  while (true) {
    usleep(1000);
    int ret = get_ifla_operstate(nlmsg, ifindex, dofail);
    if (ret < 0)
      return ret;
    if (ret == operstate)
      return 0;
  }
  return 0;
}

static int nl80211_setup_ibss_interface(struct nlmsg* nlmsg, int sock,
                                        int nl80211_family_id, char* interface,
                                        struct join_ibss_props* ibss_props,
                                        bool dofail)
{
  int ifindex = if_nametoindex(interface);
  if (ifindex == 0) {
    return -1;
  }
  int ret = nl80211_set_interface(nlmsg, sock, nl80211_family_id, ifindex,
                                  NL80211_IFTYPE_ADHOC, dofail);
  if (ret < 0) {
    return -1;
  }
  ret = set_interface_state(interface, 1);
  if (ret < 0) {
    return -1;
  }
  ret = nl80211_join_ibss(nlmsg, sock, nl80211_family_id, ifindex, ibss_props,
                          dofail);
  if (ret < 0) {
    return -1;
  }
  return 0;
}

static int hwsim80211_create_device(struct nlmsg* nlmsg, int sock,
                                    int hwsim_family,
                                    uint8_t mac_addr[ETH_ALEN])
{
  struct genlmsghdr genlhdr;
  memset(&genlhdr, 0, sizeof(genlhdr));
  genlhdr.cmd = HWSIM_CMD_NEW_RADIO;
  netlink_init(nlmsg, hwsim_family, 0, &genlhdr, sizeof(genlhdr));
  netlink_attr(nlmsg, HWSIM_ATTR_SUPPORT_P2P_DEVICE, NULL, 0);
  netlink_attr(nlmsg, HWSIM_ATTR_PERM_ADDR, mac_addr, ETH_ALEN);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
  return err;
}

static void initialize_wifi_devices(void)
{
  int rfkill = open("/dev/rfkill", O_RDWR);
  if (rfkill == -1) {
    if (errno != ENOENT && errno != EACCES)
      exit(1);
  } else {
    struct rfkill_event event = {0};
    event.type = RFKILL_TYPE_ALL;
    event.op = RFKILL_OP_CHANGE_ALL;
    if (write(rfkill, &event, sizeof(event)) != (ssize_t)(sizeof(event)))
      exit(1);
    close(rfkill);
  }
  uint8_t mac_addr[6] = WIFI_MAC_BASE;
  int sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_GENERIC);
  if (sock < 0) {
    return;
  }
  int hwsim_family_id =
      netlink_query_family_id(&nlmsg, sock, "MAC80211_HWSIM", true);
  int nl80211_family_id =
      netlink_query_family_id(&nlmsg, sock, "nl80211", true);
  uint8_t ssid[] = WIFI_IBSS_SSID;
  uint8_t bssid[] = WIFI_IBSS_BSSID;
  struct join_ibss_props ibss_props = {.wiphy_freq = WIFI_DEFAULT_FREQUENCY,
                                       .wiphy_freq_fixed = true,
                                       .mac = bssid,
                                       .ssid = ssid,
                                       .ssid_len = sizeof(ssid)};
  for (int device_id = 0; device_id < WIFI_INITIAL_DEVICE_COUNT; device_id++) {
    mac_addr[5] = device_id;
    int ret = hwsim80211_create_device(&nlmsg, sock, hwsim_family_id, mac_addr);
    if (ret < 0)
      exit(1);
    char interface[6] = "wlan0";
    interface[4] += device_id;
    if (nl80211_setup_ibss_interface(&nlmsg, sock, nl80211_family_id, interface,
                                     &ibss_props, true) < 0)
      exit(1);
  }
  for (int device_id = 0; device_id < WIFI_INITIAL_DEVICE_COUNT; device_id++) {
    char interface[6] = "wlan0";
    interface[4] += device_id;
    int ret = await_ifla_operstate(&nlmsg, interface, IF_OPER_UP, true);
    if (ret < 0)
      exit(1);
  }
  close(sock);
}

#define DEV_IPV4 "172.20.20.%d"
#define DEV_IPV6 "fe80::%02x"
#define DEV_MAC 0x00aaaaaaaaaa

static void netdevsim_add(unsigned int addr, unsigned int port_count)
{
  write_file("/sys/bus/netdevsim/del_device", "%u", addr);
  if (write_file("/sys/bus/netdevsim/new_device", "%u %u", addr, port_count)) {
    char buf[32];
    snprintf(buf, sizeof(buf), "netdevsim%d", addr);
    initialize_devlink_ports("netdevsim", buf, "netdevsim");
  }
}

#define WG_GENL_NAME "wireguard"
enum wg_cmd {
  WG_CMD_GET_DEVICE,
  WG_CMD_SET_DEVICE,
};
enum wgdevice_attribute {
  WGDEVICE_A_UNSPEC,
  WGDEVICE_A_IFINDEX,
  WGDEVICE_A_IFNAME,
  WGDEVICE_A_PRIVATE_KEY,
  WGDEVICE_A_PUBLIC_KEY,
  WGDEVICE_A_FLAGS,
  WGDEVICE_A_LISTEN_PORT,
  WGDEVICE_A_FWMARK,
  WGDEVICE_A_PEERS,
};
enum wgpeer_attribute {
  WGPEER_A_UNSPEC,
  WGPEER_A_PUBLIC_KEY,
  WGPEER_A_PRESHARED_KEY,
  WGPEER_A_FLAGS,
  WGPEER_A_ENDPOINT,
  WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
  WGPEER_A_LAST_HANDSHAKE_TIME,
  WGPEER_A_RX_BYTES,
  WGPEER_A_TX_BYTES,
  WGPEER_A_ALLOWEDIPS,
  WGPEER_A_PROTOCOL_VERSION,
};
enum wgallowedip_attribute {
  WGALLOWEDIP_A_UNSPEC,
  WGALLOWEDIP_A_FAMILY,
  WGALLOWEDIP_A_IPADDR,
  WGALLOWEDIP_A_CIDR_MASK,
};

static void netlink_wireguard_setup(void)
{
  const char ifname_a[] = "wg0";
  const char ifname_b[] = "wg1";
  const char ifname_c[] = "wg2";
  const char private_a[] =
      "\xa0\x5c\xa8\x4f\x6c\x9c\x8e\x38\x53\xe2\xfd\x7a\x70\xae\x0f\xb2\x0f\xa1"
      "\x52\x60\x0c\xb0\x08\x45\x17\x4f\x08\x07\x6f\x8d\x78\x43";
  const char private_b[] =
      "\xb0\x80\x73\xe8\xd4\x4e\x91\xe3\xda\x92\x2c\x22\x43\x82\x44\xbb\x88\x5c"
      "\x69\xe2\x69\xc8\xe9\xd8\x35\xb1\x14\x29\x3a\x4d\xdc\x6e";
  const char private_c[] =
      "\xa0\xcb\x87\x9a\x47\xf5\xbc\x64\x4c\x0e\x69\x3f\xa6\xd0\x31\xc7\x4a\x15"
      "\x53\xb6\xe9\x01\xb9\xff\x2f\x51\x8c\x78\x04\x2f\xb5\x42";
  const char public_a[] =
      "\x97\x5c\x9d\x81\xc9\x83\xc8\x20\x9e\xe7\x81\x25\x4b\x89\x9f\x8e\xd9\x25"
      "\xae\x9f\x09\x23\xc2\x3c\x62\xf5\x3c\x57\xcd\xbf\x69\x1c";
  const char public_b[] =
      "\xd1\x73\x28\x99\xf6\x11\xcd\x89\x94\x03\x4d\x7f\x41\x3d\xc9\x57\x63\x0e"
      "\x54\x93\xc2\x85\xac\xa4\x00\x65\xcb\x63\x11\xbe\x69\x6b";
  const char public_c[] =
      "\xf4\x4d\xa3\x67\xa8\x8e\xe6\x56\x4f\x02\x02\x11\x45\x67\x27\x08\x2f\x5c"
      "\xeb\xee\x8b\x1b\xf5\xeb\x73\x37\x34\x1b\x45\x9b\x39\x22";
  const uint16_t listen_a = 20001;
  const uint16_t listen_b = 20002;
  const uint16_t listen_c = 20003;
  const uint16_t af_inet = AF_INET;
  const uint16_t af_inet6 = AF_INET6;
  const struct sockaddr_in endpoint_b_v4 = {
      .sin_family = AF_INET,
      .sin_port = htons(listen_b),
      .sin_addr = {htonl(INADDR_LOOPBACK)}};
  const struct sockaddr_in endpoint_c_v4 = {
      .sin_family = AF_INET,
      .sin_port = htons(listen_c),
      .sin_addr = {htonl(INADDR_LOOPBACK)}};
  struct sockaddr_in6 endpoint_a_v6 = {.sin6_family = AF_INET6,
                                       .sin6_port = htons(listen_a)};
  endpoint_a_v6.sin6_addr = in6addr_loopback;
  struct sockaddr_in6 endpoint_c_v6 = {.sin6_family = AF_INET6,
                                       .sin6_port = htons(listen_c)};
  endpoint_c_v6.sin6_addr = in6addr_loopback;
  const struct in_addr first_half_v4 = {0};
  const struct in_addr second_half_v4 = {(uint32_t)htonl(128 << 24)};
  const struct in6_addr first_half_v6 = {{{0}}};
  const struct in6_addr second_half_v6 = {{{0x80}}};
  const uint8_t half_cidr = 1;
  const uint16_t persistent_keepalives[] = {1, 3, 7, 9, 14, 19};
  struct genlmsghdr genlhdr = {.cmd = WG_CMD_SET_DEVICE, .version = 1};
  int sock;
  int id, err;
  sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_GENERIC);
  if (sock == -1) {
    return;
  }
  id = netlink_query_family_id(&nlmsg, sock, WG_GENL_NAME, true);
  if (id == -1)
    goto error;
  netlink_init(&nlmsg, id, 0, &genlhdr, sizeof(genlhdr));
  netlink_attr(&nlmsg, WGDEVICE_A_IFNAME, ifname_a, strlen(ifname_a) + 1);
  netlink_attr(&nlmsg, WGDEVICE_A_PRIVATE_KEY, private_a, 32);
  netlink_attr(&nlmsg, WGDEVICE_A_LISTEN_PORT, &listen_a, 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGDEVICE_A_PEERS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_b, 32);
  netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_b_v4,
               sizeof(endpoint_b_v4));
  netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
               &persistent_keepalives[0], 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v4,
               sizeof(first_half_v4));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v6,
               sizeof(first_half_v6));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_c, 32);
  netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_c_v6,
               sizeof(endpoint_c_v6));
  netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
               &persistent_keepalives[1], 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v4,
               sizeof(second_half_v4));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v6,
               sizeof(second_half_v6));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  err = netlink_send(&nlmsg, sock);
  if (err < 0) {
  }
  netlink_init(&nlmsg, id, 0, &genlhdr, sizeof(genlhdr));
  netlink_attr(&nlmsg, WGDEVICE_A_IFNAME, ifname_b, strlen(ifname_b) + 1);
  netlink_attr(&nlmsg, WGDEVICE_A_PRIVATE_KEY, private_b, 32);
  netlink_attr(&nlmsg, WGDEVICE_A_LISTEN_PORT, &listen_b, 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGDEVICE_A_PEERS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_a, 32);
  netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_a_v6,
               sizeof(endpoint_a_v6));
  netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
               &persistent_keepalives[2], 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v4,
               sizeof(first_half_v4));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v6,
               sizeof(first_half_v6));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_c, 32);
  netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_c_v4,
               sizeof(endpoint_c_v4));
  netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
               &persistent_keepalives[3], 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v4,
               sizeof(second_half_v4));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v6,
               sizeof(second_half_v6));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  err = netlink_send(&nlmsg, sock);
  if (err < 0) {
  }
  netlink_init(&nlmsg, id, 0, &genlhdr, sizeof(genlhdr));
  netlink_attr(&nlmsg, WGDEVICE_A_IFNAME, ifname_c, strlen(ifname_c) + 1);
  netlink_attr(&nlmsg, WGDEVICE_A_PRIVATE_KEY, private_c, 32);
  netlink_attr(&nlmsg, WGDEVICE_A_LISTEN_PORT, &listen_c, 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGDEVICE_A_PEERS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_a, 32);
  netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_a_v6,
               sizeof(endpoint_a_v6));
  netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
               &persistent_keepalives[4], 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v4,
               sizeof(first_half_v4));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &first_half_v6,
               sizeof(first_half_v6));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGPEER_A_PUBLIC_KEY, public_b, 32);
  netlink_attr(&nlmsg, WGPEER_A_ENDPOINT, &endpoint_b_v4,
               sizeof(endpoint_b_v4));
  netlink_attr(&nlmsg, WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL,
               &persistent_keepalives[5], 2);
  netlink_nest(&nlmsg, NLA_F_NESTED | WGPEER_A_ALLOWEDIPS);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v4,
               sizeof(second_half_v4));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_nest(&nlmsg, NLA_F_NESTED | 0);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_FAMILY, &af_inet6, 2);
  netlink_attr(&nlmsg, WGALLOWEDIP_A_IPADDR, &second_half_v6,
               sizeof(second_half_v6));
  netlink_attr(&nlmsg, WGALLOWEDIP_A_CIDR_MASK, &half_cidr, 1);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  netlink_done(&nlmsg);
  err = netlink_send(&nlmsg, sock);
  if (err < 0) {
  }

error:
  close(sock);
}

static void initialize_netdevices(void)
{
  char netdevsim[16];
  sprintf(netdevsim, "netdevsim%d", (int)procid);
  struct {
    const char* type;
    const char* dev;
  } devtypes[] = {
      {"ip6gretap", "ip6gretap0"}, {"bridge", "bridge0"}, {"vcan", "vcan0"},
      {"bond", "bond0"},           {"team", "team0"},     {"dummy", "dummy0"},
      {"nlmon", "nlmon0"},         {"caif", "caif0"},     {"batadv", "batadv0"},
      {"vxcan", "vxcan1"},         {"veth", 0},           {"wireguard", "wg0"},
      {"wireguard", "wg1"},        {"wireguard", "wg2"},
  };
  const char* devmasters[] = {"bridge", "bond", "team", "batadv"};
  struct {
    const char* name;
    int macsize;
    bool noipv6;
  } devices[] = {
      {"lo", ETH_ALEN},
      {"sit0", 0},
      {"bridge0", ETH_ALEN},
      {"vcan0", 0, true},
      {"tunl0", 0},
      {"gre0", 0},
      {"gretap0", ETH_ALEN},
      {"ip_vti0", 0},
      {"ip6_vti0", 0},
      {"ip6tnl0", 0},
      {"ip6gre0", 0},
      {"ip6gretap0", ETH_ALEN},
      {"erspan0", ETH_ALEN},
      {"bond0", ETH_ALEN},
      {"veth0", ETH_ALEN},
      {"veth1", ETH_ALEN},
      {"team0", ETH_ALEN},
      {"veth0_to_bridge", ETH_ALEN},
      {"veth1_to_bridge", ETH_ALEN},
      {"veth0_to_bond", ETH_ALEN},
      {"veth1_to_bond", ETH_ALEN},
      {"veth0_to_team", ETH_ALEN},
      {"veth1_to_team", ETH_ALEN},
      {"veth0_to_hsr", ETH_ALEN},
      {"veth1_to_hsr", ETH_ALEN},
      {"hsr0", 0},
      {"dummy0", ETH_ALEN},
      {"nlmon0", 0},
      {"vxcan0", 0, true},
      {"vxcan1", 0, true},
      {"caif0", ETH_ALEN},
      {"batadv0", ETH_ALEN},
      {netdevsim, ETH_ALEN},
      {"xfrm0", ETH_ALEN},
      {"veth0_virt_wifi", ETH_ALEN},
      {"veth1_virt_wifi", ETH_ALEN},
      {"virt_wifi0", ETH_ALEN},
      {"veth0_vlan", ETH_ALEN},
      {"veth1_vlan", ETH_ALEN},
      {"vlan0", ETH_ALEN},
      {"vlan1", ETH_ALEN},
      {"macvlan0", ETH_ALEN},
      {"macvlan1", ETH_ALEN},
      {"ipvlan0", ETH_ALEN},
      {"ipvlan1", ETH_ALEN},
      {"veth0_macvtap", ETH_ALEN},
      {"veth1_macvtap", ETH_ALEN},
      {"macvtap0", ETH_ALEN},
      {"macsec0", ETH_ALEN},
      {"veth0_to_batadv", ETH_ALEN},
      {"veth1_to_batadv", ETH_ALEN},
      {"batadv_slave_0", ETH_ALEN},
      {"batadv_slave_1", ETH_ALEN},
      {"geneve0", ETH_ALEN},
      {"geneve1", ETH_ALEN},
      {"wg0", 0},
      {"wg1", 0},
      {"wg2", 0},
  };
  int sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
  if (sock == -1)
    exit(1);
  unsigned i;
  for (i = 0; i < sizeof(devtypes) / sizeof(devtypes[0]); i++)
    netlink_add_device(&nlmsg, sock, devtypes[i].type, devtypes[i].dev);
  for (i = 0; i < sizeof(devmasters) / (sizeof(devmasters[0])); i++) {
    char master[32], slave0[32], veth0[32], slave1[32], veth1[32];
    sprintf(slave0, "%s_slave_0", devmasters[i]);
    sprintf(veth0, "veth0_to_%s", devmasters[i]);
    netlink_add_veth(&nlmsg, sock, slave0, veth0);
    sprintf(slave1, "%s_slave_1", devmasters[i]);
    sprintf(veth1, "veth1_to_%s", devmasters[i]);
    netlink_add_veth(&nlmsg, sock, slave1, veth1);
    sprintf(master, "%s0", devmasters[i]);
    netlink_device_change(&nlmsg, sock, slave0, false, master, 0, 0, NULL);
    netlink_device_change(&nlmsg, sock, slave1, false, master, 0, 0, NULL);
  }
  netlink_add_xfrm(&nlmsg, sock, "xfrm0");
  netlink_device_change(&nlmsg, sock, "bridge_slave_0", true, 0, 0, 0, NULL);
  netlink_device_change(&nlmsg, sock, "bridge_slave_1", true, 0, 0, 0, NULL);
  netlink_add_veth(&nlmsg, sock, "hsr_slave_0", "veth0_to_hsr");
  netlink_add_veth(&nlmsg, sock, "hsr_slave_1", "veth1_to_hsr");
  netlink_add_hsr(&nlmsg, sock, "hsr0", "hsr_slave_0", "hsr_slave_1");
  netlink_device_change(&nlmsg, sock, "hsr_slave_0", true, 0, 0, 0, NULL);
  netlink_device_change(&nlmsg, sock, "hsr_slave_1", true, 0, 0, 0, NULL);
  netlink_add_veth(&nlmsg, sock, "veth0_virt_wifi", "veth1_virt_wifi");
  netlink_add_linked(&nlmsg, sock, "virt_wifi", "virt_wifi0",
                     "veth1_virt_wifi");
  netlink_add_veth(&nlmsg, sock, "veth0_vlan", "veth1_vlan");
  netlink_add_vlan(&nlmsg, sock, "vlan0", "veth0_vlan", 0, htons(ETH_P_8021Q));
  netlink_add_vlan(&nlmsg, sock, "vlan1", "veth0_vlan", 1, htons(ETH_P_8021AD));
  netlink_add_macvlan(&nlmsg, sock, "macvlan0", "veth1_vlan");
  netlink_add_macvlan(&nlmsg, sock, "macvlan1", "veth1_vlan");
  netlink_add_ipvlan(&nlmsg, sock, "ipvlan0", "veth0_vlan", IPVLAN_MODE_L2, 0);
  netlink_add_ipvlan(&nlmsg, sock, "ipvlan1", "veth0_vlan", IPVLAN_MODE_L3S,
                     IPVLAN_F_VEPA);
  netlink_add_veth(&nlmsg, sock, "veth0_macvtap", "veth1_macvtap");
  netlink_add_linked(&nlmsg, sock, "macvtap", "macvtap0", "veth0_macvtap");
  netlink_add_linked(&nlmsg, sock, "macsec", "macsec0", "veth1_macvtap");
  char addr[32];
  sprintf(addr, DEV_IPV4, 14 + 10);
  struct in_addr geneve_addr4;
  if (inet_pton(AF_INET, addr, &geneve_addr4) <= 0)
    exit(1);
  struct in6_addr geneve_addr6;
  if (inet_pton(AF_INET6, "fc00::01", &geneve_addr6) <= 0)
    exit(1);
  netlink_add_geneve(&nlmsg, sock, "geneve0", 0, &geneve_addr4, 0);
  netlink_add_geneve(&nlmsg, sock, "geneve1", 1, 0, &geneve_addr6);
  netdevsim_add((int)procid, 4);
  netlink_wireguard_setup();
  for (i = 0; i < sizeof(devices) / (sizeof(devices[0])); i++) {
    char addr[32];
    sprintf(addr, DEV_IPV4, i + 10);
    netlink_add_addr4(&nlmsg, sock, devices[i].name, addr);
    if (!devices[i].noipv6) {
      sprintf(addr, DEV_IPV6, i + 10);
      netlink_add_addr6(&nlmsg, sock, devices[i].name, addr);
    }
    uint64_t macaddr = DEV_MAC + ((i + 10ull) << 40);
    netlink_device_change(&nlmsg, sock, devices[i].name, true, 0, &macaddr,
                          devices[i].macsize, NULL);
  }
  close(sock);
}
static void initialize_netdevices_init(void)
{
  int sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
  if (sock == -1)
    exit(1);
  struct {
    const char* type;
    int macsize;
    bool noipv6;
    bool noup;
  } devtypes[] = {
      {"nr", 7, true},
      {"rose", 5, true, true},
  };
  unsigned i;
  for (i = 0; i < sizeof(devtypes) / sizeof(devtypes[0]); i++) {
    char dev[32], addr[32];
    sprintf(dev, "%s%d", devtypes[i].type, (int)procid);
    sprintf(addr, "172.30.%d.%d", i, (int)procid + 1);
    netlink_add_addr4(&nlmsg, sock, dev, addr);
    if (!devtypes[i].noipv6) {
      sprintf(addr, "fe88::%02x:%02x", i, (int)procid + 1);
      netlink_add_addr6(&nlmsg, sock, dev, addr);
    }
    int macsize = devtypes[i].macsize;
    uint64_t macaddr = 0xbbbbbb +
                       ((unsigned long long)i << (8 * (macsize - 2))) +
                       (procid << (8 * (macsize - 1)));
    netlink_device_change(&nlmsg, sock, dev, !devtypes[i].noup, 0, &macaddr,
                          macsize, NULL);
  }
  close(sock);
}

static int read_tun(char* data, int size)
{
  if (tunfd < 0)
    return -1;
  int rv = read(tunfd, data, size);
  if (rv < 0) {
    if (errno == EAGAIN || errno == EBADFD)
      return -1;
    exit(1);
  }
  return rv;
}

static void flush_tun()
{
  char data[1000];
  while (read_tun(&data[0], sizeof(data)) != -1) {
  }
}

#define MAX_FDS 30

static long syz_mod_dev(volatile long a0, volatile long a1, volatile long a2,
                        volatile long a3, volatile long a4, volatile long a5)
{
  int fd, sysfd;
  char buf[1024], sysbuf[1024], input[1024];
  char* hash;
  char dev_num;
  dev_num = 0;
  strncpy(buf, (char*)a0, sizeof(buf) - 1);
  buf[sizeof(buf) - 1] = 0;
  while ((hash = strchr(buf, '#'))) {
    *hash = '0' + (char)(a1 % 10);
    a1 /= 10;
    if (dev_num == 0)
      dev_num = *hash;
  }
  fd = open(buf, a2, 0);
  strncpy(sysbuf, (char*)a3, sizeof(sysbuf) - 1);
  sysbuf[sizeof(sysbuf) - 1] = 0;
  if ((hash = strchr(sysbuf, '#'))) {
    *hash = dev_num;
    while ((hash = strchr(sysbuf, '#'))) {
      *hash = '0' + (char)(a1 % 10);
      a1 /= 10;
    }
  }
  sysfd = open(sysbuf, O_RDWR, 0);
  strncpy(input, (char*)a4, sizeof(input) - 1);
  input[sizeof(input) - 1] = 0;
  hash = strchr(input, '\0');
  sysfd = write(sysfd, input, hash - input + 1);
  return fd;
}

#define BTPROTO_HCI 1
#define ACL_LINK 1
#define SCAN_PAGE 2

typedef struct {
  uint8_t b[6];
} __attribute__((packed)) bdaddr_t;

#define HCI_COMMAND_PKT 1
#define HCI_EVENT_PKT 4
#define HCI_VENDOR_PKT 0xff

struct hci_command_hdr {
  uint16_t opcode;
  uint8_t plen;
} __attribute__((packed));

struct hci_event_hdr {
  uint8_t evt;
  uint8_t plen;
} __attribute__((packed));

#define HCI_EV_CONN_COMPLETE 0x03
struct hci_ev_conn_complete {
  uint8_t status;
  uint16_t handle;
  bdaddr_t bdaddr;
  uint8_t link_type;
  uint8_t encr_mode;
} __attribute__((packed));

#define HCI_EV_CONN_REQUEST 0x04
struct hci_ev_conn_request {
  bdaddr_t bdaddr;
  uint8_t dev_class[3];
  uint8_t link_type;
} __attribute__((packed));

#define HCI_EV_REMOTE_FEATURES 0x0b
struct hci_ev_remote_features {
  uint8_t status;
  uint16_t handle;
  uint8_t features[8];
} __attribute__((packed));

#define HCI_EV_CMD_COMPLETE 0x0e
struct hci_ev_cmd_complete {
  uint8_t ncmd;
  uint16_t opcode;
} __attribute__((packed));

#define HCI_OP_WRITE_SCAN_ENABLE 0x0c1a

#define HCI_OP_READ_BUFFER_SIZE 0x1005
struct hci_rp_read_buffer_size {
  uint8_t status;
  uint16_t acl_mtu;
  uint8_t sco_mtu;
  uint16_t acl_max_pkt;
  uint16_t sco_max_pkt;
} __attribute__((packed));

#define HCI_OP_READ_BD_ADDR 0x1009
struct hci_rp_read_bd_addr {
  uint8_t status;
  bdaddr_t bdaddr;
} __attribute__((packed));

#define HCI_EV_LE_META 0x3e
struct hci_ev_le_meta {
  uint8_t subevent;
} __attribute__((packed));

#define HCI_EV_LE_CONN_COMPLETE 0x01
struct hci_ev_le_conn_complete {
  uint8_t status;
  uint16_t handle;
  uint8_t role;
  uint8_t bdaddr_type;
  bdaddr_t bdaddr;
  uint16_t interval;
  uint16_t latency;
  uint16_t supervision_timeout;
  uint8_t clk_accurancy;
} __attribute__((packed));

struct hci_dev_req {
  uint16_t dev_id;
  uint32_t dev_opt;
};

struct vhci_vendor_pkt_request {
  uint8_t type;
  uint8_t opcode;
} __attribute__((packed));

struct vhci_pkt {
  uint8_t type;
  union {
    struct {
      uint8_t opcode;
      uint16_t id;
    } __attribute__((packed)) vendor_pkt;
    struct hci_command_hdr command_hdr;
  };
} __attribute__((packed));

#define HCIDEVUP _IOW('H', 201, int)
#define HCISETSCAN _IOW('H', 221, int)

static int vhci_fd = -1;

static void rfkill_unblock_all()
{
  int fd = open("/dev/rfkill", O_WRONLY);
  if (fd < 0)
    exit(1);
  struct rfkill_event event = {0};
  event.idx = 0;
  event.type = RFKILL_TYPE_ALL;
  event.op = RFKILL_OP_CHANGE_ALL;
  event.soft = 0;
  event.hard = 0;
  if (write(fd, &event, sizeof(event)) < 0)
    exit(1);
  close(fd);
}

static void hci_send_event_packet(int fd, uint8_t evt, void* data,
                                  size_t data_len)
{
  struct iovec iv[3];
  struct hci_event_hdr hdr;
  hdr.evt = evt;
  hdr.plen = data_len;
  uint8_t type = HCI_EVENT_PKT;
  iv[0].iov_base = &type;
  iv[0].iov_len = sizeof(type);
  iv[1].iov_base = &hdr;
  iv[1].iov_len = sizeof(hdr);
  iv[2].iov_base = data;
  iv[2].iov_len = data_len;
  if (writev(fd, iv, sizeof(iv) / sizeof(struct iovec)) < 0)
    exit(1);
}

static void hci_send_event_cmd_complete(int fd, uint16_t opcode, void* data,
                                        size_t data_len)
{
  struct iovec iv[4];
  struct hci_event_hdr hdr;
  hdr.evt = HCI_EV_CMD_COMPLETE;
  hdr.plen = sizeof(struct hci_ev_cmd_complete) + data_len;
  struct hci_ev_cmd_complete evt_hdr;
  evt_hdr.ncmd = 1;
  evt_hdr.opcode = opcode;
  uint8_t type = HCI_EVENT_PKT;
  iv[0].iov_base = &type;
  iv[0].iov_len = sizeof(type);
  iv[1].iov_base = &hdr;
  iv[1].iov_len = sizeof(hdr);
  iv[2].iov_base = &evt_hdr;
  iv[2].iov_len = sizeof(evt_hdr);
  iv[3].iov_base = data;
  iv[3].iov_len = data_len;
  if (writev(fd, iv, sizeof(iv) / sizeof(struct iovec)) < 0)
    exit(1);
}

static bool process_command_pkt(int fd, char* buf, ssize_t buf_size)
{
  struct hci_command_hdr* hdr = (struct hci_command_hdr*)buf;
  if (buf_size < (ssize_t)sizeof(struct hci_command_hdr) ||
      hdr->plen != buf_size - sizeof(struct hci_command_hdr))
    exit(1);
  switch (hdr->opcode) {
  case HCI_OP_WRITE_SCAN_ENABLE: {
    uint8_t status = 0;
    hci_send_event_cmd_complete(fd, hdr->opcode, &status, sizeof(status));
    return true;
  }
  case HCI_OP_READ_BD_ADDR: {
    struct hci_rp_read_bd_addr rp = {0};
    rp.status = 0;
    memset(&rp.bdaddr, 0xaa, 6);
    hci_send_event_cmd_complete(fd, hdr->opcode, &rp, sizeof(rp));
    return false;
  }
  case HCI_OP_READ_BUFFER_SIZE: {
    struct hci_rp_read_buffer_size rp = {0};
    rp.status = 0;
    rp.acl_mtu = 1021;
    rp.sco_mtu = 96;
    rp.acl_max_pkt = 4;
    rp.sco_max_pkt = 6;
    hci_send_event_cmd_complete(fd, hdr->opcode, &rp, sizeof(rp));
    return false;
  }
  }
  char dummy[0xf9] = {0};
  hci_send_event_cmd_complete(fd, hdr->opcode, dummy, sizeof(dummy));
  return false;
}

static void* event_thread(void* arg)
{
  while (1) {
    char buf[1024] = {0};
    ssize_t buf_size = read(vhci_fd, buf, sizeof(buf));
    if (buf_size < 0)
      exit(1);
    if (buf_size > 0 && buf[0] == HCI_COMMAND_PKT) {
      if (process_command_pkt(vhci_fd, buf + 1, buf_size - 1))
        break;
    }
  }
  return NULL;
}
#define HCI_HANDLE_1 200
#define HCI_HANDLE_2 201

#define HCI_PRIMARY 0
#define HCI_OP_RESET 0x0c03

static void initialize_vhci()
{
  int hci_sock = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI);
  if (hci_sock < 0)
    exit(1);
  vhci_fd = open("/dev/vhci", O_RDWR);
  if (vhci_fd == -1)
    exit(1);
  const int kVhciFd = 202;
  if (dup2(vhci_fd, kVhciFd) < 0)
    exit(1);
  close(vhci_fd);
  vhci_fd = kVhciFd;
  struct vhci_vendor_pkt_request vendor_pkt_req = {HCI_VENDOR_PKT, HCI_PRIMARY};
  if (write(vhci_fd, &vendor_pkt_req, sizeof(vendor_pkt_req)) !=
      sizeof(vendor_pkt_req))
    exit(1);
  struct vhci_pkt vhci_pkt;
  if (read(vhci_fd, &vhci_pkt, sizeof(vhci_pkt)) != sizeof(vhci_pkt))
    exit(1);
  if (vhci_pkt.type == HCI_COMMAND_PKT &&
      vhci_pkt.command_hdr.opcode == HCI_OP_RESET) {
    char response[1] = {0};
    hci_send_event_cmd_complete(vhci_fd, HCI_OP_RESET, response,
                                sizeof(response));
    if (read(vhci_fd, &vhci_pkt, sizeof(vhci_pkt)) != sizeof(vhci_pkt))
      exit(1);
  }
  if (vhci_pkt.type != HCI_VENDOR_PKT)
    exit(1);
  int dev_id = vhci_pkt.vendor_pkt.id;
  pthread_t th;
  if (pthread_create(&th, NULL, event_thread, NULL))
    exit(1);
  int ret = ioctl(hci_sock, HCIDEVUP, dev_id);
  if (ret) {
    if (errno == ERFKILL) {
      rfkill_unblock_all();
      ret = ioctl(hci_sock, HCIDEVUP, dev_id);
    }
    if (ret && errno != EALREADY)
      exit(1);
  }
  struct hci_dev_req dr = {0};
  dr.dev_id = dev_id;
  dr.dev_opt = SCAN_PAGE;
  if (ioctl(hci_sock, HCISETSCAN, &dr))
    exit(1);
  struct hci_ev_conn_request request;
  memset(&request, 0, sizeof(request));
  memset(&request.bdaddr, 0xaa, 6);
  *(uint8_t*)&request.bdaddr.b[5] = 0x10;
  request.link_type = ACL_LINK;
  hci_send_event_packet(vhci_fd, HCI_EV_CONN_REQUEST, &request,
                        sizeof(request));
  struct hci_ev_conn_complete complete;
  memset(&complete, 0, sizeof(complete));
  complete.status = 0;
  complete.handle = HCI_HANDLE_1;
  memset(&complete.bdaddr, 0xaa, 6);
  *(uint8_t*)&complete.bdaddr.b[5] = 0x10;
  complete.link_type = ACL_LINK;
  complete.encr_mode = 0;
  hci_send_event_packet(vhci_fd, HCI_EV_CONN_COMPLETE, &complete,
                        sizeof(complete));
  struct hci_ev_remote_features features;
  memset(&features, 0, sizeof(features));
  features.status = 0;
  features.handle = HCI_HANDLE_1;
  hci_send_event_packet(vhci_fd, HCI_EV_REMOTE_FEATURES, &features,
                        sizeof(features));
  struct {
    struct hci_ev_le_meta le_meta;
    struct hci_ev_le_conn_complete le_conn;
  } le_conn;
  memset(&le_conn, 0, sizeof(le_conn));
  le_conn.le_meta.subevent = HCI_EV_LE_CONN_COMPLETE;
  memset(&le_conn.le_conn.bdaddr, 0xaa, 6);
  *(uint8_t*)&le_conn.le_conn.bdaddr.b[5] = 0x11;
  le_conn.le_conn.role = 1;
  le_conn.le_conn.handle = HCI_HANDLE_2;
  hci_send_event_packet(vhci_fd, HCI_EV_LE_META, &le_conn, sizeof(le_conn));
  pthread_join(th, NULL);
  close(hci_sock);
}

//% This code is derived from puff.{c,h}, found in the zlib development. The
//% original files come with the following copyright notice:

//% Copyright (C) 2002-2013 Mark Adler, all rights reserved
//% version 2.3, 21 Jan 2013
//% This software is provided 'as-is', without any express or implied
//% warranty.  In no event will the author be held liable for any damages
//% arising from the use of this software.
//% Permission is granted to anyone to use this software for any purpose,
//% including commercial applications, and to alter it and redistribute it
//% freely, subject to the following restrictions:
//% 1. The origin of this software must not be misrepresented; you must not
//%    claim that you wrote the original software. If you use this software
//%    in a product, an acknowledgment in the product documentation would be
//%    appreciated but is not required.
//% 2. Altered source versions must be plainly marked as such, and must not be
//%    misrepresented as being the original software.
//% 3. This notice may not be removed or altered from any source distribution.
//% Mark Adler    madler@alumni.caltech.edu

//% BEGIN CODE DERIVED FROM puff.{c,h}

#define MAXBITS 15
#define MAXLCODES 286
#define MAXDCODES 30
#define MAXCODES (MAXLCODES + MAXDCODES)
#define FIXLCODES 288

struct puff_state {
  unsigned char* out;
  unsigned long outlen;
  unsigned long outcnt;
  const unsigned char* in;
  unsigned long inlen;
  unsigned long incnt;
  int bitbuf;
  int bitcnt;
  jmp_buf env;
};
static int puff_bits(struct puff_state* s, int need)
{
  long val = s->bitbuf;
  while (s->bitcnt < need) {
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    val |= (long)(s->in[s->incnt++]) << s->bitcnt;
    s->bitcnt += 8;
  }
  s->bitbuf = (int)(val >> need);
  s->bitcnt -= need;
  return (int)(val & ((1L << need) - 1));
}
static int puff_stored(struct puff_state* s)
{
  s->bitbuf = 0;
  s->bitcnt = 0;
  if (s->incnt + 4 > s->inlen)
    return 2;
  unsigned len = s->in[s->incnt++];
  len |= s->in[s->incnt++] << 8;
  if (s->in[s->incnt++] != (~len & 0xff) ||
      s->in[s->incnt++] != ((~len >> 8) & 0xff))
    return -2;
  if (s->incnt + len > s->inlen)
    return 2;
  if (s->outcnt + len > s->outlen)
    return 1;
  for (; len--; s->outcnt++, s->incnt++) {
    if (s->in[s->incnt])
      s->out[s->outcnt] = s->in[s->incnt];
  }
  return 0;
}
struct puff_huffman {
  short* count;
  short* symbol;
};
static int puff_decode(struct puff_state* s, const struct puff_huffman* h)
{
  int first = 0;
  int index = 0;
  int bitbuf = s->bitbuf;
  int left = s->bitcnt;
  int code = first = index = 0;
  int len = 1;
  short* next = h->count + 1;
  while (1) {
    while (left--) {
      code |= bitbuf & 1;
      bitbuf >>= 1;
      int count = *next++;
      if (code - count < first) {
        s->bitbuf = bitbuf;
        s->bitcnt = (s->bitcnt - len) & 7;
        return h->symbol[index + (code - first)];
      }
      index += count;
      first += count;
      first <<= 1;
      code <<= 1;
      len++;
    }
    left = (MAXBITS + 1) - len;
    if (left == 0)
      break;
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    bitbuf = s->in[s->incnt++];
    if (left > 8)
      left = 8;
  }
  return -10;
}
static int puff_construct(struct puff_huffman* h, const short* length, int n)
{
  int len;
  for (len = 0; len <= MAXBITS; len++)
    h->count[len] = 0;
  int symbol;
  for (symbol = 0; symbol < n; symbol++)
    (h->count[length[symbol]])++;
  if (h->count[0] == n)
    return 0;
  int left = 1;
  for (len = 1; len <= MAXBITS; len++) {
    left <<= 1;
    left -= h->count[len];
    if (left < 0)
      return left;
  }
  short offs[MAXBITS + 1];
  offs[1] = 0;
  for (len = 1; len < MAXBITS; len++)
    offs[len + 1] = offs[len] + h->count[len];
  for (symbol = 0; symbol < n; symbol++)
    if (length[symbol] != 0)
      h->symbol[offs[length[symbol]]++] = symbol;
  return left;
}
static int puff_codes(struct puff_state* s, const struct puff_huffman* lencode,
                      const struct puff_huffman* distcode)
{
  static const short lens[29] = {3,  4,  5,  6,   7,   8,   9,   10,  11, 13,
                                 15, 17, 19, 23,  27,  31,  35,  43,  51, 59,
                                 67, 83, 99, 115, 131, 163, 195, 227, 258};
  static const short lext[29] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2,
                                 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0};
  static const short dists[30] = {
      1,    2,    3,    4,    5,    7,    9,    13,    17,    25,
      33,   49,   65,   97,   129,  193,  257,  385,   513,   769,
      1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577};
  static const short dext[30] = {0, 0, 0,  0,  1,  1,  2,  2,  3,  3,
                                 4, 4, 5,  5,  6,  6,  7,  7,  8,  8,
                                 9, 9, 10, 10, 11, 11, 12, 12, 13, 13};
  int symbol;
  do {
    symbol = puff_decode(s, lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 256) {
      if (s->outcnt == s->outlen)
        return 1;
      if (symbol)
        s->out[s->outcnt] = symbol;
      s->outcnt++;
    } else if (symbol > 256) {
      symbol -= 257;
      if (symbol >= 29)
        return -10;
      int len = lens[symbol] + puff_bits(s, lext[symbol]);
      symbol = puff_decode(s, distcode);
      if (symbol < 0)
        return symbol;
      unsigned dist = dists[symbol] + puff_bits(s, dext[symbol]);
      if (dist > s->outcnt)
        return -11;
      if (s->outcnt + len > s->outlen)
        return 1;
      while (len--) {
        if (dist <= s->outcnt && s->out[s->outcnt - dist])
          s->out[s->outcnt] = s->out[s->outcnt - dist];
        s->outcnt++;
      }
    }
  } while (symbol != 256);
  return 0;
}
static int puff_fixed(struct puff_state* s)
{
  static int virgin = 1;
  static short lencnt[MAXBITS + 1], lensym[FIXLCODES];
  static short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  static struct puff_huffman lencode, distcode;
  if (virgin) {
    lencode.count = lencnt;
    lencode.symbol = lensym;
    distcode.count = distcnt;
    distcode.symbol = distsym;
    short lengths[FIXLCODES];
    int symbol;
    for (symbol = 0; symbol < 144; symbol++)
      lengths[symbol] = 8;
    for (; symbol < 256; symbol++)
      lengths[symbol] = 9;
    for (; symbol < 280; symbol++)
      lengths[symbol] = 7;
    for (; symbol < FIXLCODES; symbol++)
      lengths[symbol] = 8;
    puff_construct(&lencode, lengths, FIXLCODES);
    for (symbol = 0; symbol < MAXDCODES; symbol++)
      lengths[symbol] = 5;
    puff_construct(&distcode, lengths, MAXDCODES);
    virgin = 0;
  }
  return puff_codes(s, &lencode, &distcode);
}
static int puff_dynamic(struct puff_state* s)
{
  static const short order[19] = {16, 17, 18, 0, 8,  7, 9,  6, 10, 5,
                                  11, 4,  12, 3, 13, 2, 14, 1, 15};
  int nlen = puff_bits(s, 5) + 257;
  int ndist = puff_bits(s, 5) + 1;
  int ncode = puff_bits(s, 4) + 4;
  if (nlen > MAXLCODES || ndist > MAXDCODES)
    return -3;
  short lengths[MAXCODES];
  int index;
  for (index = 0; index < ncode; index++)
    lengths[order[index]] = puff_bits(s, 3);
  for (; index < 19; index++)
    lengths[order[index]] = 0;
  short lencnt[MAXBITS + 1], lensym[MAXLCODES];
  struct puff_huffman lencode = {lencnt, lensym};
  int err = puff_construct(&lencode, lengths, 19);
  if (err != 0)
    return -4;
  index = 0;
  while (index < nlen + ndist) {
    int symbol;
    int len;
    symbol = puff_decode(s, &lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 16)
      lengths[index++] = symbol;
    else {
      len = 0;
      if (symbol == 16) {
        if (index == 0)
          return -5;
        len = lengths[index - 1];
        symbol = 3 + puff_bits(s, 2);
      } else if (symbol == 17)
        symbol = 3 + puff_bits(s, 3);
      else
        symbol = 11 + puff_bits(s, 7);
      if (index + symbol > nlen + ndist)
        return -6;
      while (symbol--)
        lengths[index++] = len;
    }
  }
  if (lengths[256] == 0)
    return -9;
  err = puff_construct(&lencode, lengths, nlen);
  if (err && (err < 0 || nlen != lencode.count[0] + lencode.count[1]))
    return -7;
  short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  struct puff_huffman distcode = {distcnt, distsym};
  err = puff_construct(&distcode, lengths + nlen, ndist);
  if (err && (err < 0 || ndist != distcode.count[0] + distcode.count[1]))
    return -8;
  return puff_codes(s, &lencode, &distcode);
}
static int puff(unsigned char* dest, unsigned long* destlen,
                const unsigned char* source, unsigned long sourcelen)
{
  struct puff_state s = {
      .out = dest,
      .outlen = *destlen,
      .outcnt = 0,
      .in = source,
      .inlen = sourcelen,
      .incnt = 0,
      .bitbuf = 0,
      .bitcnt = 0,
  };
  int err;
  if (setjmp(s.env) != 0)
    err = 2;
  else {
    int last;
    do {
      last = puff_bits(&s, 1);
      int type = puff_bits(&s, 2);
      err = type == 0 ? puff_stored(&s)
                      : (type == 1 ? puff_fixed(&s)
                                   : (type == 2 ? puff_dynamic(&s) : -1));
      if (err != 0)
        break;
    } while (!last);
  }
  *destlen = s.outcnt;
  return err;
}

//% END CODE DERIVED FROM puff.{c,h}

#define ZLIB_HEADER_WIDTH 2

static int puff_zlib_to_file(const unsigned char* source,
                             unsigned long sourcelen, int dest_fd)
{
  if (sourcelen < ZLIB_HEADER_WIDTH)
    return 0;
  source += ZLIB_HEADER_WIDTH;
  sourcelen -= ZLIB_HEADER_WIDTH;
  const unsigned long max_destlen = 132 << 20;
  void* ret = mmap(0, max_destlen, PROT_WRITE | PROT_READ,
                   MAP_PRIVATE | MAP_ANON, -1, 0);
  if (ret == MAP_FAILED)
    return -1;
  unsigned char* dest = (unsigned char*)ret;
  unsigned long destlen = max_destlen;
  int err = puff(dest, &destlen, source, sourcelen);
  if (err) {
    munmap(dest, max_destlen);
    errno = -err;
    return -1;
  }
  if (write(dest_fd, dest, destlen) != (ssize_t)destlen) {
    munmap(dest, max_destlen);
    return -1;
  }
  return munmap(dest, max_destlen);
}

static int setup_loop_device(unsigned char* data, unsigned long size,
                             const char* loopname, int* loopfd_p)
{
  int err = 0, loopfd = -1;
  int memfd = syscall(__NR_memfd_create, "syzkaller", 0);
  if (memfd == -1) {
    err = errno;
    goto error;
  }
  if (puff_zlib_to_file(data, size, memfd)) {
    err = errno;
    goto error_close_memfd;
  }
  loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    err = errno;
    goto error_close_memfd;
  }
  if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
    if (errno != EBUSY) {
      err = errno;
      goto error_close_loop;
    }
    ioctl(loopfd, LOOP_CLR_FD, 0);
    usleep(1000);
    if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
      err = errno;
      goto error_close_loop;
    }
  }
  close(memfd);
  *loopfd_p = loopfd;
  return 0;

error_close_loop:
  close(loopfd);
error_close_memfd:
  close(memfd);
error:
  errno = err;
  return -1;
}

static void reset_loop_device(const char* loopname)
{
  int loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    return;
  }
  if (ioctl(loopfd, LOOP_CLR_FD, 0)) {
  }
  close(loopfd);
}

static long syz_mount_image(volatile long fsarg, volatile long dir,
                            volatile long flags, volatile long optsarg,
                            volatile long change_dir,
                            volatile unsigned long size, volatile long image)
{
  unsigned char* data = (unsigned char*)image;
  int res = -1, err = 0, need_loop_device = !!size;
  char* mount_opts = (char*)optsarg;
  char* target = (char*)dir;
  char* fs = (char*)fsarg;
  char* source = NULL;
  char loopname[64];
  if (need_loop_device) {
    int loopfd;
    memset(loopname, 0, sizeof(loopname));
    snprintf(loopname, sizeof(loopname), "/dev/loop%llu", procid);
    if (setup_loop_device(data, size, loopname, &loopfd) == -1)
      return -1;
    close(loopfd);
    source = loopname;
  }
  mkdir(target, 0777);
  char opts[256];
  memset(opts, 0, sizeof(opts));
  if (strlen(mount_opts) > (sizeof(opts) - 32)) {
  }
  strncpy(opts, mount_opts, sizeof(opts) - 32);
  if (strcmp(fs, "iso9660") == 0) {
    flags |= MS_RDONLY;
  } else if (strncmp(fs, "ext", 3) == 0) {
    bool has_remount_ro = false;
    char* remount_ro_start = strstr(opts, "errors=remount-ro");
    if (remount_ro_start != NULL) {
      char after = *(remount_ro_start + strlen("errors=remount-ro"));
      char before = remount_ro_start == opts ? '\0' : *(remount_ro_start - 1);
      has_remount_ro = ((before == '\0' || before == ',') &&
                        (after == '\0' || after == ','));
    }
    if (strstr(opts, "errors=panic") || !has_remount_ro)
      strcat(opts, ",errors=continue");
  } else if (strcmp(fs, "xfs") == 0) {
    strcat(opts, ",nouuid");
  }
  res = mount(source, target, fs, flags, opts);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  res = open(target, O_RDONLY | O_DIRECTORY);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  if (change_dir) {
    res = chdir(target);
    if (res == -1) {
      err = errno;
    }
  }

error_clear_loop:
  if (need_loop_device)
    reset_loop_device(loopname);
  errno = err;
  return res;
}

#define XT_TABLE_SIZE 1536
#define XT_MAX_ENTRIES 10

struct xt_counters {
  uint64_t pcnt, bcnt;
};

struct ipt_getinfo {
  char name[32];
  unsigned int valid_hooks;
  unsigned int hook_entry[5];
  unsigned int underflow[5];
  unsigned int num_entries;
  unsigned int size;
};

struct ipt_get_entries {
  char name[32];
  unsigned int size;
  uint64_t entrytable[XT_TABLE_SIZE / sizeof(uint64_t)];
};

struct ipt_replace {
  char name[32];
  unsigned int valid_hooks;
  unsigned int num_entries;
  unsigned int size;
  unsigned int hook_entry[5];
  unsigned int underflow[5];
  unsigned int num_counters;
  struct xt_counters* counters;
  uint64_t entrytable[XT_TABLE_SIZE / sizeof(uint64_t)];
};

struct ipt_table_desc {
  const char* name;
  struct ipt_getinfo info;
  struct ipt_replace replace;
};

static struct ipt_table_desc ipv4_tables[] = {
    {.name = "filter"}, {.name = "nat"},      {.name = "mangle"},
    {.name = "raw"},    {.name = "security"},
};

static struct ipt_table_desc ipv6_tables[] = {
    {.name = "filter"}, {.name = "nat"},      {.name = "mangle"},
    {.name = "raw"},    {.name = "security"},
};

#define IPT_BASE_CTL 64
#define IPT_SO_SET_REPLACE (IPT_BASE_CTL)
#define IPT_SO_GET_INFO (IPT_BASE_CTL)
#define IPT_SO_GET_ENTRIES (IPT_BASE_CTL + 1)

struct arpt_getinfo {
  char name[32];
  unsigned int valid_hooks;
  unsigned int hook_entry[3];
  unsigned int underflow[3];
  unsigned int num_entries;
  unsigned int size;
};

struct arpt_get_entries {
  char name[32];
  unsigned int size;
  uint64_t entrytable[XT_TABLE_SIZE / sizeof(uint64_t)];
};

struct arpt_replace {
  char name[32];
  unsigned int valid_hooks;
  unsigned int num_entries;
  unsigned int size;
  unsigned int hook_entry[3];
  unsigned int underflow[3];
  unsigned int num_counters;
  struct xt_counters* counters;
  uint64_t entrytable[XT_TABLE_SIZE / sizeof(uint64_t)];
};

struct arpt_table_desc {
  const char* name;
  struct arpt_getinfo info;
  struct arpt_replace replace;
};

static struct arpt_table_desc arpt_tables[] = {
    {.name = "filter"},
};

#define ARPT_BASE_CTL 96
#define ARPT_SO_SET_REPLACE (ARPT_BASE_CTL)
#define ARPT_SO_GET_INFO (ARPT_BASE_CTL)
#define ARPT_SO_GET_ENTRIES (ARPT_BASE_CTL + 1)

static void checkpoint_iptables(struct ipt_table_desc* tables, int num_tables,
                                int family, int level)
{
  int fd = socket(family, SOCK_STREAM, IPPROTO_TCP);
  if (fd == -1) {
    switch (errno) {
    case EAFNOSUPPORT:
    case ENOPROTOOPT:
      return;
    }
    exit(1);
  }
  for (int i = 0; i < num_tables; i++) {
    struct ipt_table_desc* table = &tables[i];
    strcpy(table->info.name, table->name);
    strcpy(table->replace.name, table->name);
    socklen_t optlen = sizeof(table->info);
    if (getsockopt(fd, level, IPT_SO_GET_INFO, &table->info, &optlen)) {
      switch (errno) {
      case EPERM:
      case ENOENT:
      case ENOPROTOOPT:
        continue;
      }
      exit(1);
    }
    if (table->info.size > sizeof(table->replace.entrytable))
      exit(1);
    if (table->info.num_entries > XT_MAX_ENTRIES)
      exit(1);
    struct ipt_get_entries entries;
    memset(&entries, 0, sizeof(entries));
    strcpy(entries.name, table->name);
    entries.size = table->info.size;
    optlen = sizeof(entries) - sizeof(entries.entrytable) + table->info.size;
    if (getsockopt(fd, level, IPT_SO_GET_ENTRIES, &entries, &optlen))
      exit(1);
    table->replace.valid_hooks = table->info.valid_hooks;
    table->replace.num_entries = table->info.num_entries;
    table->replace.size = table->info.size;
    memcpy(table->replace.hook_entry, table->info.hook_entry,
           sizeof(table->replace.hook_entry));
    memcpy(table->replace.underflow, table->info.underflow,
           sizeof(table->replace.underflow));
    memcpy(table->replace.entrytable, entries.entrytable, table->info.size);
  }
  close(fd);
}

static void reset_iptables(struct ipt_table_desc* tables, int num_tables,
                           int family, int level)
{
  int fd = socket(family, SOCK_STREAM, IPPROTO_TCP);
  if (fd == -1) {
    switch (errno) {
    case EAFNOSUPPORT:
    case ENOPROTOOPT:
      return;
    }
    exit(1);
  }
  for (int i = 0; i < num_tables; i++) {
    struct ipt_table_desc* table = &tables[i];
    if (table->info.valid_hooks == 0)
      continue;
    struct ipt_getinfo info;
    memset(&info, 0, sizeof(info));
    strcpy(info.name, table->name);
    socklen_t optlen = sizeof(info);
    if (getsockopt(fd, level, IPT_SO_GET_INFO, &info, &optlen))
      exit(1);
    if (memcmp(&table->info, &info, sizeof(table->info)) == 0) {
      struct ipt_get_entries entries;
      memset(&entries, 0, sizeof(entries));
      strcpy(entries.name, table->name);
      entries.size = table->info.size;
      optlen = sizeof(entries) - sizeof(entries.entrytable) + entries.size;
      if (getsockopt(fd, level, IPT_SO_GET_ENTRIES, &entries, &optlen))
        exit(1);
      if (memcmp(table->replace.entrytable, entries.entrytable,
                 table->info.size) == 0)
        continue;
    }
    struct xt_counters counters[XT_MAX_ENTRIES];
    table->replace.num_counters = info.num_entries;
    table->replace.counters = counters;
    optlen = sizeof(table->replace) - sizeof(table->replace.entrytable) +
             table->replace.size;
    if (setsockopt(fd, level, IPT_SO_SET_REPLACE, &table->replace, optlen))
      exit(1);
  }
  close(fd);
}

static void checkpoint_arptables(void)
{
  int fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  if (fd == -1) {
    switch (errno) {
    case EAFNOSUPPORT:
    case ENOPROTOOPT:
      return;
    }
    exit(1);
  }
  for (unsigned i = 0; i < sizeof(arpt_tables) / sizeof(arpt_tables[0]); i++) {
    struct arpt_table_desc* table = &arpt_tables[i];
    strcpy(table->info.name, table->name);
    strcpy(table->replace.name, table->name);
    socklen_t optlen = sizeof(table->info);
    if (getsockopt(fd, SOL_IP, ARPT_SO_GET_INFO, &table->info, &optlen)) {
      switch (errno) {
      case EPERM:
      case ENOENT:
      case ENOPROTOOPT:
        continue;
      }
      exit(1);
    }
    if (table->info.size > sizeof(table->replace.entrytable))
      exit(1);
    if (table->info.num_entries > XT_MAX_ENTRIES)
      exit(1);
    struct arpt_get_entries entries;
    memset(&entries, 0, sizeof(entries));
    strcpy(entries.name, table->name);
    entries.size = table->info.size;
    optlen = sizeof(entries) - sizeof(entries.entrytable) + table->info.size;
    if (getsockopt(fd, SOL_IP, ARPT_SO_GET_ENTRIES, &entries, &optlen))
      exit(1);
    table->replace.valid_hooks = table->info.valid_hooks;
    table->replace.num_entries = table->info.num_entries;
    table->replace.size = table->info.size;
    memcpy(table->replace.hook_entry, table->info.hook_entry,
           sizeof(table->replace.hook_entry));
    memcpy(table->replace.underflow, table->info.underflow,
           sizeof(table->replace.underflow));
    memcpy(table->replace.entrytable, entries.entrytable, table->info.size);
  }
  close(fd);
}

static void reset_arptables()
{
  int fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  if (fd == -1) {
    switch (errno) {
    case EAFNOSUPPORT:
    case ENOPROTOOPT:
      return;
    }
    exit(1);
  }
  for (unsigned i = 0; i < sizeof(arpt_tables) / sizeof(arpt_tables[0]); i++) {
    struct arpt_table_desc* table = &arpt_tables[i];
    if (table->info.valid_hooks == 0)
      continue;
    struct arpt_getinfo info;
    memset(&info, 0, sizeof(info));
    strcpy(info.name, table->name);
    socklen_t optlen = sizeof(info);
    if (getsockopt(fd, SOL_IP, ARPT_SO_GET_INFO, &info, &optlen))
      exit(1);
    if (memcmp(&table->info, &info, sizeof(table->info)) == 0) {
      struct arpt_get_entries entries;
      memset(&entries, 0, sizeof(entries));
      strcpy(entries.name, table->name);
      entries.size = table->info.size;
      optlen = sizeof(entries) - sizeof(entries.entrytable) + entries.size;
      if (getsockopt(fd, SOL_IP, ARPT_SO_GET_ENTRIES, &entries, &optlen))
        exit(1);
      if (memcmp(table->replace.entrytable, entries.entrytable,
                 table->info.size) == 0)
        continue;
    } else {
    }
    struct xt_counters counters[XT_MAX_ENTRIES];
    table->replace.num_counters = info.num_entries;
    table->replace.counters = counters;
    optlen = sizeof(table->replace) - sizeof(table->replace.entrytable) +
             table->replace.size;
    if (setsockopt(fd, SOL_IP, ARPT_SO_SET_REPLACE, &table->replace, optlen))
      exit(1);
  }
  close(fd);
}

#define NF_BR_NUMHOOKS 6
#define EBT_TABLE_MAXNAMELEN 32
#define EBT_CHAIN_MAXNAMELEN 32
#define EBT_BASE_CTL 128
#define EBT_SO_SET_ENTRIES (EBT_BASE_CTL)
#define EBT_SO_GET_INFO (EBT_BASE_CTL)
#define EBT_SO_GET_ENTRIES (EBT_SO_GET_INFO + 1)
#define EBT_SO_GET_INIT_INFO (EBT_SO_GET_ENTRIES + 1)
#define EBT_SO_GET_INIT_ENTRIES (EBT_SO_GET_INIT_INFO + 1)

struct ebt_replace {
  char name[EBT_TABLE_MAXNAMELEN];
  unsigned int valid_hooks;
  unsigned int nentries;
  unsigned int entries_size;
  struct ebt_entries* hook_entry[NF_BR_NUMHOOKS];
  unsigned int num_counters;
  struct ebt_counter* counters;
  char* entries;
};

struct ebt_entries {
  unsigned int distinguisher;
  char name[EBT_CHAIN_MAXNAMELEN];
  unsigned int counter_offset;
  int policy;
  unsigned int nentries;
  char data[0] __attribute__((aligned(__alignof__(struct ebt_replace))));
};

struct ebt_table_desc {
  const char* name;
  struct ebt_replace replace;
  char entrytable[XT_TABLE_SIZE];
};

static struct ebt_table_desc ebt_tables[] = {
    {.name = "filter"},
    {.name = "nat"},
    {.name = "broute"},
};

static void checkpoint_ebtables(void)
{
  int fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  if (fd == -1) {
    switch (errno) {
    case EAFNOSUPPORT:
    case ENOPROTOOPT:
      return;
    }
    exit(1);
  }
  for (size_t i = 0; i < sizeof(ebt_tables) / sizeof(ebt_tables[0]); i++) {
    struct ebt_table_desc* table = &ebt_tables[i];
    strcpy(table->replace.name, table->name);
    socklen_t optlen = sizeof(table->replace);
    if (getsockopt(fd, SOL_IP, EBT_SO_GET_INIT_INFO, &table->replace,
                   &optlen)) {
      switch (errno) {
      case EPERM:
      case ENOENT:
      case ENOPROTOOPT:
        continue;
      }
      exit(1);
    }
    if (table->replace.entries_size > sizeof(table->entrytable))
      exit(1);
    table->replace.num_counters = 0;
    table->replace.entries = table->entrytable;
    optlen = sizeof(table->replace) + table->replace.entries_size;
    if (getsockopt(fd, SOL_IP, EBT_SO_GET_INIT_ENTRIES, &table->replace,
                   &optlen))
      exit(1);
  }
  close(fd);
}

static void reset_ebtables()
{
  int fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  if (fd == -1) {
    switch (errno) {
    case EAFNOSUPPORT:
    case ENOPROTOOPT:
      return;
    }
    exit(1);
  }
  for (unsigned i = 0; i < sizeof(ebt_tables) / sizeof(ebt_tables[0]); i++) {
    struct ebt_table_desc* table = &ebt_tables[i];
    if (table->replace.valid_hooks == 0)
      continue;
    struct ebt_replace replace;
    memset(&replace, 0, sizeof(replace));
    strcpy(replace.name, table->name);
    socklen_t optlen = sizeof(replace);
    if (getsockopt(fd, SOL_IP, EBT_SO_GET_INFO, &replace, &optlen))
      exit(1);
    replace.num_counters = 0;
    table->replace.entries = 0;
    for (unsigned h = 0; h < NF_BR_NUMHOOKS; h++)
      table->replace.hook_entry[h] = 0;
    if (memcmp(&table->replace, &replace, sizeof(table->replace)) == 0) {
      char entrytable[XT_TABLE_SIZE];
      memset(&entrytable, 0, sizeof(entrytable));
      replace.entries = entrytable;
      optlen = sizeof(replace) + replace.entries_size;
      if (getsockopt(fd, SOL_IP, EBT_SO_GET_ENTRIES, &replace, &optlen))
        exit(1);
      if (memcmp(table->entrytable, entrytable, replace.entries_size) == 0)
        continue;
    }
    for (unsigned j = 0, h = 0; h < NF_BR_NUMHOOKS; h++) {
      if (table->replace.valid_hooks & (1 << h)) {
        table->replace.hook_entry[h] =
            (struct ebt_entries*)table->entrytable + j;
        j++;
      }
    }
    table->replace.entries = table->entrytable;
    optlen = sizeof(table->replace) + table->replace.entries_size;
    if (setsockopt(fd, SOL_IP, EBT_SO_SET_ENTRIES, &table->replace, optlen))
      exit(1);
  }
  close(fd);
}

static void checkpoint_net_namespace(void)
{
  checkpoint_ebtables();
  checkpoint_arptables();
  checkpoint_iptables(ipv4_tables, sizeof(ipv4_tables) / sizeof(ipv4_tables[0]),
                      AF_INET, SOL_IP);
  checkpoint_iptables(ipv6_tables, sizeof(ipv6_tables) / sizeof(ipv6_tables[0]),
                      AF_INET6, SOL_IPV6);
}

static void reset_net_namespace(void)
{
  reset_ebtables();
  reset_arptables();
  reset_iptables(ipv4_tables, sizeof(ipv4_tables) / sizeof(ipv4_tables[0]),
                 AF_INET, SOL_IP);
  reset_iptables(ipv6_tables, sizeof(ipv6_tables) / sizeof(ipv6_tables[0]),
                 AF_INET6, SOL_IPV6);
}

static void setup_common()
{
  if (mount(0, "/sys/fs/fuse/connections", "fusectl", 0, 0)) {
  }
}

static void setup_binderfs()
{
  if (mkdir("/dev/binderfs", 0777)) {
  }
  if (mount("binder", "/dev/binderfs", "binder", 0, NULL)) {
  }
}

static void loop();

static void sandbox_common()
{
  prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0);
  setsid();
  struct rlimit rlim;
  rlim.rlim_cur = rlim.rlim_max = (200 << 20);
  setrlimit(RLIMIT_AS, &rlim);
  rlim.rlim_cur = rlim.rlim_max = 32 << 20;
  setrlimit(RLIMIT_MEMLOCK, &rlim);
  rlim.rlim_cur = rlim.rlim_max = 136 << 20;
  setrlimit(RLIMIT_FSIZE, &rlim);
  rlim.rlim_cur = rlim.rlim_max = 1 << 20;
  setrlimit(RLIMIT_STACK, &rlim);
  rlim.rlim_cur = rlim.rlim_max = 128 << 20;
  setrlimit(RLIMIT_CORE, &rlim);
  rlim.rlim_cur = rlim.rlim_max = 256;
  setrlimit(RLIMIT_NOFILE, &rlim);
  if (unshare(CLONE_NEWNS)) {
  }
  if (mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, NULL)) {
  }
  if (unshare(CLONE_NEWIPC)) {
  }
  if (unshare(0x02000000)) {
  }
  if (unshare(CLONE_NEWUTS)) {
  }
  if (unshare(CLONE_SYSVSEM)) {
  }
  typedef struct {
    const char* name;
    const char* value;
  } sysctl_t;
  static const sysctl_t sysctls[] = {
      {"/proc/sys/kernel/shmmax", "16777216"},
      {"/proc/sys/kernel/shmall", "536870912"},
      {"/proc/sys/kernel/shmmni", "1024"},
      {"/proc/sys/kernel/msgmax", "8192"},
      {"/proc/sys/kernel/msgmni", "1024"},
      {"/proc/sys/kernel/msgmnb", "1024"},
      {"/proc/sys/kernel/sem", "1024 1048576 500 1024"},
  };
  unsigned i;
  for (i = 0; i < sizeof(sysctls) / sizeof(sysctls[0]); i++)
    write_file(sysctls[i].name, sysctls[i].value);
}

static int wait_for_loop(int pid)
{
  if (pid < 0)
    exit(1);
  int status = 0;
  while (waitpid(-1, &status, __WALL) != pid) {
  }
  return WEXITSTATUS(status);
}

static void drop_caps(void)
{
  struct __user_cap_header_struct cap_hdr = {};
  struct __user_cap_data_struct cap_data[2] = {};
  cap_hdr.version = _LINUX_CAPABILITY_VERSION_3;
  cap_hdr.pid = getpid();
  if (syscall(SYS_capget, &cap_hdr, &cap_data))
    exit(1);
  const int drop = (1 << CAP_SYS_PTRACE) | (1 << CAP_SYS_NICE);
  cap_data[0].effective &= ~drop;
  cap_data[0].permitted &= ~drop;
  cap_data[0].inheritable &= ~drop;
  if (syscall(SYS_capset, &cap_hdr, &cap_data))
    exit(1);
}

static int do_sandbox_none(void)
{
  if (unshare(CLONE_NEWPID)) {
  }
  int pid = fork();
  if (pid != 0)
    return wait_for_loop(pid);
  setup_common();
  initialize_vhci();
  sandbox_common();
  drop_caps();
  initialize_netdevices_init();
  if (unshare(CLONE_NEWNET)) {
  }
  write_file("/proc/sys/net/ipv4/ping_group_range", "0 65535");
  initialize_tun();
  initialize_netdevices();
  initialize_wifi_devices();
  setup_binderfs();
  loop();
  exit(1);
}

#define FS_IOC_SETFLAGS _IOW('f', 2, long)
static void remove_dir(const char* dir)
{
  int iter = 0;
  DIR* dp = 0;
retry:
  while (umount2(dir, MNT_DETACH | UMOUNT_NOFOLLOW) == 0) {
  }
  dp = opendir(dir);
  if (dp == NULL) {
    if (errno == EMFILE) {
      exit(1);
    }
    exit(1);
  }
  struct dirent* ep = 0;
  while ((ep = readdir(dp))) {
    if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0)
      continue;
    char filename[FILENAME_MAX];
    snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name);
    while (umount2(filename, MNT_DETACH | UMOUNT_NOFOLLOW) == 0) {
    }
    struct stat st;
    if (lstat(filename, &st))
      exit(1);
    if (S_ISDIR(st.st_mode)) {
      remove_dir(filename);
      continue;
    }
    int i;
    for (i = 0;; i++) {
      if (unlink(filename) == 0)
        break;
      if (errno == EPERM) {
        int fd = open(filename, O_RDONLY);
        if (fd != -1) {
          long flags = 0;
          if (ioctl(fd, FS_IOC_SETFLAGS, &flags) == 0) {
          }
          close(fd);
          continue;
        }
      }
      if (errno == EROFS) {
        break;
      }
      if (errno != EBUSY || i > 100)
        exit(1);
      if (umount2(filename, MNT_DETACH | UMOUNT_NOFOLLOW))
        exit(1);
    }
  }
  closedir(dp);
  for (int i = 0;; i++) {
    if (rmdir(dir) == 0)
      break;
    if (i < 100) {
      if (errno == EPERM) {
        int fd = open(dir, O_RDONLY);
        if (fd != -1) {
          long flags = 0;
          if (ioctl(fd, FS_IOC_SETFLAGS, &flags) == 0) {
          }
          close(fd);
          continue;
        }
      }
      if (errno == EROFS) {
        break;
      }
      if (errno == EBUSY) {
        if (umount2(dir, MNT_DETACH | UMOUNT_NOFOLLOW))
          exit(1);
        continue;
      }
      if (errno == ENOTEMPTY) {
        if (iter < 100) {
          iter++;
          goto retry;
        }
      }
    }
    exit(1);
  }
}

static void kill_and_wait(int pid, int* status)
{
  kill(-pid, SIGKILL);
  kill(pid, SIGKILL);
  for (int i = 0; i < 100; i++) {
    if (waitpid(-1, status, WNOHANG | __WALL) == pid)
      return;
    usleep(1000);
  }
  DIR* dir = opendir("/sys/fs/fuse/connections");
  if (dir) {
    for (;;) {
      struct dirent* ent = readdir(dir);
      if (!ent)
        break;
      if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0)
        continue;
      char abort[300];
      snprintf(abort, sizeof(abort), "/sys/fs/fuse/connections/%s/abort",
               ent->d_name);
      int fd = open(abort, O_WRONLY);
      if (fd == -1) {
        continue;
      }
      if (write(fd, abort, 1) < 0) {
      }
      close(fd);
    }
    closedir(dir);
  } else {
  }
  while (waitpid(-1, status, __WALL) != pid) {
  }
}

static void setup_loop()
{
  checkpoint_net_namespace();
}

static void reset_loop()
{
  char buf[64];
  snprintf(buf, sizeof(buf), "/dev/loop%llu", procid);
  int loopfd = open(buf, O_RDWR);
  if (loopfd != -1) {
    ioctl(loopfd, LOOP_CLR_FD, 0);
    close(loopfd);
  }
  reset_net_namespace();
}

static void setup_test()
{
  prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0);
  setpgrp();
  write_file("/proc/self/oom_score_adj", "1000");
  flush_tun();
  if (symlink("/dev/binderfs", "./binderfs")) {
  }
}

static void close_fds()
{
  for (int fd = 3; fd < MAX_FDS; fd++)
    close(fd);
}

static void setup_usb()
{
  if (chmod("/dev/raw-gadget", 0666))
    exit(1);
}

#define NL802154_CMD_SET_SHORT_ADDR 11
#define NL802154_ATTR_IFINDEX 3
#define NL802154_ATTR_SHORT_ADDR 10

static void setup_802154()
{
  int sock_route = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
  if (sock_route == -1)
    exit(1);
  int sock_generic = socket(AF_NETLINK, SOCK_RAW, NETLINK_GENERIC);
  if (sock_generic < 0)
    exit(1);
  int nl802154_family_id =
      netlink_query_family_id(&nlmsg, sock_generic, "nl802154", true);
  for (int i = 0; i < 2; i++) {
    char devname[] = "wpan0";
    devname[strlen(devname) - 1] += i;
    uint64_t hwaddr = 0xaaaaaaaaaaaa0002 + (i << 8);
    uint16_t shortaddr = 0xaaa0 + i;
    int ifindex = if_nametoindex(devname);
    struct genlmsghdr genlhdr;
    memset(&genlhdr, 0, sizeof(genlhdr));
    genlhdr.cmd = NL802154_CMD_SET_SHORT_ADDR;
    netlink_init(&nlmsg, nl802154_family_id, 0, &genlhdr, sizeof(genlhdr));
    netlink_attr(&nlmsg, NL802154_ATTR_IFINDEX, &ifindex, sizeof(ifindex));
    netlink_attr(&nlmsg, NL802154_ATTR_SHORT_ADDR, &shortaddr,
                 sizeof(shortaddr));
    int err = netlink_send(&nlmsg, sock_generic);
    if (err < 0) {
    }
    netlink_device_change(&nlmsg, sock_route, devname, true, 0, &hwaddr,
                          sizeof(hwaddr), 0);
    if (i == 0) {
      netlink_add_device_impl(&nlmsg, "lowpan", "lowpan0", false);
      netlink_done(&nlmsg);
      netlink_attr(&nlmsg, IFLA_LINK, &ifindex, sizeof(ifindex));
      int err = netlink_send(&nlmsg, sock_route);
      if (err < 0) {
      }
    }
  }
  close(sock_route);
  close(sock_generic);
}

static void execute_one(void);

#define WAIT_FLAGS __WALL

static void loop(void)
{
  setup_loop();
  int iter = 0;
  for (;; iter++) {
    char cwdbuf[32];
    sprintf(cwdbuf, "./%d", iter);
    if (mkdir(cwdbuf, 0777))
      exit(1);
    reset_loop();
    int pid = fork();
    if (pid < 0)
      exit(1);
    if (pid == 0) {
      if (chdir(cwdbuf))
        exit(1);
      setup_test();
      execute_one();
      close_fds();
      exit(0);
    }
    int status = 0;
    uint64_t start = current_time_ms();
    for (;;) {
      if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid)
        break;
      sleep_ms(1);
      if (current_time_ms() - start < 5000)
        continue;
      kill_and_wait(pid, &status);
      break;
    }
    remove_dir(cwdbuf);
  }
}

void execute_one(void)
{
  memcpy((void*)0x200055c0, "btrfs\000", 6);
  memcpy((void*)0x200000c0, "./file1\000", 8);
  memcpy(
      (void*)0x20005680,
      "\x78\x9c\xec\xdd\x7d\x6c\x55\x67\x1d\x07\xf0\x73\x6f\x0b\x34\x23\xa1\x25"
      "\x23\x61\x0c\xdd\x40\x14\x2c\x21\x93\x55\x32\xb6\xce\xb1\xae\x8a\xb2\xa4"
      "\xa5\x1d\x9d\xc4\xbd\xc4\x15\x46\x78\xdd\xb2\x5a\xdd\x04\x59\x6d\x6d\xcd"
      "\x04\x5f\xd2\xba\xad\x45\x50\x01\x45\x61\x08\x99\x55\x12\x89\x2c\x28\x8b"
      "\x0a\x4b\x58\x74\x81\x6d\x99\x99\xc1\x66\x19\x23\x2e\x0c\x79\xdb\xa6\x71"
      "\x03\xd3\x7b\xef\xb9\xdc\x7b\x2e\x6d\xef\x70\xae\x7b\xf9\x7c\x96\xf6\xdc"
      "\xe7\xfe\xce\xf3\x9c\xe7\x9e\x9c\x3f\xfa\xbd\xe3\x39\x27\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x80\x20\x08\x3e\xf3\x91\x87\x36\x6c\x7e\xe9\x4c\x69"
      "\xe1\x8a\xeb\xee\x6e\x1d\x35\xf7\xfb\xd7\xbe\x30\x65\x6f\xcd\x8c\x85\x8b"
      "\xce\xce\xff\xe9\xfc\xab\x46\x9f\xfd\x62\xd5\x82\x5b\xb7\x6d\x7e\xac\xaa"
      "\x79\xfb\xae\xd3\xeb\x9b\x76\xb7\x2e\x0e\x82\x58\xa2\x5f\x2c\xd5\xff\x8e"
      "\xca\x59\x73\x16\xd6\xdd\x51\x5d\x14\x0e\x58\x7f\x53\x72\x5b\x52\xd2\xd7"
      "\x21\x93\x5d\x7b\x92\x8d\xa1\x59\x6f\xf6\xf6\xcb\xfe\x99\x17\x04\xc1\x90"
      "\xc8\x00\x05\xa9\xed\xcc\x82\x8c\x76\x2c\x7a\x80\xa0\x31\x77\xc0\x7e\x4d"
      "\xea\xda\x72\x45\x4f\xfb\xec\x25\x1d\xf1\x75\x75\x9d\xc3\x27\x8f\xcb\xfd"
      "\xe8\xf4\x2a\x1a\xec\x09\x0c\x96\xd4\x75\xf5\xe2\xb9\x6b\xa9\x22\xf1\x3b"
      "\x1e\xd9\x23\xdd\xce\xb8\xf4\x62\x59\x97\x68\xb2\x7f\xf4\x82\x7b\x47\x3e"
      "\x04\x00\xf0\x96\x4c\xad\x4d\x6c\xd2\x7f\x8e\xa6\xfe\xc4\x4d\xb7\x5b\xa2"
      "\xf5\x48\xbb\x22\xd2\xee\x88\xb4\xc3\xbf\x10\x3a\x32\x1b\x17\x22\x39\xee"
      "\xd0\xbe\xe6\x39\x2e\x5a\x1f\xa4\x79\x56\x24\xa3\xc2\xb0\x3e\xe7\x19\xa9"
      "\xa7\xce\x7f\xba\x5d\x1b\xed\x1f\x69\x47\xa2\xc6\x5b\x98\x67\xf6\xae\xa9"
      "\x48\x53\xd4\xd7\x3c\x1b\x22\xf5\xc1\x9a\x27\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\xc0\xbb\xc9\xca\xb2\xea\xcb\xa6\x8c\x2a\x6c\xac\x79"
      "\xf5\xf0\x23\x1f\xde\x7e\xa8\x7a\xeb\xc1\x5f\xfe\xfb\xf0\x97\x8f\xfd\x61"
      "\xc6\xb3\x33\x4b\x7f\x7b\xe8\x7b\x27\xab\x16\xdc\xba\x6d\xf3\x63\x55\xcd"
      "\xdb\x77\x9d\x5e\xdf\xb4\xbb\x75\x71\x10\x94\x24\xfa\xc5\x92\xdd\x63\xa5"
      "\xa7\xda\xcb\x4f\xfe\x60\xd6\xb4\x55\xfb\xdb\xc6\xdc\xb5\x67\xd1\xae\x82"
      "\xd4\xb8\xe1\xb6\x30\x63\xe7\xe0\xb9\xf0\xc5\x35\xc5\x41\x30\x3f\xa3\xf2"
      "\x62\x38\xec\x3f\x46\x04\x41\x6d\x76\x21\xd1\x0c\xd6\xe6\x16\x96\x24\x5e"
      "\xdc\x18\x16\x00\x00\x00\x78\x3f\x19\x93\xf8\x1d\x4f\xb7\x93\x71\x70\x48"
      "\x56\x3b\x96\x48\x93\xb1\xc4\x7f\xa1\x64\x58\x9c\xd4\xb5\xe5\x8a\x9e\xf6"
      "\xd9\x4b\x3a\xe2\xeb\xea\x3a\x87\x4f\x1e\x77\xe1\xe3\xd5\xf6\x31\x5e\xc5"
      "\x79\xc7\x4b\xb7\x4b\xce\xfd\xc4\x32\x82\x71\x18\x7f\xa3\xe3\x9d\xab\x87"
      "\xbb\x36\xe6\x8c\xd3\xbf\xe8\x88\xd1\x3c\x7f\x74\x79\xe5\x55\x63\x6f\xba"
      "\xa1\xac\x75\x43\xe7\xa2\x55\x95\xcb\x5f\xdb\x36\xf1\xf5\x3b\x77\xec\xac"
      "\x9c\x33\xad\x6b\xe8\x1b\xb7\xaf\x9d\x52\x93\x93\xff\x4b\xfa\xcf\xff\xe1"
      "\x99\x93\xff\x01\x00\x00\xf8\x5f\xc8\xff\xd1\x71\xfa\x37\x50\xfe\x7f\xbc"
      "\xf9\x2b\xad\x0f\x17\xae\xd9\x54\x34\x62\xcc\x5f\xeb\x8e\x4d\x2b\xbd\xf9"
      "\xd2\xa5\x9b\x0f\x7e\xf6\xf8\xe8\xdb\xfe\x38\xfd\xbe\x58\xf5\xc7\x3a\x73"
      "\xf2\xff\xb8\xac\x43\xe6\xe4\xff\x70\xc6\x61\xfe\x8f\x07\x17\x96\xff\x01"
      "\x00\x00\xe0\xdd\xec\xff\x9d\xff\x2b\x72\xc6\xe9\xdf\x40\xf9\x7f\xf5\xb7"
      "\x6b\x0a\xeb\xf7\xad\x1e\x7e\xcf\xfe\x6b\x3a\x9a\x8e\x4d\x2e\xbf\xfa\xf2"
      "\xf1\x73\xce\x7c\xfc\xd4\x65\x77\xfd\xe7\xd3\xb7\x1f\xba\xb3\xab\x3c\x27"
      "\xff\x4f\xcd\x2f\xff\x17\x66\x4e\x3b\x7c\xf3\xc9\x70\xc2\xcb\x8a\x83\x60"
      "\x6a\xfe\x27\x15\x00\x00\x00\xc8\x12\xfe\x7f\xf7\x73\x5f\x2d\x84\x79\x3d"
      "\xf9\xcd\x41\x34\xaf\x77\xae\x78\x24\x7e\xf3\x3d\x5f\xfa\xd5\xcb\x7f\xaf"
      "\x7c\xf4\xec\xbe\xeb\x7f\xf3\xf0\xca\x11\x07\x5e\x68\x6a\x5f\x33\x65\xd4"
      "\xc8\xf8\xe5\x7b\x8f\x7c\x35\x27\xff\x57\xe4\x97\xff\x87\xbc\x33\x1f\x17"
      "\x00\x00\x00\xc8\x43\x6b\xd7\x17\x3e\xb1\xe6\xf9\xb2\x5d\xcd\xbb\xc7\x4e"
      "\x78\xe9\xb5\xa7\x36\xfc\xeb\xc0\x8e\x07\x36\x7d\xfe\xe8\xaf\x9f\x99\xb7"
      "\xf2\x77\xd3\x4f\x8e\xdc\x91\x93\xff\x6b\xf3\xcb\xff\xc3\x06\xe7\xe3\x00"
      "\x00\x00\x00\xe7\xf1\xf2\x96\xc5\xcb\xf6\xc6\xff\x56\x7b\xf1\xda\xa2\xc6"
      "\xaf\x8d\xfd\xc5\xfd\xb1\xb2\x6f\x8d\xfb\xd4\xbc\x59\x6f\x3e\xbd\xf3\xa3"
      "\x13\xae\x7e\xea\xfe\xae\x9c\xfc\x5f\x9f\x5f\xfe\xbf\x28\xb5\x4d\xad\x7c"
      "\x48\x76\xda\x1b\xfe\x2b\x84\x87\x8a\x83\xa0\xa8\xf7\x45\x43\xb2\xb0\x2f"
      "\xe8\xb8\x3e\x5d\x00\x00\x00\x00\xde\x26\x61\x4e\x7f\x65\xd2\x9c\x37\xae"
      "\x1c\xfd\xa1\x9f\x1f\xb9\x38\xd8\x78\xa2\x67\xf5\xbd\xe5\x2d\xbf\x3f\x38"
      "\x71\xe9\xe1\xcf\x5d\xf9\x64\xf1\x8f\x56\xcc\x98\xfd\x93\x9c\xfc\xdf\xd0"
      "\xff\xfd\xff\xc3\x3b\x1d\x84\xeb\xff\xb3\xee\xff\x97\xb3\xfe\x3f\xa3\x90"
      "\xbc\xeb\xdf\xb5\x6e\x0c\x00\x00\x00\xc0\x07\x51\xee\x7a\xfe\xf0\xf6\xf8"
      "\xc9\x27\x17\xf4\xf5\xfc\xfd\x7c\xd7\xff\x2f\x7f\x35\x3e\x71\x6b\xdb\x84"
      "\x53\xf7\xae\x6d\xff\x64\x53\xc3\x0d\xb7\x3d\xbd\xe4\xf5\x9f\xad\xba\xfb"
      "\xc0\xec\xe6\xba\xf6\x4b\x1f\x3f\x72\xdf\x83\x39\xf9\xbf\x25\xbf\xfc\x5f"
      "\x90\xb9\x7d\x3b\x9f\xff\x07\x00\x00\x00\x17\xe0\xbd\xf6\xfc\xbf\x5b\x72"
      "\xc6\xe9\xdf\x80\xcf\xff\x3f\xd3\xd8\x7e\xa2\x65\xcd\x8f\xa7\x2f\x3c\xf1"
      "\x44\x43\xec\xba\xea\x4d\xff\xfc\xc6\xdc\x92\x05\x35\x6d\x6f\x1e\x7d\xf0"
      "\xd8\xf8\x07\x96\x7e\x3d\x27\xff\x77\xe4\x97\xff\xc3\xed\xf0\xcc\x8f\xb7"
      "\x27\x3c\x3f\x6d\xc5\x41\x70\x49\xef\x8b\xd4\xdd\x04\xb7\x86\xd3\x5d\x16"
      "\x29\x74\x0f\xc9\x28\x24\x4f\x7c\xa4\x47\x5d\xd8\x23\x55\xe8\x1e\x96\x51"
      "\x48\x68\x88\xf4\x28\x2b\x0e\x82\xf1\xbd\x2f\x5a\x22\x85\x91\x61\xa1\x23"
      "\x52\x38\x3e\x22\x55\xd8\x18\x29\xfc\x25\x2c\xa4\xae\x87\x74\xe1\xd1\x48"
      "\x61\x4f\x78\xa5\x75\x8d\x48\x4d\x37\x5a\xd8\x19\x16\x52\x0b\x2c\xba\xc3"
      "\x15\x14\xc3\xd3\x4b\x22\x22\x3d\x4e\xf5\xd5\xa3\xb7\x70\xde\x1e\xcf\xa7"
      "\x0f\x0e\x00\x00\xf0\x81\x12\x86\xe7\x54\x96\x1d\x92\xdd\x0c\xa2\x51\xb6"
      "\x3b\x36\xd0\x0e\x17\x0d\xb4\x43\x7c\xa0\x1d\x0a\x06\xda\xa1\x30\xb2\x43"
      "\x74\xc7\xbe\xde\x0f\xea\xb3\x0b\xe1\xfb\xcf\xcd\xec\xaa\x1b\xb5\xae\xe7"
      "\xc6\xef\x3e\xfb\xcd\x1f\x3e\x31\xb4\xad\xfa\x95\xf5\xe5\x8d\x73\x9f\xa9"
      "\xfa\xd3\x2d\xf5\xa7\xf7\x15\xee\xff\x73\x69\x4e\xfe\xdf\x98\x5f\xfe\x0f"
      "\x4f\xc5\xd0\xe4\xa6\xaf\xf5\xff\x41\xb8\xfe\x3f\xf5\x5c\xc3\xf4\xfa\xff"
      "\xfa\xb0\x50\x12\x29\x74\x87\x85\xda\xe8\x1d\x03\x6a\xc3\x63\x24\xc3\xee"
      "\x77\xc2\x63\x94\xd4\xa6\x7a\x1c\xbf\x24\x5d\x00\x00\x00\x80\xf7\xb5\xf0"
      "\x7b\x81\x82\x41\x9e\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\xf0\x5f\xf6\xee\x3c\x4e\xaa\xea\x5e\x10\xf8\xe9\xa6\x17\xba\x69\x9a\x56"
      "\xdf\x44\x8d\x46\x51\x9f\xf8\xc8\x7c\x68\xba\x11\xc7\xed\x29\xa8\x31\x31"
      "\xa8\xef\xb5\x8a\x71\x1b\xc7\x26\xd0\x20\xd2\x08\x8f\xe5\x45\x50\x03\x82"
      "\x1a\x09\x31\x6e\x89\xd1\xb8\x81\x19\x12\x1d\xd1\x21\xea\x88\xb8\x04\x62"
      "\x12\x8c\x01\x3f\x92\x68\xcc\x24\x2a\x1a\x37\x92\x8c\xd1\xe0\x82\x66\x48"
      "\xc6\xf9\x74\xdf\x3a\x45\xd5\xad\x2e\xbb\x10\x50\xda\xf7\xfd\xfe\xd1\x75"
      "\xaa\x7e\x67\xbd\xb5\x74\x9d\x7b\x6f\x9d\x0b\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\xff\x31\x2c\x1d\xf4\xa7\x21\x4b\x5b\x76\x6a\x9d\x3a\x60"
      "\xfd\x9e\x4f\x9f\xde\xeb\x96\xcb\xcf\xdb\xe5\x94\xff\xbb\xd7\xf4\x8d\x63"
      "\x86\xf7\x19\xf8\xeb\xdd\xfa\x3d\x7b\xdc\x98\xd3\xef\xf8\xfe\x83\xc7\xcd"
      "\x5a\xfc\xc0\xdb\x37\x5f\xf8\xf0\x9c\xb3\x43\x68\xe9\x2c\x57\x96\x14\x2f"
      "\x1b\xf8\xd6\x15\x87\xbc\x79\xdd\x31\x43\x2f\x5b\x35\x77\xd7\xf6\x15\xe3"
      "\x1e\xa8\xca\xd4\x9b\x89\x87\x3e\x1d\x7f\xca\x33\x77\x2e\x8e\xad\xbe\xdc"
      "\x37\x84\xa5\x65\x21\x54\xa4\x03\x83\xea\x92\x40\x65\xe6\x7e\x5d\xac\x6f"
      "\xf7\xba\x10\x76\x08\x9b\x02\xd9\x12\x6d\xb5\x49\x89\x74\xc3\xe1\x67\x35"
      "\x21\x2c\x08\x9b\x02\xd9\xaa\x96\xd5\x84\x50\x97\x13\x18\xf9\xab\x47\x96"
      "\x5f\xde\x91\xf8\x56\x4d\x08\xfb\x86\x10\xaa\xd3\x6d\x3c\x57\x9d\xb4\x51"
      "\x93\x0e\x0c\xa8\x4a\x02\xb5\xe9\xc0\xa4\x8a\x24\xf0\xee\xfb\x89\x6c\xe0"
      "\xfe\xf2\x24\x00\x5b\x2c\xbe\x19\xb2\x2f\xfa\x25\x2d\xf9\x19\x1a\xba\x2e"
      "\x57\xe4\xf5\x57\xb9\xd5\x3a\xf6\xf1\x4a\x0f\xaf\x57\x4c\x34\x14\xcf\xf7"
      "\xe7\x23\xb6\x71\xa7\x72\x54\xa5\x1f\x68\xd9\xa2\xa7\xad\xa0\x3a\xb6\x89"
      "\x82\xb7\xc7\x0a\xef\xb6\x1e\xf0\x6e\x2b\xd8\xce\x57\x7a\xda\x72\xbf\x48"
      "\x65\xbe\xa1\xbc\xbf\x29\x54\x1d\xca\xc7\xb4\x8d\x1d\x35\xbd\x7d\x5a\x7c"
      "\xa4\x3c\x34\x36\xf6\x2a\x56\xd3\x36\x7a\x9e\x9f\x5d\x7f\xc1\xe8\xcd\x49"
      "\xf7\x98\xd7\x61\xec\x40\xc3\x56\x79\x1d\x2e\x5a\xbc\x6a\xf4\xc4\xe3\x47"
      "\x1c\xbd\xec\xbc\xaa\xfb\x9a\x67\xdc\x79\xea\x96\x76\xb3\xd8\xe6\xdd\xd6"
      "\xaa\x43\xe6\x35\xd7\x63\x9e\xc7\x68\xb8\xcf\x93\x1e\xf0\xf6\x2b\xf8\x96"
      "\xd4\xdf\x97\xae\x8e\x89\xea\xfa\x79\x47\xdd\xf9\xf9\x1f\x5d\xfb\x99\x9d"
      "\xbf\xfb\xe7\x5d\x7f\xf9\xfa\x13\x7f\xa8\xbd\x6b\xfa\x3d\x87\x37\xdd\x71"
      "\xd0\xf5\x07\xad\x5e\xfa\x95\xeb\xff\x52\x30\xff\x6f\xf8\xe0\xf9\x7f\x7c"
      "\x39\xc7\xdb\xf2\xbc\xdc\xb1\xd5\x8d\xf5\xc9\xdc\x3c\x3e\x52\x17\x13\x6f"
      "\xd4\x27\x73\x73\x00\x00\x00\xe8\x31\x7a\xc2\x5e\xd3\x79\x23\xbe\x31\x6b"
      "\xc4\x89\xa7\x1e\x37\x79\xf2\x7f\xdd\xf1\xef\x2f\x9d\x78\xd6\x69\xbf\xf8"
      "\xc2\x53\x07\x2c\x5a\xdb\x58\xfe\xe5\x61\x57\x2c\x39\x7f\xe2\xac\x82\xf9"
      "\x7f\xff\xd2\x8e\xff\xc7\x43\xfe\x75\xb9\xa3\x5d\x11\xc2\xf0\xce\xc4\xdc"
      "\x7e\x21\xec\xd2\xf9\x78\x12\xb8\x3d\x76\xe7\xcb\xfd\x42\xd8\xab\x33\xd5"
      "\x92\x1f\x38\x22\x15\x58\x11\xc2\xae\x9d\x89\x81\xd9\xaa\x52\x25\x7a\xc7"
      "\x12\xfd\x53\x81\x75\xf5\x99\xc0\xf0\x54\x60\x65\x0c\xb4\xa4\x02\x8b\x62"
      "\xe0\xca\x54\xe0\xe2\x18\x58\x92\x0a\x8c\x8e\x81\x15\xa9\xc0\x91\x31\x10"
      "\xc6\xe7\x8f\xe3\xb3\xf5\x99\x71\x94\x1c\xa8\x89\x81\xd6\x64\x23\x2e\x89"
      "\x67\x21\xbc\x55\x1f\x5b\x4b\x6d\xab\x67\xb2\x55\x01\x00\x00\x6c\x25\x99"
      "\xd9\x61\x65\xfe\xdd\x9c\x73\x1d\xb6\x34\x43\x9c\x5e\x2e\xa9\xe9\x2e\x43"
      "\x3c\x03\xbb\x68\x86\xea\x54\x0d\xe9\x19\x6c\x76\x5a\x55\xb4\x86\x8a\xee"
      "\x6a\x28\xef\xae\x86\xec\xb8\x67\x7f\xf0\xf0\x0b\x6a\x2e\xeb\xae\xe6\x82"
      "\xd3\x30\xca\xf2\x33\xec\x73\xc3\xf7\x77\xb8\xe0\x87\xa3\xdf\xfe\xca\x0f"
      "\x1f\x1a\xf9\xb7\xd3\x4f\x3e\xe7\xfd\x8b\xef\xbd\xf4\xc6\x1f\x1e\x3d\x72"
      "\xcd\x2e\x7f\x1d\xb6\xe7\x6f\x8e\x79\xa1\x60\xfe\xdf\xf4\xc1\xf3\xff\xea"
      "\x2e\x3a\x52\x56\x70\xfc\x3f\x84\x13\x3a\xff\xc6\xdc\xe5\x99\x48\x7b\x36"
      "\xde\xda\x92\x97\x01\x00\x00\x00\xd8\x02\x7b\x3c\xfb\xe0\xaa\x91\x75\x17"
      "\x5f\xf5\x7c\xf3\x35\xa7\xcc\xbe\xec\xa2\x4b\xea\x5e\xfd\x7f\xc7\xbe\x31"
      "\xea\x07\x8f\x4d\x7c\xf1\x9a\x33\x97\x3c\xba\x5b\x73\xc1\xfc\x7f\x78\x69"
      "\xe7\xff\xc7\x7d\x22\xbd\x72\x32\x87\xd5\x71\x37\xc4\x84\x7e\x21\x34\xe5"
      "\x07\x92\x6a\x0f\x2d\x0c\x24\x47\xbd\xfb\x64\x02\x00\x00\x00\xd0\x13\x64"
      "\x8f\xc7\x67\x8f\x85\x8f\xcf\xdc\x66\x4e\x67\x4f\xcd\xa7\x0b\xf3\xb7\x6c"
      "\x66\xfe\x78\xe0\x7f\x78\x97\xf9\xd7\xf4\x79\xf5\xf2\x21\x3b\x5d\x7a\xd8"
      "\xbc\x61\x07\x8d\x38\xf2\xda\x9b\x8e\x1f\x78\xf2\x77\xbe\x7a\xd9\x6b\xcb"
      "\x7f\xbc\xcb\xc4\x0d\xbb\x1e\xb4\xdf\xd0\x89\x05\xf3\xff\x96\xd2\xce\xff"
      "\xaf\xcd\xbf\x4d\x3a\xb1\x32\xf6\xe2\x9a\x7e\x21\xf4\xce\x09\x3c\x1a\x7b"
      "\xd9\x11\xe8\xd4\x3f\x06\x5e\x18\x96\x1f\xc8\x8c\x7f\x65\xdc\x00\xf3\x63"
      "\x55\x99\x13\x13\xb2\x55\xcd\x8f\x25\x5a\x63\xa0\x29\x15\x58\x50\xac\xc4"
      "\x9a\x6c\x89\x5d\xf2\x03\x99\x27\x2b\xdb\xf8\xdc\xec\x38\xc6\x67\x4a\xe4"
      "\x04\x00\x00\x00\xe0\x23\x17\x77\x07\xc4\xe3\xf2\xf1\xfc\xff\x3d\x2f\xd9"
      "\xef\x9b\x6f\x9e\x7f\x54\xf3\xdf\x6f\x1b\x71\xe2\xcc\xf9\xaf\x1c\xf0\xf5"
      "\x9b\x4f\xde\xad\x69\xc4\x91\xef\xce\x9c\x74\xf2\x99\xcf\x6c\x68\x3c\xba"
      "\x60\xfe\xdf\xba\x79\xe7\xff\x77\xce\x83\x0b\x4e\xef\x6f\xef\x13\xc2\xe0"
      "\x8a\x10\x7a\xa5\x7f\x18\xb0\xba\x36\x59\x18\x30\x06\xea\xca\x32\x89\x87"
      "\x6b\x93\xba\x7a\xa5\xab\x9a\x53\x1b\xc2\xa1\x1d\x03\x4b\x57\xf5\x62\x66"
      "\xfd\xff\x8a\xf4\x1a\x83\x4f\xd6\x24\x55\xc5\xc0\x2e\x7b\xdf\xb6\x7e\x40"
      "\x47\xe2\xbf\xd7\x84\x30\x38\x37\xf0\xf4\x19\x0b\x0f\xe8\x48\x4c\x4f\x05"
      "\xb2\x8d\x7f\xa9\x26\x84\x3d\x3b\x46\x9b\x6e\xfc\xbe\xde\x49\xe3\x95\xe9"
      "\xc6\xaf\xeb\x1d\xc2\x1e\x39\x81\x6c\x55\xa3\x7b\x87\xd0\xd1\x58\x55\xba"
      "\xaa\x9f\x54\x67\xae\x63\x90\xae\x6a\x49\x75\x08\x3b\xe5\x04\xb2\x55\x1d"
      "\x58\x1d\xc2\x8c\x00\x40\x4f\x15\xff\x97\x8e\xc9\x7d\x70\xea\x8c\x99\x13"
      "\x46\xb5\xb7\xb7\x4d\xd9\x86\x89\xb8\x13\xbf\x26\x8c\x1d\xdf\xde\xd6\x38"
      "\x7a\x52\xfb\x98\xea\x22\x7d\x1a\x93\xea\x73\xde\x3a\x46\x17\x15\x8e\xa9"
      "\xd4\x4b\xdf\x3c\x97\x59\xa3\xe8\xfc\x5b\xeb\x76\x2e\x25\x9d\xfd\xa1\x60"
      "\x53\x6e\x5b\x99\x1d\xf9\x05\x67\x0e\x66\xee\xc7\x2f\x43\x95\x9d\xe3\x1c"
      "\x52\x99\x77\x77\xff\xf4\x90\xff\x69\x9f\xc2\x26\x42\xce\x57\xa9\x62\x43"
      "\x2e\xdf\xc6\x43\xae\xcd\xad\x64\xd3\x93\x58\x50\x7f\xcc\x5f\x15\xfa\x84"
      "\xde\xd3\xa7\xb6\x4d\x69\x3c\x6f\xd4\xb4\x69\x53\x9a\x93\xbf\xa5\x66\x1f"
      "\x92\xfc\x8d\xc7\x99\x92\x6d\xd5\x9c\xde\x56\xb5\x5d\xf5\xad\x84\x97\x47"
      "\xd1\xe5\xb2\x52\x3e\xec\xb6\x1a\x90\x5b\xc9\xe0\x69\x13\x27\x0f\x9e\x3a"
      "\x63\xe6\xa0\xf1\x13\x47\x8d\x6b\x1b\xd7\x76\x6e\xf3\x81\x43\x87\x0c\x6d"
      "\x3a\xb8\xe9\xe0\xc1\x1d\x83\x6a\x4a\xfe\x76\x33\xd2\x01\x5d\xd5\x9c\x1a"
      "\xe9\xfb\x0b\x4b\x1c\xd6\x56\x1c\xe9\xa7\x2b\x72\x2a\xf9\x28\x3e\x34\x24"
      "\x24\x24\x7a\x5a\xe2\xa4\x1b\x97\xf5\xfd\xe2\xbb\xbd\x7e\xb4\xef\x79\xc7"
      "\xae\x58\x72\xdf\x1d\xff\x63\xd7\x93\xf7\x9b\x72\xdf\x83\xff\xeb\xe9\x97"
      "\xdb\x1b\xc6\x2e\x5c\x7a\xc9\xdd\x05\xf3\xff\xc9\x1f\x3c\xff\x8f\x9f\x3a"
      "\xf1\x83\x3f\xb3\x3e\x43\xb1\xe3\xff\x0d\xf1\x30\x7f\xf2\xf8\xa6\xc3\xfc"
      "\xad\x31\xb0\xa0\xd4\xe3\xff\x0d\xc5\x8e\xe6\x67\x4f\x0c\xe8\x9f\x0a\xcc"
      "\x8e\x81\xd9\x0e\xf3\x03\x00\x00\xf0\xc9\x10\x77\x47\xc6\xbd\x99\x71\xa7"
      "\xf4\xe5\x7d\x0e\x39\x70\xc2\xc2\xd7\x6e\x5f\xb0\x6a\x6d\xff\x17\x26\x6e"
      "\xfc\xed\xc4\xc1\xff\x38\xef\x0b\x2f\x9c\xf3\xe3\x5b\xc7\xbe\x59\xfd\xf6"
      "\xa7\x16\xfd\xb2\x60\xfe\x3f\xbb\xb4\xdf\xff\x6f\xa5\xf5\xff\xb3\x4b\xd7"
      "\x8f\x28\xb6\xcc\xff\xc0\x58\xa2\xa9\xd8\xfa\xff\xe9\x65\xfe\xb3\xeb\xff"
      "\xcf\x2e\xb6\xfe\x7f\x7a\x99\xff\xec\xfa\xff\x0b\x3e\x86\xf5\xff\xa7\x67"
      "\x03\xa9\x4d\xf2\x96\xf5\xff\x01\x00\x80\x4f\x82\x8f\x6e\xfd\xff\x6e\x97"
      "\xf7\x4f\x5f\x20\xa0\x20\x43\xb7\xcb\xfb\xa7\x2f\x10\x50\x90\xa1\xdb\x65"
      "\xfc\x4b\xbd\x40\xc0\x66\xaf\xff\x7f\xc3\xde\xa7\x5e\xf8\x8b\xdf\x1c\xdd"
      "\x74\xe0\xdc\xb7\x97\xbd\xfe\xdb\xa1\x77\xac\xbd\xf3\xdc\x1b\xae\xb8\xfa"
      "\xd1\xa7\x97\xbd\x75\xda\xfe\xff\x67\xdf\xcf\xbd\x5c\x30\xff\xbf\xb2\xb4"
      "\xf9\xbf\x85\xfb\x01\x00\x00\x60\xfb\x71\xc2\x3e\xeb\x77\x98\xff\xbd\x17"
      "\x5e\x1d\xd2\xdc\xe7\xf1\x6b\x56\xfc\xa7\x0d\xfd\xf7\x38\xf5\xeb\x57\xbf"
      "\x71\xd5\x82\xc7\x67\xbd\x7f\xe3\xb0\xa3\x6a\x26\x17\xcc\xff\x17\x94\x36"
      "\xff\xff\xe8\xd7\xff\x0b\xc5\xce\xff\xef\x5f\x2c\xd0\x52\x6c\x61\x40\xeb"
      "\xff\x01\x00\x00\xd0\x43\x15\x5b\xff\xef\x3b\x4f\x55\x2d\x5a\xb6\xf4\xce"
      "\x29\x17\x0d\x3b\xf6\xdf\x7e\x7f\xfa\x53\x37\xfc\xe8\xd9\x1f\x7f\xe9\xe4"
      "\x8a\xcf\x3e\x73\xca\xc2\x0b\x0e\x2f\x7b\xf3\x92\xdd\x0b\xe6\xff\x4b\x4a"
      "\x9b\xff\xc7\xd3\x2e\xca\xf3\x72\xc7\xde\x6c\xac\x4f\xd6\xb4\x0b\xe9\x35"
      "\xed\xde\xa8\xcf\xfe\x64\x00\x00\x00\x00\x7a\x86\xf2\xd0\xd8\x58\x59\x62"
      "\xde\xbc\x85\x51\x8f\xf8\xf0\x6d\x3e\x9b\x59\x0a\xf4\x83\xd2\xb9\x1e\xfb"
      "\xf5\xa5\xcf\xf7\xba\x7b\xf7\xcf\xd7\xbf\x31\xec\xa8\x7b\xe7\xcd\xaf\x78"
      "\xe2\xad\xf7\xae\x7d\xf8\xfe\x97\xfe\x30\x61\xb7\x9b\x1f\x19\xf6\xed\x69"
      "\xdf\x28\x98\xff\xaf\x28\x6d\xfe\x9f\xf7\xbb\x8c\x45\x8b\x57\x8d\x9e\x78"
      "\xfc\x88\xa3\x37\x2e\x3b\xaf\xea\xbe\xe6\x19\x77\x9e\xba\xe9\xf8\x3f\x00"
      "\x00\x00\xb0\xed\x94\xba\x5f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\xf8\xf8\x55\xfd\x7e\xf1\xe7\x2f\xb9\xe9\x33\x17\xcd\xf9\xe3\xa4\x4b"
      "\x0e\xdb\xfb\xb4\x3b\x96\x5e\xf1\xc8\xeb\x7f\xfd\xe5\x4b\x2b\x77\x5b\xbd"
      "\xee\x82\x7b\x67\x3d\x37\xbe\xe0\xf7\xff\xe1\x84\xce\x72\xc5\x7e\xff\x1f"
      "\xaf\xfb\x17\x7f\x5f\xf0\x0f\x79\xb9\x63\xab\xdd\xaf\xff\x97\xb9\x3f\xf2"
      "\xd8\xbb\x66\x74\x2e\x59\xb8\xba\x3e\x84\x7d\x72\x03\x13\xe6\x4c\xd8\x21"
      "\x64\xae\xcd\xbf\x5f\x6e\x60\xf9\x99\x03\x77\xee\x48\xcc\x49\x97\x78\x68"
      "\xed\x91\xaf\x74\x24\xce\x4a\x07\x8e\x19\xb4\xe3\x86\x8e\xc4\x3f\xa7\x02"
      "\xad\x71\x91\xc4\x5d\xd3\x81\x78\x55\xc5\x0d\x7d\x53\x81\xb8\xbc\xe2\x93"
      "\xe9\x40\xdc\x1e\x4b\xd2\x81\xaa\x4c\x60\x5e\xdf\x64\x1c\x65\xe9\x6d\xf5"
      "\xc7\xba\x64\x5b\x95\xa5\xb7\xd5\xef\xea\x42\xe8\x97\x13\xc8\x6e\xab\xa5"
      "\x75\x49\x1b\x65\xe9\x01\x7e\x2b\x15\xc8\x0e\xf0\xdf\xd2\x81\x38\xc0\x7f"
      "\xc9\x04\xca\xd3\xbd\xba\xab\x4f\xd2\xab\x18\xa8\x8b\x45\x6f\xe9\x93\xf4"
      "\x0a\x00\x80\xed\x56\xfc\x16\x58\x19\xc6\x8e\x6f\x6f\x6b\x8a\x5f\xe1\xe3"
      "\xed\xa7\x2b\xf2\x6f\xa3\xbc\x25\xcb\x2e\x2a\xac\xb6\xac\xc4\xe6\x9f\xcb"
      "\x2c\x4d\x76\xfe\xad\x75\x3b\x97\x92\xee\x95\xfe\x2e\xba\xe9\x5a\xe3\x95"
      "\xa1\xba\x63\x08\xcd\x05\x5f\x57\x73\xb3\x94\x75\x8e\x72\xeb\xd4\xd2\xcd"
      "\xa6\xfb\x87\x22\x43\xee\x6e\xb5\xb7\xf2\x22\xe5\xd2\x36\x77\xd3\x55\x15"
      "\x1f\x51\x4d\x32\xa2\xc6\xd1\x93\xda\xc7\x54\x76\x3b\xf0\xfd\xbb\xcf\x32"
      "\xa4\xa2\xdb\x2c\xcd\x05\x93\x9d\xdc\x2c\xe5\x9d\x9b\xb4\x84\x5a\x4a\xe8"
      "\x4b\x09\x23\x2a\x71\xdb\x94\xd0\xe5\x78\xbf\x3c\x34\x36\xf6\x4a\xe5\x3a"
      "\x24\x06\x1b\x42\x9e\xee\x5e\x11\xa5\xfe\x5e\x3f\x77\x9d\xbf\x62\xaf\x82"
      "\xdc\x3c\x37\xec\xb8\xac\x79\xcc\x4f\xbf\xfd\xca\xcf\xef\xf8\xfb\xee\xeb"
      "\x56\xce\xec\x75\xd8\x4b\xc7\xfd\xcf\xe1\x9f\x7b\xe0\xf4\xd7\x9e\x6c\xbd"
      "\xe1\xa9\x1f\xdc\xf5\x5e\xc1\xfc\xbf\xa1\xb4\xf9\x7f\x75\xee\xb8\x36\x64"
      "\x2e\x06\x30\x3b\x5e\x59\xef\xd0\x7e\x21\xb4\x96\x38\x22\x00\x00\x00\xf8"
      "\xe4\x3b\xfb\xdc\xb5\x57\x5f\xf6\x93\xab\xd6\xbd\xd0\x32\xe0\x95\x49\x83"
      "\xaf\x5a\xfe\xbf\x67\x5c\x37\xb3\xa2\xfe\xf6\x8b\x8f\xfe\xdd\x43\xff\xfe"
      "\xce\x19\xdf\x3c\x6b\x4b\xe3\xd7\x0f\x79\x7a\xe8\xf2\x31\x07\xb5\x2e\xbd"
      "\xe7\x53\x07\x9d\xfe\xea\x49\xd3\xce\xba\xe5\xa0\x55\x1b\x0e\xff\x4c\xe5"
      "\x9a\xcf\x55\x9c\xb1\xfc\xb0\x29\x5f\x2a\x98\xff\xf7\x2f\x6d\xfe\x1f\xf7"
      "\x60\x65\x0e\x05\x27\x7b\x3b\x56\xc4\xeb\xff\xcf\xed\x17\x42\xe7\xa5\xf5"
      "\x1b\x92\xc0\xed\x71\xb8\x5f\xee\x17\xc2\x5e\x9d\xa9\x96\x58\x22\xb9\xa0"
      "\xfe\x88\x58\xa2\x29\x09\xdc\x1e\x77\x98\x0c\x8c\x25\x5a\x5b\xf2\xab\xea"
      "\x1d\x03\x4b\x52\x81\x75\xf5\x99\xc0\x8a\x54\x60\x65\x0c\x64\xf6\x52\xdc"
      "\x16\x32\xbb\x72\xae\xaa\x0f\xe1\x80\xce\xd4\x09\xf9\x25\x26\xc7\x12\x0d"
      "\xa9\xc0\xbf\xc6\x40\xff\x54\xa0\x31\x06\x9a\x52\x81\xbe\x31\x30\x3c\x15"
      "\x78\xad\x6f\x26\xd0\x92\x0a\xac\x8a\x81\x30\x3e\x7f\x5b\xdd\xd3\x37\xb3"
      "\xad\x00\x00\x00\x36\x47\x66\x9e\x55\x99\x7f\x37\xa4\xe7\x79\x4b\x2a\xba"
      "\xcb\x50\xd6\x5d\x86\xda\xee\x32\x94\x77\x97\xa1\xba\xbb\x0c\xc5\x46\x11"
      "\xef\xdf\x1d\x33\x54\xa6\x4e\x5e\x29\xcb\xc9\x54\x99\xae\xb5\x26\x55\x4b"
      "\x41\x86\x78\x31\xfc\xcd\xee\x57\x41\x86\xb0\x26\x3f\x67\xba\x60\x41\xd3"
      "\xf1\xfc\x83\xec\xf9\x06\x65\xf9\x19\x0e\x6b\x7d\x6e\x8f\x73\xa6\xdf\x7d"
      "\xe4\xd7\xaa\xbf\xfa\xf5\xca\x8d\xc7\xbf\x77\xda\x29\x2b\xce\x3c\xe3\x99"
      "\xa7\x9a\x1f\x79\x7c\xf4\x4d\x3f\x7d\x78\xd8\x8c\x82\xf9\x7f\x53\x69\xf3"
      "\xff\xda\xfc\xdb\xa4\xf5\x95\x71\xfe\xbf\xe9\xfa\x7f\x49\xe0\xd1\xd8\xbd"
      "\x6b\xe2\xa9\xe3\xfd\x63\xe0\x85\x61\xf9\x81\xcc\x8e\x81\x95\x71\xb2\x3b"
      "\x3f\x5b\x55\x4b\xa6\x44\x66\xd2\x3e\x3f\x96\x18\x1e\x03\xfd\x53\x81\xc9"
      "\x31\x30\x3c\x15\x68\x3d\x21\x13\x58\xb0\x73\x7e\x20\x33\xd3\xce\x36\x3e"
      "\x37\xdb\xf8\xf8\x4c\x89\x9c\x00\x00\x00\x00\x7c\xe4\xe2\x0e\x82\xb8\x9b"
      "\x26\xce\xff\x9f\x78\xe6\xd5\xeb\x96\x0e\xfd\xed\xe4\x5b\x9b\x6f\x7f\xe7"
      "\xe9\xfe\xe3\x6a\x6a\xa7\x0f\xb9\xec\x5f\x7e\xf6\xd8\xa1\x7b\xad\x3c\x67"
      "\xe4\xfd\xbf\xb8\x7e\xcf\x82\xf9\xff\xf0\xd2\xe6\xff\xb1\xbd\x3e\xb9\x8d"
      "\x5d\x1c\x7b\xf3\x72\xdf\x10\x96\x96\x6d\xea\x4d\x36\x30\xa8\x2e\x09\xc4"
      "\xfd\x18\x75\xf1\xe7\xf1\xbb\xd7\x85\xb0\x43\xce\x0e\x8e\x6c\x89\xb6\xda"
      "\xa4\x44\x55\xaa\xe1\xf0\xb3\x9a\xe4\x17\xea\x55\xe9\xaa\x96\xd5\x24\x6b"
      "\x0c\xc4\xfb\x23\x7f\xf5\xc8\xf2\xcb\x3b\x12\xdf\xaa\x09\x61\xdf\x9c\xbd"
      "\x2f\xd9\x36\x9e\xab\x4e\xda\xa8\x49\x07\x06\x54\x25\x81\xda\x74\x60\x52"
      "\x45\x12\x88\x7b\x7e\xb2\x81\xfb\xcb\x93\x00\x6c\xb1\xec\x5e\xc1\xf8\x82"
      "\xca\x9c\xea\x92\xd5\xd0\x75\xb9\x22\xaf\xbf\x4f\xca\x35\x41\xd3\xc3\x2b"
      "\xd8\x07\xda\x45\xbe\xae\x7e\x73\xb5\xad\x54\xa7\x1f\xc8\xec\x53\xcd\xda"
      "\xbc\xa7\xad\xa0\x3a\xb6\x89\x82\xb7\xc7\x0a\xef\xb6\x9e\xf8\x6e\x6b\xf0"
      "\x6e\xcb\xfd\x22\x95\xf9\x86\xf2\xfe\xa6\x50\x75\x28\x1f\xd3\x36\x76\xd4"
      "\xf4\xf6\x69\xf1\x91\xdc\x5f\xb2\x16\xd8\x46\xcf\x73\xee\xaf\x54\x4b\x49"
      "\x6f\x85\xd7\xe1\xec\x0f\xdf\xdb\xee\x55\xa7\x3b\xd0\x94\xfa\xf8\x68\xea"
      "\xba\x5c\xd7\xaf\xc3\xb2\x58\xdd\xa2\xc5\xab\x46\x4f\x3c\x7e\xc4\xd1\xcb"
      "\xce\xab\xba\xaf\x79\xc6\x9d\xa7\x96\xdc\x8d\x22\xe2\x0f\x85\xff\xf3\xe4"
      "\xfb\xf3\x7e\x28\xbc\xad\x55\x87\xcc\x6b\xae\xc7\x7d\x9e\xb4\xf8\x3c\xe9"
      "\x89\xff\x06\xfa\x7b\xda\x42\x08\xdf\xad\x5a\x39\xf7\xce\x2f\xae\xbe\xe9"
      "\xde\x77\x86\xf4\x6b\x98\x70\x56\xdb\x55\x6b\xbe\xf7\xce\xbd\x8d\xfb\xfc"
      "\x65\x87\xa5\xdf\x68\x5e\xfd\xc5\xb5\xad\x05\xf3\xff\x96\xd2\xe6\xff\x15"
      "\xa9\xdb\x4e\x7f\x8d\x1b\x73\x6a\xbf\x10\xfe\x29\x67\xe3\xae\x8e\x9b\xff"
      "\xa8\x7e\xc9\xe7\x60\x4e\x20\xf9\x94\xdc\xa9\x30\x90\x1c\x72\x7f\xa9\xbe"
      "\xe8\x27\x27\x00\x00\x00\x6c\x6d\xd9\xdd\x1d\xd9\xfd\x05\xe3\x33\xb7\xc9"
      "\x09\xe1\xe9\x79\x72\x61\xfe\x96\xcd\xcc\x1f\xf7\x57\x0c\xef\x32\x7f\xa9"
      "\xfd\x3e\x77\xfa\x2b\xbf\x5e\xf1\xcc\x7f\x3b\xee\xc1\xda\xff\xf2\xee\xbf"
      "\xcf\x7a\xfc\xc9\xe7\x8f\xfa\xc9\x13\x7f\xba\xe9\xf5\x93\xc2\x05\x17\xff"
      "\xe3\x94\x95\x27\xfe\xa5\x60\xfe\xdf\xfa\xc1\xf3\xff\xde\xa9\x6e\x3a\xfe"
      "\xef\xf8\x3f\xdb\x88\xe3\xff\x5d\xda\xde\x77\x45\xf7\x4e\x3f\x30\x7b\x8b"
      "\x76\x45\x17\x54\xc7\x36\xe1\xf8\x7f\x97\xb6\xf7\x77\x9b\xe3\xff\x5d\x72"
      "\xfc\xdf\xf1\xff\xae\x38\xfe\xdf\x0d\xc7\xff\xbb\xb4\xbd\x3f\x6d\x05\xdf"
      "\x92\x26\xfb\xd2\xd5\xf1\x6f\xe0\xd8\x11\x2f\xae\x3c\xe5\x4f\x8b\xff\xf5"
      "\xa6\x6b\x07\x8d\xfb\xde\x8e\xb7\x8c\xae\x5f\xf5\x70\xcd\xbc\xc6\xd7\x6b"
      "\xdf\x9b\x77\xe1\xe3\xc7\xbf\x37\xb6\x60\xfe\x3f\xb9\xb4\xf9\xbf\xf5\xff"
      "\xba\x5e\xb4\x2f\xbb\xfe\x5f\x6b\xb1\xf5\xff\x26\x17\x5b\xff\x6f\xb6\xf5"
      "\xff\x00\x00\x80\x6d\xaa\xc8\x42\x73\xe9\x79\x5e\xc1\xea\x7d\x05\x19\xd2"
      "\xab\xf7\x15\x64\xe8\x76\x81\xc0\x6e\x97\x18\xb4\xfe\xdf\x66\xaf\xff\x37"
      "\xe8\xd2\xb9\xa7\x9c\xfc\xb5\xe5\xab\xde\x5c\xf1\xa9\x55\xf3\x7f\x3a\x6c"
      "\x9f\x21\xe1\x88\x86\xd9\x47\x1e\xbe\xee\x90\x73\x3f\xfb\xc8\xf8\xe5\xc7"
      "\x4c\x2c\x98\xff\xcf\x2e\x6d\xfe\x1f\x5f\x0e\x7d\x72\x5b\xef\x29\xeb\xff"
      "\xf5\x3f\xa1\x48\x55\x57\xc6\xc0\x64\x0b\x03\x02\x00\x00\xb0\x3d\x2a\xb6"
      "\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8f\xd7\xba\xc5"
      "\x87\xac\xbb\x70\xcf\x8d\x6d\x6b\x8e\xbd\xe6\x6f\xe7\xac\x3f\xaa\xa2\xed"
      "\xec\xc6\x45\xf7\xbc\x39\x75\xf0\xc4\x75\x97\xf4\x5d\xfb\xf3\xab\x0f\x39"
      "\x6e\xcc\xe9\x77\x7c\xff\xc1\xe3\x66\x2d\x7e\xe0\xed\x9b\x2f\x7c\x78\xce"
      "\xd9\x21\x8c\xef\x2c\x57\x96\x14\x2f\x1b\xf8\xd6\x15\x87\xbc\x79\xdd\x31"
      "\x43\x2f\x5b\x35\x77\xd7\xf6\x15\xe3\x1e\xa8\xce\xd4\x5b\x99\xb9\xdd\x2d"
      "\x2f\x77\x6c\x75\x63\x7d\x08\x0b\x72\x1e\xa9\x8b\x89\x37\xea\x3b\xee\x6c"
      "\x0a\x8c\x3c\xf6\xae\x19\x15\x1d\x89\xd5\xf5\x21\xec\x93\x1b\x98\x30\x67"
      "\xc2\x0e\x1d\x89\x45\xf5\x21\xec\x97\x1b\x58\x7e\xe6\xc0\x9d\x3b\x12\x73"
      "\xd2\x25\x1e\x5a\x7b\xe4\x2b\x1d\x89\xb3\xd2\x81\x63\x06\xed\xb8\xa1\x23"
      "\xf1\xcf\x99\x40\x59\xba\xbb\x37\xf6\x4d\xba\x5b\x96\xee\xee\xe5\x7d\x43"
      "\xe8\x97\x13\xc8\x76\xf7\x9c\xbe\xf9\x55\x65\xdb\xf8\x42\x26\x50\x9e\x6e"
      "\xe3\x07\x75\x49\x1b\x31\x50\x17\x8b\x5e\x57\x97\xb4\x11\x03\xed\xb1\xc4"
      "\xf8\xde\x21\x0c\xae\x08\xa1\x57\xba\xaa\xc7\xaa\x93\xaa\x7a\xa5\xab\xea"
      "\x78\x76\xfa\xe5\x04\xb2\x55\xcd\xaa\x0e\xe1\xd0\x10\x42\x45\xba\xaa\xe7"
      "\xab\x92\xaa\x2a\xd2\x23\x5f\x53\x95\x54\x15\x03\xbb\xec\x7d\xdb\xfa\x01"
      "\x1d\x89\x85\x55\x21\x0c\xce\x0d\x3c\x7d\xc6\xc2\x03\x3a\x12\x53\x52\x81"
      "\x6c\xe3\x27\x55\x85\xb0\x67\xc7\x4b\x26\xdd\xf8\x3d\x95\x49\xe3\x95\xe9"
      "\xc6\xbf\x5d\x19\xc2\x1e\x21\x84\xaa\x74\x89\x77\x2a\x92\x12\x55\xe9\x12"
      "\x2f\x56\x84\xb0\x53\x4e\x60\xd3\x46\xac\x08\x61\x46\xe0\x93\x21\x7e\xfa"
      "\x8c\xc9\x7d\x70\xea\x8c\x99\x13\x46\xb5\xb7\xb7\x4d\xd9\x86\x89\xaa\x4c"
      "\x5b\x35\x61\xec\xf8\xf6\xb6\xc6\xd1\x93\xda\xc7\x54\xa7\xfa\x54\x4c\x59"
      "\x4e\xfa\xfd\x8b\x3e\xfc\xd8\x9f\x5b\x7f\xc1\xe8\x8e\xdb\xf3\x6f\xad\xdb"
      "\xb9\x94\x74\x45\xa6\x5c\x65\x67\x97\x87\x54\xe6\xdd\xdd\x7f\x7b\xef\x7d"
      "\xec\x57\x6d\x6e\x25\x9b\x9e\x8f\x82\xfa\x63\xfe\xaa\xd0\x27\xf4\x9e\x3e"
      "\xb5\x6d\x4a\xe3\x79\xa3\xa6\x4d\x9b\xd2\x9c\xfc\x2d\x35\xfb\x90\xe4\x6f"
      "\xaf\x4c\x34\xd9\x56\xcd\x3d\x65\x5b\x0d\xc8\xad\x64\xf0\xb4\x89\x93\x07"
      "\x4f\x9d\x31\x73\xd0\xf8\x89\xa3\xc6\xb5\x8d\x6b\x3b\xb7\xf9\xc0\xa1\x43"
      "\x86\x36\x1d\xdc\x74\xf0\xe0\x8e\x41\x35\x25\x7f\xb7\xc6\x48\x17\x7e\xf4"
      "\x23\xfd\x74\x45\x4e\x25\x1f\xc5\xfb\x5f\x42\x42\xa2\xa7\x25\xca\xf3\x3e"
      "\xdd\x9a\xb6\xf7\xcf\xf1\x82\x2f\xfa\x9b\x3a\x5a\x19\xaa\x3b\x3f\xa0\x0b"
      "\xa6\x15\xb9\x59\xca\x3a\x47\xb9\x35\x06\x7d\xc4\x87\x1c\xf1\x87\xf9\x9a"
      "\xd2\xed\x88\x9a\x0b\x26\x0e\x05\x59\x86\x74\x9f\x65\xff\x82\xc9\xc4\xa6"
      "\x2c\x35\x49\x96\xce\xaf\x75\x05\x93\xc3\xdc\x9a\xca\x3b\x37\x69\xbc\x5f"
      "\x1e\x1a\x1b\x7b\x15\xdb\x0e\x0d\xf9\x77\x73\x37\xef\x9f\xb7\x60\xf3\x3e"
      "\x9b\xd9\x74\xa5\xa6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x3f\x3b\x70\x20\x00"
      "\x00\x00\x00\x00\xe4\xff\xda\x08\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55"
      "\xd8\x81\x03\x01\x00\x00\x00\x00\x20\xff\xd7\x46\xa8\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa"
      "\xaa\xaa\xaa\xaa\xc2\x0e\x1c\x0b\x00\x00\x00\x00\x08\xf3\xb7\x0e\xa3\x67"
      "\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\xb8\x14\x00\x00\xff\xff\x18\x45\x1c\xb4",
      21916);
  syz_mount_image(/*fs=*/0x200055c0, /*dir=*/0x200000c0,
                  /*flags=MS_STRICTATIME*/ 0x1000000, /*opts=*/0x200001c0,
                  /*chdir=*/1, /*size=*/0x559c, /*img=*/0x20005680);
  *(uint32_t*)0x20000180 = 0xf;
  *(uint16_t*)0x20000184 = 8;
  *(uint16_t*)0x20000186 = 0xfa00;
  *(uint32_t*)0x20000188 = -1;
  *(uint32_t*)0x2000018c = 0;
  syscall(__NR_write, /*fd=*/-1, /*data=*/0x20000180ul, /*len=*/0x10ul);
  syscall(__NR_openat, /*fd=*/0xffffffffffffff9cul, /*file=*/0ul, /*flags=*/2ul,
          /*mode=*/0ul);
  syscall(__NR_socket, /*domain=*/0x10ul, /*type=*/3ul, /*proto=*/0);
  memcpy((void*)0x20001100, "reiserfs\000", 9);
  memcpy((void*)0x20001140, "./file0\000", 8);
  *(uint8_t*)0x20001180 = 0;
  memcpy(
      (void*)0x200011c0,
      "\x78\x9c\xec\xd8\xb1\x6a\x14\x41\x18\x07\xf0\xff\xcc\x5d\xa3\xcd\xc9\x04"
      "\xdb\x6d\x6c\x2c\x24\x24\x9c\x2f\x60\xa1\x70\x8d\x85\xb5\x8d\x84\x54\xa6"
      "\x4a\x2a\x35\x85\x2f\x62\xe7\x33\xf8\x14\x92\xca\x3e\xa4\x14\x4c\x11\xb0"
      "\x57\x76\x2f\x1b\xa2\x44\x24\xdc\x71\x22\xfc\x7e\x70\xdc\xcc\x7f\x67\xbe"
      "\xd9\x29\xbf\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\xa6\xc9\xb7\x92"
      "\x6c\xd5\xa4\x8d\x59\x4d\x52\x92\xae\x3b\x59\x9c\x25\xe9\xc6\xfc\xde\xe7"
      "\x49\x4d\xc9\x8b\xfd\xc5\xd1\xd3\xc3\xf9\xb3\xa3\xe5\xb2\xf4\x59\x4d\xe9"
      "\x77\x0d\xf3\xb6\xfb\xa0\xb5\x79\x9b\xb7\xdd\xf6\x78\xab\x0f\xde\xbc\x7d"
      "\xfd\xea\xe0\x60\xff\xf0\xb2\x4c\x49\x97\xd3\x8b\xe3\xbd\x3c\x3f\x5f\xeb"
      "\x55\xfa\xa3\x26\xbf\x24\xef\xd7\x5a\x1f\x00\x00\x00\xfe\x57\x3f\x56\x36"
      "\x4b\xee\xbf\x1b\x6a\xd5\x7f\x72\x3e\x00\x00\x00\xf0\x37\x6b\xff\xa0\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x6b\x1f"
      "\xee\x8e\xa3\x96\xaf\x9f\xae\xe2\x92\x74\xdd\xc9\xe2\x2c\x49\xf7\x87\x9d"
      "\xd3\x4d\xbc\x1e\x00\x00\x00\xb0\xb2\x92\x9a\x97\xb3\x9b\xf2\xa4\x5e\x9b"
      "\xdf\xc9\xa3\x7c\x99\x95\x61\x5c\xeb\xf2\xf9\xf7\xd2\xaf\xd9\xc9\xc7\x1b"
      "\xf6\x03\x00\x00\x00\xb7\x53\xae\xf5\xe3\x0f\x33\xbd\xea\xcb\xcb\xd0\x97"
      "\x27\xdb\xdb\xcb\xf9\xe5\x5f\xce\x9f\x24\x93\x24\x3b\xbf\xd5\x39\xbd\x38"
      "\xde\x1b\x7f\x65\x93\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e"
      "\xb2\x03\xc7\x02\x00\x00\x00\x00\xc2\xfc\xad\xd3\xe8\xd8\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xa9\x02\x00\x00\xff\xff"
      "\x1c\xf3\xd7\x17",
      4360);
  syz_mount_image(/*fs=*/0x20001100, /*dir=*/0x20001140, /*flags=*/0,
                  /*opts=*/0x20001180, /*chdir=*/1, /*size=*/0x1108,
                  /*img=*/0x200011c0);
  memcpy((void*)0x200001c0,
         "/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0/inhibited\000", 60);
  memcpy((void*)0x20000080, "-1\000", 3);
  syz_mod_dev(/*dev=*/0, /*id=*/0x900000000000000, /*flags=*/0,
              /*file=*/0x200001c0, /*buf=*/0x20000080, /*fd=*/-1);
}
int main(void)
{
  syscall(__NR_mmap, /*addr=*/0x1ffff000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x20000000ul, /*len=*/0x1000000ul,
          /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x21000000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  setup_usb();
  setup_802154();
  for (procid = 0; procid < 4; procid++) {
    if (fork() == 0) {
      use_temporary_dir();
      do_sandbox_none();
    }
  }
  sleep(1000000);
  return 0;
}



^ permalink raw reply	[relevance 1%]

* Re: [BUG][v6.9-rc6] Deadlock with: Revert "drm/qxl: simplify qxl_fence_wait"
  2024-05-07  5:54 64%       ` David Airlie
@ 2024-05-07  6:38 64%         ` Timo Lindfors
  2024-05-07 10:21 59%           ` Gerd Hoffmann
  2024-05-07  9:03 64%         ` Steven Rostedt
  1 sibling, 1 reply; 200+ results
From: Timo Lindfors @ 2024-05-07  6:38 UTC (permalink / raw)
  To: David Airlie
  Cc: Linus Torvalds, Maxime Ripard, Steven Rostedt, LKML,
	Alex Constantino, Timo Lindfors, Gerd Hoffmann, Maarten Lankhorst,
	Thomas Zimmermann, Daniel Vetter

On Tue, 7 May 2024, David Airlie wrote:
> I expec this will reintroduce the other problems that caused this
> change in the first place, but I think this should at least bring us
> back to regression equilibrium. I can't recommend anyone use qxl hw
> over virtio-gpu hw in their VMs, since virtio-gpu is actually hw
> designed for virt.

I would love to switch to virtio. It works ok for local virtual machines 
but I have many users who are using Linux desktops hosted on a powerful 
server where it is more difficult. With spice and qxl scrolling in a web 
browser is smooth, with spice and virtio it seems like larger parts are 
getting fully redrawn (and resent over network?). Now that new gnome is 
going to come with RDP support I'm also considering switching to that. Any 
tips would be appreciated.

Here's a quick (1min42s) demo video that I recorded. spice+qxl on the 
left, spice+virtio on the right. The VMs were created from the exact same
disk image template.

https://lindi.iki.fi/lindi/qxl/spice_qxl_vs_virtio.webm

-Timo


^ permalink raw reply	[relevance 64%]

* [Linux kernel bug] general protection fault in alloc_object
@ 2024-05-07  6:32  2% Sam Sun
  2024-05-08 14:20 62% ` Thomas Gleixner
  0 siblings, 1 reply; 200+ results
From: Sam Sun @ 2024-05-07  6:32 UTC (permalink / raw)
  To: linux-kernel, tglx, akpm; +Cc: syzkaller-bugs, xrivendell7

[-- Attachment #1: Type: text/plain, Size: 5403 bytes --]

Dear developers and maintainers,

We encountered a general protection fault in function alloc_object. It
was tested against the latest upstream linux (tag 6.9-rc7). C repro
and kernel config are attached to this email.
Kernel crash log is listed below.
```
general protection fault, probably for non-canonical address
0xdffffc0040000001: 0000 [#1] PREEMPT SMP KASAN NOPTI
KASAN: probably user-memory-access in range
[0x0000000200000008-0x000000020000000f]
CPU: 1 PID: 8107 Comm: systemd-sysctl Not tainted 6.9.0-rc6 #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.13.0-1ubuntu1.1 04/01/2014
RIP: 0010:__hlist_del include/linux/list.h:990 [inline]
RIP: 0010:hlist_del include/linux/list.h:1002 [inline]
RIP: 0010:__alloc_object lib/debugobjects.c:213 [inline]
RIP: 0010:alloc_object+0x124/0x6c0 lib/debugobjects.c:226
Code: 3c 08 00 74 08 4c 89 f7 e8 69 41 58 fd 49 89 2e 48 85 ed 74 27
48 83 c5 08 48 89 e8 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df <80> 3c
08 00 74 08 48 89 ef e8 3e 41 58 fd 4c 89 75 00 49 be 00 00
RSP: 0018:ffffc900027ff510 EFLAGS: 00010002
RAX: 0000000040000001 RBX: ffff88802bb21e38 RCX: dffffc0000000000
RDX: ffffffff8b6de400 RSI: ffffffff8bcdd080 RDI: ffffffff8bcdd040
RBP: 0000000200000009 R08: 0000000000000003 R09: fffff520004ffe90
R10: dffffc0000000000 R11: ffffffff81746170 R12: 1ffff110057643c7
R13: ffff88802bb21e40 R14: ffff8880be43a1e0 R15: 1ffff110057643c8
FS:  0000000000000000(0000) GS:ffff8880be400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ff335b18298 CR3: 000000006660c000 CR4: 0000000000750ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
 <TASK>
 lookup_object_or_alloc lib/debugobjects.c:587 [inline]
 debug_object_activate+0x23f/0x510 lib/debugobjects.c:710
 debug_rcu_head_queue kernel/rcu/rcu.h:227 [inline]
 __call_rcu_common kernel/rcu/tree.c:2719 [inline]
 call_rcu+0x97/0xa30 kernel/rcu/tree.c:2838
 remove_vma mm/mmap.c:148 [inline]
 remove_mt mm/mmap.c:2289 [inline]
 do_vmi_align_munmap+0x157e/0x1900 mm/mmap.c:2632
 do_vmi_munmap+0x24c/0x2d0 mm/mmap.c:2696
 mmap_region+0x866/0x1fb0 mm/mmap.c:2747
 do_mmap+0x7d4/0xe60 mm/mmap.c:1385
 vm_mmap_pgoff+0x1a3/0x400 mm/util.c:573
 ksys_mmap_pgoff+0x4fb/0x6d0 mm/mmap.c:1431
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xe4/0x240 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x67/0x6f
RIP: 0033:0x7ff335b9be82
Code: eb aa 66 0f 1f 44 00 00 41 f7 c1 ff 0f 00 00 75 27 55 48 89 fd
53 89 cb 48 85 ff 74 33 41 89 da 48 89 ef b8 09 00 00 00 0f 05 <48> 3d
00 f0 ff ff 77 56 5b 5d c3 0f 1f 00 c7 05 ae 02 01 00 16 00
RSP: 002b:00007ffc44458f18 EFLAGS: 00000206 ORIG_RAX: 0000000000000009
RAX: ffffffffffffffda RBX: 0000000000000812 RCX: 00007ff335b9be82
RDX: 0000000000000003 RSI: 0000000000002000 RDI: 00007ff335b16000
RBP: 00007ff335b16000 R08: 0000000000000003 R09: 0000000000008000
R10: 0000000000000812 R11: 0000000000000206 R12: 00007ff335b79460
R13: 00007ffc44458f30 R14: 00007ffc44458fc0 R15: 00007ffc444592c0
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:__hlist_del include/linux/list.h:990 [inline]
RIP: 0010:hlist_del include/linux/list.h:1002 [inline]
RIP: 0010:__alloc_object lib/debugobjects.c:213 [inline]
RIP: 0010:alloc_object+0x124/0x6c0 lib/debugobjects.c:226
Code: 3c 08 00 74 08 4c 89 f7 e8 69 41 58 fd 49 89 2e 48 85 ed 74 27
48 83 c5 08 48 89 e8 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df <80> 3c
08 00 74 08 48 89 ef e8 3e 41 58 fd 4c 89 75 00 49 be 00 00
RSP: 0018:ffffc900027ff510 EFLAGS: 00010002

RAX: 0000000040000001 RBX: ffff88802bb21e38 RCX: dffffc0000000000
RDX: ffffffff8b6de400 RSI: ffffffff8bcdd080 RDI: ffffffff8bcdd040
RBP: 0000000200000009 R08: 0000000000000003 R09: fffff520004ffe90
R10: dffffc0000000000 R11: ffffffff81746170 R12: 1ffff110057643c7
R13: ffff88802bb21e40 R14: ffff8880be43a1e0 R15: 1ffff110057643c8
FS:  0000000000000000(0000) GS:ffff8880be400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ff335b18298 CR3: 000000006660c000 CR4: 0000000000750ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
----------------
Code disassembly (best guess):
   0: 3c 08                 cmp    $0x8,%al
   2: 00 74 08 4c           add    %dh,0x4c(%rax,%rcx,1)
   6: 89 f7                 mov    %esi,%edi
   8: e8 69 41 58 fd       callq  0xfd584176
   d: 49 89 2e             mov    %rbp,(%r14)
  10: 48 85 ed             test   %rbp,%rbp
  13: 74 27                 je     0x3c
  15: 48 83 c5 08           add    $0x8,%rbp
  19: 48 89 e8             mov    %rbp,%rax
  1c: 48 c1 e8 03           shr    $0x3,%rax
  20: 48 b9 00 00 00 00 00 movabs $0xdffffc0000000000,%rcx
  27: fc ff df
* 2a: 80 3c 08 00           cmpb   $0x0,(%rax,%rcx,1) <-- trapping instruction
  2e: 74 08                 je     0x38
  30: 48 89 ef             mov    %rbp,%rdi
  33: e8 3e 41 58 fd       callq  0xfd584176
  38: 4c 89 75 00           mov    %r14,0x0(%rbp)
  3c: 49                   rex.WB
  3d: be                   .byte 0xbe
```
If you have any questions, please contact us.

Reported by Yue Sun <samsun1006219@gmail.com>
Reported by xingwei lee <xrivendell7@gmail.com>

Best Regards,
Yue

[-- Attachment #2: config --]
[-- Type: application/octet-stream, Size: 247919 bytes --]

#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 6.9.0-rc7 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="Ubuntu clang version 14.0.0-1ubuntu1.1"
CONFIG_GCC_VERSION=0
CONFIG_CC_IS_CLANG=y
CONFIG_CLANG_VERSION=140000
CONFIG_AS_IS_LLVM=y
CONFIG_AS_VERSION=140000
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=23800
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_TOOLS_SUPPORT_RELR=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_PAHOLE_VERSION=0
CONFIG_CONSTRUCTORS=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
# CONFIG_WERROR is not set
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_HAVE_KERNEL_ZSTD=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_WATCH_QUEUE=y
CONFIG_CROSS_MEMORY_ATTACH=y
# CONFIG_USELIB is not set
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_IRQ_MSI_IOMMU=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
# end of IRQ subsystem

CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_INIT=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST_IDLE=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_CONTEXT_TRACKING=y
CONFIG_CONTEXT_TRACKING_IDLE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_CONTEXT_TRACKING_USER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=125
# end of Timers subsystem

CONFIG_BPF=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y

#
# BPF subsystem
#
CONFIG_BPF_SYSCALL=y
# CONFIG_BPF_JIT is not set
# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
CONFIG_USERMODE_DRIVER=y
CONFIG_BPF_PRELOAD=y
CONFIG_BPF_PRELOAD_UMD=y
# end of BPF subsystem

CONFIG_PREEMPT_BUILD=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
CONFIG_PREEMPT_DYNAMIC=y
CONFIG_SCHED_CORE=y

#
# CPU/Task time and stats accounting
#
CONFIG_VIRT_CPU_ACCOUNTING=y
# CONFIG_TICK_CPU_ACCOUNTING is not set
CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_SCHED_AVG_IRQ=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_PSI=y
# CONFIG_PSI_DEFAULT_DISABLED is not set
# end of CPU/Task time and stats accounting

CONFIG_CPU_ISOLATION=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
CONFIG_TASKS_RCU=y
CONFIG_TASKS_TRACE_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
# end of RCU Subsystem

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_IKHEADERS is not set
CONFIG_LOG_BUF_SHIFT=18
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
# CONFIG_PRINTK_INDEX is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y

#
# Scheduler features
#
# CONFIG_UCLAMP_TASK is not set
# end of Scheduler features

CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CC_HAS_INT128=y
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough"
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
CONFIG_MEMCG_KMEM=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_SCHED_MM_CID=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_RDMA=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_BPF=y
CONFIG_CGROUP_MISC=y
CONFIG_CGROUP_DEBUG=y
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_TIME_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_CHECKPOINT_RESTORE=y
# CONFIG_SCHED_AUTOGROUP is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
# CONFIG_BOOT_CONFIG is not set
CONFIG_INITRAMFS_PRESERVE_MTIME=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_LD_ORPHAN_WARN=y
CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
CONFIG_SYSCTL=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_IO_URING=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KCMP=y
CONFIG_RSEQ=y
# CONFIG_DEBUG_RSEQ is not set
CONFIG_CACHESTAT_SYSCALL=y
# CONFIG_PC104 is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_SELFTEST is not set
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_GUEST_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# end of Kernel Performance Events And Counters

CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y

#
# Kexec and crash features
#
CONFIG_CRASH_RESERVE=y
CONFIG_VMCORE_INFO=y
CONFIG_KEXEC_CORE=y
CONFIG_KEXEC=y
# CONFIG_KEXEC_FILE is not set
# CONFIG_KEXEC_JUMP is not set
CONFIG_CRASH_DUMP=y
CONFIG_CRASH_HOTPLUG=y
CONFIG_CRASH_MAX_MEMORY_RANGES=8192
# end of Kexec and crash features
# end of General setup

CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_CSUM=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_AUDIT_ARCH=y
CONFIG_KASAN_SHADOW_OFFSET=0xdffffc0000000000
CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_64_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=4
CONFIG_CC_HAS_SANE_STACKPROTECTOR=y

#
# Processor type and features
#
CONFIG_SMP=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_CPU_RESCTRL is not set
# CONFIG_X86_FRED is not set
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_NUMACHIP is not set
# CONFIG_X86_VSMP is not set
# CONFIG_X86_GOLDFISH is not set
# CONFIG_X86_INTEL_MID is not set
# CONFIG_X86_INTEL_LPSS is not set
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
CONFIG_IOSF_MBI=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_DEBUG=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_X86_HV_CALLBACK_VECTOR=y
# CONFIG_XEN is not set
CONFIG_KVM_GUEST=y
CONFIG_ARCH_CPUIDLE_HALTPOLL=y
CONFIG_PVH=y
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_JAILHOUSE_GUEST is not set
# CONFIG_ACRN_GUEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
CONFIG_MCORE2=y
# CONFIG_MATOM is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_P6_NOP=y
CONFIG_X86_TSC=y
CONFIG_X86_HAVE_PAE=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_IA32_FEAT_CTL=y
CONFIG_X86_VMX_FEATURE_NAMES=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
# CONFIG_CPU_SUP_HYGON is not set
# CONFIG_CPU_SUP_CENTAUR is not set
# CONFIG_CPU_SUP_ZHAOXIN is not set
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
# CONFIG_GART_IOMMU is not set
CONFIG_BOOT_VESA_SUPPORT=y
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS_RANGE_BEGIN=2
CONFIG_NR_CPUS_RANGE_END=512
CONFIG_NR_CPUS_DEFAULT=64
CONFIG_NR_CPUS=8
CONFIG_SCHED_CLUSTER=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_SCHED_MC_PRIO=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
# CONFIG_X86_MCELOG_LEGACY is not set
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set

#
# Performance monitoring
#
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_PERF_EVENTS_INTEL_RAPL=y
CONFIG_PERF_EVENTS_INTEL_CSTATE=y
# CONFIG_PERF_EVENTS_AMD_POWER is not set
CONFIG_PERF_EVENTS_AMD_UNCORE=y
# CONFIG_PERF_EVENTS_AMD_BRS is not set
# end of Performance monitoring

CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
CONFIG_X86_VSYSCALL_EMULATION=y
CONFIG_X86_IOPL_IOPERM=y
CONFIG_MICROCODE=y
# CONFIG_MICROCODE_LATE_LOADING is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
# CONFIG_X86_5LEVEL is not set
CONFIG_X86_DIRECT_GBPAGES=y
# CONFIG_X86_CPA_STATISTICS is not set
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NUMA_EMU=y
CONFIG_NODES_SHIFT=6
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
# CONFIG_ARCH_MEMORY_PROBE is not set
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
# CONFIG_X86_PMEM_LEGACY is not set
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_MTRR=y
# CONFIG_MTRR_SANITIZER is not set
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_X86_UMIP=y
CONFIG_CC_HAS_IBT=y
CONFIG_X86_CET=y
CONFIG_X86_KERNEL_IBT=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
# CONFIG_X86_INTEL_TSX_MODE_OFF is not set
CONFIG_X86_INTEL_TSX_MODE_ON=y
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_SGX=y
CONFIG_X86_USER_SHADOW_STACK=y
# CONFIG_EFI is not set
CONFIG_HZ_100=y
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=100
CONFIG_SCHED_HRTICK=y
CONFIG_ARCH_SUPPORTS_KEXEC=y
CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG_FORCE=y
CONFIG_ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_JUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_HOTPLUG=y
CONFIG_ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION=y
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_ADDRESS_MASKING=y
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
CONFIG_LEGACY_VSYSCALL_XONLY=y
# CONFIG_LEGACY_VSYSCALL_NONE is not set
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="earlyprintk=serial net.ifnames=0 sysctl.kernel.hung_task_all_cpu_backtrace=1 ima_policy=tcb nf-conntrack-ftp.ports=20000 nf-conntrack-tftp.ports=20000 nf-conntrack-sip.ports=20000 nf-conntrack-irc.ports=20000 nf-conntrack-sane.ports=20000 binder.debug_mask=0 rcupdate.rcu_expedited=1 rcupdate.rcu_cpu_stall_cputime=1 no_hash_pointers page_owner=on sysctl.vm.nr_hugepages=4 sysctl.vm.nr_overcommit_hugepages=4 secretmem.enable=1 sysctl.max_rcu_stall_to_panic=1 msr.allow_writes=off coredump_filter=0xffff root=/dev/sda console=ttyS0 vsyscall=native numa=fake=2 kvm-intel.nested=1 spec_store_bypass_disable=prctl nopcid vivid.n_devs=16 vivid.multiplanar=1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2 netrom.nr_ndevs=16 rose.rose_ndevs=16 smp.csd_lock_timeout=100000 watchdog_thresh=55 workqueue.watchdog_thresh=140 sysctl.net.core.netdev_unregister_timeout_secs=140 dummy_hcd.num=8 panic_on_warn=1"
# CONFIG_CMDLINE_OVERRIDE is not set
CONFIG_MODIFY_LDT_SYSCALL=y
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
CONFIG_HAVE_LIVEPATCH=y
# end of Processor type and features

CONFIG_CC_HAS_ENTRY_PADDING=y
CONFIG_FUNCTION_PADDING_CFI=11
CONFIG_FUNCTION_PADDING_BYTES=16
CONFIG_CPU_MITIGATIONS=y
CONFIG_MITIGATION_PAGE_TABLE_ISOLATION=y
CONFIG_MITIGATION_RETPOLINE=y
CONFIG_MITIGATION_IBPB_ENTRY=y
CONFIG_MITIGATION_IBRS_ENTRY=y
# CONFIG_MITIGATION_GDS_FORCE is not set
CONFIG_MITIGATION_RFDS=y
CONFIG_MITIGATION_SPECTRE_BHI=y
CONFIG_ARCH_HAS_ADD_PAGES=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_HIBERNATION_SNAPSHOT_DEV=y
CONFIG_HIBERNATION_COMP_LZO=y
# CONFIG_HIBERNATION_COMP_LZ4 is not set
CONFIG_HIBERNATION_DEF_COMP="lzo"
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM=y
CONFIG_PM_DEBUG=y
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_PM_SLEEP_DEBUG=y
# CONFIG_DPM_WATCHDOG is not set
CONFIG_PM_TRACE=y
CONFIG_PM_TRACE_RTC=y
CONFIG_PM_CLK=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_ENERGY_MODEL is not set
CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
CONFIG_ACPI_THERMAL_LIB=y
# CONFIG_ACPI_DEBUGGER is not set
CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_FPDT is not set
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=y
CONFIG_ACPI_FAN=y
# CONFIG_ACPI_TAD is not set
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_CPU_FREQ_PSS=y
CONFIG_ACPI_PROCESSOR_CSTATE=y
CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_PLATFORM_PROFILE=y
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_TABLE_UPGRADE=y
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_HOTPLUG_MEMORY is not set
CONFIG_ACPI_HOTPLUG_IOAPIC=y
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_HED is not set
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
CONFIG_ACPI_NFIT=y
# CONFIG_NFIT_SECURITY_DEBUG is not set
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_HMAT is not set
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
# CONFIG_ACPI_APEI is not set
# CONFIG_ACPI_DPTF is not set
# CONFIG_ACPI_EXTLOG is not set
# CONFIG_ACPI_CONFIGFS is not set
# CONFIG_ACPI_PFRUT is not set
CONFIG_ACPI_PCC=y
# CONFIG_ACPI_FFH is not set
# CONFIG_PMIC_OPREGION is not set
CONFIG_X86_PM_TIMER=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

#
# CPU frequency scaling drivers
#
# CONFIG_CPUFREQ_DT is not set
# CONFIG_CPUFREQ_DT_PLATDEV is not set
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_PCC_CPUFREQ is not set
CONFIG_X86_AMD_PSTATE=y
CONFIG_X86_AMD_PSTATE_DEFAULT_MODE=3
# CONFIG_X86_AMD_PSTATE_UT is not set
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_ACPI_CPUFREQ_CPB=y
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_P4_CLOCKMOD is not set

#
# shared options
#
# end of CPU Frequency scaling

#
# CPU Idle
#
CONFIG_CPU_IDLE=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE_GOV_HALTPOLL=y
CONFIG_HALTPOLL_CPUIDLE=y
# end of CPU Idle

CONFIG_INTEL_IDLE=y
# end of Power management and ACPI options

#
# Bus options (PCI etc.)
#
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_MMCONF_FAM10H=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_ISA_BUS is not set
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
# end of Bus options (PCI etc.)

#
# Binary Emulations
#
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_EMULATION_DEFAULT_DISABLED is not set
CONFIG_X86_X32_ABI=y
CONFIG_COMPAT_32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
# end of Binary Emulations

CONFIG_KVM_COMMON=y
CONFIG_HAVE_KVM_PFNCACHE=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQ_ROUTING=y
CONFIG_HAVE_KVM_DIRTY_RING=y
CONFIG_HAVE_KVM_DIRTY_RING_TSO=y
CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_READONLY_MEM=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_COMPAT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_KVM_XFER_TO_GUEST_WORK=y
CONFIG_HAVE_KVM_PM_NOTIFIER=y
CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y
CONFIG_KVM_GENERIC_MMU_NOTIFIER=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
# CONFIG_KVM_SW_PROTECTED_VM is not set
CONFIG_KVM_INTEL=y
CONFIG_X86_SGX_KVM=y
CONFIG_KVM_AMD=y
# CONFIG_KVM_SMM is not set
CONFIG_KVM_HYPERV=y
CONFIG_KVM_XEN=y
CONFIG_KVM_PROVE_MMU=y
CONFIG_KVM_MAX_NR_VCPUS=1024
CONFIG_AS_AVX512=y
CONFIG_AS_SHA1_NI=y
CONFIG_AS_SHA256_NI=y
CONFIG_AS_TPAUSE=y
CONFIG_AS_GFNI=y
CONFIG_AS_WRUSS=y
CONFIG_ARCH_CONFIGURES_CPU_MITIGATIONS=y

#
# General architecture-dependent options
#
CONFIG_HOTPLUG_SMT=y
CONFIG_HOTPLUG_CORE_SYNC=y
CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
CONFIG_HOTPLUG_CORE_SYNC_FULL=y
CONFIG_HOTPLUG_SPLIT_STARTUP=y
CONFIG_HOTPLUG_PARALLEL=y
CONFIG_GENERIC_ENTRY=y
# CONFIG_KPROBES is not set
CONFIG_JUMP_LABEL=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
# CONFIG_STATIC_CALL_SELFTEST is not set
CONFIG_UPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
CONFIG_ARCH_HAS_CPU_FINALIZE_INIT=y
CONFIG_ARCH_HAS_CPU_PASID=y
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_ARCH_WANTS_NO_INSTR=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_RUST=y
CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
CONFIG_MMU_GATHER_TABLE_FREE=y
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
CONFIG_MMU_GATHER_MERGE_VMAS=y
CONFIG_MMU_LAZY_TLB_REFCOUNT=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
# CONFIG_SECCOMP_CACHE_DEBUG is not set
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_LTO_NONE=y
CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING_USER=y
CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_MOVE_PUD=y
CONFIG_HAVE_MOVE_PMD=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_PMD_MKWRITE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=28
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
CONFIG_HAVE_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
CONFIG_PAGE_SHIFT=12
CONFIG_HAVE_OBJTOOL=y
CONFIG_HAVE_JUMP_LABEL_HACK=y
CONFIG_HAVE_NOINSTR_HACK=y
CONFIG_HAVE_NOINSTR_VALIDATION=y
CONFIG_HAVE_UACCESS_VALIDATION=y
CONFIG_HAVE_STACK_VALIDATION=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_HAVE_ARCH_VMAP_STACK=y
CONFIG_VMAP_STACK=y
CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
# CONFIG_LOCK_EVENT_COUNTS is not set
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_HAVE_STATIC_CALL=y
CONFIG_HAVE_STATIC_CALL_INLINE=y
CONFIG_HAVE_PREEMPT_DYNAMIC=y
CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
CONFIG_DYNAMIC_SIGFRAME=y
CONFIG_HAVE_ARCH_NODE_DEV_GROUP=y
CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# end of GCOV-based kernel profiling

CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_FUNCTION_ALIGNMENT_4B=y
CONFIG_FUNCTION_ALIGNMENT_16B=y
CONFIG_FUNCTION_ALIGNMENT=16
CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT=y
# end of General architecture-dependent options

CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULE_SIG_FORMAT=y
CONFIG_MODULES=y
# CONFIG_MODULE_DEBUG is not set
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
CONFIG_MODVERSIONS=y
CONFIG_ASM_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_MODULE_SIG=y
# CONFIG_MODULE_SIG_FORCE is not set
# CONFIG_MODULE_SIG_ALL is not set
# CONFIG_MODULE_SIG_SHA1 is not set
CONFIG_MODULE_SIG_SHA256=y
# CONFIG_MODULE_SIG_SHA384 is not set
# CONFIG_MODULE_SIG_SHA512 is not set
# CONFIG_MODULE_SIG_SHA3_256 is not set
# CONFIG_MODULE_SIG_SHA3_384 is not set
# CONFIG_MODULE_SIG_SHA3_512 is not set
CONFIG_MODULE_SIG_HASH="sha256"
CONFIG_MODULE_COMPRESS_NONE=y
# CONFIG_MODULE_COMPRESS_GZIP is not set
# CONFIG_MODULE_COMPRESS_XZ is not set
# CONFIG_MODULE_COMPRESS_ZSTD is not set
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
CONFIG_MODPROBE_PATH="/sbin/modprobe"
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_BLOCK_LEGACY_AUTOLOAD=y
CONFIG_BLK_RQ_ALLOC_TIME=y
CONFIG_BLK_CGROUP_RWSTAT=y
CONFIG_BLK_CGROUP_PUNT_BIO=y
CONFIG_BLK_DEV_BSG_COMMON=y
CONFIG_BLK_ICQ=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_INTEGRITY_T10=y
CONFIG_BLK_DEV_WRITE_MOUNTED=y
CONFIG_BLK_DEV_ZONED=y
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_WBT=y
CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_CGROUP_IOLATENCY=y
# CONFIG_BLK_CGROUP_FC_APPID is not set
CONFIG_BLK_CGROUP_IOCOST=y
CONFIG_BLK_CGROUP_IOPRIO=y
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEBUG_FS_ZONED=y
# CONFIG_BLK_SED_OPAL is not set
CONFIG_BLK_INLINE_ENCRYPTION=y
CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
CONFIG_ACORN_PARTITION_CUMANA=y
CONFIG_ACORN_PARTITION_EESOX=y
CONFIG_ACORN_PARTITION_ICS=y
CONFIG_ACORN_PARTITION_ADFS=y
CONFIG_ACORN_PARTITION_POWERTEC=y
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_AIX_PARTITION=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_SYSV68_PARTITION=y
CONFIG_CMDLINE_PARTITION=y
# end of Partition Types

CONFIG_BLK_MQ_PCI=y
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_BLK_PM=y
CONFIG_BLOCK_HOLDER_DEPRECATED=y
CONFIG_BLK_MQ_STACKING=y

#
# IO Schedulers
#
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_IOSCHED_BFQ=y
CONFIG_BFQ_GROUP_IOSCHED=y
CONFIG_BFQ_CGROUP_DEBUG=y
# end of IO Schedulers

CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PADATA=y
CONFIG_ASN1=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
CONFIG_FREEZER=y

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

#
# Memory Management options
#
CONFIG_ZPOOL=y
CONFIG_SWAP=y
CONFIG_ZSWAP=y
CONFIG_ZSWAP_DEFAULT_ON=y
# CONFIG_ZSWAP_SHRINKER_DEFAULT_ON is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC=y
CONFIG_ZSWAP_ZPOOL_DEFAULT="zsmalloc"
# CONFIG_ZBUD is not set
# CONFIG_Z3FOLD is not set
CONFIG_ZSMALLOC=y
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC_CHAIN_SIZE=8

#
# Slab allocator options
#
CONFIG_SLUB=y
# CONFIG_SLUB_TINY is not set
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLAB_FREELIST_RANDOM is not set
# CONFIG_SLAB_FREELIST_HARDENED is not set
# CONFIG_SLUB_STATS is not set
CONFIG_SLUB_CPU_PARTIAL=y
# CONFIG_RANDOM_KMALLOC_CACHES is not set
# end of Slab allocator options

# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
# CONFIG_COMPAT_BRK is not set
CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
CONFIG_HAVE_FAST_GUP=y
CONFIG_NUMA_KEEP_MEMINFO=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MHP_MEMMAP_ON_MEMORY=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_MEMORY_BALLOON=y
# CONFIG_BALLOON_COMPACTION is not set
CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
CONFIG_PAGE_REPORTING=y
CONFIG_MIGRATION=y
CONFIG_DEVICE_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_CONTIG_ALLOC=y
CONFIG_PCP_BATCH_SCALE_MAX=5
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_WANTS_THP_SWAP=y
CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
CONFIG_READ_ONLY_THP_FOR_FS=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_CMA=y
# CONFIG_CMA_DEBUGFS is not set
# CONFIG_CMA_SYSFS is not set
CONFIG_CMA_AREAS=19
CONFIG_MEM_SOFT_DIRTY=y
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
CONFIG_PAGE_IDLE_FLAG=y
# CONFIG_IDLE_PAGE_TRACKING is not set
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
CONFIG_ARCH_HAS_PTE_DEVMAP=y
CONFIG_ARCH_HAS_ZONE_DMA_SET=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA32=y
CONFIG_ZONE_DEVICE=y
CONFIG_HMM_MIRROR=y
CONFIG_GET_FREE_REGION=y
CONFIG_DEVICE_PRIVATE=y
CONFIG_VMAP_PFN=y
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
CONFIG_ARCH_HAS_PKEYS=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PERCPU_STATS=y
# CONFIG_GUP_TEST is not set
# CONFIG_DMAPOOL_TEST is not set
CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_MAPPING_DIRTY_HELPERS=y
CONFIG_KMAP_LOCAL=y
CONFIG_MEMFD_CREATE=y
CONFIG_SECRETMEM=y
CONFIG_ANON_VMA_NAME=y
CONFIG_HAVE_ARCH_USERFAULTFD_WP=y
CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y
CONFIG_USERFAULTFD=y
# CONFIG_PTE_MARKER_UFFD_WP is not set
CONFIG_LRU_GEN=y
CONFIG_LRU_GEN_ENABLED=y
# CONFIG_LRU_GEN_STATS is not set
CONFIG_LRU_GEN_WALKS_MMU=y
CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
CONFIG_PER_VMA_LOCK=y
CONFIG_LOCK_MM_AND_FIND_VMA=y
CONFIG_IOMMU_MM_DATA=y

#
# Data Access Monitoring
#
CONFIG_DAMON=y
CONFIG_DAMON_VADDR=y
CONFIG_DAMON_PADDR=y
# CONFIG_DAMON_SYSFS is not set
# CONFIG_DAMON_DBGFS_DEPRECATED is not set
CONFIG_DAMON_RECLAIM=y
# CONFIG_DAMON_LRU_SORT is not set
# end of Data Access Monitoring
# end of Memory Management options

CONFIG_NET=y
CONFIG_WANT_COMPAT_NETLINK_MESSAGES=y
CONFIG_COMPAT_NETLINK_MESSAGES=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
CONFIG_NET_XGRESS=y
CONFIG_NET_REDIRECT=y
CONFIG_SKB_EXTENSIONS=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y
CONFIG_UNIX=y
CONFIG_AF_UNIX_OOB=y
CONFIG_UNIX_DIAG=y
CONFIG_TLS=y
CONFIG_TLS_DEVICE=y
CONFIG_TLS_TOE=y
CONFIG_XFRM=y
CONFIG_XFRM_OFFLOAD=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_USER_COMPAT=y
CONFIG_XFRM_INTERFACE=y
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_AH=y
CONFIG_XFRM_ESP=y
CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=y
CONFIG_NET_KEY_MIGRATE=y
CONFIG_XFRM_ESPINTCP=y
CONFIG_SMC=y
CONFIG_SMC_DIAG=y
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=y
CONFIG_NET_HANDSHAKE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
CONFIG_NET_IPIP=y
CONFIG_NET_IPGRE_DEMUX=y
CONFIG_NET_IP_TUNNEL=y
CONFIG_NET_IPGRE=y
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE_COMMON=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=y
CONFIG_NET_UDP_TUNNEL=y
CONFIG_NET_FOU=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_ESP_OFFLOAD=y
CONFIG_INET_ESPINTCP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_TABLE_PERTURB_ORDER=16
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_INET_UDP_DIAG=y
CONFIG_INET_RAW_DIAG=y
CONFIG_INET_DIAG_DESTROY=y
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=y
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=y
CONFIG_TCP_CONG_HTCP=y
CONFIG_TCP_CONG_HSTCP=y
CONFIG_TCP_CONG_HYBLA=y
CONFIG_TCP_CONG_VEGAS=y
CONFIG_TCP_CONG_NV=y
CONFIG_TCP_CONG_SCALABLE=y
CONFIG_TCP_CONG_LP=y
CONFIG_TCP_CONG_VENO=y
CONFIG_TCP_CONG_YEAH=y
CONFIG_TCP_CONG_ILLINOIS=y
CONFIG_TCP_CONG_DCTCP=y
CONFIG_TCP_CONG_CDG=y
CONFIG_TCP_CONG_BBR=y
# CONFIG_DEFAULT_BIC is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_HYBLA is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_VENO is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_DCTCP is not set
# CONFIG_DEFAULT_CDG is not set
# CONFIG_DEFAULT_BBR is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_SIGPOOL=y
# CONFIG_TCP_AO is not set
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
CONFIG_INET6_ESP_OFFLOAD=y
CONFIG_INET6_ESPINTCP=y
CONFIG_INET6_IPCOMP=y
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_ILA=y
CONFIG_INET6_XFRM_TUNNEL=y
CONFIG_INET6_TUNNEL=y
CONFIG_IPV6_VTI=y
CONFIG_IPV6_SIT=y
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_GRE=y
CONFIG_IPV6_FOU=y
CONFIG_IPV6_FOU_TUNNEL=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_BPF=y
CONFIG_IPV6_RPL_LWTUNNEL=y
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
CONFIG_NETLABEL=y
CONFIG_MPTCP=y
CONFIG_INET_MPTCP_DIAG=y
CONFIG_MPTCP_IPV6=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_EGRESS=y
CONFIG_NETFILTER_SKIP_EGRESS=y
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_FAMILY_BRIDGE=y
CONFIG_NETFILTER_FAMILY_ARP=y
CONFIG_NETFILTER_BPF_LINK=y
# CONFIG_NETFILTER_NETLINK_HOOK is not set
CONFIG_NETFILTER_NETLINK_ACCT=y
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NETFILTER_NETLINK_OSF=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_LOG_SYSLOG=y
CONFIG_NETFILTER_CONNCOUNT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
# CONFIG_NF_CONNTRACK_PROCFS is not set
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK_OVS=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_GRE=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_BROADCAST=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_SNMP=y
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NF_CT_NETLINK_TIMEOUT=y
CONFIG_NF_CT_NETLINK_HELPER=y
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_AMANDA=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
CONFIG_NF_NAT_SIP=y
CONFIG_NF_NAT_TFTP=y
CONFIG_NF_NAT_REDIRECT=y
CONFIG_NF_NAT_MASQUERADE=y
CONFIG_NF_NAT_OVS=y
CONFIG_NETFILTER_SYNPROXY=y
CONFIG_NF_TABLES=y
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_NETDEV=y
CONFIG_NFT_NUMGEN=y
CONFIG_NFT_CT=y
CONFIG_NFT_FLOW_OFFLOAD=y
CONFIG_NFT_CONNLIMIT=y
CONFIG_NFT_LOG=y
CONFIG_NFT_LIMIT=y
CONFIG_NFT_MASQ=y
CONFIG_NFT_REDIR=y
CONFIG_NFT_NAT=y
CONFIG_NFT_TUNNEL=y
CONFIG_NFT_QUEUE=y
CONFIG_NFT_QUOTA=y
CONFIG_NFT_REJECT=y
CONFIG_NFT_REJECT_INET=y
CONFIG_NFT_COMPAT=y
CONFIG_NFT_HASH=y
CONFIG_NFT_FIB=y
CONFIG_NFT_FIB_INET=y
CONFIG_NFT_XFRM=y
CONFIG_NFT_SOCKET=y
CONFIG_NFT_OSF=y
CONFIG_NFT_TPROXY=y
CONFIG_NFT_SYNPROXY=y
CONFIG_NF_DUP_NETDEV=y
CONFIG_NFT_DUP_NETDEV=y
CONFIG_NFT_FWD_NETDEV=y
CONFIG_NFT_FIB_NETDEV=y
CONFIG_NFT_REJECT_NETDEV=y
CONFIG_NF_FLOW_TABLE_INET=y
CONFIG_NF_FLOW_TABLE=y
# CONFIG_NF_FLOW_TABLE_PROCFS is not set
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XTABLES_COMPAT=y

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=y
CONFIG_NETFILTER_XT_CONNMARK=y
CONFIG_NETFILTER_XT_SET=y

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=y
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_CT=y
CONFIG_NETFILTER_XT_TARGET_DSCP=y
CONFIG_NETFILTER_XT_TARGET_HL=y
CONFIG_NETFILTER_XT_TARGET_HMARK=y
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
CONFIG_NETFILTER_XT_TARGET_LED=y
CONFIG_NETFILTER_XT_TARGET_LOG=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_NAT=y
CONFIG_NETFILTER_XT_TARGET_NETMAP=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
CONFIG_NETFILTER_XT_TARGET_NOTRACK=y
CONFIG_NETFILTER_XT_TARGET_RATEEST=y
CONFIG_NETFILTER_XT_TARGET_REDIRECT=y
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y
CONFIG_NETFILTER_XT_TARGET_TEE=y
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_TRACE=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=y

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_BPF=y
CONFIG_NETFILTER_XT_MATCH_CGROUP=y
CONFIG_NETFILTER_XT_MATCH_CLUSTER=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_CPU=y
CONFIG_NETFILTER_XT_MATCH_DCCP=y
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=y
CONFIG_NETFILTER_XT_MATCH_DSCP=y
CONFIG_NETFILTER_XT_MATCH_ECN=y
CONFIG_NETFILTER_XT_MATCH_ESP=y
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_HL=y
CONFIG_NETFILTER_XT_MATCH_IPCOMP=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_IPVS=y
CONFIG_NETFILTER_XT_MATCH_L2TP=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NETFILTER_XT_MATCH_NFACCT=y
CONFIG_NETFILTER_XT_MATCH_OSF=y
CONFIG_NETFILTER_XT_MATCH_OWNER=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_RATEEST=y
CONFIG_NETFILTER_XT_MATCH_REALM=y
CONFIG_NETFILTER_XT_MATCH_RECENT=y
CONFIG_NETFILTER_XT_MATCH_SCTP=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_TIME=y
CONFIG_NETFILTER_XT_MATCH_U32=y
# end of Core Netfilter Configuration

CONFIG_IP_SET=y
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=y
CONFIG_IP_SET_BITMAP_IPMAC=y
CONFIG_IP_SET_BITMAP_PORT=y
CONFIG_IP_SET_HASH_IP=y
CONFIG_IP_SET_HASH_IPMARK=y
CONFIG_IP_SET_HASH_IPPORT=y
CONFIG_IP_SET_HASH_IPPORTIP=y
CONFIG_IP_SET_HASH_IPPORTNET=y
CONFIG_IP_SET_HASH_IPMAC=y
CONFIG_IP_SET_HASH_MAC=y
CONFIG_IP_SET_HASH_NETPORTNET=y
CONFIG_IP_SET_HASH_NET=y
CONFIG_IP_SET_HASH_NETNET=y
CONFIG_IP_SET_HASH_NETPORT=y
CONFIG_IP_SET_HASH_NETIFACE=y
CONFIG_IP_SET_LIST_SET=y
CONFIG_IP_VS=y
CONFIG_IP_VS_IPV6=y
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=y
CONFIG_IP_VS_WRR=y
CONFIG_IP_VS_LC=y
CONFIG_IP_VS_WLC=y
CONFIG_IP_VS_FO=y
CONFIG_IP_VS_OVF=y
CONFIG_IP_VS_LBLC=y
CONFIG_IP_VS_LBLCR=y
CONFIG_IP_VS_DH=y
CONFIG_IP_VS_SH=y
CONFIG_IP_VS_MH=y
CONFIG_IP_VS_SED=y
CONFIG_IP_VS_NQ=y
CONFIG_IP_VS_TWOS=y

#
# IPVS SH scheduler
#
CONFIG_IP_VS_SH_TAB_BITS=8

#
# IPVS MH scheduler
#
CONFIG_IP_VS_MH_TAB_INDEX=12

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=y
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PE_SIP=y

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_IP_NF_IPTABLES_LEGACY=y
CONFIG_NF_SOCKET_IPV4=y
CONFIG_NF_TPROXY_IPV4=y
CONFIG_NF_TABLES_IPV4=y
CONFIG_NFT_REJECT_IPV4=y
CONFIG_NFT_DUP_IPV4=y
CONFIG_NFT_FIB_IPV4=y
CONFIG_NF_TABLES_ARP=y
CONFIG_NF_DUP_IPV4=y
CONFIG_NF_LOG_ARP=y
CONFIG_NF_LOG_IPV4=y
CONFIG_NF_REJECT_IPV4=y
CONFIG_NF_NAT_SNMP_BASIC=y
CONFIG_NF_NAT_PPTP=y
CONFIG_NF_NAT_H323=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_AH=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_RPFILTER=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_SYNPROXY=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_TTL=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_SECURITY=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_NFT_COMPAT_ARP=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARP_MANGLE=y
# end of IP: Netfilter Configuration

#
# IPv6: Netfilter Configuration
#
CONFIG_IP6_NF_IPTABLES_LEGACY=y
CONFIG_NF_SOCKET_IPV6=y
CONFIG_NF_TPROXY_IPV6=y
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_REJECT_IPV6=y
CONFIG_NFT_DUP_IPV6=y
CONFIG_NFT_FIB_IPV6=y
CONFIG_NF_DUP_IPV6=y
CONFIG_NF_REJECT_IPV6=y
CONFIG_NF_LOG_IPV6=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_AH=y
CONFIG_IP6_NF_MATCH_EUI64=y
CONFIG_IP6_NF_MATCH_FRAG=y
CONFIG_IP6_NF_MATCH_OPTS=y
CONFIG_IP6_NF_MATCH_HL=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=y
CONFIG_IP6_NF_MATCH_MH=y
CONFIG_IP6_NF_MATCH_RPFILTER=y
CONFIG_IP6_NF_MATCH_RT=y
CONFIG_IP6_NF_MATCH_SRH=y
CONFIG_IP6_NF_TARGET_HL=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IP6_NF_TARGET_SYNPROXY=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_RAW=y
CONFIG_IP6_NF_SECURITY=y
CONFIG_IP6_NF_NAT=y
CONFIG_IP6_NF_TARGET_MASQUERADE=y
CONFIG_IP6_NF_TARGET_NPT=y
# end of IPv6: Netfilter Configuration

CONFIG_NF_DEFRAG_IPV6=y
CONFIG_NF_TABLES_BRIDGE=y
CONFIG_NFT_BRIDGE_META=y
CONFIG_NFT_BRIDGE_REJECT=y
CONFIG_NF_CONNTRACK_BRIDGE=y
CONFIG_BRIDGE_NF_EBTABLES_LEGACY=y
CONFIG_BRIDGE_NF_EBTABLES=y
CONFIG_BRIDGE_EBT_BROUTE=y
CONFIG_BRIDGE_EBT_T_FILTER=y
CONFIG_BRIDGE_EBT_T_NAT=y
CONFIG_BRIDGE_EBT_802_3=y
CONFIG_BRIDGE_EBT_AMONG=y
CONFIG_BRIDGE_EBT_ARP=y
CONFIG_BRIDGE_EBT_IP=y
CONFIG_BRIDGE_EBT_IP6=y
CONFIG_BRIDGE_EBT_LIMIT=y
CONFIG_BRIDGE_EBT_MARK=y
CONFIG_BRIDGE_EBT_PKTTYPE=y
CONFIG_BRIDGE_EBT_STP=y
CONFIG_BRIDGE_EBT_VLAN=y
CONFIG_BRIDGE_EBT_ARPREPLY=y
CONFIG_BRIDGE_EBT_DNAT=y
CONFIG_BRIDGE_EBT_MARK_T=y
CONFIG_BRIDGE_EBT_REDIRECT=y
CONFIG_BRIDGE_EBT_SNAT=y
CONFIG_BRIDGE_EBT_LOG=y
CONFIG_BRIDGE_EBT_NFLOG=y
CONFIG_IP_DCCP=y
CONFIG_INET_DCCP_DIAG=y

#
# DCCP CCIDs Configuration
#
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_TFRC_LIB=y
# end of DCCP CCIDs Configuration

#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
# end of DCCP Kernel Hacking

CONFIG_IP_SCTP=y
# CONFIG_SCTP_DBG_OBJCNT is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_COOKIE_HMAC_MD5=y
CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_INET_SCTP_DIAG=y
CONFIG_RDS=y
CONFIG_RDS_RDMA=y
CONFIG_RDS_TCP=y
# CONFIG_RDS_DEBUG is not set
CONFIG_TIPC=y
CONFIG_TIPC_MEDIA_IB=y
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=y
CONFIG_ATM=y
CONFIG_ATM_CLIP=y
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=y
CONFIG_ATM_MPOA=y
CONFIG_ATM_BR2684=y
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_L2TP=y
# CONFIG_L2TP_DEBUGFS is not set
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=y
CONFIG_L2TP_ETH=y
CONFIG_STP=y
CONFIG_GARP=y
CONFIG_MRP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_BRIDGE_MRP=y
CONFIG_BRIDGE_CFM=y
CONFIG_NET_DSA=y
# CONFIG_NET_DSA_TAG_NONE is not set
# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_BRCM_COMMON=y
CONFIG_NET_DSA_TAG_BRCM=y
# CONFIG_NET_DSA_TAG_BRCM_LEGACY is not set
CONFIG_NET_DSA_TAG_BRCM_PREPEND=y
# CONFIG_NET_DSA_TAG_HELLCREEK is not set
# CONFIG_NET_DSA_TAG_GSWIP is not set
# CONFIG_NET_DSA_TAG_DSA is not set
# CONFIG_NET_DSA_TAG_EDSA is not set
CONFIG_NET_DSA_TAG_MTK=y
# CONFIG_NET_DSA_TAG_KSZ is not set
# CONFIG_NET_DSA_TAG_OCELOT is not set
# CONFIG_NET_DSA_TAG_OCELOT_8021Q is not set
CONFIG_NET_DSA_TAG_QCA=y
CONFIG_NET_DSA_TAG_RTL4_A=y
# CONFIG_NET_DSA_TAG_RTL8_4 is not set
# CONFIG_NET_DSA_TAG_RZN1_A5PSW is not set
# CONFIG_NET_DSA_TAG_LAN9303 is not set
# CONFIG_NET_DSA_TAG_SJA1105 is not set
# CONFIG_NET_DSA_TAG_TRAILER is not set
# CONFIG_NET_DSA_TAG_XRS700X is not set
CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_LLC=y
CONFIG_LLC2=y
# CONFIG_ATALK is not set
CONFIG_X25=y
CONFIG_LAPB=y
CONFIG_PHONET=y
CONFIG_6LOWPAN=y
# CONFIG_6LOWPAN_DEBUGFS is not set
CONFIG_6LOWPAN_NHC=y
CONFIG_6LOWPAN_NHC_DEST=y
CONFIG_6LOWPAN_NHC_FRAGMENT=y
CONFIG_6LOWPAN_NHC_HOP=y
CONFIG_6LOWPAN_NHC_IPV6=y
CONFIG_6LOWPAN_NHC_MOBILITY=y
CONFIG_6LOWPAN_NHC_ROUTING=y
CONFIG_6LOWPAN_NHC_UDP=y
CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=y
CONFIG_6LOWPAN_GHC_UDP=y
CONFIG_6LOWPAN_GHC_ICMPV6=y
CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=y
CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=y
CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=y
CONFIG_IEEE802154=y
CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y
CONFIG_IEEE802154_SOCKET=y
CONFIG_IEEE802154_6LOWPAN=y
CONFIG_MAC802154=y
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_HFSC=y
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_MULTIQ=y
CONFIG_NET_SCH_RED=y
CONFIG_NET_SCH_SFB=y
CONFIG_NET_SCH_SFQ=y
CONFIG_NET_SCH_TEQL=y
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_CBS=y
CONFIG_NET_SCH_ETF=y
CONFIG_NET_SCH_MQPRIO_LIB=y
CONFIG_NET_SCH_TAPRIO=y
CONFIG_NET_SCH_GRED=y
CONFIG_NET_SCH_NETEM=y
CONFIG_NET_SCH_DRR=y
CONFIG_NET_SCH_MQPRIO=y
CONFIG_NET_SCH_SKBPRIO=y
CONFIG_NET_SCH_CHOKE=y
CONFIG_NET_SCH_QFQ=y
CONFIG_NET_SCH_CODEL=y
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_CAKE=y
CONFIG_NET_SCH_FQ=y
CONFIG_NET_SCH_HHF=y
CONFIG_NET_SCH_PIE=y
CONFIG_NET_SCH_FQ_PIE=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_SCH_PLUG=y
CONFIG_NET_SCH_ETS=y
CONFIG_NET_SCH_DEFAULT=y
# CONFIG_DEFAULT_FQ is not set
# CONFIG_DEFAULT_CODEL is not set
# CONFIG_DEFAULT_FQ_CODEL is not set
# CONFIG_DEFAULT_FQ_PIE is not set
# CONFIG_DEFAULT_SFQ is not set
CONFIG_DEFAULT_PFIFO_FAST=y
CONFIG_DEFAULT_NET_SCH="pfifo_fast"

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=y
CONFIG_NET_CLS_ROUTE4=y
CONFIG_NET_CLS_FW=y
CONFIG_NET_CLS_U32=y
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_FLOW=y
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_FLOWER=y
CONFIG_NET_CLS_MATCHALL=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=y
CONFIG_NET_EMATCH_NBYTE=y
CONFIG_NET_EMATCH_U32=y
CONFIG_NET_EMATCH_META=y
CONFIG_NET_EMATCH_TEXT=y
CONFIG_NET_EMATCH_CANID=y
CONFIG_NET_EMATCH_IPSET=y
CONFIG_NET_EMATCH_IPT=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=y
CONFIG_NET_ACT_GACT=y
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=y
CONFIG_NET_ACT_SAMPLE=y
CONFIG_NET_ACT_NAT=y
CONFIG_NET_ACT_PEDIT=y
CONFIG_NET_ACT_SIMP=y
CONFIG_NET_ACT_SKBEDIT=y
CONFIG_NET_ACT_CSUM=y
CONFIG_NET_ACT_MPLS=y
CONFIG_NET_ACT_VLAN=y
CONFIG_NET_ACT_BPF=y
CONFIG_NET_ACT_CONNMARK=y
CONFIG_NET_ACT_CTINFO=y
CONFIG_NET_ACT_SKBMOD=y
CONFIG_NET_ACT_IFE=y
CONFIG_NET_ACT_TUNNEL_KEY=y
CONFIG_NET_ACT_CT=y
CONFIG_NET_ACT_GATE=y
CONFIG_NET_IFE_SKBMARK=y
CONFIG_NET_IFE_SKBPRIO=y
CONFIG_NET_IFE_SKBTCINDEX=y
CONFIG_NET_TC_SKB_EXT=y
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=y
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
CONFIG_BATMAN_ADV_NC=y
CONFIG_BATMAN_ADV_MCAST=y
# CONFIG_BATMAN_ADV_DEBUG is not set
# CONFIG_BATMAN_ADV_TRACING is not set
CONFIG_OPENVSWITCH=y
CONFIG_OPENVSWITCH_GRE=y
CONFIG_OPENVSWITCH_VXLAN=y
CONFIG_OPENVSWITCH_GENEVE=y
CONFIG_VSOCKETS=y
CONFIG_VSOCKETS_DIAG=y
CONFIG_VSOCKETS_LOOPBACK=y
# CONFIG_VMWARE_VMCI_VSOCKETS is not set
CONFIG_VIRTIO_VSOCKETS=y
CONFIG_VIRTIO_VSOCKETS_COMMON=y
CONFIG_NETLINK_DIAG=y
CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=y
CONFIG_MPLS_ROUTING=y
CONFIG_MPLS_IPTUNNEL=y
CONFIG_NET_NSH=y
CONFIG_HSR=y
CONFIG_NET_SWITCHDEV=y
CONFIG_NET_L3_MASTER_DEV=y
CONFIG_QRTR=y
CONFIG_QRTR_TUN=y
# CONFIG_QRTR_MHI is not set
CONFIG_NET_NCSI=y
# CONFIG_NCSI_OEM_CMD_GET_MAC is not set
# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set
# CONFIG_PCPU_DEV_REFCNT is not set
CONFIG_MAX_SKB_FRAGS=17
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_SOCK_RX_QUEUE_MAPPING=y
CONFIG_XPS=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_NET_FLOW_LIMIT=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
CONFIG_NET_DROP_MONITOR=y
# end of Network testing
# end of Networking options

CONFIG_HAMRADIO=y

#
# Packet Radio protocols
#
CONFIG_AX25=y
CONFIG_AX25_DAMA_SLAVE=y
CONFIG_NETROM=y
CONFIG_ROSE=y

#
# AX.25 network device drivers
#
CONFIG_MKISS=y
CONFIG_6PACK=y
CONFIG_BPQETHER=y
# CONFIG_BAYCOM_SER_FDX is not set
# CONFIG_BAYCOM_SER_HDX is not set
# CONFIG_BAYCOM_PAR is not set
# CONFIG_YAM is not set
# end of AX.25 network device drivers

CONFIG_CAN=y
CONFIG_CAN_RAW=y
CONFIG_CAN_BCM=y
CONFIG_CAN_GW=y
CONFIG_CAN_J1939=y
CONFIG_CAN_ISOTP=y
CONFIG_BT=y
CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=y
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=y
CONFIG_BT_HIDP=y
CONFIG_BT_LE=y
CONFIG_BT_LE_L2CAP_ECRED=y
CONFIG_BT_6LOWPAN=y
CONFIG_BT_LEDS=y
CONFIG_BT_MSFTEXT=y
# CONFIG_BT_AOSPEXT is not set
# CONFIG_BT_DEBUGFS is not set
# CONFIG_BT_SELFTEST is not set

#
# Bluetooth device drivers
#
CONFIG_BT_INTEL=y
CONFIG_BT_BCM=y
CONFIG_BT_RTL=y
CONFIG_BT_QCA=y
CONFIG_BT_MTK=y
CONFIG_BT_HCIBTUSB=y
# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_POLL_SYNC=y
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_MTK=y
CONFIG_BT_HCIBTUSB_RTL=y
# CONFIG_BT_HCIBTSDIO is not set
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_SERDEV=y
CONFIG_BT_HCIUART_H4=y
# CONFIG_BT_HCIUART_NOKIA is not set
CONFIG_BT_HCIUART_BCSP=y
# CONFIG_BT_HCIUART_ATH3K is not set
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART_3WIRE=y
# CONFIG_BT_HCIUART_INTEL is not set
# CONFIG_BT_HCIUART_BCM is not set
# CONFIG_BT_HCIUART_RTL is not set
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIUART_AG6XX=y
CONFIG_BT_HCIUART_MRVL=y
CONFIG_BT_HCIBCM203X=y
# CONFIG_BT_HCIBCM4377 is not set
CONFIG_BT_HCIBPA10X=y
CONFIG_BT_HCIBFUSB=y
# CONFIG_BT_HCIDTL1 is not set
# CONFIG_BT_HCIBT3C is not set
# CONFIG_BT_HCIBLUECARD is not set
CONFIG_BT_HCIVHCI=y
# CONFIG_BT_MRVL is not set
CONFIG_BT_ATH3K=y
# CONFIG_BT_MTKSDIO is not set
# CONFIG_BT_MTKUART is not set
# CONFIG_BT_VIRTIO is not set
# CONFIG_BT_NXPUART is not set
# end of Bluetooth device drivers

CONFIG_AF_RXRPC=y
CONFIG_AF_RXRPC_IPV6=y
# CONFIG_AF_RXRPC_INJECT_LOSS is not set
# CONFIG_AF_RXRPC_INJECT_RX_DELAY is not set
# CONFIG_AF_RXRPC_DEBUG is not set
CONFIG_RXKAD=y
# CONFIG_RXPERF is not set
CONFIG_AF_KCM=y
CONFIG_STREAM_PARSER=y
# CONFIG_MCTP is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=y
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
CONFIG_CFG80211_DEFAULT_PS=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=y
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
CONFIG_RFKILL=y
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_NET_9P=y
CONFIG_NET_9P_FD=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_NET_9P_RDMA=y
# CONFIG_NET_9P_DEBUG is not set
CONFIG_CAIF=y
CONFIG_CAIF_DEBUG=y
CONFIG_CAIF_NETDEV=y
CONFIG_CAIF_USB=y
CONFIG_CEPH_LIB=y
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
CONFIG_NFC=y
CONFIG_NFC_DIGITAL=y
CONFIG_NFC_NCI=y
# CONFIG_NFC_NCI_SPI is not set
CONFIG_NFC_NCI_UART=y
CONFIG_NFC_HCI=y
CONFIG_NFC_SHDLC=y

#
# Near Field Communication (NFC) devices
#
# CONFIG_NFC_TRF7970A is not set
CONFIG_NFC_SIM=y
CONFIG_NFC_PORT100=y
CONFIG_NFC_VIRTUAL_NCI=y
CONFIG_NFC_FDP=y
# CONFIG_NFC_FDP_I2C is not set
# CONFIG_NFC_PN544_I2C is not set
CONFIG_NFC_PN533=y
CONFIG_NFC_PN533_USB=y
# CONFIG_NFC_PN533_I2C is not set
# CONFIG_NFC_PN532_UART is not set
# CONFIG_NFC_MICROREAD_I2C is not set
CONFIG_NFC_MRVL=y
CONFIG_NFC_MRVL_USB=y
# CONFIG_NFC_MRVL_UART is not set
# CONFIG_NFC_MRVL_I2C is not set
# CONFIG_NFC_ST21NFCA_I2C is not set
# CONFIG_NFC_ST_NCI_I2C is not set
# CONFIG_NFC_ST_NCI_SPI is not set
# CONFIG_NFC_NXP_NCI is not set
# CONFIG_NFC_S3FWRN5_I2C is not set
# CONFIG_NFC_S3FWRN82_UART is not set
# CONFIG_NFC_ST95HF is not set
# end of Near Field Communication (NFC) devices

CONFIG_PSAMPLE=y
CONFIG_NET_IFE=y
CONFIG_LWTUNNEL=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
CONFIG_SOCK_VALIDATE_XMIT=y
CONFIG_NET_SELFTESTS=y
CONFIG_NET_SOCK_MSG=y
CONFIG_NET_DEVLINK=y
CONFIG_PAGE_POOL=y
# CONFIG_PAGE_POOL_STATS is not set
CONFIG_FAILOVER=y
CONFIG_ETHTOOL_NETLINK=y

#
# Device Drivers
#
CONFIG_HAVE_EISA=y
# CONFIG_EISA is not set
CONFIG_HAVE_PCI=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_PCIEAER=y
# CONFIG_PCIEAER_INJECT is not set
# CONFIG_PCIE_ECRC is not set
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
# CONFIG_PCIE_DPC is not set
# CONFIG_PCIE_PTM is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
# CONFIG_PCI_STUB is not set
# CONFIG_PCI_PF_STUB is not set
CONFIG_PCI_ATS=y
CONFIG_PCI_ECAM=y
CONFIG_PCI_LOCKLESS_CONFIG=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
# CONFIG_PCI_P2PDMA is not set
CONFIG_PCI_LABEL=y
# CONFIG_PCI_DYNAMIC_OF_NODES is not set
# CONFIG_PCIE_BUS_TUNE_OFF is not set
CONFIG_PCIE_BUS_DEFAULT=y
# CONFIG_PCIE_BUS_SAFE is not set
# CONFIG_PCIE_BUS_PERFORMANCE is not set
# CONFIG_PCIE_BUS_PEER2PEER is not set
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_ACPI is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set

#
# PCI controller drivers
#
# CONFIG_PCI_FTPCI100 is not set
CONFIG_PCI_HOST_COMMON=y
CONFIG_PCI_HOST_GENERIC=y
# CONFIG_VMD is not set
# CONFIG_PCIE_MICROCHIP_HOST is not set
# CONFIG_PCIE_XILINX is not set

#
# Cadence-based PCIe controllers
#
# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
# CONFIG_PCIE_CADENCE_PLAT_EP is not set
# end of Cadence-based PCIe controllers

#
# DesignWare-based PCIe controllers
#
# CONFIG_PCI_MESON is not set
# CONFIG_PCIE_INTEL_GW is not set
# CONFIG_PCIE_DW_PLAT_HOST is not set
# CONFIG_PCIE_DW_PLAT_EP is not set
# end of DesignWare-based PCIe controllers

#
# Mobiveil-based PCIe controllers
#
# end of Mobiveil-based PCIe controllers
# end of PCI controller drivers

#
# PCI Endpoint
#
CONFIG_PCI_ENDPOINT=y
# CONFIG_PCI_ENDPOINT_CONFIGFS is not set
# CONFIG_PCI_EPF_TEST is not set
# CONFIG_PCI_EPF_NTB is not set
# end of PCI Endpoint

#
# PCI switch controller drivers
#
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers

# CONFIG_CXL_BUS is not set
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=y
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
CONFIG_PCCARD_NONSTATIC=y
# CONFIG_RAPIDIO is not set

#
# Generic Driver Options
#
CONFIG_AUXILIARY_BUS=y
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_DEVTMPFS_SAFE is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y

#
# Firmware loader
#
CONFIG_FW_LOADER=y
# CONFIG_FW_LOADER_DEBUG is not set
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_FW_LOADER_SYSFS=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_COMPRESS_XZ is not set
# CONFIG_FW_LOADER_COMPRESS_ZSTD is not set
CONFIG_FW_CACHE=y
# CONFIG_FW_UPLOAD is not set
# end of Firmware loader

CONFIG_WANT_DEV_COREDUMP=y
CONFIG_ALLOW_DEV_COREDUMP=y
CONFIG_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
CONFIG_DEBUG_DEVRES=y
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
CONFIG_GENERIC_CPU_DEVICES=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_CPU_VULNERABILITIES=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_IRQ=y
CONFIG_DMA_SHARED_BUFFER=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
# end of Generic Driver Options

#
# Bus devices
#
# CONFIG_MOXTET is not set
CONFIG_MHI_BUS=y
# CONFIG_MHI_BUS_DEBUG is not set
# CONFIG_MHI_BUS_PCI_GENERIC is not set
# CONFIG_MHI_BUS_EP is not set
# end of Bus devices

#
# Cache Drivers
#
# end of Cache Drivers

CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y

#
# Firmware Drivers
#

#
# ARM System Control and Management Interface Protocol
#
# end of ARM System Control and Management Interface Protocol

# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DMIID=y
# CONFIG_DMI_SYSFS is not set
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_ISCSI_IBFT is not set
# CONFIG_FW_CFG_SYSFS is not set
CONFIG_SYSFB=y
# CONFIG_SYSFB_SIMPLEFB is not set
CONFIG_GOOGLE_FIRMWARE=y
# CONFIG_GOOGLE_SMI is not set
# CONFIG_GOOGLE_CBMEM is not set
CONFIG_GOOGLE_COREBOOT_TABLE=y
CONFIG_GOOGLE_MEMCONSOLE=y
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
# CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT is not set
CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=y
CONFIG_GOOGLE_VPD=y

#
# Qualcomm firmware drivers
#
# end of Qualcomm firmware drivers

#
# Tegra firmware driver
#
# end of Tegra firmware driver
# end of Firmware Drivers

# CONFIG_GNSS is not set
CONFIG_MTD=y
# CONFIG_MTD_TESTS is not set

#
# Partition parsers
#
# CONFIG_MTD_CMDLINE_PARTS is not set
# CONFIG_MTD_OF_PARTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
# end of Partition parsers

#
# User Modules And Translation Layers
#
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y

#
# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK.
#
CONFIG_FTL=y
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
# CONFIG_SM_FTL is not set
# CONFIG_MTD_OOPS is not set
# CONFIG_MTD_SWAP is not set
# CONFIG_MTD_PARTITIONED_MASTER is not set

#
# RAM/ROM/Flash chip drivers
#
# CONFIG_MTD_CFI is not set
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
# end of RAM/ROM/Flash chip drivers

#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PLATRAM is not set
# end of Mapping drivers for chip access

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_DATAFLASH is not set
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MCHP48L640 is not set
# CONFIG_MTD_SST25L is not set
CONFIG_MTD_SLRAM=y
CONFIG_MTD_PHRAM=y
CONFIG_MTD_MTDRAM=y
CONFIG_MTDRAM_TOTAL_SIZE=128
CONFIG_MTDRAM_ERASE_SIZE=4
CONFIG_MTD_BLOCK2MTD=y

#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOCG3 is not set
# end of Self-contained MTD device drivers

#
# NAND
#
# CONFIG_MTD_ONENAND is not set
# CONFIG_MTD_RAW_NAND is not set
# CONFIG_MTD_SPI_NAND is not set

#
# ECC engine support
#
# CONFIG_MTD_NAND_ECC_SW_HAMMING is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_MXIC is not set
# end of ECC engine support
# end of NAND

#
# LPDDR & LPDDR2 PCM memory drivers
#
# CONFIG_MTD_LPDDR is not set
# end of LPDDR & LPDDR2 PCM memory drivers

# CONFIG_MTD_SPI_NOR is not set
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
# CONFIG_MTD_UBI_FASTMAP is not set
# CONFIG_MTD_UBI_GLUEBI is not set
# CONFIG_MTD_UBI_BLOCK is not set
# CONFIG_MTD_UBI_FAULT_INJECTION is not set
# CONFIG_MTD_UBI_NVMEM is not set
# CONFIG_MTD_HYPERBUS is not set
CONFIG_DTC=y
CONFIG_OF=y
# CONFIG_OF_UNITTEST is not set
CONFIG_OF_FLATTREE=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_KOBJ=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_IRQ=y
CONFIG_OF_RESERVED_MEM=y
# CONFIG_OF_OVERLAY is not set
CONFIG_OF_NUMA=y
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_PARPORT=y
# CONFIG_PARPORT_PC is not set
# CONFIG_PARPORT_1284 is not set
CONFIG_PARPORT_NOT_PC=y
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_NULL_BLK=y
CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
# CONFIG_BLK_DEV_FD is not set
CONFIG_CDROM=y
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
CONFIG_ZRAM=y
CONFIG_ZRAM_DEF_COMP_LZORLE=y
# CONFIG_ZRAM_DEF_COMP_ZSTD is not set
# CONFIG_ZRAM_DEF_COMP_LZ4 is not set
# CONFIG_ZRAM_DEF_COMP_LZO is not set
# CONFIG_ZRAM_DEF_COMP_LZ4HC is not set
# CONFIG_ZRAM_DEF_COMP_842 is not set
CONFIG_ZRAM_DEF_COMP="lzo-rle"
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZRAM_TRACK_ENTRY_ACTIME is not set
# CONFIG_ZRAM_MEMORY_TRACKING is not set
# CONFIG_ZRAM_MULTI_COMP is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=16
# CONFIG_BLK_DEV_DRBD is not set
CONFIG_BLK_DEV_NBD=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_CDROM_PKTCDVD is not set
CONFIG_ATA_OVER_ETH=y
CONFIG_VIRTIO_BLK=y
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_BLK_DEV_UBLK is not set
CONFIG_BLK_DEV_RNBD=y
CONFIG_BLK_DEV_RNBD_CLIENT=y

#
# NVME Support
#
CONFIG_NVME_CORE=y
CONFIG_BLK_DEV_NVME=y
CONFIG_NVME_MULTIPATH=y
# CONFIG_NVME_VERBOSE_ERRORS is not set
# CONFIG_NVME_HWMON is not set
CONFIG_NVME_FABRICS=y
CONFIG_NVME_RDMA=y
CONFIG_NVME_FC=y
CONFIG_NVME_TCP=y
# CONFIG_NVME_TCP_TLS is not set
# CONFIG_NVME_HOST_AUTH is not set
CONFIG_NVME_TARGET=y
# CONFIG_NVME_TARGET_PASSTHRU is not set
CONFIG_NVME_TARGET_LOOP=y
CONFIG_NVME_TARGET_RDMA=y
CONFIG_NVME_TARGET_FC=y
CONFIG_NVME_TARGET_FCLOOP=y
CONFIG_NVME_TARGET_TCP=y
# CONFIG_NVME_TARGET_TCP_TLS is not set
# CONFIG_NVME_TARGET_AUTH is not set
# end of NVME Support

#
# Misc devices
#
# CONFIG_AD525X_DPOT is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
# CONFIG_VMWARE_BALLOON is not set
# CONFIG_LATTICE_ECP3_CONFIG is not set
# CONFIG_SRAM is not set
# CONFIG_DW_XDATA_PCIE is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_XILINX_SDFEC is not set
CONFIG_MISC_RTSX=y
# CONFIG_HISI_HIKEY_USB is not set
# CONFIG_OPEN_DICE is not set
# CONFIG_VCPU_STALL_DETECTOR is not set
# CONFIG_NSM is not set
# CONFIG_C2PORT is not set

#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_AT25 is not set
# CONFIG_EEPROM_MAX6875 is not set
CONFIG_EEPROM_93CX6=y
# CONFIG_EEPROM_93XX46 is not set
# CONFIG_EEPROM_IDT_89HPESX is not set
# CONFIG_EEPROM_EE1004 is not set
# end of EEPROM support

# CONFIG_CB710_CORE is not set

#
# Texas Instruments shared transport line discipline
#
# CONFIG_TI_ST is not set
# end of Texas Instruments shared transport line discipline

# CONFIG_SENSORS_LIS3_I2C is not set
# CONFIG_ALTERA_STAPL is not set
# CONFIG_INTEL_MEI is not set
CONFIG_VMWARE_VMCI=y
# CONFIG_GENWQE is not set
# CONFIG_ECHO is not set
# CONFIG_BCM_VK is not set
# CONFIG_MISC_ALCOR_PCI is not set
# CONFIG_MISC_RTSX_PCI is not set
CONFIG_MISC_RTSX_USB=y
# CONFIG_UACCE is not set
# CONFIG_PVPANIC is not set
# CONFIG_GP_PCI1XXXX is not set
# end of Misc devices

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=y
CONFIG_SCSI_COMMON=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_CHR_DEV_SCH is not set
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_ATA=y
# CONFIG_SCSI_SAS_HOST_SMP is not set
CONFIG_SCSI_SRP_ATTRS=y
# end of SCSI Transports

CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_CXGB4_ISCSI is not set
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_SCSI_HPSA=y
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_ESAS2R is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_MPT3SAS is not set
# CONFIG_SCSI_MPT2SAS is not set
# CONFIG_SCSI_MPI3MR is not set
# CONFIG_SCSI_SMARTPQI is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_MYRB is not set
# CONFIG_SCSI_MYRS is not set
# CONFIG_VMWARE_PVSCSI is not set
# CONFIG_LIBFC is not set
# CONFIG_SCSI_SNIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_FDOMAIN_PCI is not set
# CONFIG_SCSI_ISCI is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_EFCT is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_WD719X is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
# CONFIG_SCSI_BFA_FC is not set
CONFIG_SCSI_VIRTIO=y
# CONFIG_SCSI_CHELSIO_FCOE is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
# CONFIG_SCSI_DH is not set
# end of SCSI device support

CONFIG_ATA=y
CONFIG_SATA_HOST=y
CONFIG_PATA_TIMINGS=y
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_FORCE=y
CONFIG_ATA_ACPI=y
# CONFIG_SATA_ZPODD is not set
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=y
CONFIG_SATA_MOBILE_LPM_POLICY=0
# CONFIG_SATA_AHCI_PLATFORM is not set
# CONFIG_AHCI_DWC is not set
# CONFIG_AHCI_CEVA is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_SATA_ACARD_AHCI is not set
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_SX4 is not set
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set

#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not set
CONFIG_PATA_AMD=y
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
CONFIG_PATA_OLDPIIX=y
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RDC is not set
CONFIG_PATA_SCH=y
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_PCMCIA is not set
# CONFIG_PATA_OF_PLATFORM is not set
# CONFIG_PATA_RZ1000 is not set

#
# Generic fallback / legacy drivers
#
# CONFIG_PATA_ACPI is not set
CONFIG_ATA_GENERIC=y
# CONFIG_PATA_LEGACY is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
CONFIG_MD_BITMAP_FILE=y
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
CONFIG_MD_RAID10=y
CONFIG_MD_RAID456=y
# CONFIG_MD_CLUSTER is not set
CONFIG_BCACHE=y
# CONFIG_BCACHE_DEBUG is not set
# CONFIG_BCACHE_ASYNC_REGISTRATION is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_DEBUG is not set
CONFIG_DM_BUFIO=y
# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
CONFIG_DM_BIO_PRISON=y
CONFIG_DM_PERSISTENT_DATA=y
# CONFIG_DM_UNSTRIPED is not set
CONFIG_DM_CRYPT=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_THIN_PROVISIONING=y
CONFIG_DM_CACHE=y
CONFIG_DM_CACHE_SMQ=y
CONFIG_DM_WRITECACHE=y
# CONFIG_DM_EBS is not set
# CONFIG_DM_ERA is not set
CONFIG_DM_CLONE=y
CONFIG_DM_MIRROR=y
# CONFIG_DM_LOG_USERSPACE is not set
CONFIG_DM_RAID=y
CONFIG_DM_ZERO=y
CONFIG_DM_MULTIPATH=y
CONFIG_DM_MULTIPATH_QL=y
CONFIG_DM_MULTIPATH_ST=y
# CONFIG_DM_MULTIPATH_HST is not set
# CONFIG_DM_MULTIPATH_IOA is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_DUST is not set
# CONFIG_DM_INIT is not set
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=y
CONFIG_DM_VERITY=y
# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set
CONFIG_DM_VERITY_FEC=y
# CONFIG_DM_SWITCH is not set
# CONFIG_DM_LOG_WRITES is not set
CONFIG_DM_INTEGRITY=y
CONFIG_DM_ZONED=y
CONFIG_DM_AUDIT=y
# CONFIG_DM_VDO is not set
CONFIG_TARGET_CORE=y
# CONFIG_TCM_IBLOCK is not set
# CONFIG_TCM_FILEIO is not set
# CONFIG_TCM_PSCSI is not set
# CONFIG_LOOPBACK_TARGET is not set
# CONFIG_ISCSI_TARGET is not set
# CONFIG_SBP_TARGET is not set
# CONFIG_REMOTE_TARGET is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=y
CONFIG_FIREWIRE_OHCI=y
CONFIG_FIREWIRE_SBP2=y
CONFIG_FIREWIRE_NET=y
# CONFIG_FIREWIRE_NOSY is not set
# end of IEEE 1394 (FireWire) support

# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_MII=y
CONFIG_NET_CORE=y
CONFIG_BONDING=y
CONFIG_DUMMY=y
CONFIG_WIREGUARD=y
# CONFIG_WIREGUARD_DEBUG is not set
CONFIG_EQUALIZER=y
CONFIG_NET_FC=y
CONFIG_IFB=y
CONFIG_NET_TEAM=y
CONFIG_NET_TEAM_MODE_BROADCAST=y
CONFIG_NET_TEAM_MODE_ROUNDROBIN=y
CONFIG_NET_TEAM_MODE_RANDOM=y
CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=y
CONFIG_NET_TEAM_MODE_LOADBALANCE=y
CONFIG_MACVLAN=y
CONFIG_MACVTAP=y
CONFIG_IPVLAN_L3S=y
CONFIG_IPVLAN=y
CONFIG_IPVTAP=y
CONFIG_VXLAN=y
CONFIG_GENEVE=y
CONFIG_BAREUDP=y
CONFIG_GTP=y
# CONFIG_AMT is not set
CONFIG_MACSEC=y
CONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not set
# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETPOLL=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=y
CONFIG_TAP=y
CONFIG_TUN_VNET_CROSS_LE=y
CONFIG_VETH=y
CONFIG_VIRTIO_NET=y
CONFIG_NLMON=y
# CONFIG_NETKIT is not set
CONFIG_NET_VRF=y
CONFIG_VSOCKMON=y
# CONFIG_MHI_NET is not set
# CONFIG_ARCNET is not set
CONFIG_ATM_DRIVERS=y
# CONFIG_ATM_DUMMY is not set
CONFIG_ATM_TCP=y
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_NICSTAR is not set
# CONFIG_ATM_IDT77252 is not set
# CONFIG_ATM_IA is not set
# CONFIG_ATM_FORE200E is not set
# CONFIG_ATM_HE is not set
# CONFIG_ATM_SOLOS is not set
CONFIG_CAIF_DRIVERS=y
CONFIG_CAIF_TTY=y
CONFIG_CAIF_VIRTIO=y

#
# Distributed Switch Architecture drivers
#
# CONFIG_B53 is not set
# CONFIG_NET_DSA_BCM_SF2 is not set
# CONFIG_NET_DSA_LOOP is not set
# CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK is not set
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
# CONFIG_NET_DSA_MT7530 is not set
# CONFIG_NET_DSA_MV88E6060 is not set
# CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON is not set
# CONFIG_NET_DSA_MV88E6XXX is not set
# CONFIG_NET_DSA_AR9331 is not set
# CONFIG_NET_DSA_QCA8K is not set
# CONFIG_NET_DSA_SJA1105 is not set
# CONFIG_NET_DSA_XRS700X_I2C is not set
# CONFIG_NET_DSA_XRS700X_MDIO is not set
# CONFIG_NET_DSA_REALTEK is not set
# CONFIG_NET_DSA_SMSC_LAN9303_I2C is not set
# CONFIG_NET_DSA_SMSC_LAN9303_MDIO is not set
# CONFIG_NET_DSA_VITESSE_VSC73XX_SPI is not set
# CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM is not set
# end of Distributed Switch Architecture drivers

CONFIG_ETHERNET=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not set
# CONFIG_NET_VENDOR_AGERE is not set
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
# CONFIG_ACENIC is not set
# CONFIG_ALTERA_TSE is not set
CONFIG_NET_VENDOR_AMAZON=y
# CONFIG_ENA_ETHERNET is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
CONFIG_NET_VENDOR_ASIX=y
# CONFIG_SPI_AX88796C is not set
# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_CX_ECAT is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_CADENCE is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
CONFIG_NET_VENDOR_CISCO=y
# CONFIG_ENIC is not set
# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_NET_VENDOR_DAVICOM=y
# CONFIG_DM9051 is not set
# CONFIG_DNET is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
CONFIG_NET_VENDOR_ENGLEDER=y
# CONFIG_TSNEP is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
# CONFIG_NET_VENDOR_FUJITSU is not set
CONFIG_NET_VENDOR_FUNGIBLE=y
# CONFIG_FUN_ETH is not set
CONFIG_NET_VENDOR_GOOGLE=y
CONFIG_GVE=y
# CONFIG_NET_VENDOR_HUAWEI is not set
CONFIG_NET_VENDOR_I825XX=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=y
CONFIG_E1000=y
CONFIG_E1000E=y
CONFIG_E1000E_HWTS=y
# CONFIG_IGB is not set
# CONFIG_IGBVF is not set
# CONFIG_IXGBE is not set
# CONFIG_IXGBEVF is not set
# CONFIG_I40E is not set
# CONFIG_I40EVF is not set
# CONFIG_ICE is not set
# CONFIG_FM10K is not set
# CONFIG_IGC is not set
# CONFIG_IDPF is not set
# CONFIG_JME is not set
# CONFIG_NET_VENDOR_ADI is not set
CONFIG_NET_VENDOR_LITEX=y
# CONFIG_LITEX_LITEETH is not set
# CONFIG_NET_VENDOR_MARVELL is not set
CONFIG_NET_VENDOR_MELLANOX=y
# CONFIG_MLX4_EN is not set
CONFIG_MLX4_CORE=y
# CONFIG_MLX4_DEBUG is not set
# CONFIG_MLX4_CORE_GEN2 is not set
# CONFIG_MLX5_CORE is not set
# CONFIG_MLXSW_CORE is not set
# CONFIG_MLXFW is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MICROSEMI is not set
CONFIG_NET_VENDOR_MICROSOFT=y
# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_FEALNX is not set
# CONFIG_NET_VENDOR_NI is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NETERION is not set
# CONFIG_NET_VENDOR_NETRONOME is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
# CONFIG_NET_VENDOR_OKI is not set
# CONFIG_ETHOC is not set
# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
# CONFIG_NET_VENDOR_PENSANDO is not set
# CONFIG_NET_VENDOR_QLOGIC is not set
# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
# CONFIG_NET_VENDOR_RDC is not set
# CONFIG_NET_VENDOR_REALTEK is not set
# CONFIG_NET_VENDOR_RENESAS is not set
# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
# CONFIG_NET_VENDOR_TEHUTI is not set
# CONFIG_NET_VENDOR_TI is not set
CONFIG_NET_VENDOR_VERTEXCOM=y
# CONFIG_MSE102X is not set
# CONFIG_NET_VENDOR_VIA is not set
CONFIG_NET_VENDOR_WANGXUN=y
# CONFIG_NGBE is not set
# CONFIG_TXGBE is not set
# CONFIG_NET_VENDOR_WIZNET is not set
# CONFIG_NET_VENDOR_XILINX is not set
# CONFIG_NET_VENDOR_XIRCOM is not set
CONFIG_FDDI=y
# CONFIG_DEFXX is not set
# CONFIG_SKFP is not set
# CONFIG_HIPPI is not set
# CONFIG_NET_SB1000 is not set
CONFIG_PHYLINK=y
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
# CONFIG_LED_TRIGGER_PHY is not set
CONFIG_PHYLIB_LEDS=y
CONFIG_FIXED_PHY=y
# CONFIG_SFP is not set

#
# MII PHY device drivers
#
# CONFIG_AMD_PHY is not set
# CONFIG_ADIN_PHY is not set
# CONFIG_ADIN1100_PHY is not set
# CONFIG_AQUANTIA_PHY is not set
CONFIG_AX88796B_PHY=y
# CONFIG_BROADCOM_PHY is not set
# CONFIG_BCM54140_PHY is not set
# CONFIG_BCM7XXX_PHY is not set
# CONFIG_BCM84881_PHY is not set
# CONFIG_BCM87XX_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_CORTINA_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_INTEL_XWAY_PHY is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MARVELL_PHY is not set
# CONFIG_MARVELL_10G_PHY is not set
# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
# CONFIG_MAXLINEAR_GPHY is not set
# CONFIG_MEDIATEK_GE_PHY is not set
# CONFIG_MICREL_PHY is not set
# CONFIG_MICROCHIP_T1S_PHY is not set
CONFIG_MICROCHIP_PHY=y
# CONFIG_MICROCHIP_T1_PHY is not set
# CONFIG_MICROSEMI_PHY is not set
# CONFIG_MOTORCOMM_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_NXP_CBTX_PHY is not set
# CONFIG_NXP_C45_TJA11XX_PHY is not set
# CONFIG_NXP_TJA11XX_PHY is not set
# CONFIG_NCN26000_PHY is not set
# CONFIG_AT803X_PHY is not set
# CONFIG_QCA83XX_PHY is not set
# CONFIG_QCA808X_PHY is not set
# CONFIG_QCA807X_PHY is not set
# CONFIG_QSEMI_PHY is not set
CONFIG_REALTEK_PHY=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_ROCKCHIP_PHY is not set
CONFIG_SMSC_PHY=y
# CONFIG_STE10XP is not set
# CONFIG_TERANETICS_PHY is not set
# CONFIG_DP83822_PHY is not set
# CONFIG_DP83TC811_PHY is not set
# CONFIG_DP83848_PHY is not set
# CONFIG_DP83867_PHY is not set
# CONFIG_DP83869_PHY is not set
# CONFIG_DP83TD510_PHY is not set
# CONFIG_DP83TG720_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_XILINX_GMII2RGMII is not set
# CONFIG_MICREL_KS8995MA is not set
# CONFIG_PSE_CONTROLLER is not set
CONFIG_CAN_DEV=y
CONFIG_CAN_VCAN=y
CONFIG_CAN_VXCAN=y
CONFIG_CAN_NETLINK=y
CONFIG_CAN_CALC_BITTIMING=y
CONFIG_CAN_RX_OFFLOAD=y
# CONFIG_CAN_CAN327 is not set
# CONFIG_CAN_FLEXCAN is not set
# CONFIG_CAN_GRCAN is not set
# CONFIG_CAN_KVASER_PCIEFD is not set
CONFIG_CAN_SLCAN=y
# CONFIG_CAN_C_CAN is not set
# CONFIG_CAN_CC770 is not set
# CONFIG_CAN_CTUCANFD_PCI is not set
# CONFIG_CAN_CTUCANFD_PLATFORM is not set
# CONFIG_CAN_ESD_402_PCI is not set
CONFIG_CAN_IFI_CANFD=y
# CONFIG_CAN_M_CAN is not set
# CONFIG_CAN_PEAK_PCIEFD is not set
# CONFIG_CAN_SJA1000 is not set
# CONFIG_CAN_SOFTING is not set

#
# CAN SPI interfaces
#
# CONFIG_CAN_HI311X is not set
# CONFIG_CAN_MCP251X is not set
# CONFIG_CAN_MCP251XFD is not set
# end of CAN SPI interfaces

#
# CAN USB interfaces
#
CONFIG_CAN_8DEV_USB=y
CONFIG_CAN_EMS_USB=y
# CONFIG_CAN_ESD_USB is not set
# CONFIG_CAN_ETAS_ES58X is not set
# CONFIG_CAN_F81604 is not set
CONFIG_CAN_GS_USB=y
CONFIG_CAN_KVASER_USB=y
CONFIG_CAN_MCBA_USB=y
CONFIG_CAN_PEAK_USB=y
# CONFIG_CAN_UCAN is not set
# end of CAN USB interfaces

# CONFIG_CAN_DEBUG_DEVICES is not set
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
CONFIG_FWNODE_MDIO=y
CONFIG_OF_MDIO=y
CONFIG_ACPI_MDIO=y
CONFIG_MDIO_DEVRES=y
# CONFIG_MDIO_BITBANG is not set
# CONFIG_MDIO_BCM_UNIMAC is not set
# CONFIG_MDIO_HISI_FEMAC is not set
# CONFIG_MDIO_MVUSB is not set
# CONFIG_MDIO_MSCC_MIIM is not set
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_IPQ4019 is not set
# CONFIG_MDIO_IPQ8064 is not set
# CONFIG_MDIO_THUNDER is not set

#
# MDIO Multiplexers
#
# CONFIG_MDIO_BUS_MUX_GPIO is not set
# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set

#
# PCS device drivers
#
# end of PCS device drivers

# CONFIG_PLIP is not set
CONFIG_PPP=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPPOATM=y
CONFIG_PPPOE=y
# CONFIG_PPPOE_HASH_BITS_1 is not set
# CONFIG_PPPOE_HASH_BITS_2 is not set
CONFIG_PPPOE_HASH_BITS_4=y
# CONFIG_PPPOE_HASH_BITS_8 is not set
CONFIG_PPPOE_HASH_BITS=4
CONFIG_PPTP=y
CONFIG_PPPOL2TP=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_SLIP=y
CONFIG_SLHC=y
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_CATC=y
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_RTL8150=y
CONFIG_USB_RTL8152=y
CONFIG_USB_LAN78XX=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_AX88179_178A=y
CONFIG_USB_NET_CDCETHER=y
CONFIG_USB_NET_CDC_EEM=y
CONFIG_USB_NET_CDC_NCM=y
CONFIG_USB_NET_HUAWEI_CDC_NCM=y
CONFIG_USB_NET_CDC_MBIM=y
CONFIG_USB_NET_DM9601=y
CONFIG_USB_NET_SR9700=y
CONFIG_USB_NET_SR9800=y
CONFIG_USB_NET_SMSC75XX=y
CONFIG_USB_NET_SMSC95XX=y
CONFIG_USB_NET_GL620A=y
CONFIG_USB_NET_NET1080=y
CONFIG_USB_NET_PLUSB=y
CONFIG_USB_NET_MCS7830=y
CONFIG_USB_NET_RNDIS_HOST=y
CONFIG_USB_NET_CDC_SUBSET_ENABLE=y
CONFIG_USB_NET_CDC_SUBSET=y
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=y
CONFIG_USB_NET_CX82310_ETH=y
CONFIG_USB_NET_KALMIA=y
CONFIG_USB_NET_QMI_WWAN=y
CONFIG_USB_HSO=y
CONFIG_USB_NET_INT51X1=y
CONFIG_USB_CDC_PHONET=y
CONFIG_USB_IPHETH=y
CONFIG_USB_SIERRA_NET=y
CONFIG_USB_VL600=y
CONFIG_USB_NET_CH9200=y
# CONFIG_USB_NET_AQC111 is not set
CONFIG_USB_RTL8153_ECM=y
CONFIG_WLAN=y
CONFIG_WLAN_VENDOR_ADMTEK=y
# CONFIG_ADM8211 is not set
CONFIG_ATH_COMMON=y
CONFIG_WLAN_VENDOR_ATH=y
# CONFIG_ATH_DEBUG is not set
# CONFIG_ATH5K is not set
# CONFIG_ATH5K_PCI is not set
CONFIG_ATH9K_HW=y
CONFIG_ATH9K_COMMON=y
CONFIG_ATH9K_COMMON_DEBUG=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
CONFIG_ATH9K=y
CONFIG_ATH9K_PCI=y
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_STATION_STATISTICS is not set
CONFIG_ATH9K_DYNACK=y
# CONFIG_ATH9K_WOW is not set
CONFIG_ATH9K_RFKILL=y
CONFIG_ATH9K_CHANNEL_CONTEXT=y
CONFIG_ATH9K_PCOEM=y
# CONFIG_ATH9K_PCI_NO_EEPROM is not set
CONFIG_ATH9K_HTC=y
CONFIG_ATH9K_HTC_DEBUGFS=y
# CONFIG_ATH9K_HWRNG is not set
# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_CARL9170=y
CONFIG_CARL9170_LEDS=y
# CONFIG_CARL9170_DEBUGFS is not set
CONFIG_CARL9170_WPC=y
CONFIG_CARL9170_HWRNG=y
CONFIG_ATH6KL=y
# CONFIG_ATH6KL_SDIO is not set
CONFIG_ATH6KL_USB=y
# CONFIG_ATH6KL_DEBUG is not set
# CONFIG_ATH6KL_TRACING is not set
CONFIG_AR5523=y
# CONFIG_WIL6210 is not set
CONFIG_ATH10K=y
CONFIG_ATH10K_CE=y
CONFIG_ATH10K_PCI=y
# CONFIG_ATH10K_AHB is not set
# CONFIG_ATH10K_SDIO is not set
CONFIG_ATH10K_USB=y
# CONFIG_ATH10K_DEBUG is not set
# CONFIG_ATH10K_DEBUGFS is not set
# CONFIG_ATH10K_TRACING is not set
# CONFIG_WCN36XX is not set
CONFIG_ATH11K=y
# CONFIG_ATH11K_PCI is not set
# CONFIG_ATH11K_DEBUG is not set
# CONFIG_ATH11K_DEBUGFS is not set
# CONFIG_ATH11K_TRACING is not set
# CONFIG_ATH12K is not set
# CONFIG_WLAN_VENDOR_ATMEL is not set
# CONFIG_WLAN_VENDOR_BROADCOM is not set
# CONFIG_WLAN_VENDOR_INTEL is not set
# CONFIG_WLAN_VENDOR_INTERSIL is not set
# CONFIG_WLAN_VENDOR_MARVELL is not set
# CONFIG_WLAN_VENDOR_MEDIATEK is not set
# CONFIG_WLAN_VENDOR_MICROCHIP is not set
CONFIG_WLAN_VENDOR_PURELIFI=y
# CONFIG_PLFXLC is not set
# CONFIG_WLAN_VENDOR_RALINK is not set
# CONFIG_WLAN_VENDOR_REALTEK is not set
# CONFIG_WLAN_VENDOR_RSI is not set
CONFIG_WLAN_VENDOR_SILABS=y
# CONFIG_WFX is not set
# CONFIG_WLAN_VENDOR_ST is not set
# CONFIG_WLAN_VENDOR_TI is not set
# CONFIG_WLAN_VENDOR_ZYDAS is not set
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
CONFIG_MAC80211_HWSIM=y
CONFIG_VIRT_WIFI=y
CONFIG_WAN=y
CONFIG_HDLC=y
CONFIG_HDLC_RAW=y
CONFIG_HDLC_RAW_ETH=y
CONFIG_HDLC_CISCO=y
CONFIG_HDLC_FR=y
CONFIG_HDLC_PPP=y
CONFIG_HDLC_X25=y
# CONFIG_FRAMER is not set
# CONFIG_PCI200SYN is not set
# CONFIG_WANXL is not set
# CONFIG_PC300TOO is not set
# CONFIG_FARSYNC is not set
CONFIG_LAPBETHER=y
CONFIG_IEEE802154_DRIVERS=y
# CONFIG_IEEE802154_FAKELB is not set
# CONFIG_IEEE802154_AT86RF230 is not set
# CONFIG_IEEE802154_MRF24J40 is not set
# CONFIG_IEEE802154_CC2520 is not set
CONFIG_IEEE802154_ATUSB=y
# CONFIG_IEEE802154_ADF7242 is not set
# CONFIG_IEEE802154_CA8210 is not set
# CONFIG_IEEE802154_MCR20A is not set
CONFIG_IEEE802154_HWSIM=y

#
# Wireless WAN
#
CONFIG_WWAN=y
# CONFIG_WWAN_DEBUGFS is not set
# CONFIG_WWAN_HWSIM is not set
CONFIG_MHI_WWAN_CTRL=y
# CONFIG_MHI_WWAN_MBIM is not set
# CONFIG_IOSM is not set
# CONFIG_MTK_T7XX is not set
# end of Wireless WAN

CONFIG_VMXNET3=y
# CONFIG_FUJITSU_ES is not set
CONFIG_USB4_NET=y
CONFIG_NETDEVSIM=y
CONFIG_NET_FAILOVER=y
CONFIG_ISDN=y
CONFIG_ISDN_CAPI=y
CONFIG_CAPI_TRACE=y
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_MISDN=y
CONFIG_MISDN_DSP=y
CONFIG_MISDN_L1OIP=y

#
# mISDN hardware drivers
#
# CONFIG_MISDN_HFCPCI is not set
# CONFIG_MISDN_HFCMULTI is not set
CONFIG_MISDN_HFCUSB=y
# CONFIG_MISDN_AVMFRITZ is not set
# CONFIG_MISDN_SPEEDFAX is not set
# CONFIG_MISDN_INFINEON is not set
# CONFIG_MISDN_W6692 is not set
# CONFIG_MISDN_NETJET is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_SPARSEKMAP=y
# CONFIG_INPUT_MATRIXKMAP is not set
CONFIG_INPUT_VIVALDIFMAP=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADC is not set
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1050 is not set
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_DLINK_DIR685 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_PINEPHONE is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
# CONFIG_KEYBOARD_TWL4030 is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_CAP11XX is not set
# CONFIG_KEYBOARD_BCM is not set
# CONFIG_KEYBOARD_CYPRESS_SF is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_BYD=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_FOCALTECH=y
# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2_SMBUS=y
# CONFIG_MOUSE_SERIAL is not set
CONFIG_MOUSE_APPLETOUCH=y
CONFIG_MOUSE_BCM5974=y
# CONFIG_MOUSE_CYAPA is not set
# CONFIG_MOUSE_ELAN_I2C is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MOUSE_GPIO is not set
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
CONFIG_MOUSE_SYNAPTICS_USB=y
CONFIG_INPUT_JOYSTICK=y
# CONFIG_JOYSTICK_ANALOG is not set
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADC is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
CONFIG_JOYSTICK_IFORCE=y
CONFIG_JOYSTICK_IFORCE_USB=y
# CONFIG_JOYSTICK_IFORCE_232 is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDJOY is not set
# CONFIG_JOYSTICK_ZHENHUA is not set
# CONFIG_JOYSTICK_DB9 is not set
# CONFIG_JOYSTICK_GAMECON is not set
# CONFIG_JOYSTICK_TURBOGRAFX is not set
# CONFIG_JOYSTICK_AS5011 is not set
# CONFIG_JOYSTICK_JOYDUMP is not set
CONFIG_JOYSTICK_XPAD=y
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
# CONFIG_JOYSTICK_WALKERA0701 is not set
# CONFIG_JOYSTICK_PSXPAD_SPI is not set
# CONFIG_JOYSTICK_PXRC is not set
# CONFIG_JOYSTICK_QWIIC is not set
# CONFIG_JOYSTICK_FSIA6B is not set
# CONFIG_JOYSTICK_SENSEHAT is not set
# CONFIG_JOYSTICK_SEESAW is not set
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=y
CONFIG_TABLET_USB_AIPTEK=y
CONFIG_TABLET_USB_HANWANG=y
CONFIG_TABLET_USB_KBTAB=y
CONFIG_TABLET_USB_PEGASUS=y
# CONFIG_TABLET_SERIAL_WACOM4 is not set
CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_ADS7846 is not set
# CONFIG_TOUCHSCREEN_AD7877 is not set
# CONFIG_TOUCHSCREEN_AD7879 is not set
# CONFIG_TOUCHSCREEN_ADC is not set
# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_BU21029 is not set
# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
# CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 is not set
# CONFIG_TOUCHSCREEN_CY8CTMA140 is not set
# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
# CONFIG_TOUCHSCREEN_CYTTSP5 is not set
# CONFIG_TOUCHSCREEN_DYNAPRO is not set
# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
# CONFIG_TOUCHSCREEN_EETI is not set
# CONFIG_TOUCHSCREEN_EGALAX is not set
# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
# CONFIG_TOUCHSCREEN_EXC3000 is not set
# CONFIG_TOUCHSCREEN_FUJITSU is not set
# CONFIG_TOUCHSCREEN_GOODIX is not set
# CONFIG_TOUCHSCREEN_GOODIX_BERLIN_I2C is not set
# CONFIG_TOUCHSCREEN_GOODIX_BERLIN_SPI is not set
# CONFIG_TOUCHSCREEN_HIDEEP is not set
# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set
# CONFIG_TOUCHSCREEN_HYNITRON_CSTXXX is not set
# CONFIG_TOUCHSCREEN_ILI210X is not set
# CONFIG_TOUCHSCREEN_ILITEK is not set
# CONFIG_TOUCHSCREEN_S6SY761 is not set
# CONFIG_TOUCHSCREEN_GUNZE is not set
# CONFIG_TOUCHSCREEN_EKTF2127 is not set
# CONFIG_TOUCHSCREEN_ELAN is not set
# CONFIG_TOUCHSCREEN_ELO is not set
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MMS114 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
# CONFIG_TOUCHSCREEN_MSG2638 is not set
# CONFIG_TOUCHSCREEN_MTOUCH is not set
# CONFIG_TOUCHSCREEN_NOVATEK_NVT_TS is not set
# CONFIG_TOUCHSCREEN_IMAGIS is not set
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_PIXCIR is not set
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
CONFIG_TOUCHSCREEN_USB_COMPOSITE=y
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_USB_JASTEC=y
CONFIG_TOUCHSCREEN_USB_ELO=y
CONFIG_TOUCHSCREEN_USB_E2I=y
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
# CONFIG_TOUCHSCREEN_TSC2004 is not set
# CONFIG_TOUCHSCREEN_TSC2005 is not set
# CONFIG_TOUCHSCREEN_TSC2007 is not set
# CONFIG_TOUCHSCREEN_RM_TS is not set
# CONFIG_TOUCHSCREEN_SILEAD is not set
# CONFIG_TOUCHSCREEN_SIS_I2C is not set
# CONFIG_TOUCHSCREEN_ST1232 is not set
# CONFIG_TOUCHSCREEN_STMFTS is not set
CONFIG_TOUCHSCREEN_SUR40=y
# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
# CONFIG_TOUCHSCREEN_SX8654 is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
# CONFIG_TOUCHSCREEN_ZET6223 is not set
# CONFIG_TOUCHSCREEN_ZFORCE is not set
# CONFIG_TOUCHSCREEN_COLIBRI_VF50 is not set
# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_ZINITIX is not set
# CONFIG_TOUCHSCREEN_HIMAX_HX83112B is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_E3X0_BUTTON is not set
# CONFIG_INPUT_PCSPKR is not set
# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_APANEL is not set
# CONFIG_INPUT_GPIO_BEEPER is not set
# CONFIG_INPUT_GPIO_DECODER is not set
# CONFIG_INPUT_GPIO_VIBRA is not set
# CONFIG_INPUT_ATLAS_BTNS is not set
CONFIG_INPUT_ATI_REMOTE2=y
CONFIG_INPUT_KEYSPAN_REMOTE=y
# CONFIG_INPUT_KXTJ9 is not set
CONFIG_INPUT_POWERMATE=y
CONFIG_INPUT_YEALINK=y
CONFIG_INPUT_CM109=y
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
# CONFIG_INPUT_RETU_PWRBUTTON is not set
# CONFIG_INPUT_TWL4030_PWRBUTTON is not set
# CONFIG_INPUT_TWL4030_VIBRA is not set
CONFIG_INPUT_UINPUT=y
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
# CONFIG_INPUT_DA7280_HAPTICS is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_IBM_PANEL is not set
CONFIG_INPUT_IMS_PCU=y
# CONFIG_INPUT_IQS269A is not set
# CONFIG_INPUT_IQS626A is not set
# CONFIG_INPUT_IQS7222 is not set
# CONFIG_INPUT_CMA3000 is not set
# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set
# CONFIG_INPUT_DRV260X_HAPTICS is not set
# CONFIG_INPUT_DRV2665_HAPTICS is not set
# CONFIG_INPUT_DRV2667_HAPTICS is not set
CONFIG_RMI4_CORE=y
# CONFIG_RMI4_I2C is not set
# CONFIG_RMI4_SPI is not set
# CONFIG_RMI4_SMB is not set
CONFIG_RMI4_F03=y
CONFIG_RMI4_F03_SERIO=y
CONFIG_RMI4_2D_SENSOR=y
CONFIG_RMI4_F11=y
CONFIG_RMI4_F12=y
CONFIG_RMI4_F30=y
# CONFIG_RMI4_F34 is not set
# CONFIG_RMI4_F3A is not set
# CONFIG_RMI4_F54 is not set
# CONFIG_RMI4_F55 is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_SERIO_ARC_PS2 is not set
# CONFIG_SERIO_APBPS2 is not set
# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_USERIO=y
# CONFIG_GAMEPORT is not set
# end of Hardware I/O ports
# end of Input device support

#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_LEGACY_TIOCSTI=y
CONFIG_LDISC_AUTOLOAD=y

#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
CONFIG_SERIAL_8250_PNP=y
# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_PCILIB=y
CONFIG_SERIAL_8250_PCI=y
# CONFIG_SERIAL_8250_EXAR is not set
# CONFIG_SERIAL_8250_CS is not set
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_PCI1XXXX is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_DWLIB=y
# CONFIG_SERIAL_8250_DW is not set
# CONFIG_SERIAL_8250_RT288X is not set
CONFIG_SERIAL_8250_LPSS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_PERICOM=y
# CONFIG_SERIAL_OF_PLATFORM is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_SIFIVE is not set
# CONFIG_SERIAL_LANTIQ is not set
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_FSL_LINFLEXUART is not set
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
# CONFIG_SERIAL_SPRD is not set
# end of Serial drivers

CONFIG_SERIAL_MCTRL_GPIO=y
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
CONFIG_N_HDLC=y
# CONFIG_IPWIRELESS is not set
CONFIG_N_GSM=y
CONFIG_NOZOMI=y
CONFIG_NULL_TTY=y
CONFIG_HVC_DRIVER=y
CONFIG_SERIAL_DEV_BUS=y
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_TTY_PRINTK=y
CONFIG_TTY_PRINTK_LEVEL=6
# CONFIG_PRINTER is not set
# CONFIG_PPDEV is not set
CONFIG_VIRTIO_CONSOLE=y
# CONFIG_IPMI_HANDLER is not set
# CONFIG_SSIF_IPMI_BMC is not set
# CONFIG_IPMB_DEVICE_INTERFACE is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
# CONFIG_HW_RANDOM_INTEL is not set
# CONFIG_HW_RANDOM_AMD is not set
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_VIA is not set
CONFIG_HW_RANDOM_VIRTIO=y
# CONFIG_HW_RANDOM_CCTRNG is not set
# CONFIG_HW_RANDOM_XIPHERA is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
# CONFIG_DEVMEM is not set
CONFIG_NVRAM=y
# CONFIG_DEVPORT is not set
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HPET_MMAP_DEFAULT=y
# CONFIG_HANGCHECK_TIMER is not set
CONFIG_TCG_TPM=y
# CONFIG_HW_RANDOM_TPM is not set
CONFIG_TCG_TIS_CORE=y
CONFIG_TCG_TIS=y
# CONFIG_TCG_TIS_SPI is not set
# CONFIG_TCG_TIS_I2C is not set
# CONFIG_TCG_TIS_I2C_CR50 is not set
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
# CONFIG_TCG_NSC is not set
# CONFIG_TCG_ATMEL is not set
# CONFIG_TCG_INFINEON is not set
CONFIG_TCG_CRB=y
# CONFIG_TCG_VTPM_PROXY is not set
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
# CONFIG_TELCLOCK is not set
# CONFIG_XILLYBUS is not set
# CONFIG_XILLYUSB is not set
# end of Character devices

#
# I2C support
#
CONFIG_I2C=y
CONFIG_ACPI_I2C_OPREGION=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y

#
# Multiplexer I2C Chip support
#
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
# CONFIG_I2C_MUX_GPIO is not set
# CONFIG_I2C_MUX_GPMUX is not set
# CONFIG_I2C_MUX_LTC4306 is not set
# CONFIG_I2C_MUX_PCA9541 is not set
# CONFIG_I2C_MUX_PCA954x is not set
CONFIG_I2C_MUX_REG=y
# CONFIG_I2C_MUX_MLXCPLD is not set
# end of Multiplexer I2C Chip support

CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=y
CONFIG_I2C_ALGOBIT=y

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_I801=y
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_ISMT is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_CHT_WC is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set

#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_DESIGNWARE_CORE=y
# CONFIG_I2C_DESIGNWARE_SLAVE is not set
CONFIG_I2C_DESIGNWARE_PLATFORM=y
# CONFIG_I2C_DESIGNWARE_BAYTRAIL is not set
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_RK3X is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_DIOLAN_U2C=y
CONFIG_I2C_DLN2=y
# CONFIG_I2C_CP2615 is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PCI1XXXX is not set
CONFIG_I2C_ROBOTFUZZ_OSIF=y
# CONFIG_I2C_TAOS_EVM is not set
CONFIG_I2C_TINY_USB=y
CONFIG_I2C_VIPERBOARD=y

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_MLXCPLD is not set
# CONFIG_I2C_VIRTIO is not set
# end of I2C Hardware Bus support

# CONFIG_I2C_STUB is not set
CONFIG_I2C_SLAVE=y
CONFIG_I2C_SLAVE_EEPROM=y
# CONFIG_I2C_SLAVE_TESTUNIT is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# end of I2C support

# CONFIG_I3C is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
# CONFIG_SPI_MEM is not set

#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
# CONFIG_SPI_AXI_SPI_ENGINE is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_BUTTERFLY is not set
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_CADENCE_QUADSPI is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_DLN2=y
# CONFIG_SPI_GPIO is not set
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_MICROCHIP_CORE is not set
# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set
# CONFIG_SPI_LANTIQ_SSC is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PCI1XXXX is not set
# CONFIG_SPI_PXA2XX is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SIFIVE is not set
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_XCOMM is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_AMD is not set

#
# SPI Multiplexer support
#
# CONFIG_SPI_MUX is not set

#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_SPI_SLAVE is not set
CONFIG_SPI_DYNAMIC=y
# CONFIG_SPMI is not set
# CONFIG_HSI is not set
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
# CONFIG_PPS_CLIENT_LDISC is not set
# CONFIG_PPS_CLIENT_PARPORT is not set
# CONFIG_PPS_CLIENT_GPIO is not set

#
# PPS generators support
#

#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_OPTIONAL=y

#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
CONFIG_PTP_1588_CLOCK_KVM=y
# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_FC3W is not set
# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_VMW is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
# end of PTP clock support

# CONFIG_PINCTRL is not set
CONFIG_GPIOLIB=y
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_OF_GPIO=y
CONFIG_GPIO_ACPI=y
CONFIG_GPIOLIB_IRQCHIP=y
# CONFIG_DEBUG_GPIO is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_CDEV is not set

#
# Memory mapped GPIO drivers
#
# CONFIG_GPIO_74XX_MMIO is not set
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
# CONFIG_GPIO_CADENCE is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_FTGPIO010 is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_HLWD is not set
# CONFIG_GPIO_ICH is not set
# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_MB86S7X is not set
# CONFIG_GPIO_SIFIVE is not set
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_XILINX is not set
# CONFIG_GPIO_AMD_FCH is not set
# end of Memory mapped GPIO drivers

#
# Port-mapped I/O GPIO drivers
#
# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_IT87 is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_WINBOND is not set
# CONFIG_GPIO_WS16C48 is not set
# end of Port-mapped I/O GPIO drivers

#
# I2C GPIO expanders
#
# CONFIG_GPIO_ADNP is not set
# CONFIG_GPIO_FXL6408 is not set
# CONFIG_GPIO_DS4520 is not set
# CONFIG_GPIO_GW_PLD is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCA9570 is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_TPIC2810 is not set
# end of I2C GPIO expanders

#
# MFD GPIO expanders
#
CONFIG_GPIO_DLN2=y
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_TWL4030 is not set
# end of MFD GPIO expanders

#
# PCI GPIO expanders
#
# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_PCI_IDIO_16 is not set
# CONFIG_GPIO_PCIE_IDIO_24 is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SODAVILLE is not set
# end of PCI GPIO expanders

#
# SPI GPIO expanders
#
# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_XRA1403 is not set
# end of SPI GPIO expanders

#
# USB GPIO expanders
#
CONFIG_GPIO_VIPERBOARD=y
# end of USB GPIO expanders

#
# Virtual GPIO drivers
#
# CONFIG_GPIO_AGGREGATOR is not set
# CONFIG_GPIO_LATCH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_VIRTIO is not set
# CONFIG_GPIO_SIM is not set
# end of Virtual GPIO drivers

# CONFIG_W1 is not set
# CONFIG_POWER_RESET is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_POWER_SUPPLY_HWMON=y
# CONFIG_GENERIC_ADC_BATTERY is not set
# CONFIG_IP5XXX_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_CHARGER_ADP5061 is not set
# CONFIG_BATTERY_CW2015 is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SAMSUNG_SDI is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_CHARGER_SBS is not set
# CONFIG_MANAGER_SBS is not set
# CONFIG_BATTERY_BQ27XXX is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
CONFIG_CHARGER_ISP1704=y
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_TWL4030 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_MANAGER is not set
# CONFIG_CHARGER_LT3651 is not set
# CONFIG_CHARGER_LTC4162L is not set
# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_MAX77976 is not set
# CONFIG_CHARGER_BQ2415X is not set
CONFIG_CHARGER_BQ24190=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ2515X is not set
# CONFIG_CHARGER_BQ25890 is not set
# CONFIG_CHARGER_BQ25980 is not set
# CONFIG_CHARGER_BQ256XX is not set
# CONFIG_CHARGER_SMB347 is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
# CONFIG_BATTERY_GOLDFISH is not set
# CONFIG_BATTERY_RT5033 is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_RT9467 is not set
# CONFIG_CHARGER_RT9471 is not set
# CONFIG_CHARGER_UCS1002 is not set
# CONFIG_CHARGER_BD99954 is not set
# CONFIG_BATTERY_UG3105 is not set
# CONFIG_FUEL_GAUGE_MM8013 is not set
CONFIG_HWMON=y
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7314 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM1177 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7310 is not set
# CONFIG_SENSORS_ADT7410 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_AHT10 is not set
# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
# CONFIG_SENSORS_AS370 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_ASUS_ROG_RYUJIN is not set
# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_K10TEMP is not set
# CONFIG_SENSORS_FAM15H_POWER is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_CHIPCAP2 is not set
# CONFIG_SENSORS_CORSAIR_CPRO is not set
# CONFIG_SENSORS_CORSAIR_PSU is not set
# CONFIG_SENSORS_DRIVETEMP is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_DELL_SMM is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHMD is not set
# CONFIG_SENSORS_FTSTEUTATES is not set
# CONFIG_SENSORS_GIGABYTE_WATERFORCE is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_G762 is not set
# CONFIG_SENSORS_GPIO_FAN is not set
# CONFIG_SENSORS_HIH6130 is not set
# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_IIO_HWMON is not set
# CONFIG_SENSORS_I5500 is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_POWERZ is not set
# CONFIG_SENSORS_POWR1220 is not set
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LTC2945 is not set
# CONFIG_SENSORS_LTC2947_I2C is not set
# CONFIG_SENSORS_LTC2947_SPI is not set
# CONFIG_SENSORS_LTC2990 is not set
# CONFIG_SENSORS_LTC2991 is not set
# CONFIG_SENSORS_LTC2992 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4222 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4260 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_LTC4282 is not set
# CONFIG_SENSORS_MAX1111 is not set
# CONFIG_SENSORS_MAX127 is not set
# CONFIG_SENSORS_MAX16065 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX197 is not set
# CONFIG_SENSORS_MAX31722 is not set
# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31760 is not set
# CONFIG_MAX31827 is not set
# CONFIG_SENSORS_MAX6620 is not set
# CONFIG_SENSORS_MAX6621 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_MAX6697 is not set
# CONFIG_SENSORS_MAX31790 is not set
# CONFIG_SENSORS_MC34VR500 is not set
# CONFIG_SENSORS_MCP3021 is not set
# CONFIG_SENSORS_TC654 is not set
# CONFIG_SENSORS_TPS23861 is not set
# CONFIG_SENSORS_MR75203 is not set
# CONFIG_SENSORS_ADCXX is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM70 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LM95234 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_NTC_THERMISTOR is not set
# CONFIG_SENSORS_NCT6683 is not set
# CONFIG_SENSORS_NCT6775 is not set
# CONFIG_SENSORS_NCT6775_I2C is not set
# CONFIG_SENSORS_NCT7802 is not set
# CONFIG_SENSORS_NCT7904 is not set
# CONFIG_SENSORS_NPCM7XX is not set
# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
# CONFIG_SENSORS_NZXT_KRAKEN3 is not set
# CONFIG_SENSORS_NZXT_SMART2 is not set
# CONFIG_SENSORS_OCC_P8_I2C is not set
# CONFIG_SENSORS_OXP is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not set
# CONFIG_SENSORS_PT5161L is not set
# CONFIG_SENSORS_SBTSI is not set
# CONFIG_SENSORS_SBRMI is not set
# CONFIG_SENSORS_SHT15 is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SHT3x is not set
# CONFIG_SENSORS_SHT4x is not set
# CONFIG_SENSORS_SHTC1 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC2305 is not set
# CONFIG_SENSORS_EMC6W201 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH5627 is not set
# CONFIG_SENSORS_SCH5636 is not set
# CONFIG_SENSORS_STTS751 is not set
# CONFIG_SENSORS_ADC128D818 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_ADS7871 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_INA209 is not set
# CONFIG_SENSORS_INA2XX is not set
# CONFIG_SENSORS_INA238 is not set
# CONFIG_SENSORS_INA3221 is not set
# CONFIG_SENSORS_TC74 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP103 is not set
# CONFIG_SENSORS_TMP108 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_TMP464 is not set
# CONFIG_SENSORS_TMP513 is not set
# CONFIG_SENSORS_VIA_CPUTEMP is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83773G is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_XGENE is not set

#
# ACPI drivers
#
# CONFIG_SENSORS_ACPI_POWER is not set
# CONFIG_SENSORS_ATK0110 is not set
# CONFIG_SENSORS_ASUS_WMI is not set
# CONFIG_SENSORS_ASUS_EC is not set
# CONFIG_SENSORS_HP_WMI is not set
CONFIG_THERMAL=y
CONFIG_THERMAL_NETLINK=y
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_DEBUGFS is not set
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
# CONFIG_THERMAL_OF is not set
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
CONFIG_THERMAL_GOV_STEP_WISE=y
# CONFIG_THERMAL_GOV_BANG_BANG is not set
CONFIG_THERMAL_GOV_USER_SPACE=y
# CONFIG_THERMAL_EMULATION is not set
# CONFIG_THERMAL_MMIO is not set

#
# Intel thermal drivers
#
# CONFIG_INTEL_POWERCLAMP is not set
CONFIG_X86_THERMAL_VECTOR=y
# CONFIG_X86_PKG_TEMP_THERMAL is not set
# CONFIG_INTEL_SOC_DTS_THERMAL is not set

#
# ACPI INT340X thermal drivers
#
# CONFIG_INT340X_THERMAL is not set
# end of ACPI INT340X thermal drivers

# CONFIG_INTEL_PCH_THERMAL is not set
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_HFI_THERMAL is not set
# end of Intel thermal drivers

# CONFIG_GENERIC_ADC_THERMAL is not set
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_CORE is not set
# CONFIG_WATCHDOG_NOWAYOUT is not set
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
CONFIG_WATCHDOG_OPEN_TIMEOUT=0
# CONFIG_WATCHDOG_SYSFS is not set
# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set

#
# Watchdog Pretimeout Governors
#

#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_GPIO_WATCHDOG is not set
# CONFIG_WDAT_WDT is not set
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_ZIIRAVE_WATCHDOG is not set
# CONFIG_CADENCE_WATCHDOG is not set
# CONFIG_DW_WATCHDOG is not set
# CONFIG_TWL4030_WATCHDOG is not set
# CONFIG_MAX63XX_WATCHDOG is not set
# CONFIG_RETU_WATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADVANTECH_EC_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_EBC_C384_WDT is not set
# CONFIG_EXAR_WDT is not set
# CONFIG_F71808E_WDT is not set
# CONFIG_SP5100_TCO is not set
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_IE6XX_WDT is not set
# CONFIG_ITCO_WDT is not set
# CONFIG_IT8712F_WDT is not set
# CONFIG_IT87_WDT is not set
# CONFIG_HP_WATCHDOG is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_NV_TCO is not set
# CONFIG_60XX_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_SMSC_SCH311X_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_TQMX86_WDT is not set
# CONFIG_VIA_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
# CONFIG_NI903X_WDT is not set
# CONFIG_NIC7018_WDT is not set
# CONFIG_MEN_A21_WDT is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set

#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=y
CONFIG_SSB_POSSIBLE=y
CONFIG_SSB=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
# CONFIG_SSB_PCIHOST is not set
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
# CONFIG_SSB_PCMCIAHOST is not set
CONFIG_SSB_SDIOHOST_POSSIBLE=y
# CONFIG_SSB_SDIOHOST is not set
# CONFIG_SSB_DRIVER_GPIO is not set
CONFIG_BCMA_POSSIBLE=y
CONFIG_BCMA=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
# CONFIG_BCMA_HOST_PCI is not set
# CONFIG_BCMA_HOST_SOC is not set
# CONFIG_BCMA_DRIVER_PCI is not set
# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
# CONFIG_BCMA_DRIVER_GPIO is not set
# CONFIG_BCMA_DEBUG is not set

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
# CONFIG_MFD_ACT8945A is not set
# CONFIG_MFD_AS3711 is not set
# CONFIG_MFD_SMPRO is not set
# CONFIG_MFD_AS3722 is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_AAT2870_CORE is not set
# CONFIG_MFD_ATMEL_FLEXCOM is not set
# CONFIG_MFD_ATMEL_HLCDC is not set
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_CS42L43_I2C is not set
# CONFIG_MFD_MADERA is not set
# CONFIG_MFD_MAX5970 is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_DA9062 is not set
# CONFIG_MFD_DA9063 is not set
# CONFIG_MFD_DA9150 is not set
CONFIG_MFD_DLN2=y
# CONFIG_MFD_GATEWORKS_GSC is not set
# CONFIG_MFD_MC13XXX_SPI is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_MFD_MP2629 is not set
# CONFIG_MFD_HI6421_PMIC is not set
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
CONFIG_LPC_ICH=y
# CONFIG_LPC_SCH is not set
# CONFIG_INTEL_SOC_PMIC is not set
CONFIG_INTEL_SOC_PMIC_CHTWC=y
# CONFIG_INTEL_SOC_PMIC_CHTDC_TI is not set
# CONFIG_MFD_INTEL_LPSS_ACPI is not set
# CONFIG_MFD_INTEL_LPSS_PCI is not set
# CONFIG_MFD_INTEL_PMC_BXT is not set
# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77541 is not set
# CONFIG_MFD_MAX77620 is not set
# CONFIG_MFD_MAX77650 is not set
# CONFIG_MFD_MAX77686 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77714 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_MT6360 is not set
# CONFIG_MFD_MT6370 is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_MFD_OCELOT is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_VIPERBOARD=y
# CONFIG_MFD_NTXEC is not set
CONFIG_MFD_RETU=y
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_SY7636A is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RT4831 is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RT5120 is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_RK8XX_I2C is not set
# CONFIG_MFD_RK8XX_SPI is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SKY81452 is not set
# CONFIG_MFD_STMPE is not set
CONFIG_MFD_SYSCON=y
# CONFIG_MFD_LP3943 is not set
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_TI_LMU is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS65010 is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65086 is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TI_LP87565 is not set
# CONFIG_MFD_TPS65218 is not set
# CONFIG_MFD_TPS65219 is not set
# CONFIG_MFD_TPS6586X is not set
# CONFIG_MFD_TPS65910 is not set
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912_SPI is not set
# CONFIG_MFD_TPS6594_I2C is not set
# CONFIG_MFD_TPS6594_SPI is not set
CONFIG_TWL4030_CORE=y
# CONFIG_MFD_TWL4030_AUDIO is not set
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_LM3533 is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TQMX86 is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_LOCHNAGAR is not set
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_ARIZONA_SPI is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD957XMUF is not set
# CONFIG_MFD_STPMIC1 is not set
# CONFIG_MFD_STMFX is not set
# CONFIG_MFD_ATC260X_I2C is not set
# CONFIG_MFD_QCOM_PM8008 is not set
# CONFIG_RAVE_SP_CORE is not set
# CONFIG_MFD_INTEL_M10_BMC_SPI is not set
# CONFIG_MFD_RSMU_I2C is not set
# CONFIG_MFD_RSMU_SPI is not set
# end of Multifunction device drivers

CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
# CONFIG_REGULATOR_NETLINK_EVENTS is not set
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_AW37503 is not set
# CONFIG_REGULATOR_DA9121 is not set
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_FAN53555 is not set
# CONFIG_REGULATOR_FAN53880 is not set
# CONFIG_REGULATOR_GPIO is not set
# CONFIG_REGULATOR_ISL9305 is not set
# CONFIG_REGULATOR_ISL6271A is not set
# CONFIG_REGULATOR_LP3971 is not set
# CONFIG_REGULATOR_LP3972 is not set
# CONFIG_REGULATOR_LP872X is not set
# CONFIG_REGULATOR_LP8755 is not set
# CONFIG_REGULATOR_LTC3589 is not set
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX77503 is not set
# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8893 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MAX20086 is not set
# CONFIG_REGULATOR_MAX20411 is not set
# CONFIG_REGULATOR_MAX77826 is not set
# CONFIG_REGULATOR_MCP16502 is not set
# CONFIG_REGULATOR_MP5416 is not set
# CONFIG_REGULATOR_MP8859 is not set
# CONFIG_REGULATOR_MP886X is not set
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PCA9450 is not set
# CONFIG_REGULATOR_PF8X00 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
# CONFIG_REGULATOR_RT4801 is not set
# CONFIG_REGULATOR_RT4803 is not set
# CONFIG_REGULATOR_RT5190A is not set
# CONFIG_REGULATOR_RT5739 is not set
# CONFIG_REGULATOR_RT5759 is not set
# CONFIG_REGULATOR_RT6160 is not set
# CONFIG_REGULATOR_RT6190 is not set
# CONFIG_REGULATOR_RT6245 is not set
# CONFIG_REGULATOR_RTQ2134 is not set
# CONFIG_REGULATOR_RTMV20 is not set
# CONFIG_REGULATOR_RTQ6752 is not set
# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SLG51000 is not set
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_SY8824X is not set
# CONFIG_REGULATOR_SY8827N is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
# CONFIG_REGULATOR_TPS6286X is not set
# CONFIG_REGULATOR_TPS6287X is not set
# CONFIG_REGULATOR_TPS65023 is not set
# CONFIG_REGULATOR_TPS6507X is not set
# CONFIG_REGULATOR_TPS65132 is not set
# CONFIG_REGULATOR_TPS6524X is not set
CONFIG_REGULATOR_TWL4030=y
# CONFIG_REGULATOR_VCTRL is not set
CONFIG_RC_CORE=y
# CONFIG_LIRC is not set
# CONFIG_RC_MAP is not set
# CONFIG_RC_DECODERS is not set
CONFIG_RC_DEVICES=y
# CONFIG_IR_ENE is not set
# CONFIG_IR_FINTEK is not set
# CONFIG_IR_GPIO_CIR is not set
# CONFIG_IR_HIX5HD2 is not set
CONFIG_IR_IGORPLUGUSB=y
CONFIG_IR_IGUANA=y
CONFIG_IR_IMON=y
# CONFIG_IR_IMON_RAW is not set
# CONFIG_IR_ITE_CIR is not set
CONFIG_IR_MCEUSB=y
# CONFIG_IR_NUVOTON is not set
CONFIG_IR_REDRAT3=y
# CONFIG_IR_SERIAL is not set
CONFIG_IR_STREAMZAP=y
# CONFIG_IR_TOY is not set
CONFIG_IR_TTUSBIR=y
# CONFIG_IR_WINBOND_CIR is not set
CONFIG_RC_ATI_REMOTE=y
# CONFIG_RC_LOOPBACK is not set
# CONFIG_RC_XBOX_DVD is not set
CONFIG_CEC_CORE=y

#
# CEC support
#
# CONFIG_MEDIA_CEC_RC is not set
CONFIG_MEDIA_CEC_SUPPORT=y
# CONFIG_CEC_CH7322 is not set
# CONFIG_CEC_GPIO is not set
# CONFIG_CEC_SECO is not set
CONFIG_USB_PULSE8_CEC=y
CONFIG_USB_RAINSHADOW_CEC=y
# end of CEC support

CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_SUPPORT_FILTER=y
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set

#
# Media device types
#
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_SDR_SUPPORT=y
# CONFIG_MEDIA_PLATFORM_SUPPORT is not set
CONFIG_MEDIA_TEST_SUPPORT=y
# end of Media device types

CONFIG_VIDEO_DEV=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_DVB_CORE=y

#
# Video4Linux options
#
CONFIG_VIDEO_V4L2_I2C=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_TUNER=y
CONFIG_V4L2_MEM2MEM_DEV=y
# end of Video4Linux options

#
# Media controller options
#
CONFIG_MEDIA_CONTROLLER_DVB=y
# end of Media controller options

#
# Digital TV options
#
# CONFIG_DVB_MMAP is not set
# CONFIG_DVB_NET is not set
CONFIG_DVB_MAX_ADAPTERS=16
# CONFIG_DVB_DYNAMIC_MINORS is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
# CONFIG_DVB_ULE_DEBUG is not set
# end of Digital TV options

#
# Media drivers
#

#
# Drivers filtered as selected at 'Filter media drivers'
#

#
# Media drivers
#
CONFIG_MEDIA_USB_SUPPORT=y

#
# Webcam devices
#
CONFIG_USB_GSPCA=y
CONFIG_USB_GSPCA_BENQ=y
CONFIG_USB_GSPCA_CONEX=y
CONFIG_USB_GSPCA_CPIA1=y
CONFIG_USB_GSPCA_DTCS033=y
CONFIG_USB_GSPCA_ETOMS=y
CONFIG_USB_GSPCA_FINEPIX=y
CONFIG_USB_GSPCA_JEILINJ=y
CONFIG_USB_GSPCA_JL2005BCD=y
CONFIG_USB_GSPCA_KINECT=y
CONFIG_USB_GSPCA_KONICA=y
CONFIG_USB_GSPCA_MARS=y
CONFIG_USB_GSPCA_MR97310A=y
CONFIG_USB_GSPCA_NW80X=y
CONFIG_USB_GSPCA_OV519=y
CONFIG_USB_GSPCA_OV534=y
CONFIG_USB_GSPCA_OV534_9=y
CONFIG_USB_GSPCA_PAC207=y
CONFIG_USB_GSPCA_PAC7302=y
CONFIG_USB_GSPCA_PAC7311=y
CONFIG_USB_GSPCA_SE401=y
CONFIG_USB_GSPCA_SN9C2028=y
CONFIG_USB_GSPCA_SN9C20X=y
CONFIG_USB_GSPCA_SONIXB=y
CONFIG_USB_GSPCA_SONIXJ=y
CONFIG_USB_GSPCA_SPCA1528=y
CONFIG_USB_GSPCA_SPCA500=y
CONFIG_USB_GSPCA_SPCA501=y
CONFIG_USB_GSPCA_SPCA505=y
CONFIG_USB_GSPCA_SPCA506=y
CONFIG_USB_GSPCA_SPCA508=y
CONFIG_USB_GSPCA_SPCA561=y
CONFIG_USB_GSPCA_SQ905=y
CONFIG_USB_GSPCA_SQ905C=y
CONFIG_USB_GSPCA_SQ930X=y
CONFIG_USB_GSPCA_STK014=y
CONFIG_USB_GSPCA_STK1135=y
CONFIG_USB_GSPCA_STV0680=y
CONFIG_USB_GSPCA_SUNPLUS=y
CONFIG_USB_GSPCA_T613=y
CONFIG_USB_GSPCA_TOPRO=y
CONFIG_USB_GSPCA_TOUPTEK=y
CONFIG_USB_GSPCA_TV8532=y
CONFIG_USB_GSPCA_VC032X=y
CONFIG_USB_GSPCA_VICAM=y
CONFIG_USB_GSPCA_XIRLINK_CIT=y
CONFIG_USB_GSPCA_ZC3XX=y
CONFIG_USB_GL860=y
CONFIG_USB_M5602=y
CONFIG_USB_STV06XX=y
CONFIG_USB_PWC=y
# CONFIG_USB_PWC_DEBUG is not set
CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_USB_S2255=y
CONFIG_VIDEO_USBTV=y
CONFIG_USB_VIDEO_CLASS=y
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y

#
# Analog TV USB devices
#
CONFIG_VIDEO_GO7007=y
CONFIG_VIDEO_GO7007_USB=y
CONFIG_VIDEO_GO7007_LOADER=y
CONFIG_VIDEO_GO7007_USB_S2250_BOARD=y
CONFIG_VIDEO_HDPVR=y
CONFIG_VIDEO_PVRUSB2=y
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_STK1160=y

#
# Analog/digital TV USB devices
#
CONFIG_VIDEO_AU0828=y
CONFIG_VIDEO_AU0828_V4L2=y
CONFIG_VIDEO_AU0828_RC=y
CONFIG_VIDEO_CX231XX=y
CONFIG_VIDEO_CX231XX_RC=y
CONFIG_VIDEO_CX231XX_ALSA=y
CONFIG_VIDEO_CX231XX_DVB=y

#
# Digital TV USB devices
#
CONFIG_DVB_AS102=y
CONFIG_DVB_B2C2_FLEXCOP_USB=y
# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
CONFIG_DVB_USB_V2=y
CONFIG_DVB_USB_AF9015=y
CONFIG_DVB_USB_AF9035=y
CONFIG_DVB_USB_ANYSEE=y
CONFIG_DVB_USB_AU6610=y
CONFIG_DVB_USB_AZ6007=y
CONFIG_DVB_USB_CE6230=y
CONFIG_DVB_USB_DVBSKY=y
CONFIG_DVB_USB_EC168=y
CONFIG_DVB_USB_GL861=y
CONFIG_DVB_USB_LME2510=y
CONFIG_DVB_USB_MXL111SF=y
CONFIG_DVB_USB_RTL28XXU=y
CONFIG_DVB_USB_ZD1301=y
CONFIG_DVB_USB=y
# CONFIG_DVB_USB_DEBUG is not set
CONFIG_DVB_USB_A800=y
CONFIG_DVB_USB_AF9005=y
CONFIG_DVB_USB_AF9005_REMOTE=y
CONFIG_DVB_USB_AZ6027=y
CONFIG_DVB_USB_CINERGY_T2=y
CONFIG_DVB_USB_CXUSB=y
# CONFIG_DVB_USB_CXUSB_ANALOG is not set
CONFIG_DVB_USB_DIB0700=y
CONFIG_DVB_USB_DIB3000MC=y
CONFIG_DVB_USB_DIBUSB_MB=y
# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
CONFIG_DVB_USB_DIBUSB_MC=y
CONFIG_DVB_USB_DIGITV=y
CONFIG_DVB_USB_DTT200U=y
CONFIG_DVB_USB_DTV5100=y
CONFIG_DVB_USB_DW2102=y
CONFIG_DVB_USB_GP8PSK=y
CONFIG_DVB_USB_M920X=y
CONFIG_DVB_USB_NOVA_T_USB2=y
CONFIG_DVB_USB_OPERA1=y
CONFIG_DVB_USB_PCTV452E=y
CONFIG_DVB_USB_TECHNISAT_USB2=y
CONFIG_DVB_USB_TTUSB2=y
CONFIG_DVB_USB_UMT_010=y
CONFIG_DVB_USB_VP702X=y
CONFIG_DVB_USB_VP7045=y
CONFIG_SMS_USB_DRV=y
CONFIG_DVB_TTUSB_BUDGET=y
CONFIG_DVB_TTUSB_DEC=y

#
# Webcam, TV (analog/digital) USB devices
#
CONFIG_VIDEO_EM28XX=y
CONFIG_VIDEO_EM28XX_V4L2=y
CONFIG_VIDEO_EM28XX_ALSA=y
CONFIG_VIDEO_EM28XX_DVB=y
CONFIG_VIDEO_EM28XX_RC=y

#
# Software defined radio USB devices
#
CONFIG_USB_AIRSPY=y
CONFIG_USB_HACKRF=y
CONFIG_USB_MSI2500=y
# CONFIG_MEDIA_PCI_SUPPORT is not set
CONFIG_RADIO_ADAPTERS=y
# CONFIG_RADIO_MAXIRADIO is not set
# CONFIG_RADIO_SAA7706H is not set
CONFIG_RADIO_SHARK=y
CONFIG_RADIO_SHARK2=y
CONFIG_RADIO_SI4713=y
CONFIG_RADIO_TEA575X=y
# CONFIG_RADIO_TEA5764 is not set
# CONFIG_RADIO_TEF6862 is not set
# CONFIG_RADIO_WL1273 is not set
CONFIG_USB_DSBR=y
CONFIG_USB_KEENE=y
CONFIG_USB_MA901=y
CONFIG_USB_MR800=y
CONFIG_USB_RAREMONO=y
CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=y
# CONFIG_I2C_SI470X is not set
CONFIG_USB_SI4713=y
# CONFIG_PLATFORM_SI4713 is not set
CONFIG_I2C_SI4713=y
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIM2M=y
CONFIG_VIDEO_VICODEC=y
CONFIG_VIDEO_VIMC=y
CONFIG_VIDEO_VIVID=y
CONFIG_VIDEO_VIVID_CEC=y
CONFIG_VIDEO_VIVID_MAX_DEVS=64
# CONFIG_VIDEO_VISL is not set
CONFIG_DVB_TEST_DRIVERS=y
CONFIG_DVB_VIDTV=y

#
# FireWire (IEEE 1394) Adapters
#
# CONFIG_DVB_FIREDTV is not set
CONFIG_MEDIA_COMMON_OPTIONS=y

#
# common driver options
#
CONFIG_CYPRESS_FIRMWARE=y
CONFIG_TTPCI_EEPROM=y
CONFIG_UVC_COMMON=y
CONFIG_VIDEO_CX2341X=y
CONFIG_VIDEO_TVEEPROM=y
CONFIG_DVB_B2C2_FLEXCOP=y
CONFIG_SMS_SIANO_MDTV=y
CONFIG_SMS_SIANO_RC=y
CONFIG_VIDEO_V4L2_TPG=y
CONFIG_VIDEOBUF2_CORE=y
CONFIG_VIDEOBUF2_V4L2=y
CONFIG_VIDEOBUF2_MEMOPS=y
CONFIG_VIDEOBUF2_DMA_CONTIG=y
CONFIG_VIDEOBUF2_VMALLOC=y
CONFIG_VIDEOBUF2_DMA_SG=y
# end of Media drivers

#
# Media ancillary drivers
#
CONFIG_MEDIA_ATTACH=y
# CONFIG_VIDEO_IR_I2C is not set
# CONFIG_VIDEO_CAMERA_SENSOR is not set

#
# Camera ISPs
#
# CONFIG_VIDEO_THP7312 is not set
# end of Camera ISPs

#
# Lens drivers
#
# CONFIG_VIDEO_AD5820 is not set
# CONFIG_VIDEO_AK7375 is not set
# CONFIG_VIDEO_DW9714 is not set
# CONFIG_VIDEO_DW9719 is not set
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
# end of Lens drivers

#
# Flash devices
#
# CONFIG_VIDEO_ADP1653 is not set
# CONFIG_VIDEO_LM3560 is not set
# CONFIG_VIDEO_LM3646 is not set
# end of Flash devices

#
# Audio decoders, processors and mixers
#
# CONFIG_VIDEO_CS3308 is not set
# CONFIG_VIDEO_CS5345 is not set
CONFIG_VIDEO_CS53L32A=y
CONFIG_VIDEO_MSP3400=y
# CONFIG_VIDEO_SONY_BTF_MPX is not set
# CONFIG_VIDEO_TDA7432 is not set
# CONFIG_VIDEO_TDA9840 is not set
# CONFIG_VIDEO_TEA6415C is not set
# CONFIG_VIDEO_TEA6420 is not set
# CONFIG_VIDEO_TLV320AIC23B is not set
# CONFIG_VIDEO_TVAUDIO is not set
# CONFIG_VIDEO_UDA1342 is not set
# CONFIG_VIDEO_VP27SMPX is not set
# CONFIG_VIDEO_WM8739 is not set
CONFIG_VIDEO_WM8775=y
# end of Audio decoders, processors and mixers

#
# RDS decoders
#
# CONFIG_VIDEO_SAA6588 is not set
# end of RDS decoders

#
# Video decoders
#
# CONFIG_VIDEO_ADV7180 is not set
# CONFIG_VIDEO_ADV7183 is not set
# CONFIG_VIDEO_ADV748X is not set
# CONFIG_VIDEO_ADV7604 is not set
# CONFIG_VIDEO_ADV7842 is not set
# CONFIG_VIDEO_BT819 is not set
# CONFIG_VIDEO_BT856 is not set
# CONFIG_VIDEO_BT866 is not set
# CONFIG_VIDEO_ISL7998X is not set
# CONFIG_VIDEO_KS0127 is not set
# CONFIG_VIDEO_MAX9286 is not set
# CONFIG_VIDEO_ML86V7667 is not set
# CONFIG_VIDEO_SAA7110 is not set
CONFIG_VIDEO_SAA711X=y
# CONFIG_VIDEO_TC358743 is not set
# CONFIG_VIDEO_TC358746 is not set
# CONFIG_VIDEO_TVP514X is not set
# CONFIG_VIDEO_TVP5150 is not set
# CONFIG_VIDEO_TVP7002 is not set
# CONFIG_VIDEO_TW2804 is not set
# CONFIG_VIDEO_TW9900 is not set
# CONFIG_VIDEO_TW9903 is not set
# CONFIG_VIDEO_TW9906 is not set
# CONFIG_VIDEO_TW9910 is not set
# CONFIG_VIDEO_VPX3220 is not set

#
# Video and audio decoders
#
# CONFIG_VIDEO_SAA717X is not set
CONFIG_VIDEO_CX25840=y
# end of Video decoders

#
# Video encoders
#
# CONFIG_VIDEO_ADV7170 is not set
# CONFIG_VIDEO_ADV7175 is not set
# CONFIG_VIDEO_ADV7343 is not set
# CONFIG_VIDEO_ADV7393 is not set
# CONFIG_VIDEO_ADV7511 is not set
# CONFIG_VIDEO_AK881X is not set
# CONFIG_VIDEO_SAA7127 is not set
# CONFIG_VIDEO_SAA7185 is not set
# CONFIG_VIDEO_THS8200 is not set
# end of Video encoders

#
# Video improvement chips
#
# CONFIG_VIDEO_UPD64031A is not set
# CONFIG_VIDEO_UPD64083 is not set
# end of Video improvement chips

#
# Audio/Video compression chips
#
# CONFIG_VIDEO_SAA6752HS is not set
# end of Audio/Video compression chips

#
# SDR tuner chips
#
# CONFIG_SDR_MAX2175 is not set
# end of SDR tuner chips

#
# Miscellaneous helper chips
#
# CONFIG_VIDEO_I2C is not set
# CONFIG_VIDEO_M52790 is not set
# CONFIG_VIDEO_ST_MIPID02 is not set
# CONFIG_VIDEO_THS7303 is not set
# end of Miscellaneous helper chips

#
# Video serializers and deserializers
#
# CONFIG_VIDEO_DS90UB913 is not set
# CONFIG_VIDEO_DS90UB953 is not set
# CONFIG_VIDEO_DS90UB960 is not set
# end of Video serializers and deserializers

#
# Media SPI Adapters
#
# CONFIG_CXD2880_SPI_DRV is not set
# CONFIG_VIDEO_GS1662 is not set
# end of Media SPI Adapters

CONFIG_MEDIA_TUNER=y

#
# Customize TV tuners
#
# CONFIG_MEDIA_TUNER_E4000 is not set
# CONFIG_MEDIA_TUNER_FC0011 is not set
# CONFIG_MEDIA_TUNER_FC0012 is not set
# CONFIG_MEDIA_TUNER_FC0013 is not set
# CONFIG_MEDIA_TUNER_FC2580 is not set
# CONFIG_MEDIA_TUNER_IT913X is not set
# CONFIG_MEDIA_TUNER_M88RS6000T is not set
# CONFIG_MEDIA_TUNER_MAX2165 is not set
# CONFIG_MEDIA_TUNER_MC44S803 is not set
CONFIG_MEDIA_TUNER_MSI001=y
# CONFIG_MEDIA_TUNER_MT2060 is not set
# CONFIG_MEDIA_TUNER_MT2063 is not set
# CONFIG_MEDIA_TUNER_MT20XX is not set
# CONFIG_MEDIA_TUNER_MT2131 is not set
# CONFIG_MEDIA_TUNER_MT2266 is not set
# CONFIG_MEDIA_TUNER_MXL301RF is not set
# CONFIG_MEDIA_TUNER_MXL5005S is not set
# CONFIG_MEDIA_TUNER_MXL5007T is not set
# CONFIG_MEDIA_TUNER_QM1D1B0004 is not set
# CONFIG_MEDIA_TUNER_QM1D1C0042 is not set
# CONFIG_MEDIA_TUNER_QT1010 is not set
# CONFIG_MEDIA_TUNER_R820T is not set
# CONFIG_MEDIA_TUNER_SI2157 is not set
# CONFIG_MEDIA_TUNER_SIMPLE is not set
# CONFIG_MEDIA_TUNER_TDA18212 is not set
# CONFIG_MEDIA_TUNER_TDA18218 is not set
# CONFIG_MEDIA_TUNER_TDA18250 is not set
# CONFIG_MEDIA_TUNER_TDA18271 is not set
# CONFIG_MEDIA_TUNER_TDA827X is not set
# CONFIG_MEDIA_TUNER_TDA8290 is not set
# CONFIG_MEDIA_TUNER_TDA9887 is not set
# CONFIG_MEDIA_TUNER_TEA5761 is not set
# CONFIG_MEDIA_TUNER_TEA5767 is not set
# CONFIG_MEDIA_TUNER_TUA9001 is not set
# CONFIG_MEDIA_TUNER_XC2028 is not set
# CONFIG_MEDIA_TUNER_XC4000 is not set
# CONFIG_MEDIA_TUNER_XC5000 is not set
# end of Customize TV tuners

#
# Customise DVB Frontends
#

#
# Multistandard (satellite) frontends
#
# CONFIG_DVB_M88DS3103 is not set
# CONFIG_DVB_MXL5XX is not set
# CONFIG_DVB_STB0899 is not set
# CONFIG_DVB_STB6100 is not set
# CONFIG_DVB_STV090x is not set
# CONFIG_DVB_STV0910 is not set
# CONFIG_DVB_STV6110x is not set
# CONFIG_DVB_STV6111 is not set

#
# Multistandard (cable + terrestrial) frontends
#
# CONFIG_DVB_DRXK is not set
# CONFIG_DVB_MN88472 is not set
# CONFIG_DVB_MN88473 is not set
# CONFIG_DVB_SI2165 is not set
# CONFIG_DVB_TDA18271C2DD is not set

#
# DVB-S (satellite) frontends
#
# CONFIG_DVB_CX24110 is not set
# CONFIG_DVB_CX24116 is not set
# CONFIG_DVB_CX24117 is not set
# CONFIG_DVB_CX24120 is not set
# CONFIG_DVB_CX24123 is not set
# CONFIG_DVB_DS3000 is not set
# CONFIG_DVB_MB86A16 is not set
# CONFIG_DVB_MT312 is not set
# CONFIG_DVB_S5H1420 is not set
# CONFIG_DVB_SI21XX is not set
# CONFIG_DVB_STB6000 is not set
# CONFIG_DVB_STV0288 is not set
# CONFIG_DVB_STV0299 is not set
# CONFIG_DVB_STV0900 is not set
# CONFIG_DVB_STV6110 is not set
# CONFIG_DVB_TDA10071 is not set
# CONFIG_DVB_TDA10086 is not set
# CONFIG_DVB_TDA8083 is not set
# CONFIG_DVB_TDA8261 is not set
# CONFIG_DVB_TDA826X is not set
# CONFIG_DVB_TS2020 is not set
# CONFIG_DVB_TUA6100 is not set
# CONFIG_DVB_TUNER_CX24113 is not set
# CONFIG_DVB_TUNER_ITD1000 is not set
# CONFIG_DVB_VES1X93 is not set
# CONFIG_DVB_ZL10036 is not set
# CONFIG_DVB_ZL10039 is not set

#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_AF9013=y
CONFIG_DVB_AS102_FE=y
# CONFIG_DVB_CX22700 is not set
# CONFIG_DVB_CX22702 is not set
# CONFIG_DVB_CXD2820R is not set
# CONFIG_DVB_CXD2841ER is not set
CONFIG_DVB_DIB3000MB=y
CONFIG_DVB_DIB3000MC=y
# CONFIG_DVB_DIB7000M is not set
# CONFIG_DVB_DIB7000P is not set
# CONFIG_DVB_DIB9000 is not set
# CONFIG_DVB_DRXD is not set
CONFIG_DVB_EC100=y
CONFIG_DVB_GP8PSK_FE=y
# CONFIG_DVB_L64781 is not set
# CONFIG_DVB_MT352 is not set
# CONFIG_DVB_NXT6000 is not set
CONFIG_DVB_RTL2830=y
CONFIG_DVB_RTL2832=y
CONFIG_DVB_RTL2832_SDR=y
# CONFIG_DVB_S5H1432 is not set
# CONFIG_DVB_SI2168 is not set
# CONFIG_DVB_SP887X is not set
# CONFIG_DVB_STV0367 is not set
# CONFIG_DVB_TDA10048 is not set
# CONFIG_DVB_TDA1004X is not set
# CONFIG_DVB_ZD1301_DEMOD is not set
CONFIG_DVB_ZL10353=y
# CONFIG_DVB_CXD2880 is not set

#
# DVB-C (cable) frontends
#
# CONFIG_DVB_STV0297 is not set
# CONFIG_DVB_TDA10021 is not set
# CONFIG_DVB_TDA10023 is not set
# CONFIG_DVB_VES1820 is not set

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
# CONFIG_DVB_AU8522_DTV is not set
# CONFIG_DVB_AU8522_V4L is not set
# CONFIG_DVB_BCM3510 is not set
# CONFIG_DVB_LG2160 is not set
# CONFIG_DVB_LGDT3305 is not set
# CONFIG_DVB_LGDT3306A is not set
# CONFIG_DVB_LGDT330X is not set
# CONFIG_DVB_MXL692 is not set
# CONFIG_DVB_NXT200X is not set
# CONFIG_DVB_OR51132 is not set
# CONFIG_DVB_OR51211 is not set
# CONFIG_DVB_S5H1409 is not set
# CONFIG_DVB_S5H1411 is not set

#
# ISDB-T (terrestrial) frontends
#
# CONFIG_DVB_DIB8000 is not set
# CONFIG_DVB_MB86A20S is not set
# CONFIG_DVB_S921 is not set

#
# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
#
# CONFIG_DVB_MN88443X is not set
# CONFIG_DVB_TC90522 is not set

#
# Digital terrestrial only tuners/PLL
#
# CONFIG_DVB_PLL is not set
# CONFIG_DVB_TUNER_DIB0070 is not set
# CONFIG_DVB_TUNER_DIB0090 is not set

#
# SEC control devices for DVB-S
#
# CONFIG_DVB_A8293 is not set
CONFIG_DVB_AF9033=y
# CONFIG_DVB_ASCOT2E is not set
# CONFIG_DVB_ATBM8830 is not set
# CONFIG_DVB_HELENE is not set
# CONFIG_DVB_HORUS3A is not set
# CONFIG_DVB_ISL6405 is not set
# CONFIG_DVB_ISL6421 is not set
# CONFIG_DVB_ISL6423 is not set
# CONFIG_DVB_IX2505V is not set
# CONFIG_DVB_LGS8GL5 is not set
# CONFIG_DVB_LGS8GXX is not set
# CONFIG_DVB_LNBH25 is not set
# CONFIG_DVB_LNBH29 is not set
# CONFIG_DVB_LNBP21 is not set
# CONFIG_DVB_LNBP22 is not set
# CONFIG_DVB_M88RS2000 is not set
# CONFIG_DVB_TDA665x is not set
# CONFIG_DVB_DRX39XYJ is not set

#
# Common Interface (EN50221) controller drivers
#
# CONFIG_DVB_CXD2099 is not set
# CONFIG_DVB_SP2 is not set
# end of Customise DVB Frontends

#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set
# end of Media ancillary drivers

#
# Graphics support
#
CONFIG_APERTURE_HELPERS=y
CONFIG_SCREEN_INFO=y
CONFIG_VIDEO=y
# CONFIG_AUXDISPLAY is not set
# CONFIG_PANEL is not set
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_VIA is not set
CONFIG_INTEL_GTT=y
# CONFIG_VGA_SWITCHEROO is not set
CONFIG_DRM=y
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_DEBUG_MM=y
CONFIG_DRM_KMS_HELPER=y
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
# CONFIG_DRM_DEBUG_MODESET_LOCK is not set
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_DP_AUX_BUS=y
CONFIG_DRM_DISPLAY_HELPER=y
CONFIG_DRM_DISPLAY_DP_HELPER=y
CONFIG_DRM_DISPLAY_DP_TUNNEL=y
# CONFIG_DRM_DISPLAY_DEBUG_DP_TUNNEL_STATE is not set
CONFIG_DRM_DISPLAY_HDCP_HELPER=y
CONFIG_DRM_DISPLAY_HDMI_HELPER=y
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_TTM=y
CONFIG_DRM_BUDDY=y
CONFIG_DRM_VRAM_HELPER=y
CONFIG_DRM_TTM_HELPER=y
CONFIG_DRM_GEM_SHMEM_HELPER=y

#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
# end of I2C encoder or helper chips

#
# ARM devices
#
# CONFIG_DRM_KOMEDA is not set
# end of ARM devices

# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_AMDGPU is not set
# CONFIG_DRM_NOUVEAU is not set
CONFIG_DRM_I915=y
CONFIG_DRM_I915_FORCE_PROBE=""
CONFIG_DRM_I915_CAPTURE_ERROR=y
CONFIG_DRM_I915_COMPRESS_ERROR=y
CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_I915_GVT_KVMGT is not set
CONFIG_DRM_I915_DP_TUNNEL=y

#
# drm/i915 Debugging
#
# CONFIG_DRM_I915_WERROR is not set
# CONFIG_DRM_I915_DEBUG is not set
# CONFIG_DRM_I915_DEBUG_MMIO is not set
# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set
# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set
# CONFIG_DRM_I915_DEBUG_GUC is not set
# CONFIG_DRM_I915_SELFTEST is not set
# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set
# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set
# CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set
# CONFIG_DRM_I915_DEBUG_WAKEREF is not set
# end of drm/i915 Debugging

#
# drm/i915 Profile Guided Optimisation
#
CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
CONFIG_DRM_I915_PREEMPT_TIMEOUT_COMPUTE=7500
CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000
CONFIG_DRM_I915_STOP_TIMEOUT=100
CONFIG_DRM_I915_TIMESLICE_DURATION=1
# end of drm/i915 Profile Guided Optimisation

# CONFIG_DRM_XE is not set
CONFIG_DRM_VGEM=y
CONFIG_DRM_VKMS=y
CONFIG_DRM_VMWGFX=y
# CONFIG_DRM_VMWGFX_MKSSTATS is not set
# CONFIG_DRM_GMA500 is not set
CONFIG_DRM_UDL=y
# CONFIG_DRM_AST is not set
# CONFIG_DRM_MGAG200 is not set
# CONFIG_DRM_QXL is not set
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_DRM_VIRTIO_GPU_KMS=y
CONFIG_DRM_PANEL=y

#
# Display Panels
#
# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
# CONFIG_DRM_PANEL_AUO_A030JTN01 is not set
# CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0 is not set
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
# CONFIG_DRM_PANEL_BOE_TH101MB31UIG002_28A is not set
# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
# CONFIG_DRM_PANEL_EBBG_FT8719 is not set
# CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set
# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
# CONFIG_DRM_PANEL_DSI_CM is not set
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_HIMAX_HX83112A is not set
# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9805 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9882T is not set
# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JADARD_JD9365DA_H3 is not set
# CONFIG_DRM_PANEL_JDI_LPM102A188A is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_JDI_R63452 is not set
# CONFIG_DRM_PANEL_KHADAS_TS050 is not set
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966 is not set
# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
# CONFIG_DRM_PANEL_NEWVISION_NV3051D is not set
# CONFIG_DRM_PANEL_NEWVISION_NV3052C is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT36523 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
# CONFIG_DRM_PANEL_NOVATEK_NT36672E is not set
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
# CONFIG_DRM_PANEL_ORISETECH_OTA5601A is not set
# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM692E5 is not set
# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set
# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set
# CONFIG_DRM_PANEL_STARTEK_KD070FHFID015 is not set
CONFIG_DRM_PANEL_EDP=y
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SYNAPTICS_R63353 is not set
# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
# CONFIG_DRM_PANEL_VISIONOX_R66451 is not set
# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
# end of Display Panels

CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y

#
# Display Interface Bridges
#
# CONFIG_DRM_CHIPONE_ICN6211 is not set
# CONFIG_DRM_CHRONTEL_CH7033 is not set
# CONFIG_DRM_DISPLAY_CONNECTOR is not set
# CONFIG_DRM_ITE_IT6505 is not set
# CONFIG_DRM_LONTIUM_LT8912B is not set
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
# CONFIG_DRM_ITE_IT66121 is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
# CONFIG_DRM_NWL_MIPI_DSI is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PARADE_PS8622 is not set
# CONFIG_DRM_PARADE_PS8640 is not set
# CONFIG_DRM_SAMSUNG_DSIM is not set
# CONFIG_DRM_SIL_SII8620 is not set
# CONFIG_DRM_SII902X is not set
# CONFIG_DRM_SII9234 is not set
# CONFIG_DRM_SIMPLE_BRIDGE is not set
# CONFIG_DRM_THINE_THC63LVD1024 is not set
# CONFIG_DRM_TOSHIBA_TC358762 is not set
# CONFIG_DRM_TOSHIBA_TC358764 is not set
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
# CONFIG_DRM_TI_DLPC3433 is not set
# CONFIG_DRM_TI_TFP410 is not set
# CONFIG_DRM_TI_SN65DSI83 is not set
# CONFIG_DRM_TI_SN65DSI86 is not set
# CONFIG_DRM_TI_TPD12S015 is not set
# CONFIG_DRM_ANALOGIX_ANX6345 is not set
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# CONFIG_DRM_ANALOGIX_ANX7625 is not set
# CONFIG_DRM_I2C_ADV7511 is not set
# CONFIG_DRM_CDNS_DSI is not set
# CONFIG_DRM_CDNS_MHDP8546 is not set
# end of Display Interface Bridges

# CONFIG_DRM_ETNAVIV is not set
# CONFIG_DRM_LOGICVC is not set
# CONFIG_DRM_ARCPGU is not set
CONFIG_DRM_BOCHS=y
CONFIG_DRM_CIRRUS_QEMU=y
# CONFIG_DRM_GM12U320 is not set
# CONFIG_DRM_PANEL_MIPI_DBI is not set
CONFIG_DRM_SIMPLEDRM=y
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9163 is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
# CONFIG_TINYDRM_ILI9486 is not set
# CONFIG_TINYDRM_MI0283QT is not set
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
# CONFIG_TINYDRM_ST7735R is not set
# CONFIG_DRM_VBOXVIDEO is not set
# CONFIG_DRM_GUD is not set
# CONFIG_DRM_SSD130X is not set
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y

#
# Frame buffer Devices
#
CONFIG_FB=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
CONFIG_FB_VGA16=y
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_OPENCORES is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_VIA is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_IBM_GXT4500 is not set
CONFIG_FB_VIRTUAL=y
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_SSD1307 is not set
# CONFIG_FB_SM712 is not set
CONFIG_FB_CORE=y
CONFIG_FB_NOTIFY=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DEVICE is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYSMEM_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_IOMEM_FOPS=y
CONFIG_FB_IOMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
# CONFIG_FB_MODE_HELPERS is not set
CONFIG_FB_TILEBLITTING=y
# end of Frame buffer Devices

#
# Backlight & LCD device support
#
CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_LCD_L4F00242T03 is not set
# CONFIG_LCD_LMS283GF05 is not set
# CONFIG_LCD_LTV350QV is not set
# CONFIG_LCD_ILI922X is not set
# CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_TDO24M is not set
# CONFIG_LCD_VGG2432A4 is not set
# CONFIG_LCD_PLATFORM is not set
# CONFIG_LCD_AMS369FG06 is not set
# CONFIG_LCD_LMS501KF03 is not set
# CONFIG_LCD_HX8357 is not set
# CONFIG_LCD_OTM3225A is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_KTD253 is not set
# CONFIG_BACKLIGHT_KTD2801 is not set
# CONFIG_BACKLIGHT_KTZ8866 is not set
# CONFIG_BACKLIGHT_APPLE is not set
# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_PANDORA is not set
# CONFIG_BACKLIGHT_GPIO is not set
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
# CONFIG_BACKLIGHT_ARCXCNN is not set
# CONFIG_BACKLIGHT_LED is not set
# end of Backlight & LCD device support

CONFIG_VGASTATE=y
CONFIG_VIDEOMODE_HELPERS=y
CONFIG_HDMI=y

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
# end of Console display driver support

CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
# CONFIG_LOGO_LINUX_CLUT224 is not set
# end of Graphics support

# CONFIG_DRM_ACCEL is not set
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_SEQ_DEVICE=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_JACK=y
CONFIG_SND_JACK_INPUT_DEV=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_PCM_TIMER=y
CONFIG_SND_HRTIMER=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MAX_CARDS=32
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_PROC_FS=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
CONFIG_SND_CTL_FAST_LOOKUP=y
CONFIG_SND_DEBUG=y
# CONFIG_SND_DEBUG_VERBOSE is not set
CONFIG_SND_PCM_XRUN_DEBUG=y
# CONFIG_SND_CTL_INPUT_VALIDATION is not set
# CONFIG_SND_CTL_DEBUG is not set
# CONFIG_SND_JACK_INJECTION_DEBUG is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_CTL_LED=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_SEQ_MIDI_EVENT=y
CONFIG_SND_SEQ_MIDI=y
CONFIG_SND_SEQ_VIRMIDI=y
# CONFIG_SND_SEQ_UMP is not set
CONFIG_SND_DRIVERS=y
# CONFIG_SND_PCSP is not set
CONFIG_SND_DUMMY=y
CONFIG_SND_ALOOP=y
# CONFIG_SND_PCMTEST is not set
CONFIG_SND_VIRMIDI=y
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_MTS64 is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_SERIAL_GENERIC is not set
# CONFIG_SND_MPU401 is not set
# CONFIG_SND_PORTMAN2X4 is not set
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ASIHPI is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_OXYGEN is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CTXFI is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_INDIGOIOX is not set
# CONFIG_SND_INDIGODJX is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_LOLA is not set
# CONFIG_SND_LX6464ES is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SE6X is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set

#
# HD-Audio
#
CONFIG_SND_HDA=y
CONFIG_SND_HDA_GENERIC_LEDS=y
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_SCODEC_COMPONENT=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_HDMI=y
CONFIG_SND_HDA_CODEC_CIRRUS=y
# CONFIG_SND_HDA_CODEC_CS8409 is not set
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CA0132=y
# CONFIG_SND_HDA_CODEC_CA0132_DSP is not set
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
# CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set
# CONFIG_SND_HDA_CTL_DEV_ID is not set
# end of HD-Audio

CONFIG_SND_HDA_CORE=y
CONFIG_SND_HDA_COMPONENT=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_INTEL_NHLT=y
CONFIG_SND_INTEL_DSP_CONFIG=y
CONFIG_SND_INTEL_SOUNDWIRE_ACPI=y
# CONFIG_SND_SPI is not set
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
# CONFIG_SND_USB_AUDIO_MIDI_V2 is not set
CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
CONFIG_SND_USB_UA101=y
CONFIG_SND_USB_USX2Y=y
CONFIG_SND_USB_CAIAQ=y
CONFIG_SND_USB_CAIAQ_INPUT=y
CONFIG_SND_USB_US122L=y
CONFIG_SND_USB_6FIRE=y
CONFIG_SND_USB_HIFACE=y
CONFIG_SND_BCD2000=y
CONFIG_SND_USB_LINE6=y
CONFIG_SND_USB_POD=y
CONFIG_SND_USB_PODHD=y
CONFIG_SND_USB_TONEPORT=y
CONFIG_SND_USB_VARIAX=y
# CONFIG_SND_FIREWIRE is not set
CONFIG_SND_PCMCIA=y
# CONFIG_SND_VXPOCKET is not set
# CONFIG_SND_PDAUDIOCF is not set
# CONFIG_SND_SOC is not set
CONFIG_SND_X86=y
# CONFIG_HDMI_LPE_AUDIO is not set
CONFIG_SND_VIRTIO=y
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=y
CONFIG_HID_GENERIC=y

#
# Special HID drivers
#
CONFIG_HID_A4TECH=y
CONFIG_HID_ACCUTOUCH=y
CONFIG_HID_ACRUX=y
CONFIG_HID_ACRUX_FF=y
CONFIG_HID_APPLE=y
CONFIG_HID_APPLEIR=y
CONFIG_HID_ASUS=y
CONFIG_HID_AUREAL=y
CONFIG_HID_BELKIN=y
CONFIG_HID_BETOP_FF=y
# CONFIG_HID_BIGBEN_FF is not set
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CORSAIR=y
# CONFIG_HID_COUGAR is not set
# CONFIG_HID_MACALLY is not set
CONFIG_HID_PRODIKEYS=y
CONFIG_HID_CMEDIA=y
CONFIG_HID_CP2112=y
# CONFIG_HID_CREATIVE_SB0540 is not set
CONFIG_HID_CYPRESS=y
CONFIG_HID_DRAGONRISE=y
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=y
# CONFIG_HID_ELAN is not set
CONFIG_HID_ELECOM=y
CONFIG_HID_ELO=y
# CONFIG_HID_EVISION is not set
CONFIG_HID_EZKEY=y
# CONFIG_HID_FT260 is not set
CONFIG_HID_GEMBIRD=y
CONFIG_HID_GFRM=y
# CONFIG_HID_GLORIOUS is not set
CONFIG_HID_HOLTEK=y
CONFIG_HOLTEK_FF=y
# CONFIG_HID_GOOGLE_STADIA_FF is not set
# CONFIG_HID_VIVALDI is not set
CONFIG_HID_GT683R=y
CONFIG_HID_KEYTOUCH=y
CONFIG_HID_KYE=y
CONFIG_HID_UCLOGIC=y
CONFIG_HID_WALTOP=y
# CONFIG_HID_VIEWSONIC is not set
# CONFIG_HID_VRC2 is not set
# CONFIG_HID_XIAOMI is not set
CONFIG_HID_GYRATION=y
CONFIG_HID_ICADE=y
CONFIG_HID_ITE=y
# CONFIG_HID_JABRA is not set
CONFIG_HID_TWINHAN=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LCPOWER=y
CONFIG_HID_LED=y
CONFIG_HID_LENOVO=y
# CONFIG_HID_LETSKETCH is not set
CONFIG_HID_LOGITECH=y
CONFIG_HID_LOGITECH_DJ=y
CONFIG_HID_LOGITECH_HIDPP=y
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MAGICMOUSE=y
# CONFIG_HID_MALTRON is not set
CONFIG_HID_MAYFLASH=y
# CONFIG_HID_MEGAWORLD_FF is not set
CONFIG_HID_REDRAGON=y
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_MULTITOUCH=y
# CONFIG_HID_NINTENDO is not set
CONFIG_HID_NTI=y
CONFIG_HID_NTRIG=y
# CONFIG_HID_NVIDIA_SHIELD is not set
CONFIG_HID_ORTEK=y
CONFIG_HID_PANTHERLORD=y
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PENMOUNT=y
CONFIG_HID_PETALYNX=y
CONFIG_HID_PICOLCD=y
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PICOLCD_CIR=y
CONFIG_HID_PLANTRONICS=y
# CONFIG_HID_PXRC is not set
# CONFIG_HID_RAZER is not set
CONFIG_HID_PRIMAX=y
CONFIG_HID_RETRODE=y
CONFIG_HID_ROCCAT=y
CONFIG_HID_SAITEK=y
CONFIG_HID_SAMSUNG=y
# CONFIG_HID_SEMITEK is not set
# CONFIG_HID_SIGMAMICRO is not set
CONFIG_HID_SONY=y
CONFIG_SONY_FF=y
CONFIG_HID_SPEEDLINK=y
# CONFIG_HID_STEAM is not set
CONFIG_HID_STEELSERIES=y
CONFIG_HID_SUNPLUS=y
CONFIG_HID_RMI=y
CONFIG_HID_GREENASIA=y
CONFIG_GREENASIA_FF=y
CONFIG_HID_SMARTJOYPLUS=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_HID_TIVO=y
CONFIG_HID_TOPSEED=y
# CONFIG_HID_TOPRE is not set
CONFIG_HID_THINGM=y
CONFIG_HID_THRUSTMASTER=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_HID_UDRAW_PS3=y
# CONFIG_HID_U2FZERO is not set
CONFIG_HID_WACOM=y
CONFIG_HID_WIIMOTE=y
CONFIG_HID_XINMO=y
CONFIG_HID_ZEROPLUS=y
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=y
CONFIG_HID_SENSOR_HUB=y
CONFIG_HID_SENSOR_CUSTOM_SENSOR=y
CONFIG_HID_ALPS=y
# CONFIG_HID_MCP2200 is not set
# CONFIG_HID_MCP2221 is not set
# end of Special HID drivers

#
# HID-BPF support
#
# end of HID-BPF support

#
# USB HID support
#
CONFIG_USB_HID=y
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y
# end of USB HID support

CONFIG_I2C_HID=y
# CONFIG_I2C_HID_ACPI is not set
# CONFIG_I2C_HID_OF is not set
# CONFIG_I2C_HID_OF_ELAN is not set
# CONFIG_I2C_HID_OF_GOODIX is not set

#
# Intel ISH HID support
#
CONFIG_INTEL_ISH_HID=y
# CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER is not set
# end of Intel ISH HID support

#
# AMD SFH HID Support
#
# CONFIG_AMD_SFH_HID is not set
# end of AMD SFH HID Support

CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_LED_TRIG=y
CONFIG_USB_ULPI_BUS=y
# CONFIG_USB_CONN_GPIO is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
CONFIG_USB_PCI=y
CONFIG_USB_PCI_AMD=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_FEW_INIT_RETRIES=y
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_OTG=y
# CONFIG_USB_OTG_PRODUCTLIST is not set
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
CONFIG_USB_OTG_FSM=y
CONFIG_USB_LEDS_TRIGGER_USBPORT=y
CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_DEFAULT_AUTHORIZATION_MODE=1
CONFIG_USB_MON=y

#
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_PCI=y
# CONFIG_USB_XHCI_PCI_RENESAS is not set
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_PCI=y
# CONFIG_USB_EHCI_FSL is not set
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_OXU210HP_HCD=y
CONFIG_USB_ISP116X_HCD=y
CONFIG_USB_MAX3421_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PCI=y
# CONFIG_USB_OHCI_HCD_SSB is not set
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_SL811_HCD=y
CONFIG_USB_SL811_HCD_ISO=y
CONFIG_USB_SL811_CS=y
CONFIG_USB_R8A66597_HCD=y
CONFIG_USB_HCD_BCMA=y
CONFIG_USB_HCD_SSB=y
# CONFIG_USB_HCD_TEST_MODE is not set

#
# USB Device Class drivers
#
CONFIG_USB_ACM=y
CONFIG_USB_PRINTER=y
CONFIG_USB_WDM=y
CONFIG_USB_TMC=y

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_REALTEK=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
CONFIG_USB_STORAGE_ONETOUCH=y
CONFIG_USB_STORAGE_KARMA=y
CONFIG_USB_STORAGE_CYPRESS_ATACB=y
CONFIG_USB_STORAGE_ENE_UB6250=y
CONFIG_USB_UAS=y

#
# USB Imaging devices
#
CONFIG_USB_MDC800=y
CONFIG_USB_MICROTEK=y
CONFIG_USBIP_CORE=y
CONFIG_USBIP_VHCI_HCD=y
CONFIG_USBIP_VHCI_HC_PORTS=8
CONFIG_USBIP_VHCI_NR_HCS=16
CONFIG_USBIP_HOST=y
CONFIG_USBIP_VUDC=y
# CONFIG_USBIP_DEBUG is not set

#
# USB dual-mode controller drivers
#
# CONFIG_USB_CDNS_SUPPORT is not set
CONFIG_USB_MUSB_HDRC=y
# CONFIG_USB_MUSB_HOST is not set
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_DUAL_ROLE=y

#
# Platform Glue Layer
#

#
# MUSB DMA mode
#
CONFIG_MUSB_PIO_ONLY=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_ULPI=y
# CONFIG_USB_DWC3_HOST is not set
CONFIG_USB_DWC3_GADGET=y
# CONFIG_USB_DWC3_DUAL_ROLE is not set

#
# Platform Glue Driver Support
#
CONFIG_USB_DWC3_PCI=y
# CONFIG_USB_DWC3_HAPS is not set
CONFIG_USB_DWC3_OF_SIMPLE=y
CONFIG_USB_DWC2=y
CONFIG_USB_DWC2_HOST=y

#
# Gadget/Dual-role mode requires USB Gadget support to be enabled
#
# CONFIG_USB_DWC2_PERIPHERAL is not set
# CONFIG_USB_DWC2_DUAL_ROLE is not set
CONFIG_USB_DWC2_PCI=y
# CONFIG_USB_DWC2_DEBUG is not set
# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_CHIPIDEA_PCI=y
# CONFIG_USB_CHIPIDEA_MSM is not set
# CONFIG_USB_CHIPIDEA_NPCM is not set
# CONFIG_USB_CHIPIDEA_IMX is not set
# CONFIG_USB_CHIPIDEA_GENERIC is not set
# CONFIG_USB_CHIPIDEA_TEGRA is not set
CONFIG_USB_ISP1760=y
CONFIG_USB_ISP1760_HCD=y
CONFIG_USB_ISP1761_UDC=y
# CONFIG_USB_ISP1760_HOST_ROLE is not set
# CONFIG_USB_ISP1760_GADGET_ROLE is not set
CONFIG_USB_ISP1760_DUAL_ROLE=y

#
# USB port drivers
#
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_SIMPLE=y
CONFIG_USB_SERIAL_AIRCABLE=y
CONFIG_USB_SERIAL_ARK3116=y
CONFIG_USB_SERIAL_BELKIN=y
CONFIG_USB_SERIAL_CH341=y
CONFIG_USB_SERIAL_WHITEHEAT=y
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=y
CONFIG_USB_SERIAL_CP210X=y
CONFIG_USB_SERIAL_CYPRESS_M8=y
CONFIG_USB_SERIAL_EMPEG=y
CONFIG_USB_SERIAL_FTDI_SIO=y
CONFIG_USB_SERIAL_VISOR=y
CONFIG_USB_SERIAL_IPAQ=y
CONFIG_USB_SERIAL_IR=y
CONFIG_USB_SERIAL_EDGEPORT=y
CONFIG_USB_SERIAL_EDGEPORT_TI=y
CONFIG_USB_SERIAL_F81232=y
CONFIG_USB_SERIAL_F8153X=y
CONFIG_USB_SERIAL_GARMIN=y
CONFIG_USB_SERIAL_IPW=y
CONFIG_USB_SERIAL_IUU=y
CONFIG_USB_SERIAL_KEYSPAN_PDA=y
CONFIG_USB_SERIAL_KEYSPAN=y
CONFIG_USB_SERIAL_KLSI=y
CONFIG_USB_SERIAL_KOBIL_SCT=y
CONFIG_USB_SERIAL_MCT_U232=y
CONFIG_USB_SERIAL_METRO=y
CONFIG_USB_SERIAL_MOS7720=y
CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7840=y
CONFIG_USB_SERIAL_MXUPORT=y
CONFIG_USB_SERIAL_NAVMAN=y
CONFIG_USB_SERIAL_PL2303=y
CONFIG_USB_SERIAL_OTI6858=y
CONFIG_USB_SERIAL_QCAUX=y
CONFIG_USB_SERIAL_QUALCOMM=y
CONFIG_USB_SERIAL_SPCP8X5=y
CONFIG_USB_SERIAL_SAFE=y
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
CONFIG_USB_SERIAL_SIERRAWIRELESS=y
CONFIG_USB_SERIAL_SYMBOL=y
CONFIG_USB_SERIAL_TI=y
CONFIG_USB_SERIAL_CYBERJACK=y
CONFIG_USB_SERIAL_WWAN=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_USB_SERIAL_OMNINET=y
CONFIG_USB_SERIAL_OPTICON=y
CONFIG_USB_SERIAL_XSENS_MT=y
CONFIG_USB_SERIAL_WISHBONE=y
CONFIG_USB_SERIAL_SSU100=y
CONFIG_USB_SERIAL_QT2=y
CONFIG_USB_SERIAL_UPD78F0730=y
CONFIG_USB_SERIAL_XR=y
CONFIG_USB_SERIAL_DEBUG=y

#
# USB Miscellaneous drivers
#
CONFIG_USB_USS720=y
CONFIG_USB_EMI62=y
CONFIG_USB_EMI26=y
CONFIG_USB_ADUTUX=y
CONFIG_USB_SEVSEG=y
CONFIG_USB_LEGOTOWER=y
CONFIG_USB_LCD=y
CONFIG_USB_CYPRESS_CY7C63=y
CONFIG_USB_CYTHERM=y
CONFIG_USB_IDMOUSE=y
CONFIG_USB_APPLEDISPLAY=y
# CONFIG_APPLE_MFI_FASTCHARGE is not set
# CONFIG_USB_LJCA is not set
CONFIG_USB_SISUSBVGA=y
CONFIG_USB_LD=y
CONFIG_USB_TRANCEVIBRATOR=y
CONFIG_USB_IOWARRIOR=y
CONFIG_USB_TEST=y
CONFIG_USB_EHSET_TEST_FIXTURE=y
CONFIG_USB_ISIGHTFW=y
CONFIG_USB_YUREX=y
CONFIG_USB_EZUSB_FX2=y
CONFIG_USB_HUB_USB251XB=y
CONFIG_USB_HSIC_USB3503=y
CONFIG_USB_HSIC_USB4604=y
CONFIG_USB_LINK_LAYER_TEST=y
CONFIG_USB_CHAOSKEY=y
# CONFIG_USB_ONBOARD_HUB is not set
CONFIG_USB_ATM=y
CONFIG_USB_SPEEDTOUCH=y
CONFIG_USB_CXACRU=y
CONFIG_USB_UEAGLEATM=y
CONFIG_USB_XUSBATM=y

#
# USB Physical Layer drivers
#
CONFIG_USB_PHY=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_GPIO_VBUS=y
CONFIG_TAHVO_USB=y
CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y
CONFIG_USB_ISP1301=y
# end of USB Physical Layer drivers

CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
CONFIG_USB_GADGET_DEBUG_FILES=y
CONFIG_USB_GADGET_DEBUG_FS=y
CONFIG_USB_GADGET_VBUS_DRAW=500
CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
CONFIG_U_SERIAL_CONSOLE=y

#
# USB Peripheral Controller
#
CONFIG_USB_GR_UDC=y
CONFIG_USB_R8A66597=y
CONFIG_USB_PXA27X=y
CONFIG_USB_MV_UDC=y
CONFIG_USB_MV_U3D=y
CONFIG_USB_SNP_CORE=y
# CONFIG_USB_SNP_UDC_PLAT is not set
# CONFIG_USB_M66592 is not set
CONFIG_USB_BDC_UDC=y
CONFIG_USB_AMD5536UDC=y
CONFIG_USB_NET2272=y
CONFIG_USB_NET2272_DMA=y
CONFIG_USB_NET2280=y
CONFIG_USB_GOKU=y
CONFIG_USB_EG20T=y
# CONFIG_USB_GADGET_XILINX is not set
# CONFIG_USB_MAX3420_UDC is not set
# CONFIG_USB_CDNS2_UDC is not set
CONFIG_USB_DUMMY_HCD=y
# end of USB Peripheral Controller

CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_F_ACM=y
CONFIG_USB_F_SS_LB=y
CONFIG_USB_U_SERIAL=y
CONFIG_USB_U_ETHER=y
CONFIG_USB_U_AUDIO=y
CONFIG_USB_F_SERIAL=y
CONFIG_USB_F_OBEX=y
CONFIG_USB_F_NCM=y
CONFIG_USB_F_ECM=y
CONFIG_USB_F_PHONET=y
CONFIG_USB_F_EEM=y
CONFIG_USB_F_SUBSET=y
CONFIG_USB_F_RNDIS=y
CONFIG_USB_F_MASS_STORAGE=y
CONFIG_USB_F_FS=y
CONFIG_USB_F_UAC1=y
CONFIG_USB_F_UAC1_LEGACY=y
CONFIG_USB_F_UAC2=y
CONFIG_USB_F_UVC=y
CONFIG_USB_F_MIDI=y
CONFIG_USB_F_HID=y
CONFIG_USB_F_PRINTER=y
CONFIG_USB_F_TCM=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_OBEX=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_ECM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_EEM=y
CONFIG_USB_CONFIGFS_PHONET=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_LB_SS=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_UAC1=y
CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y
CONFIG_USB_CONFIGFS_F_UAC2=y
CONFIG_USB_CONFIGFS_F_MIDI=y
# CONFIG_USB_CONFIGFS_F_MIDI2 is not set
CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_CONFIGFS_F_UVC=y
CONFIG_USB_CONFIGFS_F_PRINTER=y
CONFIG_USB_CONFIGFS_F_TCM=y

#
# USB Gadget precomposed configurations
#
# CONFIG_USB_ZERO is not set
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_ETH is not set
# CONFIG_USB_G_NCM is not set
CONFIG_USB_GADGETFS=y
# CONFIG_USB_FUNCTIONFS is not set
# CONFIG_USB_MASS_STORAGE is not set
# CONFIG_USB_GADGET_TARGET is not set
# CONFIG_USB_G_SERIAL is not set
# CONFIG_USB_MIDI_GADGET is not set
# CONFIG_USB_G_PRINTER is not set
# CONFIG_USB_CDC_COMPOSITE is not set
# CONFIG_USB_G_NOKIA is not set
# CONFIG_USB_G_ACM_MS is not set
# CONFIG_USB_G_MULTI is not set
# CONFIG_USB_G_HID is not set
# CONFIG_USB_G_DBGP is not set
# CONFIG_USB_G_WEBCAM is not set
CONFIG_USB_RAW_GADGET=y
# end of USB Gadget precomposed configurations

CONFIG_TYPEC=y
CONFIG_TYPEC_TCPM=y
CONFIG_TYPEC_TCPCI=y
# CONFIG_TYPEC_RT1711H is not set
# CONFIG_TYPEC_TCPCI_MAXIM is not set
CONFIG_TYPEC_FUSB302=y
CONFIG_TYPEC_UCSI=y
# CONFIG_UCSI_CCG is not set
CONFIG_UCSI_ACPI=y
# CONFIG_UCSI_STM32G0 is not set
CONFIG_TYPEC_TPS6598X=y
# CONFIG_TYPEC_ANX7411 is not set
# CONFIG_TYPEC_RT1719 is not set
# CONFIG_TYPEC_HD3SS3220 is not set
# CONFIG_TYPEC_STUSB160X is not set
# CONFIG_TYPEC_WUSB3801 is not set

#
# USB Type-C Multiplexer/DeMultiplexer Switch support
#
# CONFIG_TYPEC_MUX_FSA4480 is not set
# CONFIG_TYPEC_MUX_GPIO_SBU is not set
# CONFIG_TYPEC_MUX_PI3USB30532 is not set
# CONFIG_TYPEC_MUX_IT5205 is not set
# CONFIG_TYPEC_MUX_NB7VPQ904M is not set
# CONFIG_TYPEC_MUX_PTN36502 is not set
# CONFIG_TYPEC_MUX_WCD939X_USBSS is not set
# end of USB Type-C Multiplexer/DeMultiplexer Switch support

#
# USB Type-C Alternate Mode drivers
#
# CONFIG_TYPEC_DP_ALTMODE is not set
# end of USB Type-C Alternate Mode drivers

CONFIG_USB_ROLE_SWITCH=y
# CONFIG_USB_ROLES_INTEL_XHCI is not set
CONFIG_MMC=y
# CONFIG_PWRSEQ_EMMC is not set
# CONFIG_PWRSEQ_SIMPLE is not set
# CONFIG_MMC_BLOCK is not set
# CONFIG_SDIO_UART is not set
# CONFIG_MMC_TEST is not set
# CONFIG_MMC_CRYPTO is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_SDHCI is not set
# CONFIG_MMC_WBSD is not set
# CONFIG_MMC_TIFM_SD is not set
# CONFIG_MMC_SPI is not set
# CONFIG_MMC_SDRICOH_CS is not set
# CONFIG_MMC_CB710 is not set
# CONFIG_MMC_VIA_SDMMC is not set
CONFIG_MMC_VUB300=y
CONFIG_MMC_USHC=y
# CONFIG_MMC_USDHI6ROL0 is not set
CONFIG_MMC_REALTEK_USB=y
# CONFIG_MMC_CQHCI is not set
# CONFIG_MMC_HSQ is not set
# CONFIG_MMC_TOSHIBA_PCI is not set
# CONFIG_MMC_MTK is not set
# CONFIG_SCSI_UFSHCD is not set
CONFIG_MEMSTICK=y
# CONFIG_MEMSTICK_DEBUG is not set

#
# MemoryStick drivers
#
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MSPRO_BLOCK is not set
# CONFIG_MS_BLOCK is not set

#
# MemoryStick Host Controller Drivers
#
# CONFIG_MEMSTICK_TIFM_MS is not set
# CONFIG_MEMSTICK_JMICRON_38X is not set
# CONFIG_MEMSTICK_R592 is not set
CONFIG_MEMSTICK_REALTEK_USB=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
# CONFIG_LEDS_CLASS_FLASH is not set
# CONFIG_LEDS_CLASS_MULTICOLOR is not set
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set

#
# LED drivers
#
# CONFIG_LEDS_AN30259A is not set
# CONFIG_LEDS_APU is not set
# CONFIG_LEDS_AW200XX is not set
# CONFIG_LEDS_AW2013 is not set
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_CHT_WCOVE is not set
# CONFIG_LEDS_CR0014114 is not set
# CONFIG_LEDS_EL15203000 is not set
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_LM3532 is not set
# CONFIG_LEDS_LM3642 is not set
# CONFIG_LEDS_LM3692X is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_GPIO is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP3952 is not set
# CONFIG_LEDS_LP8860 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_BD2606MVV is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_INTEL_SS4200 is not set
# CONFIG_LEDS_LT3593 is not set
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set

#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
# CONFIG_LEDS_BLINKM is not set
# CONFIG_LEDS_SYSCON is not set
# CONFIG_LEDS_MLXCPLD is not set
# CONFIG_LEDS_MLXREG is not set
# CONFIG_LEDS_USER is not set
# CONFIG_LEDS_NIC78BX is not set
# CONFIG_LEDS_SPI_BYTE is not set
# CONFIG_LEDS_LM3697 is not set
# CONFIG_LEDS_LGM is not set

#
# Flash and Torch LED drivers
#

#
# RGB LED drivers
#

#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
# CONFIG_LEDS_TRIGGER_TIMER is not set
# CONFIG_LEDS_TRIGGER_ONESHOT is not set
# CONFIG_LEDS_TRIGGER_DISK is not set
# CONFIG_LEDS_TRIGGER_MTD is not set
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
# CONFIG_LEDS_TRIGGER_CPU is not set
# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
# CONFIG_LEDS_TRIGGER_GPIO is not set
# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set

#
# iptables trigger is under Netfilter config (LED target)
#
# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
# CONFIG_LEDS_TRIGGER_CAMERA is not set
# CONFIG_LEDS_TRIGGER_PANIC is not set
# CONFIG_LEDS_TRIGGER_NETDEV is not set
# CONFIG_LEDS_TRIGGER_PATTERN is not set
CONFIG_LEDS_TRIGGER_AUDIO=y
# CONFIG_LEDS_TRIGGER_TTY is not set

#
# Simple LED drivers
#
# CONFIG_ACCESSIBILITY is not set
CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_USER_MAD=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y
CONFIG_INFINIBAND_VIRT_DMA=y
# CONFIG_INFINIBAND_EFA is not set
# CONFIG_INFINIBAND_ERDMA is not set
CONFIG_MLX4_INFINIBAND=y
# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_OCRDMA is not set
# CONFIG_INFINIBAND_USNIC is not set
# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFINIBAND_RDMAVT is not set
CONFIG_RDMA_RXE=y
CONFIG_RDMA_SIW=y
CONFIG_INFINIBAND_IPOIB=y
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG=y
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
CONFIG_INFINIBAND_SRP=y
# CONFIG_INFINIBAND_SRPT is not set
CONFIG_INFINIBAND_ISER=y
CONFIG_INFINIBAND_RTRS=y
CONFIG_INFINIBAND_RTRS_CLIENT=y
# CONFIG_INFINIBAND_RTRS_SERVER is not set
# CONFIG_INFINIBAND_OPA_VNIC is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
# CONFIG_EDAC_LEGACY_SYSFS is not set
# CONFIG_EDAC_DEBUG is not set
# CONFIG_EDAC_DECODE_MCE is not set
# CONFIG_EDAC_E752X is not set
# CONFIG_EDAC_I82975X is not set
# CONFIG_EDAC_I3000 is not set
# CONFIG_EDAC_I3200 is not set
# CONFIG_EDAC_IE31200 is not set
# CONFIG_EDAC_X38 is not set
# CONFIG_EDAC_I5400 is not set
# CONFIG_EDAC_I7CORE is not set
# CONFIG_EDAC_I5100 is not set
# CONFIG_EDAC_I7300 is not set
# CONFIG_EDAC_SBRIDGE is not set
# CONFIG_EDAC_SKX is not set
# CONFIG_EDAC_I10NM is not set
# CONFIG_EDAC_PND2 is not set
# CONFIG_EDAC_IGEN6 is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
# CONFIG_RTC_HCTOSYS is not set
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
# CONFIG_RTC_NVMEM is not set

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_ABB5ZES3 is not set
# CONFIG_RTC_DRV_ABEOZ9 is not set
# CONFIG_RTC_DRV_ABX80X is not set
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_HYM8563 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_MAX31335 is not set
# CONFIG_RTC_DRV_NCT3018Y is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_ISL12026 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8523 is not set
# CONFIG_RTC_DRV_PCF85063 is not set
# CONFIG_RTC_DRV_PCF85363 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_TWL4030 is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8010 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3028 is not set
# CONFIG_RTC_DRV_RV3032 is not set
# CONFIG_RTC_DRV_RV8803 is not set
# CONFIG_RTC_DRV_SD3078 is not set

#
# SPI RTC drivers
#
# CONFIG_RTC_DRV_M41T93 is not set
# CONFIG_RTC_DRV_M41T94 is not set
# CONFIG_RTC_DRV_DS1302 is not set
# CONFIG_RTC_DRV_DS1305 is not set
# CONFIG_RTC_DRV_DS1343 is not set
# CONFIG_RTC_DRV_DS1347 is not set
# CONFIG_RTC_DRV_DS1390 is not set
# CONFIG_RTC_DRV_MAX6916 is not set
# CONFIG_RTC_DRV_R9701 is not set
# CONFIG_RTC_DRV_RX4581 is not set
# CONFIG_RTC_DRV_RS5C348 is not set
# CONFIG_RTC_DRV_MAX6902 is not set
# CONFIG_RTC_DRV_PCF2123 is not set
# CONFIG_RTC_DRV_MCP795 is not set
CONFIG_RTC_I2C_AND_SPI=y

#
# SPI and I2C RTC drivers
#
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_PCF2127 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set
# CONFIG_RTC_DRV_RX6110 is not set

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1685_FAMILY is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_DS2404 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_ZYNQMP is not set

#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_CADENCE is not set
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_R7301 is not set

#
# HID Sensor RTC drivers
#
CONFIG_RTC_DRV_HID_SENSOR_TIME=y
# CONFIG_RTC_DRV_GOLDFISH is not set
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set

#
# DMA Devices
#
CONFIG_DMA_ENGINE=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_ACPI=y
CONFIG_DMA_OF=y
# CONFIG_ALTERA_MSGDMA is not set
# CONFIG_DW_AXI_DMAC is not set
# CONFIG_FSL_EDMA is not set
CONFIG_INTEL_IDMA64=y
# CONFIG_INTEL_IDXD is not set
# CONFIG_INTEL_IDXD_COMPAT is not set
CONFIG_INTEL_IOATDMA=y
# CONFIG_PLX_DMA is not set
# CONFIG_XILINX_DMA is not set
# CONFIG_XILINX_XDMA is not set
# CONFIG_XILINX_ZYNQMP_DPDMA is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_HIDMA is not set
CONFIG_DW_DMAC_CORE=y
# CONFIG_DW_DMAC is not set
# CONFIG_DW_DMAC_PCI is not set
# CONFIG_DW_EDMA is not set
CONFIG_HSU_DMA=y
# CONFIG_SF_PDMA is not set
# CONFIG_INTEL_LDMA is not set

#
# DMA Clients
#
CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DMA_ENGINE_RAID=y

#
# DMABUF options
#
CONFIG_SYNC_FILE=y
CONFIG_SW_SYNC=y
CONFIG_UDMABUF=y
CONFIG_DMABUF_MOVE_NOTIFY=y
# CONFIG_DMABUF_DEBUG is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMABUF_HEAPS=y
# CONFIG_DMABUF_SYSFS_STATS is not set
CONFIG_DMABUF_HEAPS_SYSTEM=y
CONFIG_DMABUF_HEAPS_CMA=y
# end of DMABUF options

CONFIG_DCA=y
# CONFIG_UIO is not set
CONFIG_VFIO=y
CONFIG_VFIO_DEVICE_CDEV=y
# CONFIG_VFIO_GROUP is not set
CONFIG_VFIO_VIRQFD=y
# CONFIG_VFIO_DEBUGFS is not set

#
# VFIO support for PCI devices
#
CONFIG_VFIO_PCI_CORE=y
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_VFIO_PCI=y
# CONFIG_VFIO_PCI_VGA is not set
# CONFIG_VFIO_PCI_IGD is not set
# CONFIG_VIRTIO_VFIO_PCI is not set
# end of VFIO support for PCI devices

CONFIG_IRQ_BYPASS_MANAGER=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_ANCHOR=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI_LIB=y
CONFIG_VIRTIO_PCI_LIB_LEGACY=y
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_ADMIN_LEGACY=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_VDPA=y
CONFIG_VIRTIO_PMEM=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_MEM=y
CONFIG_VIRTIO_INPUT=y
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_VIRTIO_DMA_SHARED_BUFFER=y
CONFIG_VDPA=y
CONFIG_VDPA_SIM=y
CONFIG_VDPA_SIM_NET=y
CONFIG_VDPA_SIM_BLOCK=y
CONFIG_VDPA_USER=y
# CONFIG_IFCVF is not set
# CONFIG_MLX5_VDPA_STEERING_DEBUG is not set
CONFIG_VP_VDPA=y
# CONFIG_ALIBABA_ENI_VDPA is not set
# CONFIG_SNET_VDPA is not set
CONFIG_VHOST_IOTLB=y
CONFIG_VHOST_RING=y
CONFIG_VHOST_TASK=y
CONFIG_VHOST=y
CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=y
# CONFIG_VHOST_SCSI is not set
CONFIG_VHOST_VSOCK=y
CONFIG_VHOST_VDPA=y
CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y

#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV is not set
# end of Microsoft Hyper-V guest support

CONFIG_GREYBUS=y
# CONFIG_GREYBUS_BEAGLEPLAY is not set
CONFIG_GREYBUS_ES2=y
CONFIG_COMEDI=y
# CONFIG_COMEDI_DEBUG is not set
CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
# CONFIG_COMEDI_MISC_DRIVERS is not set
# CONFIG_COMEDI_PCI_DRIVERS is not set
# CONFIG_COMEDI_PCMCIA_DRIVERS is not set
CONFIG_COMEDI_USB_DRIVERS=y
CONFIG_COMEDI_DT9812=y
CONFIG_COMEDI_NI_USB6501=y
CONFIG_COMEDI_USBDUX=y
CONFIG_COMEDI_USBDUXFAST=y
CONFIG_COMEDI_USBDUXSIGMA=y
CONFIG_COMEDI_VMK80XX=y
# CONFIG_COMEDI_8255_SA is not set
# CONFIG_COMEDI_KCOMEDILIB is not set
# CONFIG_COMEDI_TESTS is not set
CONFIG_STAGING=y
CONFIG_PRISM2_USB=y
# CONFIG_RTLLIB is not set
# CONFIG_RTL8723BS is not set
CONFIG_R8712U=y
# CONFIG_RTS5208 is not set
# CONFIG_VT6655 is not set
# CONFIG_VT6656 is not set

#
# IIO staging drivers
#

#
# Accelerometers
#
# CONFIG_ADIS16203 is not set
# CONFIG_ADIS16240 is not set
# end of Accelerometers

#
# Analog to digital converters
#
# CONFIG_AD7816 is not set
# end of Analog to digital converters

#
# Analog digital bi-direction converters
#
# CONFIG_ADT7316 is not set
# end of Analog digital bi-direction converters

#
# Direct Digital Synthesis
#
# CONFIG_AD9832 is not set
# CONFIG_AD9834 is not set
# end of Direct Digital Synthesis

#
# Network Analyzer, Impedance Converters
#
# CONFIG_AD5933 is not set
# end of Network Analyzer, Impedance Converters
# end of IIO staging drivers

# CONFIG_FB_SM750 is not set
# CONFIG_STAGING_MEDIA is not set
# CONFIG_LTE_GDM724X is not set
# CONFIG_MOST_COMPONENTS is not set
# CONFIG_KS7010 is not set
# CONFIG_GREYBUS_BOOTROM is not set
# CONFIG_GREYBUS_FIRMWARE is not set
CONFIG_GREYBUS_HID=y
# CONFIG_GREYBUS_LOG is not set
# CONFIG_GREYBUS_LOOPBACK is not set
# CONFIG_GREYBUS_POWER is not set
# CONFIG_GREYBUS_RAW is not set
# CONFIG_GREYBUS_VIBRATOR is not set
CONFIG_GREYBUS_BRIDGED_PHY=y
# CONFIG_GREYBUS_GPIO is not set
# CONFIG_GREYBUS_I2C is not set
# CONFIG_GREYBUS_SDIO is not set
# CONFIG_GREYBUS_SPI is not set
# CONFIG_GREYBUS_UART is not set
CONFIG_GREYBUS_USB=y
# CONFIG_PI433 is not set
# CONFIG_XIL_AXIS_FIFO is not set
# CONFIG_FIELDBUS_DEV is not set
# CONFIG_VME_BUS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_CHROME_PLATFORMS is not set
# CONFIG_MELLANOX_PLATFORM is not set
CONFIG_SURFACE_PLATFORMS=y
# CONFIG_SURFACE3_WMI is not set
# CONFIG_SURFACE_3_POWER_OPREGION is not set
# CONFIG_SURFACE_GPE is not set
# CONFIG_SURFACE_HOTPLUG is not set
# CONFIG_SURFACE_PRO3_BUTTON is not set
# CONFIG_SURFACE_AGGREGATOR is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACPI_WMI=y
CONFIG_WMI_BMOF=y
# CONFIG_HUAWEI_WMI is not set
# CONFIG_MXM_WMI is not set
# CONFIG_NVIDIA_WMI_EC_BACKLIGHT is not set
# CONFIG_XIAOMI_WMI is not set
# CONFIG_GIGABYTE_WMI is not set
# CONFIG_YOGABOOK is not set
# CONFIG_ACERHDF is not set
# CONFIG_ACER_WIRELESS is not set
# CONFIG_ACER_WMI is not set
# CONFIG_AMD_PMC is not set
# CONFIG_AMD_HSMP is not set
# CONFIG_AMD_WBRF is not set
# CONFIG_ADV_SWBUTTON is not set
# CONFIG_APPLE_GMUX is not set
# CONFIG_ASUS_LAPTOP is not set
# CONFIG_ASUS_WIRELESS is not set
CONFIG_ASUS_WMI=y
# CONFIG_ASUS_NB_WMI is not set
# CONFIG_ASUS_TF103C_DOCK is not set
CONFIG_EEEPC_LAPTOP=y
# CONFIG_EEEPC_WMI is not set
# CONFIG_X86_PLATFORM_DRIVERS_DELL is not set
# CONFIG_AMILO_RFKILL is not set
# CONFIG_FUJITSU_LAPTOP is not set
# CONFIG_FUJITSU_TABLET is not set
# CONFIG_GPD_POCKET_FAN is not set
# CONFIG_X86_PLATFORM_DRIVERS_HP is not set
# CONFIG_WIRELESS_HOTKEY is not set
# CONFIG_IBM_RTL is not set
# CONFIG_IDEAPAD_LAPTOP is not set
# CONFIG_LENOVO_YMC is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_THINKPAD_LMI is not set
# CONFIG_INTEL_ATOMISP2_PM is not set
# CONFIG_INTEL_IFS is not set
# CONFIG_INTEL_SAR_INT1092 is not set
# CONFIG_INTEL_SKL_INT3472 is not set

#
# Intel Speed Select Technology interface support
#
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
# end of Intel Speed Select Technology interface support

# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
# CONFIG_INTEL_WMI_THUNDERBOLT is not set

#
# Intel Uncore Frequency Control
#
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
# end of Intel Uncore Frequency Control

# CONFIG_INTEL_HID_EVENT is not set
# CONFIG_INTEL_VBTN is not set
# CONFIG_INTEL_INT0002_VGPIO is not set
# CONFIG_INTEL_OAKTRAIL is not set
# CONFIG_INTEL_ISHTP_ECLITE is not set
# CONFIG_INTEL_PUNIT_IPC is not set
# CONFIG_INTEL_RST is not set
# CONFIG_INTEL_SMARTCONNECT is not set
# CONFIG_INTEL_TURBO_MAX_3 is not set
# CONFIG_INTEL_VSEC is not set
# CONFIG_MSI_EC is not set
# CONFIG_MSI_LAPTOP is not set
# CONFIG_MSI_WMI is not set
# CONFIG_PCENGINES_APU2 is not set
# CONFIG_BARCO_P50_GPIO is not set
# CONFIG_SAMSUNG_LAPTOP is not set
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_TOSHIBA_HAPS is not set
# CONFIG_TOSHIBA_WMI is not set
# CONFIG_ACPI_CMPC is not set
# CONFIG_COMPAL_LAPTOP is not set
# CONFIG_LG_LAPTOP is not set
# CONFIG_PANASONIC_LAPTOP is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_SYSTEM76_ACPI is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_SERIAL_MULTI_INSTANTIATE is not set
# CONFIG_MLX_PLATFORM is not set
# CONFIG_INSPUR_PLATFORM_PROFILE is not set
# CONFIG_INTEL_IPS is not set
# CONFIG_INTEL_SCU_PCI is not set
# CONFIG_INTEL_SCU_PLATFORM is not set
# CONFIG_SIEMENS_SIMATIC_IPC is not set
# CONFIG_WINMATE_FM07_KEYS is not set
CONFIG_P2SB=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
# CONFIG_LMK04832 is not set
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_SI5341 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_CLK_TWL is not set
# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
# CONFIG_COMMON_CLK_RS9_PCIE is not set
# CONFIG_COMMON_CLK_SI521XX is not set
# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
# CONFIG_CLK_LGM_CGU is not set
# CONFIG_XILINX_VCU is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
# CONFIG_HWSPINLOCK is not set

#
# Clock Source drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
# end of Clock Source drivers

CONFIG_MAILBOX=y
# CONFIG_PLATFORM_MHU is not set
CONFIG_PCC=y
# CONFIG_ALTERA_MBOX is not set
# CONFIG_MAILBOX_TEST is not set
CONFIG_IOMMU_IOVA=y
CONFIG_IOMMU_API=y
CONFIG_IOMMUFD_DRIVER=y
CONFIG_IOMMU_SUPPORT=y

#
# Generic IOMMU Pagetable Support
#
# end of Generic IOMMU Pagetable Support

# CONFIG_IOMMU_DEBUGFS is not set
# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
CONFIG_OF_IOMMU=y
CONFIG_IOMMU_DMA=y
CONFIG_IOMMU_SVA=y
CONFIG_IOMMU_IOPF=y
# CONFIG_AMD_IOMMU is not set
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_PERF_EVENTS=y
CONFIG_IOMMUFD=y
CONFIG_IOMMUFD_TEST=y
CONFIG_IRQ_REMAP=y
# CONFIG_VIRTIO_IOMMU is not set

#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set
# end of Remoteproc drivers

#
# Rpmsg drivers
#
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
# CONFIG_RPMSG_VIRTIO is not set
# end of Rpmsg drivers

# CONFIG_SOUNDWIRE is not set

#
# SOC (System On Chip) specific Drivers
#

#
# Amlogic SoC drivers
#
# end of Amlogic SoC drivers

#
# Broadcom SoC drivers
#
# end of Broadcom SoC drivers

#
# NXP/Freescale QorIQ SoC drivers
#
# end of NXP/Freescale QorIQ SoC drivers

#
# fujitsu SoC drivers
#
# end of fujitsu SoC drivers

#
# i.MX SoC drivers
#
# end of i.MX SoC drivers

#
# Enable LiteX SoC Builder specific drivers
#
# CONFIG_LITEX_SOC_CONTROLLER is not set
# end of Enable LiteX SoC Builder specific drivers

# CONFIG_WPCM450_SOC is not set

#
# Qualcomm SoC drivers
#
CONFIG_QCOM_QMI_HELPERS=y
# end of Qualcomm SoC drivers

# CONFIG_SOC_TI is not set

#
# Xilinx SoC drivers
#
# end of Xilinx SoC drivers
# end of SOC (System On Chip) specific Drivers

#
# PM Domains
#

#
# Amlogic PM Domains
#
# end of Amlogic PM Domains

#
# Broadcom PM Domains
#
# end of Broadcom PM Domains

#
# i.MX PM Domains
#
# end of i.MX PM Domains

#
# Qualcomm PM Domains
#
# end of Qualcomm PM Domains
# end of PM Domains

# CONFIG_PM_DEVFREQ is not set
CONFIG_EXTCON=y

#
# Extcon Device Drivers
#
# CONFIG_EXTCON_ADC_JACK is not set
# CONFIG_EXTCON_FSA9480 is not set
# CONFIG_EXTCON_GPIO is not set
# CONFIG_EXTCON_INTEL_INT3496 is not set
CONFIG_EXTCON_INTEL_CHT_WC=y
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_PTN5150 is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
# CONFIG_EXTCON_USB_GPIO is not set
# CONFIG_EXTCON_USBC_TUSB320 is not set
# CONFIG_MEMORY is not set
CONFIG_IIO=y
CONFIG_IIO_BUFFER=y
# CONFIG_IIO_BUFFER_CB is not set
# CONFIG_IIO_BUFFER_DMA is not set
# CONFIG_IIO_BUFFER_DMAENGINE is not set
# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
CONFIG_IIO_KFIFO_BUF=y
CONFIG_IIO_TRIGGERED_BUFFER=y
# CONFIG_IIO_CONFIGFS is not set
CONFIG_IIO_TRIGGER=y
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
# CONFIG_IIO_SW_DEVICE is not set
# CONFIG_IIO_SW_TRIGGER is not set
# CONFIG_IIO_TRIGGERED_EVENT is not set

#
# Accelerometers
#
# CONFIG_ADIS16201 is not set
# CONFIG_ADIS16209 is not set
# CONFIG_ADXL313_I2C is not set
# CONFIG_ADXL313_SPI is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
# CONFIG_ADXL355_I2C is not set
# CONFIG_ADXL355_SPI is not set
# CONFIG_ADXL367_SPI is not set
# CONFIG_ADXL367_I2C is not set
# CONFIG_ADXL372_SPI is not set
# CONFIG_ADXL372_I2C is not set
# CONFIG_BMA180 is not set
# CONFIG_BMA220 is not set
# CONFIG_BMA400 is not set
# CONFIG_BMC150_ACCEL is not set
# CONFIG_BMI088_ACCEL is not set
# CONFIG_DA280 is not set
# CONFIG_DA311 is not set
# CONFIG_DMARD06 is not set
# CONFIG_DMARD09 is not set
# CONFIG_DMARD10 is not set
# CONFIG_FXLS8962AF_I2C is not set
# CONFIG_FXLS8962AF_SPI is not set
CONFIG_HID_SENSOR_ACCEL_3D=y
# CONFIG_IIO_ST_ACCEL_3AXIS is not set
# CONFIG_IIO_KX022A_SPI is not set
# CONFIG_IIO_KX022A_I2C is not set
# CONFIG_KXSD9 is not set
# CONFIG_KXCJK1013 is not set
# CONFIG_MC3230 is not set
# CONFIG_MMA7455_I2C is not set
# CONFIG_MMA7455_SPI is not set
# CONFIG_MMA7660 is not set
# CONFIG_MMA8452 is not set
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MSA311 is not set
# CONFIG_MXC4005 is not set
# CONFIG_MXC6255 is not set
# CONFIG_SCA3000 is not set
# CONFIG_SCA3300 is not set
# CONFIG_STK8312 is not set
# CONFIG_STK8BA50 is not set
# end of Accelerometers

#
# Analog to digital converters
#
# CONFIG_AD4130 is not set
# CONFIG_AD7091R5 is not set
# CONFIG_AD7091R8 is not set
# CONFIG_AD7124 is not set
# CONFIG_AD7192 is not set
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
# CONFIG_AD7292 is not set
# CONFIG_AD7298 is not set
# CONFIG_AD7476 is not set
# CONFIG_AD7606_IFACE_PARALLEL is not set
# CONFIG_AD7606_IFACE_SPI is not set
# CONFIG_AD7766 is not set
# CONFIG_AD7768_1 is not set
# CONFIG_AD7780 is not set
# CONFIG_AD7791 is not set
# CONFIG_AD7793 is not set
# CONFIG_AD7887 is not set
# CONFIG_AD7923 is not set
# CONFIG_AD7949 is not set
# CONFIG_AD799X is not set
# CONFIG_AD9467 is not set
# CONFIG_ADI_AXI_ADC is not set
# CONFIG_CC10001_ADC is not set
CONFIG_DLN2_ADC=y
# CONFIG_ENVELOPE_DETECTOR is not set
# CONFIG_HI8435 is not set
# CONFIG_HX711 is not set
# CONFIG_INA2XX_ADC is not set
# CONFIG_LTC2309 is not set
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
# CONFIG_MAX1118 is not set
# CONFIG_MAX11205 is not set
# CONFIG_MAX11410 is not set
# CONFIG_MAX1241 is not set
# CONFIG_MAX1363 is not set
# CONFIG_MAX34408 is not set
# CONFIG_MAX9611 is not set
# CONFIG_MCP320X is not set
# CONFIG_MCP3422 is not set
# CONFIG_MCP3564 is not set
# CONFIG_MCP3911 is not set
# CONFIG_NAU7802 is not set
# CONFIG_PAC1934 is not set
# CONFIG_RICHTEK_RTQ6056 is not set
# CONFIG_SD_ADC_MODULATOR is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC108S102 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
# CONFIG_TI_ADS7924 is not set
# CONFIG_TI_ADS1100 is not set
# CONFIG_TI_ADS1298 is not set
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8344 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_ADS124S08 is not set
# CONFIG_TI_ADS131E08 is not set
# CONFIG_TI_LMP92064 is not set
# CONFIG_TI_TLC4541 is not set
# CONFIG_TI_TSC2046 is not set
# CONFIG_TWL4030_MADC is not set
# CONFIG_TWL6030_GPADC is not set
# CONFIG_VF610_ADC is not set
CONFIG_VIPERBOARD_ADC=y
# CONFIG_XILINX_XADC is not set
# end of Analog to digital converters

#
# Analog to digital and digital to analog converters
#
# CONFIG_AD74115 is not set
# CONFIG_AD74413R is not set
# end of Analog to digital and digital to analog converters

#
# Analog Front Ends
#
# CONFIG_IIO_RESCALE is not set
# end of Analog Front Ends

#
# Amplifiers
#
# CONFIG_AD8366 is not set
# CONFIG_ADA4250 is not set
# CONFIG_HMC425 is not set
# end of Amplifiers

#
# Capacitance to digital converters
#
# CONFIG_AD7150 is not set
# CONFIG_AD7746 is not set
# end of Capacitance to digital converters

#
# Chemical Sensors
#
# CONFIG_AOSONG_AGS02MA is not set
# CONFIG_ATLAS_PH_SENSOR is not set
# CONFIG_ATLAS_EZO_SENSOR is not set
# CONFIG_BME680 is not set
# CONFIG_CCS811 is not set
# CONFIG_IAQCORE is not set
# CONFIG_PMS7003 is not set
# CONFIG_SCD30_CORE is not set
# CONFIG_SCD4X is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
# CONFIG_SPS30_I2C is not set
# CONFIG_SPS30_SERIAL is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_VZ89X is not set
# end of Chemical Sensors

#
# Hid Sensor IIO Common
#
CONFIG_HID_SENSOR_IIO_COMMON=y
CONFIG_HID_SENSOR_IIO_TRIGGER=y
# end of Hid Sensor IIO Common

#
# IIO SCMI Sensors
#
# end of IIO SCMI Sensors

#
# SSP Sensor Common
#
# CONFIG_IIO_SSP_SENSORHUB is not set
# end of SSP Sensor Common

#
# Digital to analog converters
#
# CONFIG_AD3552R is not set
# CONFIG_AD5064 is not set
# CONFIG_AD5360 is not set
# CONFIG_AD5380 is not set
# CONFIG_AD5421 is not set
# CONFIG_AD5446 is not set
# CONFIG_AD5449 is not set
# CONFIG_AD5592R is not set
# CONFIG_AD5593R is not set
# CONFIG_AD5504 is not set
# CONFIG_AD5624R_SPI is not set
# CONFIG_LTC2688 is not set
# CONFIG_AD5686_SPI is not set
# CONFIG_AD5696_I2C is not set
# CONFIG_AD5755 is not set
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
# CONFIG_AD5766 is not set
# CONFIG_AD5770R is not set
# CONFIG_AD5791 is not set
# CONFIG_AD7293 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD8801 is not set
# CONFIG_DPOT_DAC is not set
# CONFIG_DS4424 is not set
# CONFIG_LTC1660 is not set
# CONFIG_LTC2632 is not set
# CONFIG_M62332 is not set
# CONFIG_MAX517 is not set
# CONFIG_MAX5522 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MCP4725 is not set
# CONFIG_MCP4728 is not set
# CONFIG_MCP4821 is not set
# CONFIG_MCP4922 is not set
# CONFIG_TI_DAC082S085 is not set
# CONFIG_TI_DAC5571 is not set
# CONFIG_TI_DAC7311 is not set
# CONFIG_TI_DAC7612 is not set
# CONFIG_VF610_DAC is not set
# end of Digital to analog converters

#
# IIO dummy driver
#
# end of IIO dummy driver

#
# Filters
#
# CONFIG_ADMV8818 is not set
# end of Filters

#
# Frequency Synthesizers DDS/PLL
#

#
# Clock Generator/Distribution
#
# CONFIG_AD9523 is not set
# end of Clock Generator/Distribution

#
# Phase-Locked Loop (PLL) frequency synthesizers
#
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
# CONFIG_ADF4377 is not set
# CONFIG_ADMFM2000 is not set
# CONFIG_ADMV1013 is not set
# CONFIG_ADMV1014 is not set
# CONFIG_ADMV4420 is not set
# CONFIG_ADRF6780 is not set
# end of Phase-Locked Loop (PLL) frequency synthesizers
# end of Frequency Synthesizers DDS/PLL

#
# Digital gyroscope sensors
#
# CONFIG_ADIS16080 is not set
# CONFIG_ADIS16130 is not set
# CONFIG_ADIS16136 is not set
# CONFIG_ADIS16260 is not set
# CONFIG_ADXRS290 is not set
# CONFIG_ADXRS450 is not set
# CONFIG_BMG160 is not set
# CONFIG_FXAS21002C is not set
CONFIG_HID_SENSOR_GYRO_3D=y
# CONFIG_MPU3050_I2C is not set
# CONFIG_IIO_ST_GYRO_3AXIS is not set
# CONFIG_ITG3200 is not set
# end of Digital gyroscope sensors

#
# Health Sensors
#

#
# Heart Rate Monitors
#
# CONFIG_AFE4403 is not set
# CONFIG_AFE4404 is not set
# CONFIG_MAX30100 is not set
# CONFIG_MAX30102 is not set
# end of Heart Rate Monitors
# end of Health Sensors

#
# Humidity sensors
#
# CONFIG_AM2315 is not set
# CONFIG_DHT11 is not set
# CONFIG_HDC100X is not set
# CONFIG_HDC2010 is not set
# CONFIG_HDC3020 is not set
CONFIG_HID_SENSOR_HUMIDITY=y
# CONFIG_HTS221 is not set
# CONFIG_HTU21 is not set
# CONFIG_SI7005 is not set
# CONFIG_SI7020 is not set
# end of Humidity sensors

#
# Inertial measurement units
#
# CONFIG_ADIS16400 is not set
# CONFIG_ADIS16460 is not set
# CONFIG_ADIS16475 is not set
# CONFIG_ADIS16480 is not set
# CONFIG_BMI160_I2C is not set
# CONFIG_BMI160_SPI is not set
# CONFIG_BMI323_I2C is not set
# CONFIG_BMI323_SPI is not set
# CONFIG_BOSCH_BNO055_SERIAL is not set
# CONFIG_BOSCH_BNO055_I2C is not set
# CONFIG_FXOS8700_I2C is not set
# CONFIG_FXOS8700_SPI is not set
# CONFIG_KMX61 is not set
# CONFIG_INV_ICM42600_I2C is not set
# CONFIG_INV_ICM42600_SPI is not set
# CONFIG_INV_MPU6050_I2C is not set
# CONFIG_INV_MPU6050_SPI is not set
# CONFIG_IIO_ST_LSM6DSX is not set
# CONFIG_IIO_ST_LSM9DS0 is not set
# end of Inertial measurement units

#
# Light sensors
#
# CONFIG_ACPI_ALS is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADUX1020 is not set
# CONFIG_AL3010 is not set
# CONFIG_AL3320A is not set
# CONFIG_APDS9300 is not set
# CONFIG_APDS9960 is not set
# CONFIG_AS73211 is not set
# CONFIG_BH1750 is not set
# CONFIG_BH1780 is not set
# CONFIG_CM32181 is not set
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
# CONFIG_CM3605 is not set
# CONFIG_CM36651 is not set
# CONFIG_GP2AP002 is not set
# CONFIG_GP2AP020A00F is not set
# CONFIG_SENSORS_ISL29018 is not set
# CONFIG_SENSORS_ISL29028 is not set
# CONFIG_ISL29125 is not set
# CONFIG_ISL76682 is not set
CONFIG_HID_SENSOR_ALS=y
CONFIG_HID_SENSOR_PROX=y
# CONFIG_JSA1212 is not set
# CONFIG_ROHM_BU27008 is not set
# CONFIG_ROHM_BU27034 is not set
# CONFIG_RPR0521 is not set
# CONFIG_LTR390 is not set
# CONFIG_LTR501 is not set
# CONFIG_LTRF216A is not set
# CONFIG_LV0104CS is not set
# CONFIG_MAX44000 is not set
# CONFIG_MAX44009 is not set
# CONFIG_NOA1305 is not set
# CONFIG_OPT3001 is not set
# CONFIG_OPT4001 is not set
# CONFIG_PA12203001 is not set
# CONFIG_SI1133 is not set
# CONFIG_SI1145 is not set
# CONFIG_STK3310 is not set
# CONFIG_ST_UVIS25 is not set
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_SENSORS_TSL2563 is not set
# CONFIG_TSL2583 is not set
# CONFIG_TSL2591 is not set
# CONFIG_TSL2772 is not set
# CONFIG_TSL4531 is not set
# CONFIG_US5182D is not set
# CONFIG_VCNL4000 is not set
# CONFIG_VCNL4035 is not set
# CONFIG_VEML6030 is not set
# CONFIG_VEML6070 is not set
# CONFIG_VEML6075 is not set
# CONFIG_VL6180 is not set
# CONFIG_ZOPT2201 is not set
# end of Light sensors

#
# Magnetometer sensors
#
# CONFIG_AF8133J is not set
# CONFIG_AK8974 is not set
# CONFIG_AK8975 is not set
# CONFIG_AK09911 is not set
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN_SPI is not set
# CONFIG_MAG3110 is not set
CONFIG_HID_SENSOR_MAGNETOMETER_3D=y
# CONFIG_MMC35240 is not set
# CONFIG_IIO_ST_MAGN_3AXIS is not set
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_RM3100_I2C is not set
# CONFIG_SENSORS_RM3100_SPI is not set
# CONFIG_TI_TMAG5273 is not set
# CONFIG_YAMAHA_YAS530 is not set
# end of Magnetometer sensors

#
# Multiplexers
#
# CONFIG_IIO_MUX is not set
# end of Multiplexers

#
# Inclinometer sensors
#
CONFIG_HID_SENSOR_INCLINOMETER_3D=y
CONFIG_HID_SENSOR_DEVICE_ROTATION=y
# end of Inclinometer sensors

#
# Triggers - standalone
#
# CONFIG_IIO_INTERRUPT_TRIGGER is not set
# CONFIG_IIO_SYSFS_TRIGGER is not set
# end of Triggers - standalone

#
# Linear and angular position sensors
#
# CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE is not set
# end of Linear and angular position sensors

#
# Digital potentiometers
#
# CONFIG_AD5110 is not set
# CONFIG_AD5272 is not set
# CONFIG_DS1803 is not set
# CONFIG_MAX5432 is not set
# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MCP4018 is not set
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP41010 is not set
# CONFIG_TPL0102 is not set
# CONFIG_X9250 is not set
# end of Digital potentiometers

#
# Digital potentiostats
#
# CONFIG_LMP91000 is not set
# end of Digital potentiostats

#
# Pressure sensors
#
# CONFIG_ABP060MG is not set
# CONFIG_ROHM_BM1390 is not set
# CONFIG_BMP280 is not set
# CONFIG_DLHL60D is not set
# CONFIG_DPS310 is not set
CONFIG_HID_SENSOR_PRESS=y
# CONFIG_HP03 is not set
# CONFIG_HSC030PA is not set
# CONFIG_ICP10100 is not set
# CONFIG_MPL115_I2C is not set
# CONFIG_MPL115_SPI is not set
# CONFIG_MPL3115 is not set
# CONFIG_MPRLS0025PA is not set
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_IIO_ST_PRESS is not set
# CONFIG_T5403 is not set
# CONFIG_HP206C is not set
# CONFIG_ZPA2326 is not set
# end of Pressure sensors

#
# Lightning sensors
#
# CONFIG_AS3935 is not set
# end of Lightning sensors

#
# Proximity and distance sensors
#
# CONFIG_IRSD200 is not set
# CONFIG_ISL29501 is not set
# CONFIG_LIDAR_LITE_V2 is not set
# CONFIG_MB1232 is not set
# CONFIG_PING is not set
# CONFIG_RFD77402 is not set
# CONFIG_SRF04 is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
# CONFIG_SX9360 is not set
# CONFIG_SX9500 is not set
# CONFIG_SRF08 is not set
# CONFIG_VCNL3020 is not set
# CONFIG_VL53L0X_I2C is not set
# end of Proximity and distance sensors

#
# Resolver to digital converters
#
# CONFIG_AD2S90 is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
# end of Resolver to digital converters

#
# Temperature sensors
#
# CONFIG_LTC2983 is not set
# CONFIG_MAXIM_THERMOCOUPLE is not set
CONFIG_HID_SENSOR_TEMP=y
# CONFIG_MLX90614 is not set
# CONFIG_MLX90632 is not set
# CONFIG_MLX90635 is not set
# CONFIG_TMP006 is not set
# CONFIG_TMP007 is not set
# CONFIG_TMP117 is not set
# CONFIG_TSYS01 is not set
# CONFIG_TSYS02D is not set
# CONFIG_MAX30208 is not set
# CONFIG_MAX31856 is not set
# CONFIG_MAX31865 is not set
# CONFIG_MCP9600 is not set
# end of Temperature sensors

# CONFIG_NTB is not set
# CONFIG_PWM is not set

#
# IRQ chip support
#
CONFIG_IRQCHIP=y
# CONFIG_AL_FIC is not set
# CONFIG_XILINX_INTC is not set
# end of IRQ chip support

# CONFIG_IPACK_BUS is not set
CONFIG_RESET_CONTROLLER=y
# CONFIG_RESET_GPIO is not set
# CONFIG_RESET_INTEL_GW is not set
# CONFIG_RESET_SIMPLE is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RESET_TI_TPS380X is not set

#
# PHY Subsystem
#
CONFIG_GENERIC_PHY=y
# CONFIG_USB_LGM_PHY is not set
# CONFIG_PHY_CAN_TRANSCEIVER is not set

#
# PHY drivers for Broadcom platforms
#
# CONFIG_BCM_KONA_USB2_PHY is not set
# end of PHY drivers for Broadcom platforms

# CONFIG_PHY_CADENCE_TORRENT is not set
# CONFIG_PHY_CADENCE_DPHY is not set
# CONFIG_PHY_CADENCE_DPHY_RX is not set
# CONFIG_PHY_CADENCE_SIERRA is not set
# CONFIG_PHY_CADENCE_SALVO is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_LAN966X_SERDES is not set
CONFIG_PHY_CPCAP_USB=y
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
# CONFIG_PHY_OCELOT_SERDES is not set
CONFIG_PHY_QCOM_USB_HS=y
CONFIG_PHY_QCOM_USB_HSIC=y
CONFIG_PHY_SAMSUNG_USB2=y
CONFIG_PHY_TUSB1210=y
# CONFIG_PHY_INTEL_LGM_COMBO is not set
# CONFIG_PHY_INTEL_LGM_EMMC is not set
# end of PHY Subsystem

# CONFIG_POWERCAP is not set
# CONFIG_MCB is not set

#
# Performance monitor support
#
# CONFIG_DWC_PCIE_PMU is not set
# end of Performance monitor support

CONFIG_RAS=y
CONFIG_USB4=y
# CONFIG_USB4_DEBUGFS_WRITE is not set
# CONFIG_USB4_DMA_TEST is not set

#
# Android
#
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES="binder0,binder1"
# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set
# end of Android

CONFIG_LIBNVDIMM=y
CONFIG_BLK_DEV_PMEM=y
CONFIG_ND_CLAIM=y
CONFIG_ND_BTT=y
CONFIG_BTT=y
CONFIG_ND_PFN=y
CONFIG_NVDIMM_PFN=y
CONFIG_NVDIMM_DAX=y
CONFIG_OF_PMEM=y
CONFIG_NVDIMM_KEYS=y
# CONFIG_NVDIMM_SECURITY_TEST is not set
CONFIG_DAX=y
CONFIG_DEV_DAX=y
# CONFIG_DEV_DAX_PMEM is not set
# CONFIG_DEV_DAX_KMEM is not set
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
CONFIG_NVMEM_LAYOUTS=y

#
# Layout Types
#
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# end of Layout Types

# CONFIG_NVMEM_RMEM is not set
# CONFIG_NVMEM_U_BOOT_ENV is not set

#
# HW tracing support
#
# CONFIG_STM is not set
# CONFIG_INTEL_TH is not set
# end of HW tracing support

# CONFIG_FPGA is not set
# CONFIG_FSI is not set
# CONFIG_TEE is not set
# CONFIG_SIOX is not set
# CONFIG_SLIMBUS is not set
# CONFIG_INTERCONNECT is not set
CONFIG_COUNTER=y
# CONFIG_INTEL_QEP is not set
# CONFIG_INTERRUPT_CNT is not set
CONFIG_MOST=y
# CONFIG_MOST_USB_HDM is not set
# CONFIG_MOST_CDEV is not set
# CONFIG_MOST_SND is not set
# CONFIG_PECI is not set
# CONFIG_HTE is not set
# end of Device Drivers

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_VALIDATE_FS_PARSER=y
CONFIG_FS_IOMAP=y
CONFIG_FS_STACK=y
CONFIG_BUFFER_HEAD=y
CONFIG_LEGACY_DIRECT_IO=y
# CONFIG_EXT2_FS is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
CONFIG_JFS_DEBUG=y
# CONFIG_JFS_STATISTICS is not set
CONFIG_XFS_FS=y
# CONFIG_XFS_SUPPORT_V4 is not set
# CONFIG_XFS_SUPPORT_ASCII_CI is not set
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_ONLINE_SCRUB is not set
# CONFIG_XFS_WARN is not set
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=y
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=y
CONFIG_OCFS2_FS_O2CB=y
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=y
CONFIG_OCFS2_FS_STATS=y
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
CONFIG_OCFS2_DEBUG_FS=y
CONFIG_BTRFS_FS=y
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
# CONFIG_BTRFS_DEBUG is not set
CONFIG_BTRFS_ASSERT=y
CONFIG_BTRFS_FS_REF_VERIFY=y
CONFIG_NILFS2_FS=y
CONFIG_F2FS_FS=y
CONFIG_F2FS_STAT_FS=y
CONFIG_F2FS_FS_XATTR=y
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_CHECK_FS=y
CONFIG_F2FS_FAULT_INJECTION=y
CONFIG_F2FS_FS_COMPRESSION=y
CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS_LZORLE=y
CONFIG_F2FS_FS_LZ4=y
CONFIG_F2FS_FS_LZ4HC=y
CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IOSTAT is not set
# CONFIG_F2FS_UNFAIR_RWSEM is not set
CONFIG_BCACHEFS_FS=y
CONFIG_BCACHEFS_QUOTA=y
# CONFIG_BCACHEFS_ERASURE_CODING is not set
# CONFIG_BCACHEFS_POSIX_ACL is not set
CONFIG_BCACHEFS_DEBUG=y
# CONFIG_BCACHEFS_TESTS is not set
# CONFIG_BCACHEFS_LOCK_TIME_STATS is not set
# CONFIG_BCACHEFS_NO_LATENCY_ACCT is not set
CONFIG_BCACHEFS_SIX_OPTIMISTIC_SPIN=y
CONFIG_ZONEFS_FS=y
CONFIG_FS_DAX=y
CONFIG_FS_DAX_PMD=y
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_EXPORTFS_BLOCK_OPS=y
CONFIG_FILE_LOCKING=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FS_ENCRYPTION_ALGS=y
# CONFIG_FS_ENCRYPTION_INLINE_CRYPT is not set
CONFIG_FS_VERITY=y
CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=y
CONFIG_CUSE=y
CONFIG_VIRTIO_FS=y
CONFIG_FUSE_DAX=y
CONFIG_FUSE_PASSTHROUGH=y
CONFIG_OVERLAY_FS=y
CONFIG_OVERLAY_FS_REDIRECT_DIR=y
CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
CONFIG_OVERLAY_FS_INDEX=y
# CONFIG_OVERLAY_FS_NFS_EXPORT is not set
# CONFIG_OVERLAY_FS_XINO_AUTO is not set
# CONFIG_OVERLAY_FS_METACOPY is not set
CONFIG_OVERLAY_FS_DEBUG=y

#
# Caches
#
CONFIG_NETFS_SUPPORT=y
# CONFIG_NETFS_STATS is not set
CONFIG_FSCACHE=y
# CONFIG_FSCACHE_STATS is not set
# CONFIG_FSCACHE_DEBUG is not set
CONFIG_CACHEFILES=y
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_ERROR_INJECTION is not set
# CONFIG_CACHEFILES_ONDEMAND is not set
# end of Caches

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
# end of CD-ROM/DVD Filesystems

#
# DOS/FAT/EXFAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_FAT_DEFAULT_UTF8 is not set
CONFIG_EXFAT_FS=y
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
CONFIG_NTFS3_FS=y
# CONFIG_NTFS3_64BIT_CLUSTER is not set
CONFIG_NTFS3_LZX_XPRESS=y
CONFIG_NTFS3_FS_POSIX_ACL=y
# CONFIG_NTFS_FS is not set
# end of DOS/FAT/EXFAT/NT Filesystems

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
# CONFIG_PROC_VMCORE_DEVICE_DUMP is not set
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PROC_CHILDREN=y
CONFIG_PROC_PID_ARCH_STATUS=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_TMPFS_INODE64 is not set
CONFIG_TMPFS_QUOTA=y
CONFIG_HUGETLBFS=y
# CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set
CONFIG_HUGETLB_PAGE=y
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
CONFIG_CONFIGFS_FS=y
# end of Pseudo filesystems

CONFIG_MISC_FILESYSTEMS=y
CONFIG_ORANGEFS_FS=y
CONFIG_ADFS_FS=y
# CONFIG_ADFS_FS_RW is not set
CONFIG_AFFS_FS=y
CONFIG_ECRYPT_FS=y
CONFIG_ECRYPT_FS_MESSAGING=y
CONFIG_HFS_FS=y
CONFIG_HFSPLUS_FS=y
CONFIG_BEFS_FS=y
# CONFIG_BEFS_DEBUG is not set
CONFIG_BFS_FS=y
CONFIG_EFS_FS=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
CONFIG_JFFS2_SUMMARY=y
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
# CONFIG_JFFS2_CMODE_NONE is not set
CONFIG_JFFS2_CMODE_PRIORITY=y
# CONFIG_JFFS2_CMODE_SIZE is not set
# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
CONFIG_UBIFS_FS_ZSTD=y
CONFIG_UBIFS_ATIME_SUPPORT=y
CONFIG_UBIFS_FS_XATTR=y
CONFIG_UBIFS_FS_SECURITY=y
# CONFIG_UBIFS_FS_AUTHENTICATION is not set
CONFIG_CRAMFS=y
CONFIG_CRAMFS_BLOCKDEV=y
CONFIG_CRAMFS_MTD=y
CONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_FILE_CACHE is not set
CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZSTD=y
CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
CONFIG_VXFS_FS=y
CONFIG_MINIX_FS=y
CONFIG_OMFS_FS=y
CONFIG_HPFS_FS=y
CONFIG_QNX4FS_FS=y
CONFIG_QNX6FS_FS=y
# CONFIG_QNX6FS_DEBUG is not set
CONFIG_ROMFS_FS=y
# CONFIG_ROMFS_BACKED_BY_BLOCK is not set
# CONFIG_ROMFS_BACKED_BY_MTD is not set
CONFIG_ROMFS_BACKED_BY_BOTH=y
CONFIG_ROMFS_ON_BLOCK=y
CONFIG_ROMFS_ON_MTD=y
CONFIG_PSTORE=y
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_PMSG is not set
# CONFIG_PSTORE_RAM is not set
# CONFIG_PSTORE_BLK is not set
CONFIG_SYSV_FS=y
CONFIG_UFS_FS=y
CONFIG_UFS_FS_WRITE=y
# CONFIG_UFS_DEBUG is not set
CONFIG_EROFS_FS=y
# CONFIG_EROFS_FS_DEBUG is not set
CONFIG_EROFS_FS_XATTR=y
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_ZIP=y
# CONFIG_EROFS_FS_ZIP_LZMA is not set
# CONFIG_EROFS_FS_ZIP_DEFLATE is not set
# CONFIG_EROFS_FS_ONDEMAND is not set
# CONFIG_EROFS_FS_PCPU_KTHREAD is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
# CONFIG_NFS_SWAP is not set
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_PNFS_FILE_LAYOUT=y
CONFIG_PNFS_BLOCK=y
CONFIG_PNFS_FLEXFILE_LAYOUT=y
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
# CONFIG_NFS_V4_1_MIGRATION is not set
CONFIG_NFS_V4_SECURITY_LABEL=y
CONFIG_ROOT_NFS=y
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFS_V4_2_READ_PLUS=y
CONFIG_NFSD=y
# CONFIG_NFSD_V2 is not set
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_FLEXFILELAYOUT=y
CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
# CONFIG_NFSD_LEGACY_CLIENT_TRACKING is not set
CONFIG_GRACE_PERIOD=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_NFS_V4_2_SSC_HELPER=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1 is not set
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA is not set
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set
# CONFIG_SUNRPC_DEBUG is not set
# CONFIG_SUNRPC_XPRT_RDMA is not set
CONFIG_CEPH_FS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS_POSIX_ACL=y
# CONFIG_CEPH_FS_SECURITY_LABEL is not set
CONFIG_CIFS=y
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_SWN_UPCALL=y
CONFIG_CIFS_SMB_DIRECT=y
CONFIG_CIFS_FSCACHE=y
# CONFIG_CIFS_ROOT is not set
# CONFIG_SMB_SERVER is not set
CONFIG_SMBFS=y
# CONFIG_CODA_FS is not set
CONFIG_AFS_FS=y
# CONFIG_AFS_DEBUG is not set
CONFIG_AFS_FSCACHE=y
# CONFIG_AFS_DEBUG_CURSOR is not set
CONFIG_9P_FS=y
CONFIG_9P_FSCACHE=y
CONFIG_9P_FS_POSIX_ACL=y
CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=y
CONFIG_NLS_CODEPAGE_775=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=y
CONFIG_NLS_CODEPAGE_855=y
CONFIG_NLS_CODEPAGE_857=y
CONFIG_NLS_CODEPAGE_860=y
CONFIG_NLS_CODEPAGE_861=y
CONFIG_NLS_CODEPAGE_862=y
CONFIG_NLS_CODEPAGE_863=y
CONFIG_NLS_CODEPAGE_864=y
CONFIG_NLS_CODEPAGE_865=y
CONFIG_NLS_CODEPAGE_866=y
CONFIG_NLS_CODEPAGE_869=y
CONFIG_NLS_CODEPAGE_936=y
CONFIG_NLS_CODEPAGE_950=y
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
CONFIG_NLS_CODEPAGE_874=y
CONFIG_NLS_ISO8859_8=y
CONFIG_NLS_CODEPAGE_1250=y
CONFIG_NLS_CODEPAGE_1251=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_3=y
CONFIG_NLS_ISO8859_4=y
CONFIG_NLS_ISO8859_5=y
CONFIG_NLS_ISO8859_6=y
CONFIG_NLS_ISO8859_7=y
CONFIG_NLS_ISO8859_9=y
CONFIG_NLS_ISO8859_13=y
CONFIG_NLS_ISO8859_14=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=y
CONFIG_NLS_KOI8_U=y
CONFIG_NLS_MAC_ROMAN=y
CONFIG_NLS_MAC_CELTIC=y
CONFIG_NLS_MAC_CENTEURO=y
CONFIG_NLS_MAC_CROATIAN=y
CONFIG_NLS_MAC_CYRILLIC=y
CONFIG_NLS_MAC_GAELIC=y
CONFIG_NLS_MAC_GREEK=y
CONFIG_NLS_MAC_ICELAND=y
CONFIG_NLS_MAC_INUIT=y
CONFIG_NLS_MAC_ROMANIAN=y
CONFIG_NLS_MAC_TURKISH=y
CONFIG_NLS_UTF8=y
CONFIG_NLS_UCS2_UTILS=y
CONFIG_DLM=y
# CONFIG_DLM_DEBUG is not set
CONFIG_UNICODE=y
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
CONFIG_IO_WQ=y
# end of File systems

#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_REQUEST_CACHE=y
CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_BIG_KEYS=y
CONFIG_TRUSTED_KEYS=y
# CONFIG_TRUSTED_KEYS_TPM is not set

#
# No trust source selected!
#
CONFIG_ENCRYPTED_KEYS=y
# CONFIG_USER_DECRYPTED_DATA is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEY_NOTIFICATIONS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_INFINIBAND=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
# CONFIG_INTEL_TXT is not set
CONFIG_LSM_MMAP_MIN_ADDR=65536
CONFIG_HARDENED_USERCOPY=y
CONFIG_FORTIFY_SOURCE=y
# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
# CONFIG_SECURITY_SELINUX_DEBUG is not set
# CONFIG_SECURITY_SMACK is not set
CONFIG_SECURITY_TOMOYO=y
CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=64
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=32
CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER=y
CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING=y
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_LOADPIN is not set
CONFIG_SECURITY_YAMA=y
CONFIG_SECURITY_SAFESETID=y
CONFIG_SECURITY_LOCKDOWN_LSM=y
CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y
CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y
# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set
# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set
CONFIG_SECURITY_LANDLOCK=y
CONFIG_INTEGRITY=y
CONFIG_INTEGRITY_SIGNATURE=y
CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
CONFIG_INTEGRITY_TRUSTED_KEYRING=y
CONFIG_INTEGRITY_AUDIT=y
CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_LSM_RULES=y
CONFIG_IMA_NG_TEMPLATE=y
# CONFIG_IMA_SIG_TEMPLATE is not set
CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng"
# CONFIG_IMA_DEFAULT_HASH_SHA1 is not set
CONFIG_IMA_DEFAULT_HASH_SHA256=y
# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set
# CONFIG_IMA_DEFAULT_HASH_WP512 is not set
CONFIG_IMA_DEFAULT_HASH="sha256"
CONFIG_IMA_WRITE_POLICY=y
CONFIG_IMA_READ_POLICY=y
CONFIG_IMA_APPRAISE=y
# CONFIG_IMA_ARCH_POLICY is not set
# CONFIG_IMA_APPRAISE_BUILD_POLICY is not set
# CONFIG_IMA_APPRAISE_BOOTPARAM is not set
CONFIG_IMA_APPRAISE_MODSIG=y
# CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY is not set
# CONFIG_IMA_BLACKLIST_KEYRING is not set
# CONFIG_IMA_LOAD_X509 is not set
CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y
CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y
# CONFIG_IMA_DISABLE_HTABLE is not set
CONFIG_EVM=y
CONFIG_EVM_ATTR_FSUUID=y
CONFIG_EVM_ADD_XATTRS=y
# CONFIG_EVM_LOAD_X509 is not set
CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_LSM="landlock,lockdown,yama,safesetid,integrity,tomoyo,selinux,bpf"

#
# Kernel hardening options
#

#
# Memory initialization
#
CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
CONFIG_INIT_STACK_NONE=y
# CONFIG_INIT_STACK_ALL_PATTERN is not set
# CONFIG_INIT_STACK_ALL_ZERO is not set
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
# end of Memory initialization

#
# Hardening of kernel data structures
#
CONFIG_LIST_HARDENED=y
CONFIG_BUG_ON_DATA_CORRUPTION=y
# end of Hardening of kernel data structures

CONFIG_RANDSTRUCT_NONE=y
# end of Kernel hardening options
# end of Security options

CONFIG_XOR_BLOCKS=y
CONFIG_ASYNC_CORE=y
CONFIG_ASYNC_MEMCPY=y
CONFIG_ASYNC_XOR=y
CONFIG_ASYNC_PQ=y
CONFIG_ASYNC_RAID6_RECOV=y
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SIG2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_RNG_DEFAULT=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_AKCIPHER=y
CONFIG_CRYPTO_KPP2=y
CONFIG_CRYPTO_KPP=y
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=y
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=y
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_TEST is not set
CONFIG_CRYPTO_SIMD=y
CONFIG_CRYPTO_ENGINE=y
# end of Crypto core or helper

#
# Public-key cryptography
#
CONFIG_CRYPTO_RSA=y
CONFIG_CRYPTO_DH=y
# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set
CONFIG_CRYPTO_ECC=y
CONFIG_CRYPTO_ECDH=y
# CONFIG_CRYPTO_ECDSA is not set
CONFIG_CRYPTO_ECRDSA=y
CONFIG_CRYPTO_SM2=y
CONFIG_CRYPTO_CURVE25519=y
# end of Public-key cryptography

#
# Block ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_TI=y
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_ARIA=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_BLOWFISH_COMMON=y
CONFIG_CRYPTO_CAMELLIA=y
CONFIG_CRYPTO_CAST_COMMON=y
CONFIG_CRYPTO_CAST5=y
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_FCRYPT=y
CONFIG_CRYPTO_KHAZAD=y
CONFIG_CRYPTO_SEED=y
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_SM4=y
CONFIG_CRYPTO_SM4_GENERIC=y
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
# end of Block ciphers

#
# Length-preserving ciphers and modes
#
CONFIG_CRYPTO_ADIANTUM=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_CHACHA20=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_HCTR2=y
CONFIG_CRYPTO_KEYWRAP=y
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_XCTR=y
CONFIG_CRYPTO_XTS=y
CONFIG_CRYPTO_NHPOLY1305=y
# end of Length-preserving ciphers and modes

#
# AEAD (authenticated encryption with associated data) ciphers
#
CONFIG_CRYPTO_AEGIS128=y
CONFIG_CRYPTO_CHACHA20POLY1305=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_GENIV=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ECHAINIV=y
CONFIG_CRYPTO_ESSIV=y
# end of AEAD (authenticated encryption with associated data) ciphers

#
# Hashes, digests, and MACs
#
CONFIG_CRYPTO_BLAKE2B=y
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_POLYVAL=y
CONFIG_CRYPTO_POLY1305=y
CONFIG_CRYPTO_RMD160=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=y
CONFIG_CRYPTO_SM3=y
# CONFIG_CRYPTO_SM3_GENERIC is not set
CONFIG_CRYPTO_STREEBOG=y
CONFIG_CRYPTO_VMAC=y
CONFIG_CRYPTO_WP512=y
CONFIG_CRYPTO_XCBC=y
CONFIG_CRYPTO_XXHASH=y
# end of Hashes, digests, and MACs

#
# CRCs (cyclic redundancy checks)
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=y
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRC64_ROCKSOFT=y
# end of CRCs (cyclic redundancy checks)

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_LZ4=y
CONFIG_CRYPTO_LZ4HC=y
CONFIG_CRYPTO_ZSTD=y
# end of Compression

#
# Random number generation
#
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_CRYPTO_DRBG_MENU=y
CONFIG_CRYPTO_DRBG_HMAC=y
CONFIG_CRYPTO_DRBG_HASH=y
CONFIG_CRYPTO_DRBG_CTR=y
CONFIG_CRYPTO_DRBG=y
CONFIG_CRYPTO_JITTERENTROPY=y
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKS=64
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32
CONFIG_CRYPTO_JITTERENTROPY_OSR=1
CONFIG_CRYPTO_KDF800108_CTR=y
# end of Random number generation

#
# Userspace interface
#
CONFIG_CRYPTO_USER_API=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_USER_API_SKCIPHER=y
CONFIG_CRYPTO_USER_API_RNG=y
# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
CONFIG_CRYPTO_USER_API_AEAD=y
CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
# CONFIG_CRYPTO_STATS is not set
# end of Userspace interface

CONFIG_CRYPTO_HASH_INFO=y

#
# Accelerated Cryptographic Algorithms for CPU (x86)
#
CONFIG_CRYPTO_CURVE25519_X86=y
CONFIG_CRYPTO_AES_NI_INTEL=y
CONFIG_CRYPTO_BLOWFISH_X86_64=y
CONFIG_CRYPTO_CAMELLIA_X86_64=y
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=y
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=y
CONFIG_CRYPTO_CAST5_AVX_X86_64=y
CONFIG_CRYPTO_CAST6_AVX_X86_64=y
CONFIG_CRYPTO_DES3_EDE_X86_64=y
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=y
CONFIG_CRYPTO_SERPENT_AVX_X86_64=y
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=y
CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64=y
CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64=y
CONFIG_CRYPTO_TWOFISH_X86_64=y
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=y
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=y
CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64=y
# CONFIG_CRYPTO_ARIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_ARIA_GFNI_AVX512_X86_64 is not set
CONFIG_CRYPTO_CHACHA20_X86_64=y
CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=y
CONFIG_CRYPTO_NHPOLY1305_SSE2=y
CONFIG_CRYPTO_NHPOLY1305_AVX2=y
CONFIG_CRYPTO_BLAKE2S_X86=y
CONFIG_CRYPTO_POLYVAL_CLMUL_NI=y
CONFIG_CRYPTO_POLY1305_X86_64=y
CONFIG_CRYPTO_SHA1_SSSE3=y
CONFIG_CRYPTO_SHA256_SSSE3=y
CONFIG_CRYPTO_SHA512_SSSE3=y
CONFIG_CRYPTO_SM3_AVX_X86_64=y
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=y
CONFIG_CRYPTO_CRC32C_INTEL=y
CONFIG_CRYPTO_CRC32_PCLMUL=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=y
# end of Accelerated Cryptographic Algorithms for CPU (x86)

CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=y
CONFIG_CRYPTO_DEV_PADLOCK_AES=y
CONFIG_CRYPTO_DEV_PADLOCK_SHA=y
# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
CONFIG_CRYPTO_DEV_CCP=y
CONFIG_CRYPTO_DEV_CCP_DD=y
# CONFIG_CRYPTO_DEV_SP_CCP is not set
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
CONFIG_CRYPTO_DEV_QAT=y
CONFIG_CRYPTO_DEV_QAT_DH895xCC=y
CONFIG_CRYPTO_DEV_QAT_C3XXX=y
CONFIG_CRYPTO_DEV_QAT_C62X=y
# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
# CONFIG_CRYPTO_DEV_QAT_420XX is not set
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=y
CONFIG_CRYPTO_DEV_QAT_C3XXXVF=y
CONFIG_CRYPTO_DEV_QAT_C62XVF=y
# CONFIG_CRYPTO_DEV_QAT_ERROR_INJECTION is not set
CONFIG_CRYPTO_DEV_VIRTIO=y
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_CCREE is not set
# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_PKCS8_PRIVATE_KEY_PARSER=y
CONFIG_PKCS7_MESSAGE_PARSER=y
CONFIG_PKCS7_TEST_KEY=y
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
# CONFIG_FIPS_SIGNATURE_SELFTEST is not set

#
# Certificates for signature checking
#
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
CONFIG_SECONDARY_TRUSTED_KEYRING=y
# CONFIG_SECONDARY_TRUSTED_KEYRING_SIGNED_BY_BUILTIN is not set
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
# end of Certificates for signature checking

CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=y
# CONFIG_RAID6_PQ_BENCHMARK is not set
CONFIG_LINEAR_RANGES=y
# CONFIG_PACKING is not set
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
# CONFIG_CORDIC is not set
# CONFIG_PRIME_NUMBERS is not set
CONFIG_RATIONAL=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_ARCH_USE_SYM_ANNOTATIONS=y

#
# Crypto library routines
#
CONFIG_CRYPTO_LIB_UTILS=y
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_ARC4=y
CONFIG_CRYPTO_LIB_GF128MUL=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y
CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y
CONFIG_CRYPTO_LIB_CHACHA=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=y
CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=y
CONFIG_CRYPTO_LIB_CURVE25519=y
CONFIG_CRYPTO_LIB_DES=y
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=y
CONFIG_CRYPTO_LIB_POLY1305_GENERIC=y
CONFIG_CRYPTO_LIB_POLY1305=y
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=y
CONFIG_CRYPTO_LIB_SHA1=y
CONFIG_CRYPTO_LIB_SHA256=y
# end of Crypto library routines

CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC64_ROCKSOFT=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
CONFIG_CRC64=y
CONFIG_CRC4=y
CONFIG_CRC7=y
CONFIG_LIBCRC32C=y
CONFIG_CRC8=y
CONFIG_XXHASH=y
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_842_COMPRESS=y
CONFIG_842_DECOMPRESS=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_COMPRESS=y
CONFIG_LZ4HC_COMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMMON=y
CONFIG_ZSTD_COMPRESS=y
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
# CONFIG_XZ_DEC_MICROLZMA is not set
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=y
CONFIG_REED_SOLOMON_DEC8=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=y
CONFIG_TEXTSEARCH_BM=y
CONFIG_TEXTSEARCH_FSM=y
CONFIG_INTERVAL_TREE=y
CONFIG_INTERVAL_TREE_SPAN_ITER=y
CONFIG_XARRAY_MULTI=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_CLOSURES=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS=y
CONFIG_NEED_SG_DMA_FLAGS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DMA_DECLARE_COHERENT=y
CONFIG_SWIOTLB=y
# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_DMA_RESTRICTED_POOL is not set
CONFIG_DMA_CMA=y
# CONFIG_DMA_NUMA_CMA is not set

#
# Default contiguous memory area size:
#
CONFIG_CMA_SIZE_MBYTES=0
CONFIG_CMA_SIZE_SEL_MBYTES=y
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
# CONFIG_CMA_SIZE_SEL_MIN is not set
# CONFIG_CMA_SIZE_SEL_MAX is not set
CONFIG_CMA_ALIGNMENT=8
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
CONFIG_SGL_ALLOC=y
CONFIG_CHECK_SIGNATURE=y
# CONFIG_CPUMASK_OFFSTACK is not set
# CONFIG_FORCE_NR_CPUS is not set
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_GLOB=y
# CONFIG_GLOB_SELFTEST is not set
CONFIG_NLATTR=y
CONFIG_CLZ_TAB=y
CONFIG_IRQ_POLL=y
CONFIG_MPILIB=y
CONFIG_SIGNATURE=y
CONFIG_DIMLIB=y
CONFIG_LIBFDT=y
CONFIG_OID_REGISTRY=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_TIME_NS=y
CONFIG_FONT_SUPPORT=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_MEMREGION=y
CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_ARCH_HAS_COPY_MC=y
CONFIG_ARCH_STACKWALK=y
CONFIG_STACKDEPOT=y
CONFIG_STACKDEPOT_ALWAYS_INIT=y
CONFIG_STACKDEPOT_MAX_FRAMES=64
CONFIG_REF_TRACKER=y
CONFIG_SBITMAP=y
# CONFIG_LWQ_TEST is not set
# end of Library routines

CONFIG_FIRMWARE_TABLE=y

#
# Kernel hacking
#

#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
CONFIG_PRINTK_CALLER=y
# CONFIG_STACKTRACE_BUILD_ID is not set
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_BOOT_PRINTK_DELAY is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_DEBUG_CORE=y
CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_DEBUG_BUGVERBOSE=y
# end of printk and dmesg options

CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_MISC=y

#
# Compile-time checks and compiler options
#
CONFIG_DEBUG_INFO=y
CONFIG_AS_HAS_NON_CONST_ULEB128=y
# CONFIG_DEBUG_INFO_NONE is not set
# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
CONFIG_DEBUG_INFO_DWARF4=y
# CONFIG_DEBUG_INFO_DWARF5 is not set
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_DEBUG_INFO_COMPRESSED_NONE=y
# CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set
# CONFIG_DEBUG_INFO_SPLIT is not set
# CONFIG_DEBUG_INFO_BTF is not set
CONFIG_GDB_SCRIPTS=y
CONFIG_FRAME_WARN=2048
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_HEADERS_INSTALL is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set
CONFIG_OBJTOOL=y
CONFIG_NOINSTR_VALIDATION=y
# CONFIG_VMLINUX_MAP is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# end of Compile-time checks and compiler options

#
# Generic Kernel Debugging Instruments
#
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_ARCH_HAS_UBSAN=y
CONFIG_UBSAN=y
# CONFIG_UBSAN_TRAP is not set
CONFIG_CC_HAS_UBSAN_ARRAY_BOUNDS=y
CONFIG_UBSAN_BOUNDS=y
CONFIG_UBSAN_ARRAY_BOUNDS=y
CONFIG_UBSAN_SHIFT=y
CONFIG_UBSAN_SIGNED_WRAP=y
# CONFIG_UBSAN_BOOL is not set
# CONFIG_UBSAN_ENUM is not set
# CONFIG_UBSAN_ALIGNMENT is not set
# CONFIG_TEST_UBSAN is not set
CONFIG_HAVE_ARCH_KCSAN=y
CONFIG_HAVE_KCSAN_COMPILER=y
# end of Generic Kernel Debugging Instruments

#
# Networking Debugging
#
CONFIG_NET_DEV_REFCNT_TRACKER=y
CONFIG_NET_NS_REFCNT_TRACKER=y
CONFIG_DEBUG_NET=y
# end of Networking Debugging

#
# Memory Debugging
#
CONFIG_PAGE_EXTENSION=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_SLUB_DEBUG=y
# CONFIG_SLUB_DEBUG_ON is not set
CONFIG_PAGE_OWNER=y
CONFIG_PAGE_TABLE_CHECK=y
CONFIG_PAGE_TABLE_CHECK_ENFORCED=y
CONFIG_PAGE_POISONING=y
# CONFIG_DEBUG_PAGE_REF is not set
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_ARCH_HAS_DEBUG_WX=y
CONFIG_DEBUG_WX=y
CONFIG_GENERIC_PTDUMP=y
CONFIG_PTDUMP_CORE=y
CONFIG_PTDUMP_DEBUGFS=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_PER_VMA_LOCK_STATS is not set
CONFIG_DEBUG_OBJECTS=y
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
CONFIG_DEBUG_OBJECTS_FREE=y
CONFIG_DEBUG_OBJECTS_TIMERS=y
CONFIG_DEBUG_OBJECTS_WORK=y
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_SHRINKER_DEBUG is not set
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_SCHED_STACK_END_CHECK=y
CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
CONFIG_DEBUG_VM_IRQSOFF=y
CONFIG_DEBUG_VM=y
CONFIG_DEBUG_VM_MAPLE_TREE=y
CONFIG_DEBUG_VM_RB=y
CONFIG_DEBUG_VM_PGFLAGS=y
CONFIG_DEBUG_VM_PGTABLE=y
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
CONFIG_DEBUG_VIRTUAL=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_DEBUG_KMAP_LOCAL=y
CONFIG_ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP=y
CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP=y
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_KASAN_SW_TAGS=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
CONFIG_KASAN=y
CONFIG_KASAN_GENERIC=y
# CONFIG_KASAN_OUTLINE is not set
CONFIG_KASAN_INLINE=y
CONFIG_KASAN_STACK=y
CONFIG_KASAN_VMALLOC=y
# CONFIG_KASAN_MODULE_TEST is not set
# CONFIG_KASAN_EXTRA_INFO is not set
CONFIG_HAVE_ARCH_KFENCE=y
CONFIG_KFENCE=y
CONFIG_KFENCE_SAMPLE_INTERVAL=100
CONFIG_KFENCE_NUM_OBJECTS=255
# CONFIG_KFENCE_DEFERRABLE is not set
CONFIG_KFENCE_STATIC_KEYS=y
CONFIG_KFENCE_STRESS_TEST_FAULTS=0
CONFIG_HAVE_ARCH_KMSAN=y
CONFIG_HAVE_KMSAN_COMPILER=y
# end of Memory Debugging

# CONFIG_DEBUG_SHIRQ is not set

#
# Debug Oops, Lockups and Hangs
#
CONFIG_PANIC_ON_OOPS=y
CONFIG_PANIC_ON_OOPS_VALUE=1
CONFIG_PANIC_TIMEOUT=86400
CONFIG_LOCKUP_DETECTOR=y
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_HARDLOCKUP_DETECTOR_PREFER_BUDDY is not set
CONFIG_HARDLOCKUP_DETECTOR_PERF=y
# CONFIG_HARDLOCKUP_DETECTOR_BUDDY is not set
# CONFIG_HARDLOCKUP_DETECTOR_ARCH is not set
CONFIG_HARDLOCKUP_DETECTOR_COUNTS_HRTIMER=y
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=140
CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
CONFIG_WQ_WATCHDOG=y
# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set
# CONFIG_TEST_LOCKUP is not set
# end of Debug Oops, Lockups and Hangs

#
# Scheduler Debugging
#
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
# end of Scheduler Debugging

CONFIG_DEBUG_TIMEKEEPING=y
CONFIG_DEBUG_PREEMPT=y

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RAW_LOCK_NESTING is not set
# CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
CONFIG_DEBUG_RWSEMS=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_LOCKDEP=y
CONFIG_LOCKDEP_BITS=17
CONFIG_LOCKDEP_CHAINS_BITS=18
CONFIG_LOCKDEP_STACK_TRACE_BITS=20
CONFIG_LOCKDEP_STACK_TRACE_HASH_BITS=14
CONFIG_LOCKDEP_CIRCULAR_QUEUE_BITS=12
# CONFIG_DEBUG_LOCKDEP is not set
CONFIG_DEBUG_ATOMIC_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_LOCK_TORTURE_TEST is not set
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_SCF_TORTURE_TEST is not set
CONFIG_CSD_LOCK_WAIT_DEBUG=y
# CONFIG_CSD_LOCK_WAIT_DEBUG_DEFAULT is not set
# end of Lock Debugging (spinlocks, mutexes, etc...)

CONFIG_TRACE_IRQFLAGS=y
CONFIG_TRACE_IRQFLAGS_NMI=y
CONFIG_NMI_CHECK_CPU=y
CONFIG_DEBUG_IRQFLAGS=y
CONFIG_STACKTRACE=y
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_KOBJECT_RELEASE is not set

#
# Debug kernel data structures
#
CONFIG_DEBUG_LIST=y
CONFIG_DEBUG_PLIST=y
CONFIG_DEBUG_SG=y
CONFIG_DEBUG_NOTIFIERS=y
# CONFIG_DEBUG_CLOSURES is not set
CONFIG_DEBUG_MAPLE_TREE=y
# end of Debug kernel data structures

#
# RCU Debugging
#
CONFIG_PROVE_RCU=y
# CONFIG_RCU_SCALE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=100
CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=21000
# CONFIG_RCU_CPU_STALL_CPUTIME is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_EQS_DEBUG=y
# end of RCU Debugging

# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_LATENCYTOP is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_RETHOOK=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_OBJTOOL_MCOUNT=y
CONFIG_HAVE_OBJTOOL_NOP_MCOUNT=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_PREEMPTIRQ_TRACEPOINTS=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_BOOTTIME_TRACING is not set
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_STACK_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_HWLAT_TRACER is not set
# CONFIG_OSNOISE_TRACER is not set
# CONFIG_TIMERLAT_TRACER is not set
# CONFIG_MMIOTRACE is not set
# CONFIG_FTRACE_SYSCALLS is not set
# CONFIG_TRACER_SNAPSHOT is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y
# CONFIG_SYNTH_EVENTS is not set
# CONFIG_USER_EVENTS is not set
# CONFIG_HIST_TRIGGERS is not set
CONFIG_TRACE_EVENT_INJECT=y
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_TRACE_EVAL_MAP_FILE is not set
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS=y
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
# CONFIG_RV is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
# CONFIG_SAMPLES is not set
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
# CONFIG_STRICT_DEVMEM is not set

#
# x86 Debugging
#
CONFIG_EARLY_PRINTK_USB=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
# CONFIG_EARLY_PRINTK_USB_XDBC is not set
# CONFIG_DEBUG_TLBFLUSH is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
CONFIG_DEBUG_ENTRY=y
# CONFIG_DEBUG_NMI_SELFTEST is not set
CONFIG_X86_DEBUG_FPU=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_UNWINDER_ORC=y
# CONFIG_UNWINDER_FRAME_POINTER is not set
# end of x86 Debugging

#
# Kernel Testing and Coverage
#
# CONFIG_KUNIT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
CONFIG_FAULT_INJECTION=y
CONFIG_FAILSLAB=y
CONFIG_FAIL_PAGE_ALLOC=y
CONFIG_FAULT_INJECTION_USERCOPY=y
CONFIG_FAIL_MAKE_REQUEST=y
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_FUTEX=y
CONFIG_FAULT_INJECTION_DEBUG_FS=y
# CONFIG_FAIL_MMC_REQUEST is not set
CONFIG_FAULT_INJECTION_CONFIGFS=y
# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
CONFIG_ARCH_HAS_KCOV=y
CONFIG_CC_HAS_SANCOV_TRACE_PC=y
CONFIG_KCOV=y
CONFIG_KCOV_ENABLE_COMPARISONS=y
CONFIG_KCOV_INSTRUMENT_ALL=y
CONFIG_KCOV_IRQ_AREA_SIZE=0x40000
CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_TEST_DHRY is not set
# CONFIG_LKDTM is not set
# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_DIV64 is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_TEST_REF_TRACKER is not set
# CONFIG_RBTREE_TEST is not set
# CONFIG_REED_SOLOMON_TEST is not set
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_PERCPU_TEST is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_TEST_HEXDUMP is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_SCANF is not set
# CONFIG_TEST_BITMAP is not set
# CONFIG_TEST_UUID is not set
# CONFIG_TEST_XARRAY is not set
# CONFIG_TEST_MAPLE_TREE is not set
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_TEST_IDA is not set
# CONFIG_TEST_LKM is not set
# CONFIG_TEST_BITOPS is not set
# CONFIG_TEST_VMALLOC is not set
# CONFIG_TEST_USER_COPY is not set
# CONFIG_TEST_BPF is not set
# CONFIG_TEST_BLACKHOLE_DEV is not set
# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_TEST_FIRMWARE is not set
# CONFIG_TEST_SYSCTL is not set
# CONFIG_TEST_UDELAY is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_DYNAMIC_DEBUG is not set
# CONFIG_TEST_KMOD is not set
# CONFIG_TEST_DEBUG_VIRTUAL is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
# CONFIG_TEST_HMM is not set
# CONFIG_TEST_FREE_PAGES is not set
# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set
# CONFIG_TEST_OBJPOOL is not set
CONFIG_ARCH_USE_MEMTEST=y
# CONFIG_MEMTEST is not set
# end of Kernel Testing and Coverage

#
# Rust hacking
#
# end of Rust hacking
# end of Kernel hacking

[-- Attachment #3: alloc_object.c --]
[-- Type: text/x-csrc, Size: 42449 bytes --]

#define _GNU_SOURCE

#include <arpa/inet.h>
#include <endian.h>
#include <errno.h>
#include <fcntl.h>
#include <net/if.h>
#include <netinet/in.h>
#include <setjmp.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <unistd.h>

#include <linux/genetlink.h>
#include <linux/if_addr.h>
#include <linux/if_link.h>
#include <linux/in6.h>
#include <linux/loop.h>
#include <linux/neighbour.h>
#include <linux/net.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
#include <linux/veth.h>

#ifndef __NR_memfd_create
#define __NR_memfd_create 319
#endif

static unsigned long long procid;

struct nlmsg {
  char* pos;
  int nesting;
  struct nlattr* nested[8];
  char buf[4096];
};

static void netlink_init(struct nlmsg* nlmsg, int typ, int flags,
                         const void* data, int size)
{
  memset(nlmsg, 0, sizeof(*nlmsg));
  struct nlmsghdr* hdr = (struct nlmsghdr*)nlmsg->buf;
  hdr->nlmsg_type = typ;
  hdr->nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK | flags;
  memcpy(hdr + 1, data, size);
  nlmsg->pos = (char*)(hdr + 1) + NLMSG_ALIGN(size);
}

static void netlink_attr(struct nlmsg* nlmsg, int typ, const void* data,
                         int size)
{
  struct nlattr* attr = (struct nlattr*)nlmsg->pos;
  attr->nla_len = sizeof(*attr) + size;
  attr->nla_type = typ;
  if (size > 0)
    memcpy(attr + 1, data, size);
  nlmsg->pos += NLMSG_ALIGN(attr->nla_len);
}

static void netlink_nest(struct nlmsg* nlmsg, int typ)
{
  struct nlattr* attr = (struct nlattr*)nlmsg->pos;
  attr->nla_type = typ;
  nlmsg->pos += sizeof(*attr);
  nlmsg->nested[nlmsg->nesting++] = attr;
}

static void netlink_done(struct nlmsg* nlmsg)
{
  struct nlattr* attr = nlmsg->nested[--nlmsg->nesting];
  attr->nla_len = nlmsg->pos - (char*)attr;
}

static int netlink_send_ext(struct nlmsg* nlmsg, int sock, uint16_t reply_type,
                            int* reply_len, bool dofail)
{
  if (nlmsg->pos > nlmsg->buf + sizeof(nlmsg->buf) || nlmsg->nesting)
    exit(1);
  struct nlmsghdr* hdr = (struct nlmsghdr*)nlmsg->buf;
  hdr->nlmsg_len = nlmsg->pos - nlmsg->buf;
  struct sockaddr_nl addr;
  memset(&addr, 0, sizeof(addr));
  addr.nl_family = AF_NETLINK;
  ssize_t n = sendto(sock, nlmsg->buf, hdr->nlmsg_len, 0,
                     (struct sockaddr*)&addr, sizeof(addr));
  if (n != (ssize_t)hdr->nlmsg_len) {
    if (dofail)
      exit(1);
    return -1;
  }
  n = recv(sock, nlmsg->buf, sizeof(nlmsg->buf), 0);
  if (reply_len)
    *reply_len = 0;
  if (n < 0) {
    if (dofail)
      exit(1);
    return -1;
  }
  if (n < (ssize_t)sizeof(struct nlmsghdr)) {
    errno = EINVAL;
    if (dofail)
      exit(1);
    return -1;
  }
  if (hdr->nlmsg_type == NLMSG_DONE)
    return 0;
  if (reply_len && hdr->nlmsg_type == reply_type) {
    *reply_len = n;
    return 0;
  }
  if (n < (ssize_t)(sizeof(struct nlmsghdr) + sizeof(struct nlmsgerr))) {
    errno = EINVAL;
    if (dofail)
      exit(1);
    return -1;
  }
  if (hdr->nlmsg_type != NLMSG_ERROR) {
    errno = EINVAL;
    if (dofail)
      exit(1);
    return -1;
  }
  errno = -((struct nlmsgerr*)(hdr + 1))->error;
  return -errno;
}

static int netlink_send(struct nlmsg* nlmsg, int sock)
{
  return netlink_send_ext(nlmsg, sock, 0, NULL, true);
}

static int netlink_query_family_id(struct nlmsg* nlmsg, int sock,
                                   const char* family_name, bool dofail)
{
  struct genlmsghdr genlhdr;
  memset(&genlhdr, 0, sizeof(genlhdr));
  genlhdr.cmd = CTRL_CMD_GETFAMILY;
  netlink_init(nlmsg, GENL_ID_CTRL, 0, &genlhdr, sizeof(genlhdr));
  netlink_attr(nlmsg, CTRL_ATTR_FAMILY_NAME, family_name,
               strnlen(family_name, GENL_NAMSIZ - 1) + 1);
  int n = 0;
  int err = netlink_send_ext(nlmsg, sock, GENL_ID_CTRL, &n, dofail);
  if (err < 0) {
    return -1;
  }
  uint16_t id = 0;
  struct nlattr* attr = (struct nlattr*)(nlmsg->buf + NLMSG_HDRLEN +
                                         NLMSG_ALIGN(sizeof(genlhdr)));
  for (; (char*)attr < nlmsg->buf + n;
       attr = (struct nlattr*)((char*)attr + NLMSG_ALIGN(attr->nla_len))) {
    if (attr->nla_type == CTRL_ATTR_FAMILY_ID) {
      id = *(uint16_t*)(attr + 1);
      break;
    }
  }
  if (!id) {
    errno = EINVAL;
    return -1;
  }
  recv(sock, nlmsg->buf, sizeof(nlmsg->buf), 0);
  return id;
}

static void netlink_add_device_impl(struct nlmsg* nlmsg, const char* type,
                                    const char* name, bool up)
{
  struct ifinfomsg hdr;
  memset(&hdr, 0, sizeof(hdr));
  if (up)
    hdr.ifi_flags = hdr.ifi_change = IFF_UP;
  netlink_init(nlmsg, RTM_NEWLINK, NLM_F_EXCL | NLM_F_CREATE, &hdr,
               sizeof(hdr));
  if (name)
    netlink_attr(nlmsg, IFLA_IFNAME, name, strlen(name));
  netlink_nest(nlmsg, IFLA_LINKINFO);
  netlink_attr(nlmsg, IFLA_INFO_KIND, type, strlen(type));
}

static void netlink_device_change(struct nlmsg* nlmsg, int sock,
                                  const char* name, bool up, const char* master,
                                  const void* mac, int macsize,
                                  const char* new_name)
{
  struct ifinfomsg hdr;
  memset(&hdr, 0, sizeof(hdr));
  if (up)
    hdr.ifi_flags = hdr.ifi_change = IFF_UP;
  hdr.ifi_index = if_nametoindex(name);
  netlink_init(nlmsg, RTM_NEWLINK, 0, &hdr, sizeof(hdr));
  if (new_name)
    netlink_attr(nlmsg, IFLA_IFNAME, new_name, strlen(new_name));
  if (master) {
    int ifindex = if_nametoindex(master);
    netlink_attr(nlmsg, IFLA_MASTER, &ifindex, sizeof(ifindex));
  }
  if (macsize)
    netlink_attr(nlmsg, IFLA_ADDRESS, mac, macsize);
  int err = netlink_send(nlmsg, sock);
  if (err < 0) {
  }
}

static struct nlmsg nlmsg;

//% This code is derived from puff.{c,h}, found in the zlib development. The
//% original files come with the following copyright notice:

//% Copyright (C) 2002-2013 Mark Adler, all rights reserved
//% version 2.3, 21 Jan 2013
//% This software is provided 'as-is', without any express or implied
//% warranty.  In no event will the author be held liable for any damages
//% arising from the use of this software.
//% Permission is granted to anyone to use this software for any purpose,
//% including commercial applications, and to alter it and redistribute it
//% freely, subject to the following restrictions:
//% 1. The origin of this software must not be misrepresented; you must not
//%    claim that you wrote the original software. If you use this software
//%    in a product, an acknowledgment in the product documentation would be
//%    appreciated but is not required.
//% 2. Altered source versions must be plainly marked as such, and must not be
//%    misrepresented as being the original software.
//% 3. This notice may not be removed or altered from any source distribution.
//% Mark Adler    madler@alumni.caltech.edu

//% BEGIN CODE DERIVED FROM puff.{c,h}

#define MAXBITS 15
#define MAXLCODES 286
#define MAXDCODES 30
#define MAXCODES (MAXLCODES + MAXDCODES)
#define FIXLCODES 288

struct puff_state {
  unsigned char* out;
  unsigned long outlen;
  unsigned long outcnt;
  const unsigned char* in;
  unsigned long inlen;
  unsigned long incnt;
  int bitbuf;
  int bitcnt;
  jmp_buf env;
};
static int puff_bits(struct puff_state* s, int need)
{
  long val = s->bitbuf;
  while (s->bitcnt < need) {
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    val |= (long)(s->in[s->incnt++]) << s->bitcnt;
    s->bitcnt += 8;
  }
  s->bitbuf = (int)(val >> need);
  s->bitcnt -= need;
  return (int)(val & ((1L << need) - 1));
}
static int puff_stored(struct puff_state* s)
{
  s->bitbuf = 0;
  s->bitcnt = 0;
  if (s->incnt + 4 > s->inlen)
    return 2;
  unsigned len = s->in[s->incnt++];
  len |= s->in[s->incnt++] << 8;
  if (s->in[s->incnt++] != (~len & 0xff) ||
      s->in[s->incnt++] != ((~len >> 8) & 0xff))
    return -2;
  if (s->incnt + len > s->inlen)
    return 2;
  if (s->outcnt + len > s->outlen)
    return 1;
  for (; len--; s->outcnt++, s->incnt++) {
    if (s->in[s->incnt])
      s->out[s->outcnt] = s->in[s->incnt];
  }
  return 0;
}
struct puff_huffman {
  short* count;
  short* symbol;
};
static int puff_decode(struct puff_state* s, const struct puff_huffman* h)
{
  int first = 0;
  int index = 0;
  int bitbuf = s->bitbuf;
  int left = s->bitcnt;
  int code = first = index = 0;
  int len = 1;
  short* next = h->count + 1;
  while (1) {
    while (left--) {
      code |= bitbuf & 1;
      bitbuf >>= 1;
      int count = *next++;
      if (code - count < first) {
        s->bitbuf = bitbuf;
        s->bitcnt = (s->bitcnt - len) & 7;
        return h->symbol[index + (code - first)];
      }
      index += count;
      first += count;
      first <<= 1;
      code <<= 1;
      len++;
    }
    left = (MAXBITS + 1) - len;
    if (left == 0)
      break;
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    bitbuf = s->in[s->incnt++];
    if (left > 8)
      left = 8;
  }
  return -10;
}
static int puff_construct(struct puff_huffman* h, const short* length, int n)
{
  int len;
  for (len = 0; len <= MAXBITS; len++)
    h->count[len] = 0;
  int symbol;
  for (symbol = 0; symbol < n; symbol++)
    (h->count[length[symbol]])++;
  if (h->count[0] == n)
    return 0;
  int left = 1;
  for (len = 1; len <= MAXBITS; len++) {
    left <<= 1;
    left -= h->count[len];
    if (left < 0)
      return left;
  }
  short offs[MAXBITS + 1];
  offs[1] = 0;
  for (len = 1; len < MAXBITS; len++)
    offs[len + 1] = offs[len] + h->count[len];
  for (symbol = 0; symbol < n; symbol++)
    if (length[symbol] != 0)
      h->symbol[offs[length[symbol]]++] = symbol;
  return left;
}
static int puff_codes(struct puff_state* s, const struct puff_huffman* lencode,
                      const struct puff_huffman* distcode)
{
  static const short lens[29] = {3,  4,  5,  6,   7,   8,   9,   10,  11, 13,
                                 15, 17, 19, 23,  27,  31,  35,  43,  51, 59,
                                 67, 83, 99, 115, 131, 163, 195, 227, 258};
  static const short lext[29] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2,
                                 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0};
  static const short dists[30] = {
      1,    2,    3,    4,    5,    7,    9,    13,    17,    25,
      33,   49,   65,   97,   129,  193,  257,  385,   513,   769,
      1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577};
  static const short dext[30] = {0, 0, 0,  0,  1,  1,  2,  2,  3,  3,
                                 4, 4, 5,  5,  6,  6,  7,  7,  8,  8,
                                 9, 9, 10, 10, 11, 11, 12, 12, 13, 13};
  int symbol;
  do {
    symbol = puff_decode(s, lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 256) {
      if (s->outcnt == s->outlen)
        return 1;
      if (symbol)
        s->out[s->outcnt] = symbol;
      s->outcnt++;
    } else if (symbol > 256) {
      symbol -= 257;
      if (symbol >= 29)
        return -10;
      int len = lens[symbol] + puff_bits(s, lext[symbol]);
      symbol = puff_decode(s, distcode);
      if (symbol < 0)
        return symbol;
      unsigned dist = dists[symbol] + puff_bits(s, dext[symbol]);
      if (dist > s->outcnt)
        return -11;
      if (s->outcnt + len > s->outlen)
        return 1;
      while (len--) {
        if (dist <= s->outcnt && s->out[s->outcnt - dist])
          s->out[s->outcnt] = s->out[s->outcnt - dist];
        s->outcnt++;
      }
    }
  } while (symbol != 256);
  return 0;
}
static int puff_fixed(struct puff_state* s)
{
  static int virgin = 1;
  static short lencnt[MAXBITS + 1], lensym[FIXLCODES];
  static short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  static struct puff_huffman lencode, distcode;
  if (virgin) {
    lencode.count = lencnt;
    lencode.symbol = lensym;
    distcode.count = distcnt;
    distcode.symbol = distsym;
    short lengths[FIXLCODES];
    int symbol;
    for (symbol = 0; symbol < 144; symbol++)
      lengths[symbol] = 8;
    for (; symbol < 256; symbol++)
      lengths[symbol] = 9;
    for (; symbol < 280; symbol++)
      lengths[symbol] = 7;
    for (; symbol < FIXLCODES; symbol++)
      lengths[symbol] = 8;
    puff_construct(&lencode, lengths, FIXLCODES);
    for (symbol = 0; symbol < MAXDCODES; symbol++)
      lengths[symbol] = 5;
    puff_construct(&distcode, lengths, MAXDCODES);
    virgin = 0;
  }
  return puff_codes(s, &lencode, &distcode);
}
static int puff_dynamic(struct puff_state* s)
{
  static const short order[19] = {16, 17, 18, 0, 8,  7, 9,  6, 10, 5,
                                  11, 4,  12, 3, 13, 2, 14, 1, 15};
  int nlen = puff_bits(s, 5) + 257;
  int ndist = puff_bits(s, 5) + 1;
  int ncode = puff_bits(s, 4) + 4;
  if (nlen > MAXLCODES || ndist > MAXDCODES)
    return -3;
  short lengths[MAXCODES];
  int index;
  for (index = 0; index < ncode; index++)
    lengths[order[index]] = puff_bits(s, 3);
  for (; index < 19; index++)
    lengths[order[index]] = 0;
  short lencnt[MAXBITS + 1], lensym[MAXLCODES];
  struct puff_huffman lencode = {lencnt, lensym};
  int err = puff_construct(&lencode, lengths, 19);
  if (err != 0)
    return -4;
  index = 0;
  while (index < nlen + ndist) {
    int symbol;
    int len;
    symbol = puff_decode(s, &lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 16)
      lengths[index++] = symbol;
    else {
      len = 0;
      if (symbol == 16) {
        if (index == 0)
          return -5;
        len = lengths[index - 1];
        symbol = 3 + puff_bits(s, 2);
      } else if (symbol == 17)
        symbol = 3 + puff_bits(s, 3);
      else
        symbol = 11 + puff_bits(s, 7);
      if (index + symbol > nlen + ndist)
        return -6;
      while (symbol--)
        lengths[index++] = len;
    }
  }
  if (lengths[256] == 0)
    return -9;
  err = puff_construct(&lencode, lengths, nlen);
  if (err && (err < 0 || nlen != lencode.count[0] + lencode.count[1]))
    return -7;
  short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  struct puff_huffman distcode = {distcnt, distsym};
  err = puff_construct(&distcode, lengths + nlen, ndist);
  if (err && (err < 0 || ndist != distcode.count[0] + distcode.count[1]))
    return -8;
  return puff_codes(s, &lencode, &distcode);
}
static int puff(unsigned char* dest, unsigned long* destlen,
                const unsigned char* source, unsigned long sourcelen)
{
  struct puff_state s = {
      .out = dest,
      .outlen = *destlen,
      .outcnt = 0,
      .in = source,
      .inlen = sourcelen,
      .incnt = 0,
      .bitbuf = 0,
      .bitcnt = 0,
  };
  int err;
  if (setjmp(s.env) != 0)
    err = 2;
  else {
    int last;
    do {
      last = puff_bits(&s, 1);
      int type = puff_bits(&s, 2);
      err = type == 0 ? puff_stored(&s)
                      : (type == 1 ? puff_fixed(&s)
                                   : (type == 2 ? puff_dynamic(&s) : -1));
      if (err != 0)
        break;
    } while (!last);
  }
  *destlen = s.outcnt;
  return err;
}

//% END CODE DERIVED FROM puff.{c,h}

#define ZLIB_HEADER_WIDTH 2

static int puff_zlib_to_file(const unsigned char* source,
                             unsigned long sourcelen, int dest_fd)
{
  if (sourcelen < ZLIB_HEADER_WIDTH)
    return 0;
  source += ZLIB_HEADER_WIDTH;
  sourcelen -= ZLIB_HEADER_WIDTH;
  const unsigned long max_destlen = 132 << 20;
  void* ret = mmap(0, max_destlen, PROT_WRITE | PROT_READ,
                   MAP_PRIVATE | MAP_ANON, -1, 0);
  if (ret == MAP_FAILED)
    return -1;
  unsigned char* dest = (unsigned char*)ret;
  unsigned long destlen = max_destlen;
  int err = puff(dest, &destlen, source, sourcelen);
  if (err) {
    munmap(dest, max_destlen);
    errno = -err;
    return -1;
  }
  if (write(dest_fd, dest, destlen) != (ssize_t)destlen) {
    munmap(dest, max_destlen);
    return -1;
  }
  return munmap(dest, max_destlen);
}

static int setup_loop_device(unsigned char* data, unsigned long size,
                             const char* loopname, int* loopfd_p)
{
  int err = 0, loopfd = -1;
  int memfd = syscall(__NR_memfd_create, "syzkaller", 0);
  if (memfd == -1) {
    err = errno;
    goto error;
  }
  if (puff_zlib_to_file(data, size, memfd)) {
    err = errno;
    goto error_close_memfd;
  }
  loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    err = errno;
    goto error_close_memfd;
  }
  if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
    if (errno != EBUSY) {
      err = errno;
      goto error_close_loop;
    }
    ioctl(loopfd, LOOP_CLR_FD, 0);
    usleep(1000);
    if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
      err = errno;
      goto error_close_loop;
    }
  }
  close(memfd);
  *loopfd_p = loopfd;
  return 0;

error_close_loop:
  close(loopfd);
error_close_memfd:
  close(memfd);
error:
  errno = err;
  return -1;
}

static void reset_loop_device(const char* loopname)
{
  int loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    return;
  }
  if (ioctl(loopfd, LOOP_CLR_FD, 0)) {
  }
  close(loopfd);
}

static long syz_mount_image(volatile long fsarg, volatile long dir,
                            volatile long flags, volatile long optsarg,
                            volatile long change_dir,
                            volatile unsigned long size, volatile long image)
{
  unsigned char* data = (unsigned char*)image;
  int res = -1, err = 0, need_loop_device = !!size;
  char* mount_opts = (char*)optsarg;
  char* target = (char*)dir;
  char* fs = (char*)fsarg;
  char* source = NULL;
  char loopname[64];
  if (need_loop_device) {
    int loopfd;
    memset(loopname, 0, sizeof(loopname));
    snprintf(loopname, sizeof(loopname), "/dev/loop%llu", procid);
    if (setup_loop_device(data, size, loopname, &loopfd) == -1)
      return -1;
    close(loopfd);
    source = loopname;
  }
  mkdir(target, 0777);
  char opts[256];
  memset(opts, 0, sizeof(opts));
  if (strlen(mount_opts) > (sizeof(opts) - 32)) {
  }
  strncpy(opts, mount_opts, sizeof(opts) - 32);
  if (strcmp(fs, "iso9660") == 0) {
    flags |= MS_RDONLY;
  } else if (strncmp(fs, "ext", 3) == 0) {
    bool has_remount_ro = false;
    char* remount_ro_start = strstr(opts, "errors=remount-ro");
    if (remount_ro_start != NULL) {
      char after = *(remount_ro_start + strlen("errors=remount-ro"));
      char before = remount_ro_start == opts ? '\0' : *(remount_ro_start - 1);
      has_remount_ro = ((before == '\0' || before == ',') &&
                        (after == '\0' || after == ','));
    }
    if (strstr(opts, "errors=panic") || !has_remount_ro)
      strcat(opts, ",errors=continue");
  } else if (strcmp(fs, "xfs") == 0) {
    strcat(opts, ",nouuid");
  }
  res = mount(source, target, fs, flags, opts);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  res = open(target, O_RDONLY | O_DIRECTORY);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  if (change_dir) {
    res = chdir(target);
    if (res == -1) {
      err = errno;
    }
  }

error_clear_loop:
  if (need_loop_device)
    reset_loop_device(loopname);
  errno = err;
  return res;
}

#define NL802154_CMD_SET_SHORT_ADDR 11
#define NL802154_ATTR_IFINDEX 3
#define NL802154_ATTR_SHORT_ADDR 10

static void setup_802154()
{
  int sock_route = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
  if (sock_route == -1)
    exit(1);
  int sock_generic = socket(AF_NETLINK, SOCK_RAW, NETLINK_GENERIC);
  if (sock_generic < 0)
    exit(1);
  int nl802154_family_id =
      netlink_query_family_id(&nlmsg, sock_generic, "nl802154", true);
  for (int i = 0; i < 2; i++) {
    char devname[] = "wpan0";
    devname[strlen(devname) - 1] += i;
    uint64_t hwaddr = 0xaaaaaaaaaaaa0002 + (i << 8);
    uint16_t shortaddr = 0xaaa0 + i;
    int ifindex = if_nametoindex(devname);
    struct genlmsghdr genlhdr;
    memset(&genlhdr, 0, sizeof(genlhdr));
    genlhdr.cmd = NL802154_CMD_SET_SHORT_ADDR;
    netlink_init(&nlmsg, nl802154_family_id, 0, &genlhdr, sizeof(genlhdr));
    netlink_attr(&nlmsg, NL802154_ATTR_IFINDEX, &ifindex, sizeof(ifindex));
    netlink_attr(&nlmsg, NL802154_ATTR_SHORT_ADDR, &shortaddr,
                 sizeof(shortaddr));
    int err = netlink_send(&nlmsg, sock_generic);
    if (err < 0) {
    }
    netlink_device_change(&nlmsg, sock_route, devname, true, 0, &hwaddr,
                          sizeof(hwaddr), 0);
    if (i == 0) {
      netlink_add_device_impl(&nlmsg, "lowpan", "lowpan0", false);
      netlink_done(&nlmsg);
      netlink_attr(&nlmsg, IFLA_LINK, &ifindex, sizeof(ifindex));
      int err = netlink_send(&nlmsg, sock_route);
      if (err < 0) {
      }
    }
  }
  close(sock_route);
  close(sock_generic);
}

int main(void)
{
  syscall(__NR_mmap, /*addr=*/0x1ffff000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x20000000ul, /*len=*/0x1000000ul,
          /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x21000000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  setup_802154();
  memcpy((void*)0x20000000, "reiserfs\000", 9);
  memcpy((void*)0x20001140, "./file0\000", 8);
  memcpy((void*)0x20000280,
         "\x6a\x71\x66\x6d\x74\x3d\x76\x66\x73\x6f\x6c\x64\x00\x39\x54\xdf\xbb"
         "\x9b\x37\xcb\xb9\xbe\x33\xa3\x8a\x75\xfa\x69\x2d\xe6\x28\x47\xf5\x78"
         "\x12\x50\x02\xee\xde\xd3\xcf\x23\x59\x32\x94\x99\x45\x73\x85\x77\xe9"
         "\xe5\x02\xdb\x61\x97\x00\x01\x95\xf7\xf9\xbf\x1a\xb0\x32\x9a\x02\xb1"
         "\xcc\x54\x89\x26\x8b\x9b\x88\x5b\xad\x5b\x3a\x66\x63\x63\xec\xb0\x12"
         "\x5f\x5e\x67\x87\x5e\x50\x1b\x6e\x78\xbb\x2f\xe1\x6e\x15\x9b\x27\x6a"
         "\xec\x85\x46\xe8\x01\x52\xe8\xa3\x50\xbd\x5a\x85\xf9\x7c\x2f\xa7\x58"
         "\x72\x29\x0d\x23\x2b\xd5\x3e\x40\x44\x78\x82\xb7\x5d\xaf\x2f\x5f\x7c"
         "\xa5\xd5\x52\x8c\x77\x23\x28\x07\x6f\xb7\x7c\xf3\x9d\xcb\x49\x98\x64"
         "\x8c\xfb\xec\x2e\xbd\x02\x8c\x28\x2c\x4e\xac\x90\xb5\x07\x00\x00\x00"
         "\x00\x00\x00\x00\xb8\xa0\xa0\x3b\x6e\x07\x48\xa9\x2b\x89\xc0\xa4\x75"
         "\x81\xf4\xb5\x5a\x02\xdd\x4f\x5c\xac\x22\xda\xb8\x34\x24\x3f\x25\xfb"
         "\xe5\x4c\x58\x28\xa4\xb8\x06\xed\xc9\xa0\xd0\x1a\x84\xc0",
         218);
  memcpy(
      (void*)0x200011c0,
      "\x78\x9c\xec\xd8\xb1\x8a\x13\x41\x1c\x06\xf0\x6f\x36\xdb\x47\xe6\xfa\x6d"
      "\xb4\xb0\x90\xe3\x8e\xf8\x02\x57\x28\xa4\xb1\xb0\xb6\x91\xe3\x2a\xaf\xba"
      "\x54\xca\x3d\x8e\x8f\x23\x57\xd9\x87\xf4\xa6\x08\xd8\x2b\x6b\xb2\x51\x24"
      "\x20\x92\xc5\x80\xfc\x7e\xb0\xcc\xcc\xc7\xce\x7f\x66\xca\x99\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x40\xaf\x4d\xbe\x94\xe4\xac\x49\xea\x90\x35\x49"
      "\x4a\xd2\x75\x0f\xf3\x55\x92\x6e\xc8\x1f\x7d\x9a\x34\x29\x79\x7d\x33\x5f"
      "\xbc\xb8\x9b\xbd\x5c\x6c\x7f\x4b\x9f\x35\x29\xfd\xac\x1f\xe3\x7a\xf9\xb8"
      "\xd6\x59\x9d\xd5\xcb\xfa\xfc\xec\xea\x49\x5d\xbc\xff\xf0\xee\xed\xed\xed"
      "\xcd\xdd\xae\x4c\x49\x97\xe5\xe6\xfe\x3a\xaf\xd6\xa3\x1e\xa5\x5f\x7b\x32"
      "\x6a\x45\x00\x00\x00\xf8\x3f\x7c\x3b\xda\xf4\xc4\xeb\x03\x00\x00\x00\x7f"
      "\x32\xda\x43\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\xc0\x08\xea\xd0\x69\x92\x94\xa4\xeb\x1e\xe6\xab\x24\xdd\x69\xb7\x05"
      "\x00\x00\x00\x1c\xa9\xa4\xc9\x9b\xe9\xa1\x7c\xfb\x0c\xf0\xd3\xb3\x7c\x9e"
      "\x96\x7d\xde\xb7\x5f\x4b\xdf\xbf\xc8\xc7\x03\xf3\x01\x00\x00\x80\xbf\x53"
      "\x7e\xb9\x8f\x3f\x4d\xbb\xbf\x97\x97\x94\x36\x69\x73\x7e\xbe\x1d\xef\x9a"
      "\xac\xaf\x92\x49\x92\x8b\xdf\xea\x2c\x37\xf7\xd7\xc3\x57\xfe\xe5\x01\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x3b\x3b\x70\x2c\x00"
      "\x00\x00\x00\x20\xcc\xdf\x3a\x8d\x8e\x0d\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x60\xaa\x00\x00\x00\xff\xff\xab\x68\xd4\x9c",
      4335);
  syz_mount_image(/*fs=*/0x20000000, /*dir=*/0x20001140, /*flags=*/0,
                  /*opts=*/0x20000280, /*chdir=*/0xef, /*size=*/0x10ef,
                  /*img=*/0x200011c0);
  syscall(__NR_openat, /*fd=*/0xffffff9c, /*file=*/0ul,
          /*flags=O_SYNC|O_LARGEFILE|O_DIRECT|O_CREAT|O_RDWR*/ 0x10d042ul,
          /*mode=*/0ul);
  return 0;
}



^ permalink raw reply	[relevance 2%]

* [Linux kernel bug] KASAN: user-memory-access Read in __fput
@ 2024-05-07  6:14  3% Sam Sun
  0 siblings, 0 replies; 200+ results
From: Sam Sun @ 2024-05-07  6:14 UTC (permalink / raw)
  To: linux-kernel, linux-fsdevel
  Cc: viro, brauner, jack, syzkaller-bugs, xrivendell7

[-- Attachment #1: Type: text/plain, Size: 3161 bytes --]

Dear developers and maintainers,

We encountered a slab-out-of-bounds bug while using our modified
syzkaller. It was tested against the latest upstream kernel (6.9-rc7).
The kernel was compiled by clang 14.0.0, and kernel config and C repro
are attached to this email. Kernel crash log is listed below.

==================================================================
BUG: KASAN: user-memory-access in instrument_atomic_read
include/linux/instrumented.h:68 [inline]
BUG: KASAN: user-memory-access in atomic_long_read
include/linux/atomic/atomic-instrumented.h:3188 [inline]
BUG: KASAN: user-memory-access in fsnotify_sb_has_watchers
include/linux/fsnotify.h:23 [inline]
BUG: KASAN: user-memory-access in fsnotify_parent
include/linux/fsnotify.h:68 [inline]
BUG: KASAN: user-memory-access in fsnotify_file
include/linux/fsnotify.h:106 [inline]
BUG: KASAN: user-memory-access in fsnotify_close
include/linux/fsnotify.h:387 [inline]
BUG: KASAN: user-memory-access in __fput+0x1fe/0x890 fs/file_table.c:408
Read of size 8 at addr 0000000200000779 by task sshd/8113

CPU: 0 PID: 8113 Comm: sshd Not tainted 6.9.0-rc5 #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x201/0x300 lib/dump_stack.c:114
 print_report+0xe3/0x1e0 mm/kasan/report.c:491
 kasan_report+0xce/0x100 mm/kasan/report.c:601
 kasan_check_range+0x299/0x2a0 mm/kasan/generic.c:189
 instrument_atomic_read include/linux/instrumented.h:68 [inline]
 atomic_long_read include/linux/atomic/atomic-instrumented.h:3188 [inline]
 fsnotify_sb_has_watchers include/linux/fsnotify.h:23 [inline]
 fsnotify_parent include/linux/fsnotify.h:68 [inline]
 fsnotify_file include/linux/fsnotify.h:106 [inline]
 fsnotify_close include/linux/fsnotify.h:387 [inline]
 __fput+0x1fe/0x890 fs/file_table.c:408
 task_work_run+0x23b/0x300 kernel/task_work.c:180
 exit_task_work include/linux/task_work.h:38 [inline]
 do_exit+0xa2e/0x26a0 kernel/exit.c:878
 do_group_exit+0x201/0x2b0 kernel/exit.c:1027
 get_signal+0x1691/0x1720 kernel/signal.c:2911
 arch_do_signal_or_restart+0x87/0x820 arch/x86/kernel/signal.c:310
 exit_to_user_mode_loop kernel/entry/common.c:111 [inline]
 exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline]
 irqentry_exit_to_user_mode+0x71/0x260 kernel/entry/common.c:231
 exc_page_fault+0xa0/0x120 arch/x86/mm/fault.c:1566
 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623
RIP: 0033:0x200000001
Code: Unable to access opcode bytes at 0x1ffffffd7.
RSP: 002b:00007ffea1d39618 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 00007ffea1d397bf RCX: 0000000000000005
RDX: 0000000000000000 RSI: 0000556fe56fa900 RDI: 00007ffea1d396b0
RBP: 0000556fe56ffb90 R08: 0000000000000000 R09: 0000000000000100
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffea1d39630
R13: 00007ffea1d396b0 R14: 0000000000000004 R15: 0000556fdfd6ca80
 </TASK>
==================================================================
If you have any questions, please contact us.

Reported by Yue Sun <samsun1006219@gmail.com>
Reported by xingwei lee <xrivendell7@gmail.com>

Best Regards,
Yue

[-- Attachment #2: config --]
[-- Type: application/octet-stream, Size: 247919 bytes --]

#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 6.9.0-rc7 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="Ubuntu clang version 14.0.0-1ubuntu1.1"
CONFIG_GCC_VERSION=0
CONFIG_CC_IS_CLANG=y
CONFIG_CLANG_VERSION=140000
CONFIG_AS_IS_LLVM=y
CONFIG_AS_VERSION=140000
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=23800
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_TOOLS_SUPPORT_RELR=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_PAHOLE_VERSION=0
CONFIG_CONSTRUCTORS=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
# CONFIG_WERROR is not set
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_HAVE_KERNEL_ZSTD=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_WATCH_QUEUE=y
CONFIG_CROSS_MEMORY_ATTACH=y
# CONFIG_USELIB is not set
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_IRQ_MSI_IOMMU=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
# end of IRQ subsystem

CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_INIT=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST_IDLE=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_CONTEXT_TRACKING=y
CONFIG_CONTEXT_TRACKING_IDLE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_CONTEXT_TRACKING_USER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=125
# end of Timers subsystem

CONFIG_BPF=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y

#
# BPF subsystem
#
CONFIG_BPF_SYSCALL=y
# CONFIG_BPF_JIT is not set
# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
CONFIG_USERMODE_DRIVER=y
CONFIG_BPF_PRELOAD=y
CONFIG_BPF_PRELOAD_UMD=y
# end of BPF subsystem

CONFIG_PREEMPT_BUILD=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
CONFIG_PREEMPT_DYNAMIC=y
CONFIG_SCHED_CORE=y

#
# CPU/Task time and stats accounting
#
CONFIG_VIRT_CPU_ACCOUNTING=y
# CONFIG_TICK_CPU_ACCOUNTING is not set
CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_SCHED_AVG_IRQ=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_PSI=y
# CONFIG_PSI_DEFAULT_DISABLED is not set
# end of CPU/Task time and stats accounting

CONFIG_CPU_ISOLATION=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
CONFIG_TASKS_RCU=y
CONFIG_TASKS_TRACE_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
# end of RCU Subsystem

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_IKHEADERS is not set
CONFIG_LOG_BUF_SHIFT=18
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
# CONFIG_PRINTK_INDEX is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y

#
# Scheduler features
#
# CONFIG_UCLAMP_TASK is not set
# end of Scheduler features

CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CC_HAS_INT128=y
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough"
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
CONFIG_MEMCG_KMEM=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_SCHED_MM_CID=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_RDMA=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_BPF=y
CONFIG_CGROUP_MISC=y
CONFIG_CGROUP_DEBUG=y
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_TIME_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_CHECKPOINT_RESTORE=y
# CONFIG_SCHED_AUTOGROUP is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
# CONFIG_BOOT_CONFIG is not set
CONFIG_INITRAMFS_PRESERVE_MTIME=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_LD_ORPHAN_WARN=y
CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
CONFIG_SYSCTL=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_IO_URING=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KCMP=y
CONFIG_RSEQ=y
# CONFIG_DEBUG_RSEQ is not set
CONFIG_CACHESTAT_SYSCALL=y
# CONFIG_PC104 is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_SELFTEST is not set
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_GUEST_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# end of Kernel Performance Events And Counters

CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y

#
# Kexec and crash features
#
CONFIG_CRASH_RESERVE=y
CONFIG_VMCORE_INFO=y
CONFIG_KEXEC_CORE=y
CONFIG_KEXEC=y
# CONFIG_KEXEC_FILE is not set
# CONFIG_KEXEC_JUMP is not set
CONFIG_CRASH_DUMP=y
CONFIG_CRASH_HOTPLUG=y
CONFIG_CRASH_MAX_MEMORY_RANGES=8192
# end of Kexec and crash features
# end of General setup

CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_CSUM=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_AUDIT_ARCH=y
CONFIG_KASAN_SHADOW_OFFSET=0xdffffc0000000000
CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_64_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=4
CONFIG_CC_HAS_SANE_STACKPROTECTOR=y

#
# Processor type and features
#
CONFIG_SMP=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_CPU_RESCTRL is not set
# CONFIG_X86_FRED is not set
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_NUMACHIP is not set
# CONFIG_X86_VSMP is not set
# CONFIG_X86_GOLDFISH is not set
# CONFIG_X86_INTEL_MID is not set
# CONFIG_X86_INTEL_LPSS is not set
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
CONFIG_IOSF_MBI=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_DEBUG=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_X86_HV_CALLBACK_VECTOR=y
# CONFIG_XEN is not set
CONFIG_KVM_GUEST=y
CONFIG_ARCH_CPUIDLE_HALTPOLL=y
CONFIG_PVH=y
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_JAILHOUSE_GUEST is not set
# CONFIG_ACRN_GUEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
CONFIG_MCORE2=y
# CONFIG_MATOM is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_P6_NOP=y
CONFIG_X86_TSC=y
CONFIG_X86_HAVE_PAE=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_IA32_FEAT_CTL=y
CONFIG_X86_VMX_FEATURE_NAMES=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
# CONFIG_CPU_SUP_HYGON is not set
# CONFIG_CPU_SUP_CENTAUR is not set
# CONFIG_CPU_SUP_ZHAOXIN is not set
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
# CONFIG_GART_IOMMU is not set
CONFIG_BOOT_VESA_SUPPORT=y
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS_RANGE_BEGIN=2
CONFIG_NR_CPUS_RANGE_END=512
CONFIG_NR_CPUS_DEFAULT=64
CONFIG_NR_CPUS=8
CONFIG_SCHED_CLUSTER=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_SCHED_MC_PRIO=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
# CONFIG_X86_MCELOG_LEGACY is not set
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set

#
# Performance monitoring
#
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_PERF_EVENTS_INTEL_RAPL=y
CONFIG_PERF_EVENTS_INTEL_CSTATE=y
# CONFIG_PERF_EVENTS_AMD_POWER is not set
CONFIG_PERF_EVENTS_AMD_UNCORE=y
# CONFIG_PERF_EVENTS_AMD_BRS is not set
# end of Performance monitoring

CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
CONFIG_X86_VSYSCALL_EMULATION=y
CONFIG_X86_IOPL_IOPERM=y
CONFIG_MICROCODE=y
# CONFIG_MICROCODE_LATE_LOADING is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
# CONFIG_X86_5LEVEL is not set
CONFIG_X86_DIRECT_GBPAGES=y
# CONFIG_X86_CPA_STATISTICS is not set
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NUMA_EMU=y
CONFIG_NODES_SHIFT=6
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
# CONFIG_ARCH_MEMORY_PROBE is not set
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
# CONFIG_X86_PMEM_LEGACY is not set
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_MTRR=y
# CONFIG_MTRR_SANITIZER is not set
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_X86_UMIP=y
CONFIG_CC_HAS_IBT=y
CONFIG_X86_CET=y
CONFIG_X86_KERNEL_IBT=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
# CONFIG_X86_INTEL_TSX_MODE_OFF is not set
CONFIG_X86_INTEL_TSX_MODE_ON=y
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_SGX=y
CONFIG_X86_USER_SHADOW_STACK=y
# CONFIG_EFI is not set
CONFIG_HZ_100=y
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=100
CONFIG_SCHED_HRTICK=y
CONFIG_ARCH_SUPPORTS_KEXEC=y
CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG_FORCE=y
CONFIG_ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_JUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_HOTPLUG=y
CONFIG_ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION=y
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_ADDRESS_MASKING=y
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
CONFIG_LEGACY_VSYSCALL_XONLY=y
# CONFIG_LEGACY_VSYSCALL_NONE is not set
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="earlyprintk=serial net.ifnames=0 sysctl.kernel.hung_task_all_cpu_backtrace=1 ima_policy=tcb nf-conntrack-ftp.ports=20000 nf-conntrack-tftp.ports=20000 nf-conntrack-sip.ports=20000 nf-conntrack-irc.ports=20000 nf-conntrack-sane.ports=20000 binder.debug_mask=0 rcupdate.rcu_expedited=1 rcupdate.rcu_cpu_stall_cputime=1 no_hash_pointers page_owner=on sysctl.vm.nr_hugepages=4 sysctl.vm.nr_overcommit_hugepages=4 secretmem.enable=1 sysctl.max_rcu_stall_to_panic=1 msr.allow_writes=off coredump_filter=0xffff root=/dev/sda console=ttyS0 vsyscall=native numa=fake=2 kvm-intel.nested=1 spec_store_bypass_disable=prctl nopcid vivid.n_devs=16 vivid.multiplanar=1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2 netrom.nr_ndevs=16 rose.rose_ndevs=16 smp.csd_lock_timeout=100000 watchdog_thresh=55 workqueue.watchdog_thresh=140 sysctl.net.core.netdev_unregister_timeout_secs=140 dummy_hcd.num=8 panic_on_warn=1"
# CONFIG_CMDLINE_OVERRIDE is not set
CONFIG_MODIFY_LDT_SYSCALL=y
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
CONFIG_HAVE_LIVEPATCH=y
# end of Processor type and features

CONFIG_CC_HAS_ENTRY_PADDING=y
CONFIG_FUNCTION_PADDING_CFI=11
CONFIG_FUNCTION_PADDING_BYTES=16
CONFIG_CPU_MITIGATIONS=y
CONFIG_MITIGATION_PAGE_TABLE_ISOLATION=y
CONFIG_MITIGATION_RETPOLINE=y
CONFIG_MITIGATION_IBPB_ENTRY=y
CONFIG_MITIGATION_IBRS_ENTRY=y
# CONFIG_MITIGATION_GDS_FORCE is not set
CONFIG_MITIGATION_RFDS=y
CONFIG_MITIGATION_SPECTRE_BHI=y
CONFIG_ARCH_HAS_ADD_PAGES=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_HIBERNATION_SNAPSHOT_DEV=y
CONFIG_HIBERNATION_COMP_LZO=y
# CONFIG_HIBERNATION_COMP_LZ4 is not set
CONFIG_HIBERNATION_DEF_COMP="lzo"
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM=y
CONFIG_PM_DEBUG=y
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_PM_SLEEP_DEBUG=y
# CONFIG_DPM_WATCHDOG is not set
CONFIG_PM_TRACE=y
CONFIG_PM_TRACE_RTC=y
CONFIG_PM_CLK=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_ENERGY_MODEL is not set
CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
CONFIG_ACPI_THERMAL_LIB=y
# CONFIG_ACPI_DEBUGGER is not set
CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_FPDT is not set
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=y
CONFIG_ACPI_FAN=y
# CONFIG_ACPI_TAD is not set
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_CPU_FREQ_PSS=y
CONFIG_ACPI_PROCESSOR_CSTATE=y
CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_PLATFORM_PROFILE=y
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_TABLE_UPGRADE=y
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_HOTPLUG_MEMORY is not set
CONFIG_ACPI_HOTPLUG_IOAPIC=y
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_HED is not set
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
CONFIG_ACPI_NFIT=y
# CONFIG_NFIT_SECURITY_DEBUG is not set
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_HMAT is not set
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
# CONFIG_ACPI_APEI is not set
# CONFIG_ACPI_DPTF is not set
# CONFIG_ACPI_EXTLOG is not set
# CONFIG_ACPI_CONFIGFS is not set
# CONFIG_ACPI_PFRUT is not set
CONFIG_ACPI_PCC=y
# CONFIG_ACPI_FFH is not set
# CONFIG_PMIC_OPREGION is not set
CONFIG_X86_PM_TIMER=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

#
# CPU frequency scaling drivers
#
# CONFIG_CPUFREQ_DT is not set
# CONFIG_CPUFREQ_DT_PLATDEV is not set
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_PCC_CPUFREQ is not set
CONFIG_X86_AMD_PSTATE=y
CONFIG_X86_AMD_PSTATE_DEFAULT_MODE=3
# CONFIG_X86_AMD_PSTATE_UT is not set
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_ACPI_CPUFREQ_CPB=y
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_P4_CLOCKMOD is not set

#
# shared options
#
# end of CPU Frequency scaling

#
# CPU Idle
#
CONFIG_CPU_IDLE=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE_GOV_HALTPOLL=y
CONFIG_HALTPOLL_CPUIDLE=y
# end of CPU Idle

CONFIG_INTEL_IDLE=y
# end of Power management and ACPI options

#
# Bus options (PCI etc.)
#
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_MMCONF_FAM10H=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_ISA_BUS is not set
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
# end of Bus options (PCI etc.)

#
# Binary Emulations
#
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_EMULATION_DEFAULT_DISABLED is not set
CONFIG_X86_X32_ABI=y
CONFIG_COMPAT_32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
# end of Binary Emulations

CONFIG_KVM_COMMON=y
CONFIG_HAVE_KVM_PFNCACHE=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQ_ROUTING=y
CONFIG_HAVE_KVM_DIRTY_RING=y
CONFIG_HAVE_KVM_DIRTY_RING_TSO=y
CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_READONLY_MEM=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_COMPAT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_KVM_XFER_TO_GUEST_WORK=y
CONFIG_HAVE_KVM_PM_NOTIFIER=y
CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y
CONFIG_KVM_GENERIC_MMU_NOTIFIER=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
# CONFIG_KVM_SW_PROTECTED_VM is not set
CONFIG_KVM_INTEL=y
CONFIG_X86_SGX_KVM=y
CONFIG_KVM_AMD=y
# CONFIG_KVM_SMM is not set
CONFIG_KVM_HYPERV=y
CONFIG_KVM_XEN=y
CONFIG_KVM_PROVE_MMU=y
CONFIG_KVM_MAX_NR_VCPUS=1024
CONFIG_AS_AVX512=y
CONFIG_AS_SHA1_NI=y
CONFIG_AS_SHA256_NI=y
CONFIG_AS_TPAUSE=y
CONFIG_AS_GFNI=y
CONFIG_AS_WRUSS=y
CONFIG_ARCH_CONFIGURES_CPU_MITIGATIONS=y

#
# General architecture-dependent options
#
CONFIG_HOTPLUG_SMT=y
CONFIG_HOTPLUG_CORE_SYNC=y
CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
CONFIG_HOTPLUG_CORE_SYNC_FULL=y
CONFIG_HOTPLUG_SPLIT_STARTUP=y
CONFIG_HOTPLUG_PARALLEL=y
CONFIG_GENERIC_ENTRY=y
# CONFIG_KPROBES is not set
CONFIG_JUMP_LABEL=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
# CONFIG_STATIC_CALL_SELFTEST is not set
CONFIG_UPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
CONFIG_ARCH_HAS_CPU_FINALIZE_INIT=y
CONFIG_ARCH_HAS_CPU_PASID=y
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_ARCH_WANTS_NO_INSTR=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_RUST=y
CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
CONFIG_MMU_GATHER_TABLE_FREE=y
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
CONFIG_MMU_GATHER_MERGE_VMAS=y
CONFIG_MMU_LAZY_TLB_REFCOUNT=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
# CONFIG_SECCOMP_CACHE_DEBUG is not set
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_LTO_NONE=y
CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING_USER=y
CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_MOVE_PUD=y
CONFIG_HAVE_MOVE_PMD=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_PMD_MKWRITE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=28
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
CONFIG_HAVE_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
CONFIG_PAGE_SHIFT=12
CONFIG_HAVE_OBJTOOL=y
CONFIG_HAVE_JUMP_LABEL_HACK=y
CONFIG_HAVE_NOINSTR_HACK=y
CONFIG_HAVE_NOINSTR_VALIDATION=y
CONFIG_HAVE_UACCESS_VALIDATION=y
CONFIG_HAVE_STACK_VALIDATION=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_HAVE_ARCH_VMAP_STACK=y
CONFIG_VMAP_STACK=y
CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
# CONFIG_LOCK_EVENT_COUNTS is not set
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_HAVE_STATIC_CALL=y
CONFIG_HAVE_STATIC_CALL_INLINE=y
CONFIG_HAVE_PREEMPT_DYNAMIC=y
CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
CONFIG_DYNAMIC_SIGFRAME=y
CONFIG_HAVE_ARCH_NODE_DEV_GROUP=y
CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# end of GCOV-based kernel profiling

CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_FUNCTION_ALIGNMENT_4B=y
CONFIG_FUNCTION_ALIGNMENT_16B=y
CONFIG_FUNCTION_ALIGNMENT=16
CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT=y
# end of General architecture-dependent options

CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULE_SIG_FORMAT=y
CONFIG_MODULES=y
# CONFIG_MODULE_DEBUG is not set
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
CONFIG_MODVERSIONS=y
CONFIG_ASM_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_MODULE_SIG=y
# CONFIG_MODULE_SIG_FORCE is not set
# CONFIG_MODULE_SIG_ALL is not set
# CONFIG_MODULE_SIG_SHA1 is not set
CONFIG_MODULE_SIG_SHA256=y
# CONFIG_MODULE_SIG_SHA384 is not set
# CONFIG_MODULE_SIG_SHA512 is not set
# CONFIG_MODULE_SIG_SHA3_256 is not set
# CONFIG_MODULE_SIG_SHA3_384 is not set
# CONFIG_MODULE_SIG_SHA3_512 is not set
CONFIG_MODULE_SIG_HASH="sha256"
CONFIG_MODULE_COMPRESS_NONE=y
# CONFIG_MODULE_COMPRESS_GZIP is not set
# CONFIG_MODULE_COMPRESS_XZ is not set
# CONFIG_MODULE_COMPRESS_ZSTD is not set
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
CONFIG_MODPROBE_PATH="/sbin/modprobe"
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_BLOCK_LEGACY_AUTOLOAD=y
CONFIG_BLK_RQ_ALLOC_TIME=y
CONFIG_BLK_CGROUP_RWSTAT=y
CONFIG_BLK_CGROUP_PUNT_BIO=y
CONFIG_BLK_DEV_BSG_COMMON=y
CONFIG_BLK_ICQ=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_INTEGRITY_T10=y
CONFIG_BLK_DEV_WRITE_MOUNTED=y
CONFIG_BLK_DEV_ZONED=y
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_WBT=y
CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_CGROUP_IOLATENCY=y
# CONFIG_BLK_CGROUP_FC_APPID is not set
CONFIG_BLK_CGROUP_IOCOST=y
CONFIG_BLK_CGROUP_IOPRIO=y
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEBUG_FS_ZONED=y
# CONFIG_BLK_SED_OPAL is not set
CONFIG_BLK_INLINE_ENCRYPTION=y
CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
CONFIG_ACORN_PARTITION_CUMANA=y
CONFIG_ACORN_PARTITION_EESOX=y
CONFIG_ACORN_PARTITION_ICS=y
CONFIG_ACORN_PARTITION_ADFS=y
CONFIG_ACORN_PARTITION_POWERTEC=y
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_AIX_PARTITION=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_SYSV68_PARTITION=y
CONFIG_CMDLINE_PARTITION=y
# end of Partition Types

CONFIG_BLK_MQ_PCI=y
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_BLK_PM=y
CONFIG_BLOCK_HOLDER_DEPRECATED=y
CONFIG_BLK_MQ_STACKING=y

#
# IO Schedulers
#
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_IOSCHED_BFQ=y
CONFIG_BFQ_GROUP_IOSCHED=y
CONFIG_BFQ_CGROUP_DEBUG=y
# end of IO Schedulers

CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PADATA=y
CONFIG_ASN1=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
CONFIG_FREEZER=y

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

#
# Memory Management options
#
CONFIG_ZPOOL=y
CONFIG_SWAP=y
CONFIG_ZSWAP=y
CONFIG_ZSWAP_DEFAULT_ON=y
# CONFIG_ZSWAP_SHRINKER_DEFAULT_ON is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC=y
CONFIG_ZSWAP_ZPOOL_DEFAULT="zsmalloc"
# CONFIG_ZBUD is not set
# CONFIG_Z3FOLD is not set
CONFIG_ZSMALLOC=y
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC_CHAIN_SIZE=8

#
# Slab allocator options
#
CONFIG_SLUB=y
# CONFIG_SLUB_TINY is not set
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLAB_FREELIST_RANDOM is not set
# CONFIG_SLAB_FREELIST_HARDENED is not set
# CONFIG_SLUB_STATS is not set
CONFIG_SLUB_CPU_PARTIAL=y
# CONFIG_RANDOM_KMALLOC_CACHES is not set
# end of Slab allocator options

# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
# CONFIG_COMPAT_BRK is not set
CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
CONFIG_HAVE_FAST_GUP=y
CONFIG_NUMA_KEEP_MEMINFO=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MHP_MEMMAP_ON_MEMORY=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_MEMORY_BALLOON=y
# CONFIG_BALLOON_COMPACTION is not set
CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
CONFIG_PAGE_REPORTING=y
CONFIG_MIGRATION=y
CONFIG_DEVICE_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_CONTIG_ALLOC=y
CONFIG_PCP_BATCH_SCALE_MAX=5
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_WANTS_THP_SWAP=y
CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
CONFIG_READ_ONLY_THP_FOR_FS=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_CMA=y
# CONFIG_CMA_DEBUGFS is not set
# CONFIG_CMA_SYSFS is not set
CONFIG_CMA_AREAS=19
CONFIG_MEM_SOFT_DIRTY=y
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
CONFIG_PAGE_IDLE_FLAG=y
# CONFIG_IDLE_PAGE_TRACKING is not set
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
CONFIG_ARCH_HAS_PTE_DEVMAP=y
CONFIG_ARCH_HAS_ZONE_DMA_SET=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA32=y
CONFIG_ZONE_DEVICE=y
CONFIG_HMM_MIRROR=y
CONFIG_GET_FREE_REGION=y
CONFIG_DEVICE_PRIVATE=y
CONFIG_VMAP_PFN=y
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
CONFIG_ARCH_HAS_PKEYS=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PERCPU_STATS=y
# CONFIG_GUP_TEST is not set
# CONFIG_DMAPOOL_TEST is not set
CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_MAPPING_DIRTY_HELPERS=y
CONFIG_KMAP_LOCAL=y
CONFIG_MEMFD_CREATE=y
CONFIG_SECRETMEM=y
CONFIG_ANON_VMA_NAME=y
CONFIG_HAVE_ARCH_USERFAULTFD_WP=y
CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y
CONFIG_USERFAULTFD=y
# CONFIG_PTE_MARKER_UFFD_WP is not set
CONFIG_LRU_GEN=y
CONFIG_LRU_GEN_ENABLED=y
# CONFIG_LRU_GEN_STATS is not set
CONFIG_LRU_GEN_WALKS_MMU=y
CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
CONFIG_PER_VMA_LOCK=y
CONFIG_LOCK_MM_AND_FIND_VMA=y
CONFIG_IOMMU_MM_DATA=y

#
# Data Access Monitoring
#
CONFIG_DAMON=y
CONFIG_DAMON_VADDR=y
CONFIG_DAMON_PADDR=y
# CONFIG_DAMON_SYSFS is not set
# CONFIG_DAMON_DBGFS_DEPRECATED is not set
CONFIG_DAMON_RECLAIM=y
# CONFIG_DAMON_LRU_SORT is not set
# end of Data Access Monitoring
# end of Memory Management options

CONFIG_NET=y
CONFIG_WANT_COMPAT_NETLINK_MESSAGES=y
CONFIG_COMPAT_NETLINK_MESSAGES=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
CONFIG_NET_XGRESS=y
CONFIG_NET_REDIRECT=y
CONFIG_SKB_EXTENSIONS=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y
CONFIG_UNIX=y
CONFIG_AF_UNIX_OOB=y
CONFIG_UNIX_DIAG=y
CONFIG_TLS=y
CONFIG_TLS_DEVICE=y
CONFIG_TLS_TOE=y
CONFIG_XFRM=y
CONFIG_XFRM_OFFLOAD=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_USER_COMPAT=y
CONFIG_XFRM_INTERFACE=y
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_AH=y
CONFIG_XFRM_ESP=y
CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=y
CONFIG_NET_KEY_MIGRATE=y
CONFIG_XFRM_ESPINTCP=y
CONFIG_SMC=y
CONFIG_SMC_DIAG=y
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=y
CONFIG_NET_HANDSHAKE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
CONFIG_NET_IPIP=y
CONFIG_NET_IPGRE_DEMUX=y
CONFIG_NET_IP_TUNNEL=y
CONFIG_NET_IPGRE=y
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE_COMMON=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=y
CONFIG_NET_UDP_TUNNEL=y
CONFIG_NET_FOU=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_ESP_OFFLOAD=y
CONFIG_INET_ESPINTCP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_TABLE_PERTURB_ORDER=16
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_INET_UDP_DIAG=y
CONFIG_INET_RAW_DIAG=y
CONFIG_INET_DIAG_DESTROY=y
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=y
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=y
CONFIG_TCP_CONG_HTCP=y
CONFIG_TCP_CONG_HSTCP=y
CONFIG_TCP_CONG_HYBLA=y
CONFIG_TCP_CONG_VEGAS=y
CONFIG_TCP_CONG_NV=y
CONFIG_TCP_CONG_SCALABLE=y
CONFIG_TCP_CONG_LP=y
CONFIG_TCP_CONG_VENO=y
CONFIG_TCP_CONG_YEAH=y
CONFIG_TCP_CONG_ILLINOIS=y
CONFIG_TCP_CONG_DCTCP=y
CONFIG_TCP_CONG_CDG=y
CONFIG_TCP_CONG_BBR=y
# CONFIG_DEFAULT_BIC is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_HYBLA is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_VENO is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_DCTCP is not set
# CONFIG_DEFAULT_CDG is not set
# CONFIG_DEFAULT_BBR is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_SIGPOOL=y
# CONFIG_TCP_AO is not set
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
CONFIG_INET6_ESP_OFFLOAD=y
CONFIG_INET6_ESPINTCP=y
CONFIG_INET6_IPCOMP=y
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_ILA=y
CONFIG_INET6_XFRM_TUNNEL=y
CONFIG_INET6_TUNNEL=y
CONFIG_IPV6_VTI=y
CONFIG_IPV6_SIT=y
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_GRE=y
CONFIG_IPV6_FOU=y
CONFIG_IPV6_FOU_TUNNEL=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_BPF=y
CONFIG_IPV6_RPL_LWTUNNEL=y
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
CONFIG_NETLABEL=y
CONFIG_MPTCP=y
CONFIG_INET_MPTCP_DIAG=y
CONFIG_MPTCP_IPV6=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_EGRESS=y
CONFIG_NETFILTER_SKIP_EGRESS=y
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_FAMILY_BRIDGE=y
CONFIG_NETFILTER_FAMILY_ARP=y
CONFIG_NETFILTER_BPF_LINK=y
# CONFIG_NETFILTER_NETLINK_HOOK is not set
CONFIG_NETFILTER_NETLINK_ACCT=y
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NETFILTER_NETLINK_OSF=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_LOG_SYSLOG=y
CONFIG_NETFILTER_CONNCOUNT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
# CONFIG_NF_CONNTRACK_PROCFS is not set
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK_OVS=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_GRE=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_BROADCAST=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_SNMP=y
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NF_CT_NETLINK_TIMEOUT=y
CONFIG_NF_CT_NETLINK_HELPER=y
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_AMANDA=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
CONFIG_NF_NAT_SIP=y
CONFIG_NF_NAT_TFTP=y
CONFIG_NF_NAT_REDIRECT=y
CONFIG_NF_NAT_MASQUERADE=y
CONFIG_NF_NAT_OVS=y
CONFIG_NETFILTER_SYNPROXY=y
CONFIG_NF_TABLES=y
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_NETDEV=y
CONFIG_NFT_NUMGEN=y
CONFIG_NFT_CT=y
CONFIG_NFT_FLOW_OFFLOAD=y
CONFIG_NFT_CONNLIMIT=y
CONFIG_NFT_LOG=y
CONFIG_NFT_LIMIT=y
CONFIG_NFT_MASQ=y
CONFIG_NFT_REDIR=y
CONFIG_NFT_NAT=y
CONFIG_NFT_TUNNEL=y
CONFIG_NFT_QUEUE=y
CONFIG_NFT_QUOTA=y
CONFIG_NFT_REJECT=y
CONFIG_NFT_REJECT_INET=y
CONFIG_NFT_COMPAT=y
CONFIG_NFT_HASH=y
CONFIG_NFT_FIB=y
CONFIG_NFT_FIB_INET=y
CONFIG_NFT_XFRM=y
CONFIG_NFT_SOCKET=y
CONFIG_NFT_OSF=y
CONFIG_NFT_TPROXY=y
CONFIG_NFT_SYNPROXY=y
CONFIG_NF_DUP_NETDEV=y
CONFIG_NFT_DUP_NETDEV=y
CONFIG_NFT_FWD_NETDEV=y
CONFIG_NFT_FIB_NETDEV=y
CONFIG_NFT_REJECT_NETDEV=y
CONFIG_NF_FLOW_TABLE_INET=y
CONFIG_NF_FLOW_TABLE=y
# CONFIG_NF_FLOW_TABLE_PROCFS is not set
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XTABLES_COMPAT=y

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=y
CONFIG_NETFILTER_XT_CONNMARK=y
CONFIG_NETFILTER_XT_SET=y

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=y
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_CT=y
CONFIG_NETFILTER_XT_TARGET_DSCP=y
CONFIG_NETFILTER_XT_TARGET_HL=y
CONFIG_NETFILTER_XT_TARGET_HMARK=y
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
CONFIG_NETFILTER_XT_TARGET_LED=y
CONFIG_NETFILTER_XT_TARGET_LOG=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_NAT=y
CONFIG_NETFILTER_XT_TARGET_NETMAP=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
CONFIG_NETFILTER_XT_TARGET_NOTRACK=y
CONFIG_NETFILTER_XT_TARGET_RATEEST=y
CONFIG_NETFILTER_XT_TARGET_REDIRECT=y
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y
CONFIG_NETFILTER_XT_TARGET_TEE=y
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_TRACE=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=y

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_BPF=y
CONFIG_NETFILTER_XT_MATCH_CGROUP=y
CONFIG_NETFILTER_XT_MATCH_CLUSTER=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_CPU=y
CONFIG_NETFILTER_XT_MATCH_DCCP=y
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=y
CONFIG_NETFILTER_XT_MATCH_DSCP=y
CONFIG_NETFILTER_XT_MATCH_ECN=y
CONFIG_NETFILTER_XT_MATCH_ESP=y
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_HL=y
CONFIG_NETFILTER_XT_MATCH_IPCOMP=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_IPVS=y
CONFIG_NETFILTER_XT_MATCH_L2TP=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NETFILTER_XT_MATCH_NFACCT=y
CONFIG_NETFILTER_XT_MATCH_OSF=y
CONFIG_NETFILTER_XT_MATCH_OWNER=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_RATEEST=y
CONFIG_NETFILTER_XT_MATCH_REALM=y
CONFIG_NETFILTER_XT_MATCH_RECENT=y
CONFIG_NETFILTER_XT_MATCH_SCTP=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_TIME=y
CONFIG_NETFILTER_XT_MATCH_U32=y
# end of Core Netfilter Configuration

CONFIG_IP_SET=y
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=y
CONFIG_IP_SET_BITMAP_IPMAC=y
CONFIG_IP_SET_BITMAP_PORT=y
CONFIG_IP_SET_HASH_IP=y
CONFIG_IP_SET_HASH_IPMARK=y
CONFIG_IP_SET_HASH_IPPORT=y
CONFIG_IP_SET_HASH_IPPORTIP=y
CONFIG_IP_SET_HASH_IPPORTNET=y
CONFIG_IP_SET_HASH_IPMAC=y
CONFIG_IP_SET_HASH_MAC=y
CONFIG_IP_SET_HASH_NETPORTNET=y
CONFIG_IP_SET_HASH_NET=y
CONFIG_IP_SET_HASH_NETNET=y
CONFIG_IP_SET_HASH_NETPORT=y
CONFIG_IP_SET_HASH_NETIFACE=y
CONFIG_IP_SET_LIST_SET=y
CONFIG_IP_VS=y
CONFIG_IP_VS_IPV6=y
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=y
CONFIG_IP_VS_WRR=y
CONFIG_IP_VS_LC=y
CONFIG_IP_VS_WLC=y
CONFIG_IP_VS_FO=y
CONFIG_IP_VS_OVF=y
CONFIG_IP_VS_LBLC=y
CONFIG_IP_VS_LBLCR=y
CONFIG_IP_VS_DH=y
CONFIG_IP_VS_SH=y
CONFIG_IP_VS_MH=y
CONFIG_IP_VS_SED=y
CONFIG_IP_VS_NQ=y
CONFIG_IP_VS_TWOS=y

#
# IPVS SH scheduler
#
CONFIG_IP_VS_SH_TAB_BITS=8

#
# IPVS MH scheduler
#
CONFIG_IP_VS_MH_TAB_INDEX=12

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=y
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PE_SIP=y

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_IP_NF_IPTABLES_LEGACY=y
CONFIG_NF_SOCKET_IPV4=y
CONFIG_NF_TPROXY_IPV4=y
CONFIG_NF_TABLES_IPV4=y
CONFIG_NFT_REJECT_IPV4=y
CONFIG_NFT_DUP_IPV4=y
CONFIG_NFT_FIB_IPV4=y
CONFIG_NF_TABLES_ARP=y
CONFIG_NF_DUP_IPV4=y
CONFIG_NF_LOG_ARP=y
CONFIG_NF_LOG_IPV4=y
CONFIG_NF_REJECT_IPV4=y
CONFIG_NF_NAT_SNMP_BASIC=y
CONFIG_NF_NAT_PPTP=y
CONFIG_NF_NAT_H323=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_AH=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_RPFILTER=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_SYNPROXY=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_TTL=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_SECURITY=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_NFT_COMPAT_ARP=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARP_MANGLE=y
# end of IP: Netfilter Configuration

#
# IPv6: Netfilter Configuration
#
CONFIG_IP6_NF_IPTABLES_LEGACY=y
CONFIG_NF_SOCKET_IPV6=y
CONFIG_NF_TPROXY_IPV6=y
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_REJECT_IPV6=y
CONFIG_NFT_DUP_IPV6=y
CONFIG_NFT_FIB_IPV6=y
CONFIG_NF_DUP_IPV6=y
CONFIG_NF_REJECT_IPV6=y
CONFIG_NF_LOG_IPV6=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_AH=y
CONFIG_IP6_NF_MATCH_EUI64=y
CONFIG_IP6_NF_MATCH_FRAG=y
CONFIG_IP6_NF_MATCH_OPTS=y
CONFIG_IP6_NF_MATCH_HL=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=y
CONFIG_IP6_NF_MATCH_MH=y
CONFIG_IP6_NF_MATCH_RPFILTER=y
CONFIG_IP6_NF_MATCH_RT=y
CONFIG_IP6_NF_MATCH_SRH=y
CONFIG_IP6_NF_TARGET_HL=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IP6_NF_TARGET_SYNPROXY=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_RAW=y
CONFIG_IP6_NF_SECURITY=y
CONFIG_IP6_NF_NAT=y
CONFIG_IP6_NF_TARGET_MASQUERADE=y
CONFIG_IP6_NF_TARGET_NPT=y
# end of IPv6: Netfilter Configuration

CONFIG_NF_DEFRAG_IPV6=y
CONFIG_NF_TABLES_BRIDGE=y
CONFIG_NFT_BRIDGE_META=y
CONFIG_NFT_BRIDGE_REJECT=y
CONFIG_NF_CONNTRACK_BRIDGE=y
CONFIG_BRIDGE_NF_EBTABLES_LEGACY=y
CONFIG_BRIDGE_NF_EBTABLES=y
CONFIG_BRIDGE_EBT_BROUTE=y
CONFIG_BRIDGE_EBT_T_FILTER=y
CONFIG_BRIDGE_EBT_T_NAT=y
CONFIG_BRIDGE_EBT_802_3=y
CONFIG_BRIDGE_EBT_AMONG=y
CONFIG_BRIDGE_EBT_ARP=y
CONFIG_BRIDGE_EBT_IP=y
CONFIG_BRIDGE_EBT_IP6=y
CONFIG_BRIDGE_EBT_LIMIT=y
CONFIG_BRIDGE_EBT_MARK=y
CONFIG_BRIDGE_EBT_PKTTYPE=y
CONFIG_BRIDGE_EBT_STP=y
CONFIG_BRIDGE_EBT_VLAN=y
CONFIG_BRIDGE_EBT_ARPREPLY=y
CONFIG_BRIDGE_EBT_DNAT=y
CONFIG_BRIDGE_EBT_MARK_T=y
CONFIG_BRIDGE_EBT_REDIRECT=y
CONFIG_BRIDGE_EBT_SNAT=y
CONFIG_BRIDGE_EBT_LOG=y
CONFIG_BRIDGE_EBT_NFLOG=y
CONFIG_IP_DCCP=y
CONFIG_INET_DCCP_DIAG=y

#
# DCCP CCIDs Configuration
#
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_TFRC_LIB=y
# end of DCCP CCIDs Configuration

#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
# end of DCCP Kernel Hacking

CONFIG_IP_SCTP=y
# CONFIG_SCTP_DBG_OBJCNT is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_COOKIE_HMAC_MD5=y
CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_INET_SCTP_DIAG=y
CONFIG_RDS=y
CONFIG_RDS_RDMA=y
CONFIG_RDS_TCP=y
# CONFIG_RDS_DEBUG is not set
CONFIG_TIPC=y
CONFIG_TIPC_MEDIA_IB=y
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=y
CONFIG_ATM=y
CONFIG_ATM_CLIP=y
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=y
CONFIG_ATM_MPOA=y
CONFIG_ATM_BR2684=y
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_L2TP=y
# CONFIG_L2TP_DEBUGFS is not set
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=y
CONFIG_L2TP_ETH=y
CONFIG_STP=y
CONFIG_GARP=y
CONFIG_MRP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_BRIDGE_MRP=y
CONFIG_BRIDGE_CFM=y
CONFIG_NET_DSA=y
# CONFIG_NET_DSA_TAG_NONE is not set
# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_BRCM_COMMON=y
CONFIG_NET_DSA_TAG_BRCM=y
# CONFIG_NET_DSA_TAG_BRCM_LEGACY is not set
CONFIG_NET_DSA_TAG_BRCM_PREPEND=y
# CONFIG_NET_DSA_TAG_HELLCREEK is not set
# CONFIG_NET_DSA_TAG_GSWIP is not set
# CONFIG_NET_DSA_TAG_DSA is not set
# CONFIG_NET_DSA_TAG_EDSA is not set
CONFIG_NET_DSA_TAG_MTK=y
# CONFIG_NET_DSA_TAG_KSZ is not set
# CONFIG_NET_DSA_TAG_OCELOT is not set
# CONFIG_NET_DSA_TAG_OCELOT_8021Q is not set
CONFIG_NET_DSA_TAG_QCA=y
CONFIG_NET_DSA_TAG_RTL4_A=y
# CONFIG_NET_DSA_TAG_RTL8_4 is not set
# CONFIG_NET_DSA_TAG_RZN1_A5PSW is not set
# CONFIG_NET_DSA_TAG_LAN9303 is not set
# CONFIG_NET_DSA_TAG_SJA1105 is not set
# CONFIG_NET_DSA_TAG_TRAILER is not set
# CONFIG_NET_DSA_TAG_XRS700X is not set
CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_LLC=y
CONFIG_LLC2=y
# CONFIG_ATALK is not set
CONFIG_X25=y
CONFIG_LAPB=y
CONFIG_PHONET=y
CONFIG_6LOWPAN=y
# CONFIG_6LOWPAN_DEBUGFS is not set
CONFIG_6LOWPAN_NHC=y
CONFIG_6LOWPAN_NHC_DEST=y
CONFIG_6LOWPAN_NHC_FRAGMENT=y
CONFIG_6LOWPAN_NHC_HOP=y
CONFIG_6LOWPAN_NHC_IPV6=y
CONFIG_6LOWPAN_NHC_MOBILITY=y
CONFIG_6LOWPAN_NHC_ROUTING=y
CONFIG_6LOWPAN_NHC_UDP=y
CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=y
CONFIG_6LOWPAN_GHC_UDP=y
CONFIG_6LOWPAN_GHC_ICMPV6=y
CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=y
CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=y
CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=y
CONFIG_IEEE802154=y
CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y
CONFIG_IEEE802154_SOCKET=y
CONFIG_IEEE802154_6LOWPAN=y
CONFIG_MAC802154=y
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_HFSC=y
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_MULTIQ=y
CONFIG_NET_SCH_RED=y
CONFIG_NET_SCH_SFB=y
CONFIG_NET_SCH_SFQ=y
CONFIG_NET_SCH_TEQL=y
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_CBS=y
CONFIG_NET_SCH_ETF=y
CONFIG_NET_SCH_MQPRIO_LIB=y
CONFIG_NET_SCH_TAPRIO=y
CONFIG_NET_SCH_GRED=y
CONFIG_NET_SCH_NETEM=y
CONFIG_NET_SCH_DRR=y
CONFIG_NET_SCH_MQPRIO=y
CONFIG_NET_SCH_SKBPRIO=y
CONFIG_NET_SCH_CHOKE=y
CONFIG_NET_SCH_QFQ=y
CONFIG_NET_SCH_CODEL=y
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_CAKE=y
CONFIG_NET_SCH_FQ=y
CONFIG_NET_SCH_HHF=y
CONFIG_NET_SCH_PIE=y
CONFIG_NET_SCH_FQ_PIE=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_SCH_PLUG=y
CONFIG_NET_SCH_ETS=y
CONFIG_NET_SCH_DEFAULT=y
# CONFIG_DEFAULT_FQ is not set
# CONFIG_DEFAULT_CODEL is not set
# CONFIG_DEFAULT_FQ_CODEL is not set
# CONFIG_DEFAULT_FQ_PIE is not set
# CONFIG_DEFAULT_SFQ is not set
CONFIG_DEFAULT_PFIFO_FAST=y
CONFIG_DEFAULT_NET_SCH="pfifo_fast"

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=y
CONFIG_NET_CLS_ROUTE4=y
CONFIG_NET_CLS_FW=y
CONFIG_NET_CLS_U32=y
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_FLOW=y
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_FLOWER=y
CONFIG_NET_CLS_MATCHALL=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=y
CONFIG_NET_EMATCH_NBYTE=y
CONFIG_NET_EMATCH_U32=y
CONFIG_NET_EMATCH_META=y
CONFIG_NET_EMATCH_TEXT=y
CONFIG_NET_EMATCH_CANID=y
CONFIG_NET_EMATCH_IPSET=y
CONFIG_NET_EMATCH_IPT=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=y
CONFIG_NET_ACT_GACT=y
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=y
CONFIG_NET_ACT_SAMPLE=y
CONFIG_NET_ACT_NAT=y
CONFIG_NET_ACT_PEDIT=y
CONFIG_NET_ACT_SIMP=y
CONFIG_NET_ACT_SKBEDIT=y
CONFIG_NET_ACT_CSUM=y
CONFIG_NET_ACT_MPLS=y
CONFIG_NET_ACT_VLAN=y
CONFIG_NET_ACT_BPF=y
CONFIG_NET_ACT_CONNMARK=y
CONFIG_NET_ACT_CTINFO=y
CONFIG_NET_ACT_SKBMOD=y
CONFIG_NET_ACT_IFE=y
CONFIG_NET_ACT_TUNNEL_KEY=y
CONFIG_NET_ACT_CT=y
CONFIG_NET_ACT_GATE=y
CONFIG_NET_IFE_SKBMARK=y
CONFIG_NET_IFE_SKBPRIO=y
CONFIG_NET_IFE_SKBTCINDEX=y
CONFIG_NET_TC_SKB_EXT=y
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=y
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
CONFIG_BATMAN_ADV_NC=y
CONFIG_BATMAN_ADV_MCAST=y
# CONFIG_BATMAN_ADV_DEBUG is not set
# CONFIG_BATMAN_ADV_TRACING is not set
CONFIG_OPENVSWITCH=y
CONFIG_OPENVSWITCH_GRE=y
CONFIG_OPENVSWITCH_VXLAN=y
CONFIG_OPENVSWITCH_GENEVE=y
CONFIG_VSOCKETS=y
CONFIG_VSOCKETS_DIAG=y
CONFIG_VSOCKETS_LOOPBACK=y
# CONFIG_VMWARE_VMCI_VSOCKETS is not set
CONFIG_VIRTIO_VSOCKETS=y
CONFIG_VIRTIO_VSOCKETS_COMMON=y
CONFIG_NETLINK_DIAG=y
CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=y
CONFIG_MPLS_ROUTING=y
CONFIG_MPLS_IPTUNNEL=y
CONFIG_NET_NSH=y
CONFIG_HSR=y
CONFIG_NET_SWITCHDEV=y
CONFIG_NET_L3_MASTER_DEV=y
CONFIG_QRTR=y
CONFIG_QRTR_TUN=y
# CONFIG_QRTR_MHI is not set
CONFIG_NET_NCSI=y
# CONFIG_NCSI_OEM_CMD_GET_MAC is not set
# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set
# CONFIG_PCPU_DEV_REFCNT is not set
CONFIG_MAX_SKB_FRAGS=17
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_SOCK_RX_QUEUE_MAPPING=y
CONFIG_XPS=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_NET_FLOW_LIMIT=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
CONFIG_NET_DROP_MONITOR=y
# end of Network testing
# end of Networking options

CONFIG_HAMRADIO=y

#
# Packet Radio protocols
#
CONFIG_AX25=y
CONFIG_AX25_DAMA_SLAVE=y
CONFIG_NETROM=y
CONFIG_ROSE=y

#
# AX.25 network device drivers
#
CONFIG_MKISS=y
CONFIG_6PACK=y
CONFIG_BPQETHER=y
# CONFIG_BAYCOM_SER_FDX is not set
# CONFIG_BAYCOM_SER_HDX is not set
# CONFIG_BAYCOM_PAR is not set
# CONFIG_YAM is not set
# end of AX.25 network device drivers

CONFIG_CAN=y
CONFIG_CAN_RAW=y
CONFIG_CAN_BCM=y
CONFIG_CAN_GW=y
CONFIG_CAN_J1939=y
CONFIG_CAN_ISOTP=y
CONFIG_BT=y
CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=y
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=y
CONFIG_BT_HIDP=y
CONFIG_BT_LE=y
CONFIG_BT_LE_L2CAP_ECRED=y
CONFIG_BT_6LOWPAN=y
CONFIG_BT_LEDS=y
CONFIG_BT_MSFTEXT=y
# CONFIG_BT_AOSPEXT is not set
# CONFIG_BT_DEBUGFS is not set
# CONFIG_BT_SELFTEST is not set

#
# Bluetooth device drivers
#
CONFIG_BT_INTEL=y
CONFIG_BT_BCM=y
CONFIG_BT_RTL=y
CONFIG_BT_QCA=y
CONFIG_BT_MTK=y
CONFIG_BT_HCIBTUSB=y
# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_POLL_SYNC=y
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_MTK=y
CONFIG_BT_HCIBTUSB_RTL=y
# CONFIG_BT_HCIBTSDIO is not set
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_SERDEV=y
CONFIG_BT_HCIUART_H4=y
# CONFIG_BT_HCIUART_NOKIA is not set
CONFIG_BT_HCIUART_BCSP=y
# CONFIG_BT_HCIUART_ATH3K is not set
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART_3WIRE=y
# CONFIG_BT_HCIUART_INTEL is not set
# CONFIG_BT_HCIUART_BCM is not set
# CONFIG_BT_HCIUART_RTL is not set
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIUART_AG6XX=y
CONFIG_BT_HCIUART_MRVL=y
CONFIG_BT_HCIBCM203X=y
# CONFIG_BT_HCIBCM4377 is not set
CONFIG_BT_HCIBPA10X=y
CONFIG_BT_HCIBFUSB=y
# CONFIG_BT_HCIDTL1 is not set
# CONFIG_BT_HCIBT3C is not set
# CONFIG_BT_HCIBLUECARD is not set
CONFIG_BT_HCIVHCI=y
# CONFIG_BT_MRVL is not set
CONFIG_BT_ATH3K=y
# CONFIG_BT_MTKSDIO is not set
# CONFIG_BT_MTKUART is not set
# CONFIG_BT_VIRTIO is not set
# CONFIG_BT_NXPUART is not set
# end of Bluetooth device drivers

CONFIG_AF_RXRPC=y
CONFIG_AF_RXRPC_IPV6=y
# CONFIG_AF_RXRPC_INJECT_LOSS is not set
# CONFIG_AF_RXRPC_INJECT_RX_DELAY is not set
# CONFIG_AF_RXRPC_DEBUG is not set
CONFIG_RXKAD=y
# CONFIG_RXPERF is not set
CONFIG_AF_KCM=y
CONFIG_STREAM_PARSER=y
# CONFIG_MCTP is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=y
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
CONFIG_CFG80211_DEFAULT_PS=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=y
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
CONFIG_RFKILL=y
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_NET_9P=y
CONFIG_NET_9P_FD=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_NET_9P_RDMA=y
# CONFIG_NET_9P_DEBUG is not set
CONFIG_CAIF=y
CONFIG_CAIF_DEBUG=y
CONFIG_CAIF_NETDEV=y
CONFIG_CAIF_USB=y
CONFIG_CEPH_LIB=y
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
CONFIG_NFC=y
CONFIG_NFC_DIGITAL=y
CONFIG_NFC_NCI=y
# CONFIG_NFC_NCI_SPI is not set
CONFIG_NFC_NCI_UART=y
CONFIG_NFC_HCI=y
CONFIG_NFC_SHDLC=y

#
# Near Field Communication (NFC) devices
#
# CONFIG_NFC_TRF7970A is not set
CONFIG_NFC_SIM=y
CONFIG_NFC_PORT100=y
CONFIG_NFC_VIRTUAL_NCI=y
CONFIG_NFC_FDP=y
# CONFIG_NFC_FDP_I2C is not set
# CONFIG_NFC_PN544_I2C is not set
CONFIG_NFC_PN533=y
CONFIG_NFC_PN533_USB=y
# CONFIG_NFC_PN533_I2C is not set
# CONFIG_NFC_PN532_UART is not set
# CONFIG_NFC_MICROREAD_I2C is not set
CONFIG_NFC_MRVL=y
CONFIG_NFC_MRVL_USB=y
# CONFIG_NFC_MRVL_UART is not set
# CONFIG_NFC_MRVL_I2C is not set
# CONFIG_NFC_ST21NFCA_I2C is not set
# CONFIG_NFC_ST_NCI_I2C is not set
# CONFIG_NFC_ST_NCI_SPI is not set
# CONFIG_NFC_NXP_NCI is not set
# CONFIG_NFC_S3FWRN5_I2C is not set
# CONFIG_NFC_S3FWRN82_UART is not set
# CONFIG_NFC_ST95HF is not set
# end of Near Field Communication (NFC) devices

CONFIG_PSAMPLE=y
CONFIG_NET_IFE=y
CONFIG_LWTUNNEL=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
CONFIG_SOCK_VALIDATE_XMIT=y
CONFIG_NET_SELFTESTS=y
CONFIG_NET_SOCK_MSG=y
CONFIG_NET_DEVLINK=y
CONFIG_PAGE_POOL=y
# CONFIG_PAGE_POOL_STATS is not set
CONFIG_FAILOVER=y
CONFIG_ETHTOOL_NETLINK=y

#
# Device Drivers
#
CONFIG_HAVE_EISA=y
# CONFIG_EISA is not set
CONFIG_HAVE_PCI=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_PCIEAER=y
# CONFIG_PCIEAER_INJECT is not set
# CONFIG_PCIE_ECRC is not set
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
# CONFIG_PCIE_DPC is not set
# CONFIG_PCIE_PTM is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
# CONFIG_PCI_STUB is not set
# CONFIG_PCI_PF_STUB is not set
CONFIG_PCI_ATS=y
CONFIG_PCI_ECAM=y
CONFIG_PCI_LOCKLESS_CONFIG=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
# CONFIG_PCI_P2PDMA is not set
CONFIG_PCI_LABEL=y
# CONFIG_PCI_DYNAMIC_OF_NODES is not set
# CONFIG_PCIE_BUS_TUNE_OFF is not set
CONFIG_PCIE_BUS_DEFAULT=y
# CONFIG_PCIE_BUS_SAFE is not set
# CONFIG_PCIE_BUS_PERFORMANCE is not set
# CONFIG_PCIE_BUS_PEER2PEER is not set
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_ACPI is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set

#
# PCI controller drivers
#
# CONFIG_PCI_FTPCI100 is not set
CONFIG_PCI_HOST_COMMON=y
CONFIG_PCI_HOST_GENERIC=y
# CONFIG_VMD is not set
# CONFIG_PCIE_MICROCHIP_HOST is not set
# CONFIG_PCIE_XILINX is not set

#
# Cadence-based PCIe controllers
#
# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
# CONFIG_PCIE_CADENCE_PLAT_EP is not set
# end of Cadence-based PCIe controllers

#
# DesignWare-based PCIe controllers
#
# CONFIG_PCI_MESON is not set
# CONFIG_PCIE_INTEL_GW is not set
# CONFIG_PCIE_DW_PLAT_HOST is not set
# CONFIG_PCIE_DW_PLAT_EP is not set
# end of DesignWare-based PCIe controllers

#
# Mobiveil-based PCIe controllers
#
# end of Mobiveil-based PCIe controllers
# end of PCI controller drivers

#
# PCI Endpoint
#
CONFIG_PCI_ENDPOINT=y
# CONFIG_PCI_ENDPOINT_CONFIGFS is not set
# CONFIG_PCI_EPF_TEST is not set
# CONFIG_PCI_EPF_NTB is not set
# end of PCI Endpoint

#
# PCI switch controller drivers
#
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers

# CONFIG_CXL_BUS is not set
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=y
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
CONFIG_PCCARD_NONSTATIC=y
# CONFIG_RAPIDIO is not set

#
# Generic Driver Options
#
CONFIG_AUXILIARY_BUS=y
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_DEVTMPFS_SAFE is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y

#
# Firmware loader
#
CONFIG_FW_LOADER=y
# CONFIG_FW_LOADER_DEBUG is not set
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_FW_LOADER_SYSFS=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_COMPRESS_XZ is not set
# CONFIG_FW_LOADER_COMPRESS_ZSTD is not set
CONFIG_FW_CACHE=y
# CONFIG_FW_UPLOAD is not set
# end of Firmware loader

CONFIG_WANT_DEV_COREDUMP=y
CONFIG_ALLOW_DEV_COREDUMP=y
CONFIG_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
CONFIG_DEBUG_DEVRES=y
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
CONFIG_GENERIC_CPU_DEVICES=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_CPU_VULNERABILITIES=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_IRQ=y
CONFIG_DMA_SHARED_BUFFER=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
# end of Generic Driver Options

#
# Bus devices
#
# CONFIG_MOXTET is not set
CONFIG_MHI_BUS=y
# CONFIG_MHI_BUS_DEBUG is not set
# CONFIG_MHI_BUS_PCI_GENERIC is not set
# CONFIG_MHI_BUS_EP is not set
# end of Bus devices

#
# Cache Drivers
#
# end of Cache Drivers

CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y

#
# Firmware Drivers
#

#
# ARM System Control and Management Interface Protocol
#
# end of ARM System Control and Management Interface Protocol

# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DMIID=y
# CONFIG_DMI_SYSFS is not set
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_ISCSI_IBFT is not set
# CONFIG_FW_CFG_SYSFS is not set
CONFIG_SYSFB=y
# CONFIG_SYSFB_SIMPLEFB is not set
CONFIG_GOOGLE_FIRMWARE=y
# CONFIG_GOOGLE_SMI is not set
# CONFIG_GOOGLE_CBMEM is not set
CONFIG_GOOGLE_COREBOOT_TABLE=y
CONFIG_GOOGLE_MEMCONSOLE=y
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
# CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT is not set
CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=y
CONFIG_GOOGLE_VPD=y

#
# Qualcomm firmware drivers
#
# end of Qualcomm firmware drivers

#
# Tegra firmware driver
#
# end of Tegra firmware driver
# end of Firmware Drivers

# CONFIG_GNSS is not set
CONFIG_MTD=y
# CONFIG_MTD_TESTS is not set

#
# Partition parsers
#
# CONFIG_MTD_CMDLINE_PARTS is not set
# CONFIG_MTD_OF_PARTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
# end of Partition parsers

#
# User Modules And Translation Layers
#
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y

#
# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK.
#
CONFIG_FTL=y
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
# CONFIG_SM_FTL is not set
# CONFIG_MTD_OOPS is not set
# CONFIG_MTD_SWAP is not set
# CONFIG_MTD_PARTITIONED_MASTER is not set

#
# RAM/ROM/Flash chip drivers
#
# CONFIG_MTD_CFI is not set
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
# end of RAM/ROM/Flash chip drivers

#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PLATRAM is not set
# end of Mapping drivers for chip access

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_DATAFLASH is not set
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MCHP48L640 is not set
# CONFIG_MTD_SST25L is not set
CONFIG_MTD_SLRAM=y
CONFIG_MTD_PHRAM=y
CONFIG_MTD_MTDRAM=y
CONFIG_MTDRAM_TOTAL_SIZE=128
CONFIG_MTDRAM_ERASE_SIZE=4
CONFIG_MTD_BLOCK2MTD=y

#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOCG3 is not set
# end of Self-contained MTD device drivers

#
# NAND
#
# CONFIG_MTD_ONENAND is not set
# CONFIG_MTD_RAW_NAND is not set
# CONFIG_MTD_SPI_NAND is not set

#
# ECC engine support
#
# CONFIG_MTD_NAND_ECC_SW_HAMMING is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_MXIC is not set
# end of ECC engine support
# end of NAND

#
# LPDDR & LPDDR2 PCM memory drivers
#
# CONFIG_MTD_LPDDR is not set
# end of LPDDR & LPDDR2 PCM memory drivers

# CONFIG_MTD_SPI_NOR is not set
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
# CONFIG_MTD_UBI_FASTMAP is not set
# CONFIG_MTD_UBI_GLUEBI is not set
# CONFIG_MTD_UBI_BLOCK is not set
# CONFIG_MTD_UBI_FAULT_INJECTION is not set
# CONFIG_MTD_UBI_NVMEM is not set
# CONFIG_MTD_HYPERBUS is not set
CONFIG_DTC=y
CONFIG_OF=y
# CONFIG_OF_UNITTEST is not set
CONFIG_OF_FLATTREE=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_KOBJ=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_IRQ=y
CONFIG_OF_RESERVED_MEM=y
# CONFIG_OF_OVERLAY is not set
CONFIG_OF_NUMA=y
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_PARPORT=y
# CONFIG_PARPORT_PC is not set
# CONFIG_PARPORT_1284 is not set
CONFIG_PARPORT_NOT_PC=y
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_NULL_BLK=y
CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
# CONFIG_BLK_DEV_FD is not set
CONFIG_CDROM=y
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
CONFIG_ZRAM=y
CONFIG_ZRAM_DEF_COMP_LZORLE=y
# CONFIG_ZRAM_DEF_COMP_ZSTD is not set
# CONFIG_ZRAM_DEF_COMP_LZ4 is not set
# CONFIG_ZRAM_DEF_COMP_LZO is not set
# CONFIG_ZRAM_DEF_COMP_LZ4HC is not set
# CONFIG_ZRAM_DEF_COMP_842 is not set
CONFIG_ZRAM_DEF_COMP="lzo-rle"
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZRAM_TRACK_ENTRY_ACTIME is not set
# CONFIG_ZRAM_MEMORY_TRACKING is not set
# CONFIG_ZRAM_MULTI_COMP is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=16
# CONFIG_BLK_DEV_DRBD is not set
CONFIG_BLK_DEV_NBD=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_CDROM_PKTCDVD is not set
CONFIG_ATA_OVER_ETH=y
CONFIG_VIRTIO_BLK=y
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_BLK_DEV_UBLK is not set
CONFIG_BLK_DEV_RNBD=y
CONFIG_BLK_DEV_RNBD_CLIENT=y

#
# NVME Support
#
CONFIG_NVME_CORE=y
CONFIG_BLK_DEV_NVME=y
CONFIG_NVME_MULTIPATH=y
# CONFIG_NVME_VERBOSE_ERRORS is not set
# CONFIG_NVME_HWMON is not set
CONFIG_NVME_FABRICS=y
CONFIG_NVME_RDMA=y
CONFIG_NVME_FC=y
CONFIG_NVME_TCP=y
# CONFIG_NVME_TCP_TLS is not set
# CONFIG_NVME_HOST_AUTH is not set
CONFIG_NVME_TARGET=y
# CONFIG_NVME_TARGET_PASSTHRU is not set
CONFIG_NVME_TARGET_LOOP=y
CONFIG_NVME_TARGET_RDMA=y
CONFIG_NVME_TARGET_FC=y
CONFIG_NVME_TARGET_FCLOOP=y
CONFIG_NVME_TARGET_TCP=y
# CONFIG_NVME_TARGET_TCP_TLS is not set
# CONFIG_NVME_TARGET_AUTH is not set
# end of NVME Support

#
# Misc devices
#
# CONFIG_AD525X_DPOT is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
# CONFIG_VMWARE_BALLOON is not set
# CONFIG_LATTICE_ECP3_CONFIG is not set
# CONFIG_SRAM is not set
# CONFIG_DW_XDATA_PCIE is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_XILINX_SDFEC is not set
CONFIG_MISC_RTSX=y
# CONFIG_HISI_HIKEY_USB is not set
# CONFIG_OPEN_DICE is not set
# CONFIG_VCPU_STALL_DETECTOR is not set
# CONFIG_NSM is not set
# CONFIG_C2PORT is not set

#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_AT25 is not set
# CONFIG_EEPROM_MAX6875 is not set
CONFIG_EEPROM_93CX6=y
# CONFIG_EEPROM_93XX46 is not set
# CONFIG_EEPROM_IDT_89HPESX is not set
# CONFIG_EEPROM_EE1004 is not set
# end of EEPROM support

# CONFIG_CB710_CORE is not set

#
# Texas Instruments shared transport line discipline
#
# CONFIG_TI_ST is not set
# end of Texas Instruments shared transport line discipline

# CONFIG_SENSORS_LIS3_I2C is not set
# CONFIG_ALTERA_STAPL is not set
# CONFIG_INTEL_MEI is not set
CONFIG_VMWARE_VMCI=y
# CONFIG_GENWQE is not set
# CONFIG_ECHO is not set
# CONFIG_BCM_VK is not set
# CONFIG_MISC_ALCOR_PCI is not set
# CONFIG_MISC_RTSX_PCI is not set
CONFIG_MISC_RTSX_USB=y
# CONFIG_UACCE is not set
# CONFIG_PVPANIC is not set
# CONFIG_GP_PCI1XXXX is not set
# end of Misc devices

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=y
CONFIG_SCSI_COMMON=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_CHR_DEV_SCH is not set
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_ATA=y
# CONFIG_SCSI_SAS_HOST_SMP is not set
CONFIG_SCSI_SRP_ATTRS=y
# end of SCSI Transports

CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_CXGB4_ISCSI is not set
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_SCSI_HPSA=y
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_ESAS2R is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_MPT3SAS is not set
# CONFIG_SCSI_MPT2SAS is not set
# CONFIG_SCSI_MPI3MR is not set
# CONFIG_SCSI_SMARTPQI is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_MYRB is not set
# CONFIG_SCSI_MYRS is not set
# CONFIG_VMWARE_PVSCSI is not set
# CONFIG_LIBFC is not set
# CONFIG_SCSI_SNIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_FDOMAIN_PCI is not set
# CONFIG_SCSI_ISCI is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_EFCT is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_WD719X is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
# CONFIG_SCSI_BFA_FC is not set
CONFIG_SCSI_VIRTIO=y
# CONFIG_SCSI_CHELSIO_FCOE is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
# CONFIG_SCSI_DH is not set
# end of SCSI device support

CONFIG_ATA=y
CONFIG_SATA_HOST=y
CONFIG_PATA_TIMINGS=y
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_FORCE=y
CONFIG_ATA_ACPI=y
# CONFIG_SATA_ZPODD is not set
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=y
CONFIG_SATA_MOBILE_LPM_POLICY=0
# CONFIG_SATA_AHCI_PLATFORM is not set
# CONFIG_AHCI_DWC is not set
# CONFIG_AHCI_CEVA is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_SATA_ACARD_AHCI is not set
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_SX4 is not set
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set

#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not set
CONFIG_PATA_AMD=y
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
CONFIG_PATA_OLDPIIX=y
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RDC is not set
CONFIG_PATA_SCH=y
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_PCMCIA is not set
# CONFIG_PATA_OF_PLATFORM is not set
# CONFIG_PATA_RZ1000 is not set

#
# Generic fallback / legacy drivers
#
# CONFIG_PATA_ACPI is not set
CONFIG_ATA_GENERIC=y
# CONFIG_PATA_LEGACY is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
CONFIG_MD_BITMAP_FILE=y
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
CONFIG_MD_RAID10=y
CONFIG_MD_RAID456=y
# CONFIG_MD_CLUSTER is not set
CONFIG_BCACHE=y
# CONFIG_BCACHE_DEBUG is not set
# CONFIG_BCACHE_ASYNC_REGISTRATION is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_DEBUG is not set
CONFIG_DM_BUFIO=y
# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
CONFIG_DM_BIO_PRISON=y
CONFIG_DM_PERSISTENT_DATA=y
# CONFIG_DM_UNSTRIPED is not set
CONFIG_DM_CRYPT=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_THIN_PROVISIONING=y
CONFIG_DM_CACHE=y
CONFIG_DM_CACHE_SMQ=y
CONFIG_DM_WRITECACHE=y
# CONFIG_DM_EBS is not set
# CONFIG_DM_ERA is not set
CONFIG_DM_CLONE=y
CONFIG_DM_MIRROR=y
# CONFIG_DM_LOG_USERSPACE is not set
CONFIG_DM_RAID=y
CONFIG_DM_ZERO=y
CONFIG_DM_MULTIPATH=y
CONFIG_DM_MULTIPATH_QL=y
CONFIG_DM_MULTIPATH_ST=y
# CONFIG_DM_MULTIPATH_HST is not set
# CONFIG_DM_MULTIPATH_IOA is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_DUST is not set
# CONFIG_DM_INIT is not set
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=y
CONFIG_DM_VERITY=y
# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set
CONFIG_DM_VERITY_FEC=y
# CONFIG_DM_SWITCH is not set
# CONFIG_DM_LOG_WRITES is not set
CONFIG_DM_INTEGRITY=y
CONFIG_DM_ZONED=y
CONFIG_DM_AUDIT=y
# CONFIG_DM_VDO is not set
CONFIG_TARGET_CORE=y
# CONFIG_TCM_IBLOCK is not set
# CONFIG_TCM_FILEIO is not set
# CONFIG_TCM_PSCSI is not set
# CONFIG_LOOPBACK_TARGET is not set
# CONFIG_ISCSI_TARGET is not set
# CONFIG_SBP_TARGET is not set
# CONFIG_REMOTE_TARGET is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=y
CONFIG_FIREWIRE_OHCI=y
CONFIG_FIREWIRE_SBP2=y
CONFIG_FIREWIRE_NET=y
# CONFIG_FIREWIRE_NOSY is not set
# end of IEEE 1394 (FireWire) support

# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_MII=y
CONFIG_NET_CORE=y
CONFIG_BONDING=y
CONFIG_DUMMY=y
CONFIG_WIREGUARD=y
# CONFIG_WIREGUARD_DEBUG is not set
CONFIG_EQUALIZER=y
CONFIG_NET_FC=y
CONFIG_IFB=y
CONFIG_NET_TEAM=y
CONFIG_NET_TEAM_MODE_BROADCAST=y
CONFIG_NET_TEAM_MODE_ROUNDROBIN=y
CONFIG_NET_TEAM_MODE_RANDOM=y
CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=y
CONFIG_NET_TEAM_MODE_LOADBALANCE=y
CONFIG_MACVLAN=y
CONFIG_MACVTAP=y
CONFIG_IPVLAN_L3S=y
CONFIG_IPVLAN=y
CONFIG_IPVTAP=y
CONFIG_VXLAN=y
CONFIG_GENEVE=y
CONFIG_BAREUDP=y
CONFIG_GTP=y
# CONFIG_AMT is not set
CONFIG_MACSEC=y
CONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not set
# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETPOLL=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=y
CONFIG_TAP=y
CONFIG_TUN_VNET_CROSS_LE=y
CONFIG_VETH=y
CONFIG_VIRTIO_NET=y
CONFIG_NLMON=y
# CONFIG_NETKIT is not set
CONFIG_NET_VRF=y
CONFIG_VSOCKMON=y
# CONFIG_MHI_NET is not set
# CONFIG_ARCNET is not set
CONFIG_ATM_DRIVERS=y
# CONFIG_ATM_DUMMY is not set
CONFIG_ATM_TCP=y
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_NICSTAR is not set
# CONFIG_ATM_IDT77252 is not set
# CONFIG_ATM_IA is not set
# CONFIG_ATM_FORE200E is not set
# CONFIG_ATM_HE is not set
# CONFIG_ATM_SOLOS is not set
CONFIG_CAIF_DRIVERS=y
CONFIG_CAIF_TTY=y
CONFIG_CAIF_VIRTIO=y

#
# Distributed Switch Architecture drivers
#
# CONFIG_B53 is not set
# CONFIG_NET_DSA_BCM_SF2 is not set
# CONFIG_NET_DSA_LOOP is not set
# CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK is not set
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
# CONFIG_NET_DSA_MT7530 is not set
# CONFIG_NET_DSA_MV88E6060 is not set
# CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON is not set
# CONFIG_NET_DSA_MV88E6XXX is not set
# CONFIG_NET_DSA_AR9331 is not set
# CONFIG_NET_DSA_QCA8K is not set
# CONFIG_NET_DSA_SJA1105 is not set
# CONFIG_NET_DSA_XRS700X_I2C is not set
# CONFIG_NET_DSA_XRS700X_MDIO is not set
# CONFIG_NET_DSA_REALTEK is not set
# CONFIG_NET_DSA_SMSC_LAN9303_I2C is not set
# CONFIG_NET_DSA_SMSC_LAN9303_MDIO is not set
# CONFIG_NET_DSA_VITESSE_VSC73XX_SPI is not set
# CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM is not set
# end of Distributed Switch Architecture drivers

CONFIG_ETHERNET=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not set
# CONFIG_NET_VENDOR_AGERE is not set
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
# CONFIG_ACENIC is not set
# CONFIG_ALTERA_TSE is not set
CONFIG_NET_VENDOR_AMAZON=y
# CONFIG_ENA_ETHERNET is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
CONFIG_NET_VENDOR_ASIX=y
# CONFIG_SPI_AX88796C is not set
# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_CX_ECAT is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_CADENCE is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
CONFIG_NET_VENDOR_CISCO=y
# CONFIG_ENIC is not set
# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_NET_VENDOR_DAVICOM=y
# CONFIG_DM9051 is not set
# CONFIG_DNET is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
CONFIG_NET_VENDOR_ENGLEDER=y
# CONFIG_TSNEP is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
# CONFIG_NET_VENDOR_FUJITSU is not set
CONFIG_NET_VENDOR_FUNGIBLE=y
# CONFIG_FUN_ETH is not set
CONFIG_NET_VENDOR_GOOGLE=y
CONFIG_GVE=y
# CONFIG_NET_VENDOR_HUAWEI is not set
CONFIG_NET_VENDOR_I825XX=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=y
CONFIG_E1000=y
CONFIG_E1000E=y
CONFIG_E1000E_HWTS=y
# CONFIG_IGB is not set
# CONFIG_IGBVF is not set
# CONFIG_IXGBE is not set
# CONFIG_IXGBEVF is not set
# CONFIG_I40E is not set
# CONFIG_I40EVF is not set
# CONFIG_ICE is not set
# CONFIG_FM10K is not set
# CONFIG_IGC is not set
# CONFIG_IDPF is not set
# CONFIG_JME is not set
# CONFIG_NET_VENDOR_ADI is not set
CONFIG_NET_VENDOR_LITEX=y
# CONFIG_LITEX_LITEETH is not set
# CONFIG_NET_VENDOR_MARVELL is not set
CONFIG_NET_VENDOR_MELLANOX=y
# CONFIG_MLX4_EN is not set
CONFIG_MLX4_CORE=y
# CONFIG_MLX4_DEBUG is not set
# CONFIG_MLX4_CORE_GEN2 is not set
# CONFIG_MLX5_CORE is not set
# CONFIG_MLXSW_CORE is not set
# CONFIG_MLXFW is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MICROSEMI is not set
CONFIG_NET_VENDOR_MICROSOFT=y
# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_FEALNX is not set
# CONFIG_NET_VENDOR_NI is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NETERION is not set
# CONFIG_NET_VENDOR_NETRONOME is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
# CONFIG_NET_VENDOR_OKI is not set
# CONFIG_ETHOC is not set
# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
# CONFIG_NET_VENDOR_PENSANDO is not set
# CONFIG_NET_VENDOR_QLOGIC is not set
# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
# CONFIG_NET_VENDOR_RDC is not set
# CONFIG_NET_VENDOR_REALTEK is not set
# CONFIG_NET_VENDOR_RENESAS is not set
# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
# CONFIG_NET_VENDOR_TEHUTI is not set
# CONFIG_NET_VENDOR_TI is not set
CONFIG_NET_VENDOR_VERTEXCOM=y
# CONFIG_MSE102X is not set
# CONFIG_NET_VENDOR_VIA is not set
CONFIG_NET_VENDOR_WANGXUN=y
# CONFIG_NGBE is not set
# CONFIG_TXGBE is not set
# CONFIG_NET_VENDOR_WIZNET is not set
# CONFIG_NET_VENDOR_XILINX is not set
# CONFIG_NET_VENDOR_XIRCOM is not set
CONFIG_FDDI=y
# CONFIG_DEFXX is not set
# CONFIG_SKFP is not set
# CONFIG_HIPPI is not set
# CONFIG_NET_SB1000 is not set
CONFIG_PHYLINK=y
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
# CONFIG_LED_TRIGGER_PHY is not set
CONFIG_PHYLIB_LEDS=y
CONFIG_FIXED_PHY=y
# CONFIG_SFP is not set

#
# MII PHY device drivers
#
# CONFIG_AMD_PHY is not set
# CONFIG_ADIN_PHY is not set
# CONFIG_ADIN1100_PHY is not set
# CONFIG_AQUANTIA_PHY is not set
CONFIG_AX88796B_PHY=y
# CONFIG_BROADCOM_PHY is not set
# CONFIG_BCM54140_PHY is not set
# CONFIG_BCM7XXX_PHY is not set
# CONFIG_BCM84881_PHY is not set
# CONFIG_BCM87XX_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_CORTINA_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_INTEL_XWAY_PHY is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MARVELL_PHY is not set
# CONFIG_MARVELL_10G_PHY is not set
# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
# CONFIG_MAXLINEAR_GPHY is not set
# CONFIG_MEDIATEK_GE_PHY is not set
# CONFIG_MICREL_PHY is not set
# CONFIG_MICROCHIP_T1S_PHY is not set
CONFIG_MICROCHIP_PHY=y
# CONFIG_MICROCHIP_T1_PHY is not set
# CONFIG_MICROSEMI_PHY is not set
# CONFIG_MOTORCOMM_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_NXP_CBTX_PHY is not set
# CONFIG_NXP_C45_TJA11XX_PHY is not set
# CONFIG_NXP_TJA11XX_PHY is not set
# CONFIG_NCN26000_PHY is not set
# CONFIG_AT803X_PHY is not set
# CONFIG_QCA83XX_PHY is not set
# CONFIG_QCA808X_PHY is not set
# CONFIG_QCA807X_PHY is not set
# CONFIG_QSEMI_PHY is not set
CONFIG_REALTEK_PHY=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_ROCKCHIP_PHY is not set
CONFIG_SMSC_PHY=y
# CONFIG_STE10XP is not set
# CONFIG_TERANETICS_PHY is not set
# CONFIG_DP83822_PHY is not set
# CONFIG_DP83TC811_PHY is not set
# CONFIG_DP83848_PHY is not set
# CONFIG_DP83867_PHY is not set
# CONFIG_DP83869_PHY is not set
# CONFIG_DP83TD510_PHY is not set
# CONFIG_DP83TG720_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_XILINX_GMII2RGMII is not set
# CONFIG_MICREL_KS8995MA is not set
# CONFIG_PSE_CONTROLLER is not set
CONFIG_CAN_DEV=y
CONFIG_CAN_VCAN=y
CONFIG_CAN_VXCAN=y
CONFIG_CAN_NETLINK=y
CONFIG_CAN_CALC_BITTIMING=y
CONFIG_CAN_RX_OFFLOAD=y
# CONFIG_CAN_CAN327 is not set
# CONFIG_CAN_FLEXCAN is not set
# CONFIG_CAN_GRCAN is not set
# CONFIG_CAN_KVASER_PCIEFD is not set
CONFIG_CAN_SLCAN=y
# CONFIG_CAN_C_CAN is not set
# CONFIG_CAN_CC770 is not set
# CONFIG_CAN_CTUCANFD_PCI is not set
# CONFIG_CAN_CTUCANFD_PLATFORM is not set
# CONFIG_CAN_ESD_402_PCI is not set
CONFIG_CAN_IFI_CANFD=y
# CONFIG_CAN_M_CAN is not set
# CONFIG_CAN_PEAK_PCIEFD is not set
# CONFIG_CAN_SJA1000 is not set
# CONFIG_CAN_SOFTING is not set

#
# CAN SPI interfaces
#
# CONFIG_CAN_HI311X is not set
# CONFIG_CAN_MCP251X is not set
# CONFIG_CAN_MCP251XFD is not set
# end of CAN SPI interfaces

#
# CAN USB interfaces
#
CONFIG_CAN_8DEV_USB=y
CONFIG_CAN_EMS_USB=y
# CONFIG_CAN_ESD_USB is not set
# CONFIG_CAN_ETAS_ES58X is not set
# CONFIG_CAN_F81604 is not set
CONFIG_CAN_GS_USB=y
CONFIG_CAN_KVASER_USB=y
CONFIG_CAN_MCBA_USB=y
CONFIG_CAN_PEAK_USB=y
# CONFIG_CAN_UCAN is not set
# end of CAN USB interfaces

# CONFIG_CAN_DEBUG_DEVICES is not set
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
CONFIG_FWNODE_MDIO=y
CONFIG_OF_MDIO=y
CONFIG_ACPI_MDIO=y
CONFIG_MDIO_DEVRES=y
# CONFIG_MDIO_BITBANG is not set
# CONFIG_MDIO_BCM_UNIMAC is not set
# CONFIG_MDIO_HISI_FEMAC is not set
# CONFIG_MDIO_MVUSB is not set
# CONFIG_MDIO_MSCC_MIIM is not set
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_IPQ4019 is not set
# CONFIG_MDIO_IPQ8064 is not set
# CONFIG_MDIO_THUNDER is not set

#
# MDIO Multiplexers
#
# CONFIG_MDIO_BUS_MUX_GPIO is not set
# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set

#
# PCS device drivers
#
# end of PCS device drivers

# CONFIG_PLIP is not set
CONFIG_PPP=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPPOATM=y
CONFIG_PPPOE=y
# CONFIG_PPPOE_HASH_BITS_1 is not set
# CONFIG_PPPOE_HASH_BITS_2 is not set
CONFIG_PPPOE_HASH_BITS_4=y
# CONFIG_PPPOE_HASH_BITS_8 is not set
CONFIG_PPPOE_HASH_BITS=4
CONFIG_PPTP=y
CONFIG_PPPOL2TP=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_SLIP=y
CONFIG_SLHC=y
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_CATC=y
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_RTL8150=y
CONFIG_USB_RTL8152=y
CONFIG_USB_LAN78XX=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_AX88179_178A=y
CONFIG_USB_NET_CDCETHER=y
CONFIG_USB_NET_CDC_EEM=y
CONFIG_USB_NET_CDC_NCM=y
CONFIG_USB_NET_HUAWEI_CDC_NCM=y
CONFIG_USB_NET_CDC_MBIM=y
CONFIG_USB_NET_DM9601=y
CONFIG_USB_NET_SR9700=y
CONFIG_USB_NET_SR9800=y
CONFIG_USB_NET_SMSC75XX=y
CONFIG_USB_NET_SMSC95XX=y
CONFIG_USB_NET_GL620A=y
CONFIG_USB_NET_NET1080=y
CONFIG_USB_NET_PLUSB=y
CONFIG_USB_NET_MCS7830=y
CONFIG_USB_NET_RNDIS_HOST=y
CONFIG_USB_NET_CDC_SUBSET_ENABLE=y
CONFIG_USB_NET_CDC_SUBSET=y
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=y
CONFIG_USB_NET_CX82310_ETH=y
CONFIG_USB_NET_KALMIA=y
CONFIG_USB_NET_QMI_WWAN=y
CONFIG_USB_HSO=y
CONFIG_USB_NET_INT51X1=y
CONFIG_USB_CDC_PHONET=y
CONFIG_USB_IPHETH=y
CONFIG_USB_SIERRA_NET=y
CONFIG_USB_VL600=y
CONFIG_USB_NET_CH9200=y
# CONFIG_USB_NET_AQC111 is not set
CONFIG_USB_RTL8153_ECM=y
CONFIG_WLAN=y
CONFIG_WLAN_VENDOR_ADMTEK=y
# CONFIG_ADM8211 is not set
CONFIG_ATH_COMMON=y
CONFIG_WLAN_VENDOR_ATH=y
# CONFIG_ATH_DEBUG is not set
# CONFIG_ATH5K is not set
# CONFIG_ATH5K_PCI is not set
CONFIG_ATH9K_HW=y
CONFIG_ATH9K_COMMON=y
CONFIG_ATH9K_COMMON_DEBUG=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
CONFIG_ATH9K=y
CONFIG_ATH9K_PCI=y
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_STATION_STATISTICS is not set
CONFIG_ATH9K_DYNACK=y
# CONFIG_ATH9K_WOW is not set
CONFIG_ATH9K_RFKILL=y
CONFIG_ATH9K_CHANNEL_CONTEXT=y
CONFIG_ATH9K_PCOEM=y
# CONFIG_ATH9K_PCI_NO_EEPROM is not set
CONFIG_ATH9K_HTC=y
CONFIG_ATH9K_HTC_DEBUGFS=y
# CONFIG_ATH9K_HWRNG is not set
# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_CARL9170=y
CONFIG_CARL9170_LEDS=y
# CONFIG_CARL9170_DEBUGFS is not set
CONFIG_CARL9170_WPC=y
CONFIG_CARL9170_HWRNG=y
CONFIG_ATH6KL=y
# CONFIG_ATH6KL_SDIO is not set
CONFIG_ATH6KL_USB=y
# CONFIG_ATH6KL_DEBUG is not set
# CONFIG_ATH6KL_TRACING is not set
CONFIG_AR5523=y
# CONFIG_WIL6210 is not set
CONFIG_ATH10K=y
CONFIG_ATH10K_CE=y
CONFIG_ATH10K_PCI=y
# CONFIG_ATH10K_AHB is not set
# CONFIG_ATH10K_SDIO is not set
CONFIG_ATH10K_USB=y
# CONFIG_ATH10K_DEBUG is not set
# CONFIG_ATH10K_DEBUGFS is not set
# CONFIG_ATH10K_TRACING is not set
# CONFIG_WCN36XX is not set
CONFIG_ATH11K=y
# CONFIG_ATH11K_PCI is not set
# CONFIG_ATH11K_DEBUG is not set
# CONFIG_ATH11K_DEBUGFS is not set
# CONFIG_ATH11K_TRACING is not set
# CONFIG_ATH12K is not set
# CONFIG_WLAN_VENDOR_ATMEL is not set
# CONFIG_WLAN_VENDOR_BROADCOM is not set
# CONFIG_WLAN_VENDOR_INTEL is not set
# CONFIG_WLAN_VENDOR_INTERSIL is not set
# CONFIG_WLAN_VENDOR_MARVELL is not set
# CONFIG_WLAN_VENDOR_MEDIATEK is not set
# CONFIG_WLAN_VENDOR_MICROCHIP is not set
CONFIG_WLAN_VENDOR_PURELIFI=y
# CONFIG_PLFXLC is not set
# CONFIG_WLAN_VENDOR_RALINK is not set
# CONFIG_WLAN_VENDOR_REALTEK is not set
# CONFIG_WLAN_VENDOR_RSI is not set
CONFIG_WLAN_VENDOR_SILABS=y
# CONFIG_WFX is not set
# CONFIG_WLAN_VENDOR_ST is not set
# CONFIG_WLAN_VENDOR_TI is not set
# CONFIG_WLAN_VENDOR_ZYDAS is not set
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
CONFIG_MAC80211_HWSIM=y
CONFIG_VIRT_WIFI=y
CONFIG_WAN=y
CONFIG_HDLC=y
CONFIG_HDLC_RAW=y
CONFIG_HDLC_RAW_ETH=y
CONFIG_HDLC_CISCO=y
CONFIG_HDLC_FR=y
CONFIG_HDLC_PPP=y
CONFIG_HDLC_X25=y
# CONFIG_FRAMER is not set
# CONFIG_PCI200SYN is not set
# CONFIG_WANXL is not set
# CONFIG_PC300TOO is not set
# CONFIG_FARSYNC is not set
CONFIG_LAPBETHER=y
CONFIG_IEEE802154_DRIVERS=y
# CONFIG_IEEE802154_FAKELB is not set
# CONFIG_IEEE802154_AT86RF230 is not set
# CONFIG_IEEE802154_MRF24J40 is not set
# CONFIG_IEEE802154_CC2520 is not set
CONFIG_IEEE802154_ATUSB=y
# CONFIG_IEEE802154_ADF7242 is not set
# CONFIG_IEEE802154_CA8210 is not set
# CONFIG_IEEE802154_MCR20A is not set
CONFIG_IEEE802154_HWSIM=y

#
# Wireless WAN
#
CONFIG_WWAN=y
# CONFIG_WWAN_DEBUGFS is not set
# CONFIG_WWAN_HWSIM is not set
CONFIG_MHI_WWAN_CTRL=y
# CONFIG_MHI_WWAN_MBIM is not set
# CONFIG_IOSM is not set
# CONFIG_MTK_T7XX is not set
# end of Wireless WAN

CONFIG_VMXNET3=y
# CONFIG_FUJITSU_ES is not set
CONFIG_USB4_NET=y
CONFIG_NETDEVSIM=y
CONFIG_NET_FAILOVER=y
CONFIG_ISDN=y
CONFIG_ISDN_CAPI=y
CONFIG_CAPI_TRACE=y
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_MISDN=y
CONFIG_MISDN_DSP=y
CONFIG_MISDN_L1OIP=y

#
# mISDN hardware drivers
#
# CONFIG_MISDN_HFCPCI is not set
# CONFIG_MISDN_HFCMULTI is not set
CONFIG_MISDN_HFCUSB=y
# CONFIG_MISDN_AVMFRITZ is not set
# CONFIG_MISDN_SPEEDFAX is not set
# CONFIG_MISDN_INFINEON is not set
# CONFIG_MISDN_W6692 is not set
# CONFIG_MISDN_NETJET is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_SPARSEKMAP=y
# CONFIG_INPUT_MATRIXKMAP is not set
CONFIG_INPUT_VIVALDIFMAP=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADC is not set
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1050 is not set
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_DLINK_DIR685 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_PINEPHONE is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
# CONFIG_KEYBOARD_TWL4030 is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_CAP11XX is not set
# CONFIG_KEYBOARD_BCM is not set
# CONFIG_KEYBOARD_CYPRESS_SF is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_BYD=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_FOCALTECH=y
# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2_SMBUS=y
# CONFIG_MOUSE_SERIAL is not set
CONFIG_MOUSE_APPLETOUCH=y
CONFIG_MOUSE_BCM5974=y
# CONFIG_MOUSE_CYAPA is not set
# CONFIG_MOUSE_ELAN_I2C is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MOUSE_GPIO is not set
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
CONFIG_MOUSE_SYNAPTICS_USB=y
CONFIG_INPUT_JOYSTICK=y
# CONFIG_JOYSTICK_ANALOG is not set
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADC is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
CONFIG_JOYSTICK_IFORCE=y
CONFIG_JOYSTICK_IFORCE_USB=y
# CONFIG_JOYSTICK_IFORCE_232 is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDJOY is not set
# CONFIG_JOYSTICK_ZHENHUA is not set
# CONFIG_JOYSTICK_DB9 is not set
# CONFIG_JOYSTICK_GAMECON is not set
# CONFIG_JOYSTICK_TURBOGRAFX is not set
# CONFIG_JOYSTICK_AS5011 is not set
# CONFIG_JOYSTICK_JOYDUMP is not set
CONFIG_JOYSTICK_XPAD=y
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
# CONFIG_JOYSTICK_WALKERA0701 is not set
# CONFIG_JOYSTICK_PSXPAD_SPI is not set
# CONFIG_JOYSTICK_PXRC is not set
# CONFIG_JOYSTICK_QWIIC is not set
# CONFIG_JOYSTICK_FSIA6B is not set
# CONFIG_JOYSTICK_SENSEHAT is not set
# CONFIG_JOYSTICK_SEESAW is not set
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=y
CONFIG_TABLET_USB_AIPTEK=y
CONFIG_TABLET_USB_HANWANG=y
CONFIG_TABLET_USB_KBTAB=y
CONFIG_TABLET_USB_PEGASUS=y
# CONFIG_TABLET_SERIAL_WACOM4 is not set
CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_ADS7846 is not set
# CONFIG_TOUCHSCREEN_AD7877 is not set
# CONFIG_TOUCHSCREEN_AD7879 is not set
# CONFIG_TOUCHSCREEN_ADC is not set
# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_BU21029 is not set
# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
# CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 is not set
# CONFIG_TOUCHSCREEN_CY8CTMA140 is not set
# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
# CONFIG_TOUCHSCREEN_CYTTSP5 is not set
# CONFIG_TOUCHSCREEN_DYNAPRO is not set
# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
# CONFIG_TOUCHSCREEN_EETI is not set
# CONFIG_TOUCHSCREEN_EGALAX is not set
# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
# CONFIG_TOUCHSCREEN_EXC3000 is not set
# CONFIG_TOUCHSCREEN_FUJITSU is not set
# CONFIG_TOUCHSCREEN_GOODIX is not set
# CONFIG_TOUCHSCREEN_GOODIX_BERLIN_I2C is not set
# CONFIG_TOUCHSCREEN_GOODIX_BERLIN_SPI is not set
# CONFIG_TOUCHSCREEN_HIDEEP is not set
# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set
# CONFIG_TOUCHSCREEN_HYNITRON_CSTXXX is not set
# CONFIG_TOUCHSCREEN_ILI210X is not set
# CONFIG_TOUCHSCREEN_ILITEK is not set
# CONFIG_TOUCHSCREEN_S6SY761 is not set
# CONFIG_TOUCHSCREEN_GUNZE is not set
# CONFIG_TOUCHSCREEN_EKTF2127 is not set
# CONFIG_TOUCHSCREEN_ELAN is not set
# CONFIG_TOUCHSCREEN_ELO is not set
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MMS114 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
# CONFIG_TOUCHSCREEN_MSG2638 is not set
# CONFIG_TOUCHSCREEN_MTOUCH is not set
# CONFIG_TOUCHSCREEN_NOVATEK_NVT_TS is not set
# CONFIG_TOUCHSCREEN_IMAGIS is not set
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_PIXCIR is not set
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
CONFIG_TOUCHSCREEN_USB_COMPOSITE=y
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_USB_JASTEC=y
CONFIG_TOUCHSCREEN_USB_ELO=y
CONFIG_TOUCHSCREEN_USB_E2I=y
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
# CONFIG_TOUCHSCREEN_TSC2004 is not set
# CONFIG_TOUCHSCREEN_TSC2005 is not set
# CONFIG_TOUCHSCREEN_TSC2007 is not set
# CONFIG_TOUCHSCREEN_RM_TS is not set
# CONFIG_TOUCHSCREEN_SILEAD is not set
# CONFIG_TOUCHSCREEN_SIS_I2C is not set
# CONFIG_TOUCHSCREEN_ST1232 is not set
# CONFIG_TOUCHSCREEN_STMFTS is not set
CONFIG_TOUCHSCREEN_SUR40=y
# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
# CONFIG_TOUCHSCREEN_SX8654 is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
# CONFIG_TOUCHSCREEN_ZET6223 is not set
# CONFIG_TOUCHSCREEN_ZFORCE is not set
# CONFIG_TOUCHSCREEN_COLIBRI_VF50 is not set
# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_ZINITIX is not set
# CONFIG_TOUCHSCREEN_HIMAX_HX83112B is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_E3X0_BUTTON is not set
# CONFIG_INPUT_PCSPKR is not set
# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_APANEL is not set
# CONFIG_INPUT_GPIO_BEEPER is not set
# CONFIG_INPUT_GPIO_DECODER is not set
# CONFIG_INPUT_GPIO_VIBRA is not set
# CONFIG_INPUT_ATLAS_BTNS is not set
CONFIG_INPUT_ATI_REMOTE2=y
CONFIG_INPUT_KEYSPAN_REMOTE=y
# CONFIG_INPUT_KXTJ9 is not set
CONFIG_INPUT_POWERMATE=y
CONFIG_INPUT_YEALINK=y
CONFIG_INPUT_CM109=y
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
# CONFIG_INPUT_RETU_PWRBUTTON is not set
# CONFIG_INPUT_TWL4030_PWRBUTTON is not set
# CONFIG_INPUT_TWL4030_VIBRA is not set
CONFIG_INPUT_UINPUT=y
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
# CONFIG_INPUT_DA7280_HAPTICS is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_IBM_PANEL is not set
CONFIG_INPUT_IMS_PCU=y
# CONFIG_INPUT_IQS269A is not set
# CONFIG_INPUT_IQS626A is not set
# CONFIG_INPUT_IQS7222 is not set
# CONFIG_INPUT_CMA3000 is not set
# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set
# CONFIG_INPUT_DRV260X_HAPTICS is not set
# CONFIG_INPUT_DRV2665_HAPTICS is not set
# CONFIG_INPUT_DRV2667_HAPTICS is not set
CONFIG_RMI4_CORE=y
# CONFIG_RMI4_I2C is not set
# CONFIG_RMI4_SPI is not set
# CONFIG_RMI4_SMB is not set
CONFIG_RMI4_F03=y
CONFIG_RMI4_F03_SERIO=y
CONFIG_RMI4_2D_SENSOR=y
CONFIG_RMI4_F11=y
CONFIG_RMI4_F12=y
CONFIG_RMI4_F30=y
# CONFIG_RMI4_F34 is not set
# CONFIG_RMI4_F3A is not set
# CONFIG_RMI4_F54 is not set
# CONFIG_RMI4_F55 is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_SERIO_ARC_PS2 is not set
# CONFIG_SERIO_APBPS2 is not set
# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_USERIO=y
# CONFIG_GAMEPORT is not set
# end of Hardware I/O ports
# end of Input device support

#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_LEGACY_TIOCSTI=y
CONFIG_LDISC_AUTOLOAD=y

#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
CONFIG_SERIAL_8250_PNP=y
# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_PCILIB=y
CONFIG_SERIAL_8250_PCI=y
# CONFIG_SERIAL_8250_EXAR is not set
# CONFIG_SERIAL_8250_CS is not set
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_PCI1XXXX is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_DWLIB=y
# CONFIG_SERIAL_8250_DW is not set
# CONFIG_SERIAL_8250_RT288X is not set
CONFIG_SERIAL_8250_LPSS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_PERICOM=y
# CONFIG_SERIAL_OF_PLATFORM is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_SIFIVE is not set
# CONFIG_SERIAL_LANTIQ is not set
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_FSL_LINFLEXUART is not set
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
# CONFIG_SERIAL_SPRD is not set
# end of Serial drivers

CONFIG_SERIAL_MCTRL_GPIO=y
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
CONFIG_N_HDLC=y
# CONFIG_IPWIRELESS is not set
CONFIG_N_GSM=y
CONFIG_NOZOMI=y
CONFIG_NULL_TTY=y
CONFIG_HVC_DRIVER=y
CONFIG_SERIAL_DEV_BUS=y
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_TTY_PRINTK=y
CONFIG_TTY_PRINTK_LEVEL=6
# CONFIG_PRINTER is not set
# CONFIG_PPDEV is not set
CONFIG_VIRTIO_CONSOLE=y
# CONFIG_IPMI_HANDLER is not set
# CONFIG_SSIF_IPMI_BMC is not set
# CONFIG_IPMB_DEVICE_INTERFACE is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
# CONFIG_HW_RANDOM_INTEL is not set
# CONFIG_HW_RANDOM_AMD is not set
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_VIA is not set
CONFIG_HW_RANDOM_VIRTIO=y
# CONFIG_HW_RANDOM_CCTRNG is not set
# CONFIG_HW_RANDOM_XIPHERA is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
# CONFIG_DEVMEM is not set
CONFIG_NVRAM=y
# CONFIG_DEVPORT is not set
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HPET_MMAP_DEFAULT=y
# CONFIG_HANGCHECK_TIMER is not set
CONFIG_TCG_TPM=y
# CONFIG_HW_RANDOM_TPM is not set
CONFIG_TCG_TIS_CORE=y
CONFIG_TCG_TIS=y
# CONFIG_TCG_TIS_SPI is not set
# CONFIG_TCG_TIS_I2C is not set
# CONFIG_TCG_TIS_I2C_CR50 is not set
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
# CONFIG_TCG_NSC is not set
# CONFIG_TCG_ATMEL is not set
# CONFIG_TCG_INFINEON is not set
CONFIG_TCG_CRB=y
# CONFIG_TCG_VTPM_PROXY is not set
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
# CONFIG_TELCLOCK is not set
# CONFIG_XILLYBUS is not set
# CONFIG_XILLYUSB is not set
# end of Character devices

#
# I2C support
#
CONFIG_I2C=y
CONFIG_ACPI_I2C_OPREGION=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y

#
# Multiplexer I2C Chip support
#
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
# CONFIG_I2C_MUX_GPIO is not set
# CONFIG_I2C_MUX_GPMUX is not set
# CONFIG_I2C_MUX_LTC4306 is not set
# CONFIG_I2C_MUX_PCA9541 is not set
# CONFIG_I2C_MUX_PCA954x is not set
CONFIG_I2C_MUX_REG=y
# CONFIG_I2C_MUX_MLXCPLD is not set
# end of Multiplexer I2C Chip support

CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=y
CONFIG_I2C_ALGOBIT=y

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_I801=y
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_ISMT is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_CHT_WC is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set

#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_DESIGNWARE_CORE=y
# CONFIG_I2C_DESIGNWARE_SLAVE is not set
CONFIG_I2C_DESIGNWARE_PLATFORM=y
# CONFIG_I2C_DESIGNWARE_BAYTRAIL is not set
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_RK3X is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_DIOLAN_U2C=y
CONFIG_I2C_DLN2=y
# CONFIG_I2C_CP2615 is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PCI1XXXX is not set
CONFIG_I2C_ROBOTFUZZ_OSIF=y
# CONFIG_I2C_TAOS_EVM is not set
CONFIG_I2C_TINY_USB=y
CONFIG_I2C_VIPERBOARD=y

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_MLXCPLD is not set
# CONFIG_I2C_VIRTIO is not set
# end of I2C Hardware Bus support

# CONFIG_I2C_STUB is not set
CONFIG_I2C_SLAVE=y
CONFIG_I2C_SLAVE_EEPROM=y
# CONFIG_I2C_SLAVE_TESTUNIT is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# end of I2C support

# CONFIG_I3C is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
# CONFIG_SPI_MEM is not set

#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
# CONFIG_SPI_AXI_SPI_ENGINE is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_BUTTERFLY is not set
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_CADENCE_QUADSPI is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_DLN2=y
# CONFIG_SPI_GPIO is not set
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_MICROCHIP_CORE is not set
# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set
# CONFIG_SPI_LANTIQ_SSC is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PCI1XXXX is not set
# CONFIG_SPI_PXA2XX is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SIFIVE is not set
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_XCOMM is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_AMD is not set

#
# SPI Multiplexer support
#
# CONFIG_SPI_MUX is not set

#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_SPI_SLAVE is not set
CONFIG_SPI_DYNAMIC=y
# CONFIG_SPMI is not set
# CONFIG_HSI is not set
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
# CONFIG_PPS_CLIENT_LDISC is not set
# CONFIG_PPS_CLIENT_PARPORT is not set
# CONFIG_PPS_CLIENT_GPIO is not set

#
# PPS generators support
#

#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_OPTIONAL=y

#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
CONFIG_PTP_1588_CLOCK_KVM=y
# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_FC3W is not set
# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_VMW is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
# end of PTP clock support

# CONFIG_PINCTRL is not set
CONFIG_GPIOLIB=y
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_OF_GPIO=y
CONFIG_GPIO_ACPI=y
CONFIG_GPIOLIB_IRQCHIP=y
# CONFIG_DEBUG_GPIO is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_CDEV is not set

#
# Memory mapped GPIO drivers
#
# CONFIG_GPIO_74XX_MMIO is not set
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
# CONFIG_GPIO_CADENCE is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_FTGPIO010 is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_HLWD is not set
# CONFIG_GPIO_ICH is not set
# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_MB86S7X is not set
# CONFIG_GPIO_SIFIVE is not set
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_XILINX is not set
# CONFIG_GPIO_AMD_FCH is not set
# end of Memory mapped GPIO drivers

#
# Port-mapped I/O GPIO drivers
#
# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_IT87 is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_WINBOND is not set
# CONFIG_GPIO_WS16C48 is not set
# end of Port-mapped I/O GPIO drivers

#
# I2C GPIO expanders
#
# CONFIG_GPIO_ADNP is not set
# CONFIG_GPIO_FXL6408 is not set
# CONFIG_GPIO_DS4520 is not set
# CONFIG_GPIO_GW_PLD is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCA9570 is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_TPIC2810 is not set
# end of I2C GPIO expanders

#
# MFD GPIO expanders
#
CONFIG_GPIO_DLN2=y
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_TWL4030 is not set
# end of MFD GPIO expanders

#
# PCI GPIO expanders
#
# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_PCI_IDIO_16 is not set
# CONFIG_GPIO_PCIE_IDIO_24 is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SODAVILLE is not set
# end of PCI GPIO expanders

#
# SPI GPIO expanders
#
# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_XRA1403 is not set
# end of SPI GPIO expanders

#
# USB GPIO expanders
#
CONFIG_GPIO_VIPERBOARD=y
# end of USB GPIO expanders

#
# Virtual GPIO drivers
#
# CONFIG_GPIO_AGGREGATOR is not set
# CONFIG_GPIO_LATCH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_VIRTIO is not set
# CONFIG_GPIO_SIM is not set
# end of Virtual GPIO drivers

# CONFIG_W1 is not set
# CONFIG_POWER_RESET is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_POWER_SUPPLY_HWMON=y
# CONFIG_GENERIC_ADC_BATTERY is not set
# CONFIG_IP5XXX_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_CHARGER_ADP5061 is not set
# CONFIG_BATTERY_CW2015 is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SAMSUNG_SDI is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_CHARGER_SBS is not set
# CONFIG_MANAGER_SBS is not set
# CONFIG_BATTERY_BQ27XXX is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
CONFIG_CHARGER_ISP1704=y
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_TWL4030 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_MANAGER is not set
# CONFIG_CHARGER_LT3651 is not set
# CONFIG_CHARGER_LTC4162L is not set
# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_MAX77976 is not set
# CONFIG_CHARGER_BQ2415X is not set
CONFIG_CHARGER_BQ24190=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ2515X is not set
# CONFIG_CHARGER_BQ25890 is not set
# CONFIG_CHARGER_BQ25980 is not set
# CONFIG_CHARGER_BQ256XX is not set
# CONFIG_CHARGER_SMB347 is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
# CONFIG_BATTERY_GOLDFISH is not set
# CONFIG_BATTERY_RT5033 is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_RT9467 is not set
# CONFIG_CHARGER_RT9471 is not set
# CONFIG_CHARGER_UCS1002 is not set
# CONFIG_CHARGER_BD99954 is not set
# CONFIG_BATTERY_UG3105 is not set
# CONFIG_FUEL_GAUGE_MM8013 is not set
CONFIG_HWMON=y
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7314 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM1177 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7310 is not set
# CONFIG_SENSORS_ADT7410 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_AHT10 is not set
# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
# CONFIG_SENSORS_AS370 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_ASUS_ROG_RYUJIN is not set
# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_K10TEMP is not set
# CONFIG_SENSORS_FAM15H_POWER is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_CHIPCAP2 is not set
# CONFIG_SENSORS_CORSAIR_CPRO is not set
# CONFIG_SENSORS_CORSAIR_PSU is not set
# CONFIG_SENSORS_DRIVETEMP is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_DELL_SMM is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHMD is not set
# CONFIG_SENSORS_FTSTEUTATES is not set
# CONFIG_SENSORS_GIGABYTE_WATERFORCE is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_G762 is not set
# CONFIG_SENSORS_GPIO_FAN is not set
# CONFIG_SENSORS_HIH6130 is not set
# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_IIO_HWMON is not set
# CONFIG_SENSORS_I5500 is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_POWERZ is not set
# CONFIG_SENSORS_POWR1220 is not set
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LTC2945 is not set
# CONFIG_SENSORS_LTC2947_I2C is not set
# CONFIG_SENSORS_LTC2947_SPI is not set
# CONFIG_SENSORS_LTC2990 is not set
# CONFIG_SENSORS_LTC2991 is not set
# CONFIG_SENSORS_LTC2992 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4222 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4260 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_LTC4282 is not set
# CONFIG_SENSORS_MAX1111 is not set
# CONFIG_SENSORS_MAX127 is not set
# CONFIG_SENSORS_MAX16065 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX197 is not set
# CONFIG_SENSORS_MAX31722 is not set
# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31760 is not set
# CONFIG_MAX31827 is not set
# CONFIG_SENSORS_MAX6620 is not set
# CONFIG_SENSORS_MAX6621 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_MAX6697 is not set
# CONFIG_SENSORS_MAX31790 is not set
# CONFIG_SENSORS_MC34VR500 is not set
# CONFIG_SENSORS_MCP3021 is not set
# CONFIG_SENSORS_TC654 is not set
# CONFIG_SENSORS_TPS23861 is not set
# CONFIG_SENSORS_MR75203 is not set
# CONFIG_SENSORS_ADCXX is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM70 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LM95234 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_NTC_THERMISTOR is not set
# CONFIG_SENSORS_NCT6683 is not set
# CONFIG_SENSORS_NCT6775 is not set
# CONFIG_SENSORS_NCT6775_I2C is not set
# CONFIG_SENSORS_NCT7802 is not set
# CONFIG_SENSORS_NCT7904 is not set
# CONFIG_SENSORS_NPCM7XX is not set
# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
# CONFIG_SENSORS_NZXT_KRAKEN3 is not set
# CONFIG_SENSORS_NZXT_SMART2 is not set
# CONFIG_SENSORS_OCC_P8_I2C is not set
# CONFIG_SENSORS_OXP is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not set
# CONFIG_SENSORS_PT5161L is not set
# CONFIG_SENSORS_SBTSI is not set
# CONFIG_SENSORS_SBRMI is not set
# CONFIG_SENSORS_SHT15 is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SHT3x is not set
# CONFIG_SENSORS_SHT4x is not set
# CONFIG_SENSORS_SHTC1 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC2305 is not set
# CONFIG_SENSORS_EMC6W201 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH5627 is not set
# CONFIG_SENSORS_SCH5636 is not set
# CONFIG_SENSORS_STTS751 is not set
# CONFIG_SENSORS_ADC128D818 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_ADS7871 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_INA209 is not set
# CONFIG_SENSORS_INA2XX is not set
# CONFIG_SENSORS_INA238 is not set
# CONFIG_SENSORS_INA3221 is not set
# CONFIG_SENSORS_TC74 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP103 is not set
# CONFIG_SENSORS_TMP108 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_TMP464 is not set
# CONFIG_SENSORS_TMP513 is not set
# CONFIG_SENSORS_VIA_CPUTEMP is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83773G is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_XGENE is not set

#
# ACPI drivers
#
# CONFIG_SENSORS_ACPI_POWER is not set
# CONFIG_SENSORS_ATK0110 is not set
# CONFIG_SENSORS_ASUS_WMI is not set
# CONFIG_SENSORS_ASUS_EC is not set
# CONFIG_SENSORS_HP_WMI is not set
CONFIG_THERMAL=y
CONFIG_THERMAL_NETLINK=y
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_DEBUGFS is not set
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
# CONFIG_THERMAL_OF is not set
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
CONFIG_THERMAL_GOV_STEP_WISE=y
# CONFIG_THERMAL_GOV_BANG_BANG is not set
CONFIG_THERMAL_GOV_USER_SPACE=y
# CONFIG_THERMAL_EMULATION is not set
# CONFIG_THERMAL_MMIO is not set

#
# Intel thermal drivers
#
# CONFIG_INTEL_POWERCLAMP is not set
CONFIG_X86_THERMAL_VECTOR=y
# CONFIG_X86_PKG_TEMP_THERMAL is not set
# CONFIG_INTEL_SOC_DTS_THERMAL is not set

#
# ACPI INT340X thermal drivers
#
# CONFIG_INT340X_THERMAL is not set
# end of ACPI INT340X thermal drivers

# CONFIG_INTEL_PCH_THERMAL is not set
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_HFI_THERMAL is not set
# end of Intel thermal drivers

# CONFIG_GENERIC_ADC_THERMAL is not set
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_CORE is not set
# CONFIG_WATCHDOG_NOWAYOUT is not set
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
CONFIG_WATCHDOG_OPEN_TIMEOUT=0
# CONFIG_WATCHDOG_SYSFS is not set
# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set

#
# Watchdog Pretimeout Governors
#

#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_GPIO_WATCHDOG is not set
# CONFIG_WDAT_WDT is not set
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_ZIIRAVE_WATCHDOG is not set
# CONFIG_CADENCE_WATCHDOG is not set
# CONFIG_DW_WATCHDOG is not set
# CONFIG_TWL4030_WATCHDOG is not set
# CONFIG_MAX63XX_WATCHDOG is not set
# CONFIG_RETU_WATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADVANTECH_EC_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_EBC_C384_WDT is not set
# CONFIG_EXAR_WDT is not set
# CONFIG_F71808E_WDT is not set
# CONFIG_SP5100_TCO is not set
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_IE6XX_WDT is not set
# CONFIG_ITCO_WDT is not set
# CONFIG_IT8712F_WDT is not set
# CONFIG_IT87_WDT is not set
# CONFIG_HP_WATCHDOG is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_NV_TCO is not set
# CONFIG_60XX_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_SMSC_SCH311X_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_TQMX86_WDT is not set
# CONFIG_VIA_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
# CONFIG_NI903X_WDT is not set
# CONFIG_NIC7018_WDT is not set
# CONFIG_MEN_A21_WDT is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set

#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=y
CONFIG_SSB_POSSIBLE=y
CONFIG_SSB=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
# CONFIG_SSB_PCIHOST is not set
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
# CONFIG_SSB_PCMCIAHOST is not set
CONFIG_SSB_SDIOHOST_POSSIBLE=y
# CONFIG_SSB_SDIOHOST is not set
# CONFIG_SSB_DRIVER_GPIO is not set
CONFIG_BCMA_POSSIBLE=y
CONFIG_BCMA=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
# CONFIG_BCMA_HOST_PCI is not set
# CONFIG_BCMA_HOST_SOC is not set
# CONFIG_BCMA_DRIVER_PCI is not set
# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
# CONFIG_BCMA_DRIVER_GPIO is not set
# CONFIG_BCMA_DEBUG is not set

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
# CONFIG_MFD_ACT8945A is not set
# CONFIG_MFD_AS3711 is not set
# CONFIG_MFD_SMPRO is not set
# CONFIG_MFD_AS3722 is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_AAT2870_CORE is not set
# CONFIG_MFD_ATMEL_FLEXCOM is not set
# CONFIG_MFD_ATMEL_HLCDC is not set
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_CS42L43_I2C is not set
# CONFIG_MFD_MADERA is not set
# CONFIG_MFD_MAX5970 is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_DA9062 is not set
# CONFIG_MFD_DA9063 is not set
# CONFIG_MFD_DA9150 is not set
CONFIG_MFD_DLN2=y
# CONFIG_MFD_GATEWORKS_GSC is not set
# CONFIG_MFD_MC13XXX_SPI is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_MFD_MP2629 is not set
# CONFIG_MFD_HI6421_PMIC is not set
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
CONFIG_LPC_ICH=y
# CONFIG_LPC_SCH is not set
# CONFIG_INTEL_SOC_PMIC is not set
CONFIG_INTEL_SOC_PMIC_CHTWC=y
# CONFIG_INTEL_SOC_PMIC_CHTDC_TI is not set
# CONFIG_MFD_INTEL_LPSS_ACPI is not set
# CONFIG_MFD_INTEL_LPSS_PCI is not set
# CONFIG_MFD_INTEL_PMC_BXT is not set
# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77541 is not set
# CONFIG_MFD_MAX77620 is not set
# CONFIG_MFD_MAX77650 is not set
# CONFIG_MFD_MAX77686 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77714 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_MT6360 is not set
# CONFIG_MFD_MT6370 is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_MFD_OCELOT is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_VIPERBOARD=y
# CONFIG_MFD_NTXEC is not set
CONFIG_MFD_RETU=y
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_SY7636A is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RT4831 is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RT5120 is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_RK8XX_I2C is not set
# CONFIG_MFD_RK8XX_SPI is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SKY81452 is not set
# CONFIG_MFD_STMPE is not set
CONFIG_MFD_SYSCON=y
# CONFIG_MFD_LP3943 is not set
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_TI_LMU is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS65010 is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65086 is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TI_LP87565 is not set
# CONFIG_MFD_TPS65218 is not set
# CONFIG_MFD_TPS65219 is not set
# CONFIG_MFD_TPS6586X is not set
# CONFIG_MFD_TPS65910 is not set
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912_SPI is not set
# CONFIG_MFD_TPS6594_I2C is not set
# CONFIG_MFD_TPS6594_SPI is not set
CONFIG_TWL4030_CORE=y
# CONFIG_MFD_TWL4030_AUDIO is not set
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_LM3533 is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TQMX86 is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_LOCHNAGAR is not set
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_ARIZONA_SPI is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD957XMUF is not set
# CONFIG_MFD_STPMIC1 is not set
# CONFIG_MFD_STMFX is not set
# CONFIG_MFD_ATC260X_I2C is not set
# CONFIG_MFD_QCOM_PM8008 is not set
# CONFIG_RAVE_SP_CORE is not set
# CONFIG_MFD_INTEL_M10_BMC_SPI is not set
# CONFIG_MFD_RSMU_I2C is not set
# CONFIG_MFD_RSMU_SPI is not set
# end of Multifunction device drivers

CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
# CONFIG_REGULATOR_NETLINK_EVENTS is not set
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_AW37503 is not set
# CONFIG_REGULATOR_DA9121 is not set
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_FAN53555 is not set
# CONFIG_REGULATOR_FAN53880 is not set
# CONFIG_REGULATOR_GPIO is not set
# CONFIG_REGULATOR_ISL9305 is not set
# CONFIG_REGULATOR_ISL6271A is not set
# CONFIG_REGULATOR_LP3971 is not set
# CONFIG_REGULATOR_LP3972 is not set
# CONFIG_REGULATOR_LP872X is not set
# CONFIG_REGULATOR_LP8755 is not set
# CONFIG_REGULATOR_LTC3589 is not set
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX77503 is not set
# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8893 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MAX20086 is not set
# CONFIG_REGULATOR_MAX20411 is not set
# CONFIG_REGULATOR_MAX77826 is not set
# CONFIG_REGULATOR_MCP16502 is not set
# CONFIG_REGULATOR_MP5416 is not set
# CONFIG_REGULATOR_MP8859 is not set
# CONFIG_REGULATOR_MP886X is not set
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PCA9450 is not set
# CONFIG_REGULATOR_PF8X00 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
# CONFIG_REGULATOR_RT4801 is not set
# CONFIG_REGULATOR_RT4803 is not set
# CONFIG_REGULATOR_RT5190A is not set
# CONFIG_REGULATOR_RT5739 is not set
# CONFIG_REGULATOR_RT5759 is not set
# CONFIG_REGULATOR_RT6160 is not set
# CONFIG_REGULATOR_RT6190 is not set
# CONFIG_REGULATOR_RT6245 is not set
# CONFIG_REGULATOR_RTQ2134 is not set
# CONFIG_REGULATOR_RTMV20 is not set
# CONFIG_REGULATOR_RTQ6752 is not set
# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SLG51000 is not set
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_SY8824X is not set
# CONFIG_REGULATOR_SY8827N is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
# CONFIG_REGULATOR_TPS6286X is not set
# CONFIG_REGULATOR_TPS6287X is not set
# CONFIG_REGULATOR_TPS65023 is not set
# CONFIG_REGULATOR_TPS6507X is not set
# CONFIG_REGULATOR_TPS65132 is not set
# CONFIG_REGULATOR_TPS6524X is not set
CONFIG_REGULATOR_TWL4030=y
# CONFIG_REGULATOR_VCTRL is not set
CONFIG_RC_CORE=y
# CONFIG_LIRC is not set
# CONFIG_RC_MAP is not set
# CONFIG_RC_DECODERS is not set
CONFIG_RC_DEVICES=y
# CONFIG_IR_ENE is not set
# CONFIG_IR_FINTEK is not set
# CONFIG_IR_GPIO_CIR is not set
# CONFIG_IR_HIX5HD2 is not set
CONFIG_IR_IGORPLUGUSB=y
CONFIG_IR_IGUANA=y
CONFIG_IR_IMON=y
# CONFIG_IR_IMON_RAW is not set
# CONFIG_IR_ITE_CIR is not set
CONFIG_IR_MCEUSB=y
# CONFIG_IR_NUVOTON is not set
CONFIG_IR_REDRAT3=y
# CONFIG_IR_SERIAL is not set
CONFIG_IR_STREAMZAP=y
# CONFIG_IR_TOY is not set
CONFIG_IR_TTUSBIR=y
# CONFIG_IR_WINBOND_CIR is not set
CONFIG_RC_ATI_REMOTE=y
# CONFIG_RC_LOOPBACK is not set
# CONFIG_RC_XBOX_DVD is not set
CONFIG_CEC_CORE=y

#
# CEC support
#
# CONFIG_MEDIA_CEC_RC is not set
CONFIG_MEDIA_CEC_SUPPORT=y
# CONFIG_CEC_CH7322 is not set
# CONFIG_CEC_GPIO is not set
# CONFIG_CEC_SECO is not set
CONFIG_USB_PULSE8_CEC=y
CONFIG_USB_RAINSHADOW_CEC=y
# end of CEC support

CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_SUPPORT_FILTER=y
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set

#
# Media device types
#
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_SDR_SUPPORT=y
# CONFIG_MEDIA_PLATFORM_SUPPORT is not set
CONFIG_MEDIA_TEST_SUPPORT=y
# end of Media device types

CONFIG_VIDEO_DEV=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_DVB_CORE=y

#
# Video4Linux options
#
CONFIG_VIDEO_V4L2_I2C=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_TUNER=y
CONFIG_V4L2_MEM2MEM_DEV=y
# end of Video4Linux options

#
# Media controller options
#
CONFIG_MEDIA_CONTROLLER_DVB=y
# end of Media controller options

#
# Digital TV options
#
# CONFIG_DVB_MMAP is not set
# CONFIG_DVB_NET is not set
CONFIG_DVB_MAX_ADAPTERS=16
# CONFIG_DVB_DYNAMIC_MINORS is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
# CONFIG_DVB_ULE_DEBUG is not set
# end of Digital TV options

#
# Media drivers
#

#
# Drivers filtered as selected at 'Filter media drivers'
#

#
# Media drivers
#
CONFIG_MEDIA_USB_SUPPORT=y

#
# Webcam devices
#
CONFIG_USB_GSPCA=y
CONFIG_USB_GSPCA_BENQ=y
CONFIG_USB_GSPCA_CONEX=y
CONFIG_USB_GSPCA_CPIA1=y
CONFIG_USB_GSPCA_DTCS033=y
CONFIG_USB_GSPCA_ETOMS=y
CONFIG_USB_GSPCA_FINEPIX=y
CONFIG_USB_GSPCA_JEILINJ=y
CONFIG_USB_GSPCA_JL2005BCD=y
CONFIG_USB_GSPCA_KINECT=y
CONFIG_USB_GSPCA_KONICA=y
CONFIG_USB_GSPCA_MARS=y
CONFIG_USB_GSPCA_MR97310A=y
CONFIG_USB_GSPCA_NW80X=y
CONFIG_USB_GSPCA_OV519=y
CONFIG_USB_GSPCA_OV534=y
CONFIG_USB_GSPCA_OV534_9=y
CONFIG_USB_GSPCA_PAC207=y
CONFIG_USB_GSPCA_PAC7302=y
CONFIG_USB_GSPCA_PAC7311=y
CONFIG_USB_GSPCA_SE401=y
CONFIG_USB_GSPCA_SN9C2028=y
CONFIG_USB_GSPCA_SN9C20X=y
CONFIG_USB_GSPCA_SONIXB=y
CONFIG_USB_GSPCA_SONIXJ=y
CONFIG_USB_GSPCA_SPCA1528=y
CONFIG_USB_GSPCA_SPCA500=y
CONFIG_USB_GSPCA_SPCA501=y
CONFIG_USB_GSPCA_SPCA505=y
CONFIG_USB_GSPCA_SPCA506=y
CONFIG_USB_GSPCA_SPCA508=y
CONFIG_USB_GSPCA_SPCA561=y
CONFIG_USB_GSPCA_SQ905=y
CONFIG_USB_GSPCA_SQ905C=y
CONFIG_USB_GSPCA_SQ930X=y
CONFIG_USB_GSPCA_STK014=y
CONFIG_USB_GSPCA_STK1135=y
CONFIG_USB_GSPCA_STV0680=y
CONFIG_USB_GSPCA_SUNPLUS=y
CONFIG_USB_GSPCA_T613=y
CONFIG_USB_GSPCA_TOPRO=y
CONFIG_USB_GSPCA_TOUPTEK=y
CONFIG_USB_GSPCA_TV8532=y
CONFIG_USB_GSPCA_VC032X=y
CONFIG_USB_GSPCA_VICAM=y
CONFIG_USB_GSPCA_XIRLINK_CIT=y
CONFIG_USB_GSPCA_ZC3XX=y
CONFIG_USB_GL860=y
CONFIG_USB_M5602=y
CONFIG_USB_STV06XX=y
CONFIG_USB_PWC=y
# CONFIG_USB_PWC_DEBUG is not set
CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_USB_S2255=y
CONFIG_VIDEO_USBTV=y
CONFIG_USB_VIDEO_CLASS=y
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y

#
# Analog TV USB devices
#
CONFIG_VIDEO_GO7007=y
CONFIG_VIDEO_GO7007_USB=y
CONFIG_VIDEO_GO7007_LOADER=y
CONFIG_VIDEO_GO7007_USB_S2250_BOARD=y
CONFIG_VIDEO_HDPVR=y
CONFIG_VIDEO_PVRUSB2=y
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_STK1160=y

#
# Analog/digital TV USB devices
#
CONFIG_VIDEO_AU0828=y
CONFIG_VIDEO_AU0828_V4L2=y
CONFIG_VIDEO_AU0828_RC=y
CONFIG_VIDEO_CX231XX=y
CONFIG_VIDEO_CX231XX_RC=y
CONFIG_VIDEO_CX231XX_ALSA=y
CONFIG_VIDEO_CX231XX_DVB=y

#
# Digital TV USB devices
#
CONFIG_DVB_AS102=y
CONFIG_DVB_B2C2_FLEXCOP_USB=y
# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
CONFIG_DVB_USB_V2=y
CONFIG_DVB_USB_AF9015=y
CONFIG_DVB_USB_AF9035=y
CONFIG_DVB_USB_ANYSEE=y
CONFIG_DVB_USB_AU6610=y
CONFIG_DVB_USB_AZ6007=y
CONFIG_DVB_USB_CE6230=y
CONFIG_DVB_USB_DVBSKY=y
CONFIG_DVB_USB_EC168=y
CONFIG_DVB_USB_GL861=y
CONFIG_DVB_USB_LME2510=y
CONFIG_DVB_USB_MXL111SF=y
CONFIG_DVB_USB_RTL28XXU=y
CONFIG_DVB_USB_ZD1301=y
CONFIG_DVB_USB=y
# CONFIG_DVB_USB_DEBUG is not set
CONFIG_DVB_USB_A800=y
CONFIG_DVB_USB_AF9005=y
CONFIG_DVB_USB_AF9005_REMOTE=y
CONFIG_DVB_USB_AZ6027=y
CONFIG_DVB_USB_CINERGY_T2=y
CONFIG_DVB_USB_CXUSB=y
# CONFIG_DVB_USB_CXUSB_ANALOG is not set
CONFIG_DVB_USB_DIB0700=y
CONFIG_DVB_USB_DIB3000MC=y
CONFIG_DVB_USB_DIBUSB_MB=y
# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
CONFIG_DVB_USB_DIBUSB_MC=y
CONFIG_DVB_USB_DIGITV=y
CONFIG_DVB_USB_DTT200U=y
CONFIG_DVB_USB_DTV5100=y
CONFIG_DVB_USB_DW2102=y
CONFIG_DVB_USB_GP8PSK=y
CONFIG_DVB_USB_M920X=y
CONFIG_DVB_USB_NOVA_T_USB2=y
CONFIG_DVB_USB_OPERA1=y
CONFIG_DVB_USB_PCTV452E=y
CONFIG_DVB_USB_TECHNISAT_USB2=y
CONFIG_DVB_USB_TTUSB2=y
CONFIG_DVB_USB_UMT_010=y
CONFIG_DVB_USB_VP702X=y
CONFIG_DVB_USB_VP7045=y
CONFIG_SMS_USB_DRV=y
CONFIG_DVB_TTUSB_BUDGET=y
CONFIG_DVB_TTUSB_DEC=y

#
# Webcam, TV (analog/digital) USB devices
#
CONFIG_VIDEO_EM28XX=y
CONFIG_VIDEO_EM28XX_V4L2=y
CONFIG_VIDEO_EM28XX_ALSA=y
CONFIG_VIDEO_EM28XX_DVB=y
CONFIG_VIDEO_EM28XX_RC=y

#
# Software defined radio USB devices
#
CONFIG_USB_AIRSPY=y
CONFIG_USB_HACKRF=y
CONFIG_USB_MSI2500=y
# CONFIG_MEDIA_PCI_SUPPORT is not set
CONFIG_RADIO_ADAPTERS=y
# CONFIG_RADIO_MAXIRADIO is not set
# CONFIG_RADIO_SAA7706H is not set
CONFIG_RADIO_SHARK=y
CONFIG_RADIO_SHARK2=y
CONFIG_RADIO_SI4713=y
CONFIG_RADIO_TEA575X=y
# CONFIG_RADIO_TEA5764 is not set
# CONFIG_RADIO_TEF6862 is not set
# CONFIG_RADIO_WL1273 is not set
CONFIG_USB_DSBR=y
CONFIG_USB_KEENE=y
CONFIG_USB_MA901=y
CONFIG_USB_MR800=y
CONFIG_USB_RAREMONO=y
CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=y
# CONFIG_I2C_SI470X is not set
CONFIG_USB_SI4713=y
# CONFIG_PLATFORM_SI4713 is not set
CONFIG_I2C_SI4713=y
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIM2M=y
CONFIG_VIDEO_VICODEC=y
CONFIG_VIDEO_VIMC=y
CONFIG_VIDEO_VIVID=y
CONFIG_VIDEO_VIVID_CEC=y
CONFIG_VIDEO_VIVID_MAX_DEVS=64
# CONFIG_VIDEO_VISL is not set
CONFIG_DVB_TEST_DRIVERS=y
CONFIG_DVB_VIDTV=y

#
# FireWire (IEEE 1394) Adapters
#
# CONFIG_DVB_FIREDTV is not set
CONFIG_MEDIA_COMMON_OPTIONS=y

#
# common driver options
#
CONFIG_CYPRESS_FIRMWARE=y
CONFIG_TTPCI_EEPROM=y
CONFIG_UVC_COMMON=y
CONFIG_VIDEO_CX2341X=y
CONFIG_VIDEO_TVEEPROM=y
CONFIG_DVB_B2C2_FLEXCOP=y
CONFIG_SMS_SIANO_MDTV=y
CONFIG_SMS_SIANO_RC=y
CONFIG_VIDEO_V4L2_TPG=y
CONFIG_VIDEOBUF2_CORE=y
CONFIG_VIDEOBUF2_V4L2=y
CONFIG_VIDEOBUF2_MEMOPS=y
CONFIG_VIDEOBUF2_DMA_CONTIG=y
CONFIG_VIDEOBUF2_VMALLOC=y
CONFIG_VIDEOBUF2_DMA_SG=y
# end of Media drivers

#
# Media ancillary drivers
#
CONFIG_MEDIA_ATTACH=y
# CONFIG_VIDEO_IR_I2C is not set
# CONFIG_VIDEO_CAMERA_SENSOR is not set

#
# Camera ISPs
#
# CONFIG_VIDEO_THP7312 is not set
# end of Camera ISPs

#
# Lens drivers
#
# CONFIG_VIDEO_AD5820 is not set
# CONFIG_VIDEO_AK7375 is not set
# CONFIG_VIDEO_DW9714 is not set
# CONFIG_VIDEO_DW9719 is not set
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
# end of Lens drivers

#
# Flash devices
#
# CONFIG_VIDEO_ADP1653 is not set
# CONFIG_VIDEO_LM3560 is not set
# CONFIG_VIDEO_LM3646 is not set
# end of Flash devices

#
# Audio decoders, processors and mixers
#
# CONFIG_VIDEO_CS3308 is not set
# CONFIG_VIDEO_CS5345 is not set
CONFIG_VIDEO_CS53L32A=y
CONFIG_VIDEO_MSP3400=y
# CONFIG_VIDEO_SONY_BTF_MPX is not set
# CONFIG_VIDEO_TDA7432 is not set
# CONFIG_VIDEO_TDA9840 is not set
# CONFIG_VIDEO_TEA6415C is not set
# CONFIG_VIDEO_TEA6420 is not set
# CONFIG_VIDEO_TLV320AIC23B is not set
# CONFIG_VIDEO_TVAUDIO is not set
# CONFIG_VIDEO_UDA1342 is not set
# CONFIG_VIDEO_VP27SMPX is not set
# CONFIG_VIDEO_WM8739 is not set
CONFIG_VIDEO_WM8775=y
# end of Audio decoders, processors and mixers

#
# RDS decoders
#
# CONFIG_VIDEO_SAA6588 is not set
# end of RDS decoders

#
# Video decoders
#
# CONFIG_VIDEO_ADV7180 is not set
# CONFIG_VIDEO_ADV7183 is not set
# CONFIG_VIDEO_ADV748X is not set
# CONFIG_VIDEO_ADV7604 is not set
# CONFIG_VIDEO_ADV7842 is not set
# CONFIG_VIDEO_BT819 is not set
# CONFIG_VIDEO_BT856 is not set
# CONFIG_VIDEO_BT866 is not set
# CONFIG_VIDEO_ISL7998X is not set
# CONFIG_VIDEO_KS0127 is not set
# CONFIG_VIDEO_MAX9286 is not set
# CONFIG_VIDEO_ML86V7667 is not set
# CONFIG_VIDEO_SAA7110 is not set
CONFIG_VIDEO_SAA711X=y
# CONFIG_VIDEO_TC358743 is not set
# CONFIG_VIDEO_TC358746 is not set
# CONFIG_VIDEO_TVP514X is not set
# CONFIG_VIDEO_TVP5150 is not set
# CONFIG_VIDEO_TVP7002 is not set
# CONFIG_VIDEO_TW2804 is not set
# CONFIG_VIDEO_TW9900 is not set
# CONFIG_VIDEO_TW9903 is not set
# CONFIG_VIDEO_TW9906 is not set
# CONFIG_VIDEO_TW9910 is not set
# CONFIG_VIDEO_VPX3220 is not set

#
# Video and audio decoders
#
# CONFIG_VIDEO_SAA717X is not set
CONFIG_VIDEO_CX25840=y
# end of Video decoders

#
# Video encoders
#
# CONFIG_VIDEO_ADV7170 is not set
# CONFIG_VIDEO_ADV7175 is not set
# CONFIG_VIDEO_ADV7343 is not set
# CONFIG_VIDEO_ADV7393 is not set
# CONFIG_VIDEO_ADV7511 is not set
# CONFIG_VIDEO_AK881X is not set
# CONFIG_VIDEO_SAA7127 is not set
# CONFIG_VIDEO_SAA7185 is not set
# CONFIG_VIDEO_THS8200 is not set
# end of Video encoders

#
# Video improvement chips
#
# CONFIG_VIDEO_UPD64031A is not set
# CONFIG_VIDEO_UPD64083 is not set
# end of Video improvement chips

#
# Audio/Video compression chips
#
# CONFIG_VIDEO_SAA6752HS is not set
# end of Audio/Video compression chips

#
# SDR tuner chips
#
# CONFIG_SDR_MAX2175 is not set
# end of SDR tuner chips

#
# Miscellaneous helper chips
#
# CONFIG_VIDEO_I2C is not set
# CONFIG_VIDEO_M52790 is not set
# CONFIG_VIDEO_ST_MIPID02 is not set
# CONFIG_VIDEO_THS7303 is not set
# end of Miscellaneous helper chips

#
# Video serializers and deserializers
#
# CONFIG_VIDEO_DS90UB913 is not set
# CONFIG_VIDEO_DS90UB953 is not set
# CONFIG_VIDEO_DS90UB960 is not set
# end of Video serializers and deserializers

#
# Media SPI Adapters
#
# CONFIG_CXD2880_SPI_DRV is not set
# CONFIG_VIDEO_GS1662 is not set
# end of Media SPI Adapters

CONFIG_MEDIA_TUNER=y

#
# Customize TV tuners
#
# CONFIG_MEDIA_TUNER_E4000 is not set
# CONFIG_MEDIA_TUNER_FC0011 is not set
# CONFIG_MEDIA_TUNER_FC0012 is not set
# CONFIG_MEDIA_TUNER_FC0013 is not set
# CONFIG_MEDIA_TUNER_FC2580 is not set
# CONFIG_MEDIA_TUNER_IT913X is not set
# CONFIG_MEDIA_TUNER_M88RS6000T is not set
# CONFIG_MEDIA_TUNER_MAX2165 is not set
# CONFIG_MEDIA_TUNER_MC44S803 is not set
CONFIG_MEDIA_TUNER_MSI001=y
# CONFIG_MEDIA_TUNER_MT2060 is not set
# CONFIG_MEDIA_TUNER_MT2063 is not set
# CONFIG_MEDIA_TUNER_MT20XX is not set
# CONFIG_MEDIA_TUNER_MT2131 is not set
# CONFIG_MEDIA_TUNER_MT2266 is not set
# CONFIG_MEDIA_TUNER_MXL301RF is not set
# CONFIG_MEDIA_TUNER_MXL5005S is not set
# CONFIG_MEDIA_TUNER_MXL5007T is not set
# CONFIG_MEDIA_TUNER_QM1D1B0004 is not set
# CONFIG_MEDIA_TUNER_QM1D1C0042 is not set
# CONFIG_MEDIA_TUNER_QT1010 is not set
# CONFIG_MEDIA_TUNER_R820T is not set
# CONFIG_MEDIA_TUNER_SI2157 is not set
# CONFIG_MEDIA_TUNER_SIMPLE is not set
# CONFIG_MEDIA_TUNER_TDA18212 is not set
# CONFIG_MEDIA_TUNER_TDA18218 is not set
# CONFIG_MEDIA_TUNER_TDA18250 is not set
# CONFIG_MEDIA_TUNER_TDA18271 is not set
# CONFIG_MEDIA_TUNER_TDA827X is not set
# CONFIG_MEDIA_TUNER_TDA8290 is not set
# CONFIG_MEDIA_TUNER_TDA9887 is not set
# CONFIG_MEDIA_TUNER_TEA5761 is not set
# CONFIG_MEDIA_TUNER_TEA5767 is not set
# CONFIG_MEDIA_TUNER_TUA9001 is not set
# CONFIG_MEDIA_TUNER_XC2028 is not set
# CONFIG_MEDIA_TUNER_XC4000 is not set
# CONFIG_MEDIA_TUNER_XC5000 is not set
# end of Customize TV tuners

#
# Customise DVB Frontends
#

#
# Multistandard (satellite) frontends
#
# CONFIG_DVB_M88DS3103 is not set
# CONFIG_DVB_MXL5XX is not set
# CONFIG_DVB_STB0899 is not set
# CONFIG_DVB_STB6100 is not set
# CONFIG_DVB_STV090x is not set
# CONFIG_DVB_STV0910 is not set
# CONFIG_DVB_STV6110x is not set
# CONFIG_DVB_STV6111 is not set

#
# Multistandard (cable + terrestrial) frontends
#
# CONFIG_DVB_DRXK is not set
# CONFIG_DVB_MN88472 is not set
# CONFIG_DVB_MN88473 is not set
# CONFIG_DVB_SI2165 is not set
# CONFIG_DVB_TDA18271C2DD is not set

#
# DVB-S (satellite) frontends
#
# CONFIG_DVB_CX24110 is not set
# CONFIG_DVB_CX24116 is not set
# CONFIG_DVB_CX24117 is not set
# CONFIG_DVB_CX24120 is not set
# CONFIG_DVB_CX24123 is not set
# CONFIG_DVB_DS3000 is not set
# CONFIG_DVB_MB86A16 is not set
# CONFIG_DVB_MT312 is not set
# CONFIG_DVB_S5H1420 is not set
# CONFIG_DVB_SI21XX is not set
# CONFIG_DVB_STB6000 is not set
# CONFIG_DVB_STV0288 is not set
# CONFIG_DVB_STV0299 is not set
# CONFIG_DVB_STV0900 is not set
# CONFIG_DVB_STV6110 is not set
# CONFIG_DVB_TDA10071 is not set
# CONFIG_DVB_TDA10086 is not set
# CONFIG_DVB_TDA8083 is not set
# CONFIG_DVB_TDA8261 is not set
# CONFIG_DVB_TDA826X is not set
# CONFIG_DVB_TS2020 is not set
# CONFIG_DVB_TUA6100 is not set
# CONFIG_DVB_TUNER_CX24113 is not set
# CONFIG_DVB_TUNER_ITD1000 is not set
# CONFIG_DVB_VES1X93 is not set
# CONFIG_DVB_ZL10036 is not set
# CONFIG_DVB_ZL10039 is not set

#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_AF9013=y
CONFIG_DVB_AS102_FE=y
# CONFIG_DVB_CX22700 is not set
# CONFIG_DVB_CX22702 is not set
# CONFIG_DVB_CXD2820R is not set
# CONFIG_DVB_CXD2841ER is not set
CONFIG_DVB_DIB3000MB=y
CONFIG_DVB_DIB3000MC=y
# CONFIG_DVB_DIB7000M is not set
# CONFIG_DVB_DIB7000P is not set
# CONFIG_DVB_DIB9000 is not set
# CONFIG_DVB_DRXD is not set
CONFIG_DVB_EC100=y
CONFIG_DVB_GP8PSK_FE=y
# CONFIG_DVB_L64781 is not set
# CONFIG_DVB_MT352 is not set
# CONFIG_DVB_NXT6000 is not set
CONFIG_DVB_RTL2830=y
CONFIG_DVB_RTL2832=y
CONFIG_DVB_RTL2832_SDR=y
# CONFIG_DVB_S5H1432 is not set
# CONFIG_DVB_SI2168 is not set
# CONFIG_DVB_SP887X is not set
# CONFIG_DVB_STV0367 is not set
# CONFIG_DVB_TDA10048 is not set
# CONFIG_DVB_TDA1004X is not set
# CONFIG_DVB_ZD1301_DEMOD is not set
CONFIG_DVB_ZL10353=y
# CONFIG_DVB_CXD2880 is not set

#
# DVB-C (cable) frontends
#
# CONFIG_DVB_STV0297 is not set
# CONFIG_DVB_TDA10021 is not set
# CONFIG_DVB_TDA10023 is not set
# CONFIG_DVB_VES1820 is not set

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
# CONFIG_DVB_AU8522_DTV is not set
# CONFIG_DVB_AU8522_V4L is not set
# CONFIG_DVB_BCM3510 is not set
# CONFIG_DVB_LG2160 is not set
# CONFIG_DVB_LGDT3305 is not set
# CONFIG_DVB_LGDT3306A is not set
# CONFIG_DVB_LGDT330X is not set
# CONFIG_DVB_MXL692 is not set
# CONFIG_DVB_NXT200X is not set
# CONFIG_DVB_OR51132 is not set
# CONFIG_DVB_OR51211 is not set
# CONFIG_DVB_S5H1409 is not set
# CONFIG_DVB_S5H1411 is not set

#
# ISDB-T (terrestrial) frontends
#
# CONFIG_DVB_DIB8000 is not set
# CONFIG_DVB_MB86A20S is not set
# CONFIG_DVB_S921 is not set

#
# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
#
# CONFIG_DVB_MN88443X is not set
# CONFIG_DVB_TC90522 is not set

#
# Digital terrestrial only tuners/PLL
#
# CONFIG_DVB_PLL is not set
# CONFIG_DVB_TUNER_DIB0070 is not set
# CONFIG_DVB_TUNER_DIB0090 is not set

#
# SEC control devices for DVB-S
#
# CONFIG_DVB_A8293 is not set
CONFIG_DVB_AF9033=y
# CONFIG_DVB_ASCOT2E is not set
# CONFIG_DVB_ATBM8830 is not set
# CONFIG_DVB_HELENE is not set
# CONFIG_DVB_HORUS3A is not set
# CONFIG_DVB_ISL6405 is not set
# CONFIG_DVB_ISL6421 is not set
# CONFIG_DVB_ISL6423 is not set
# CONFIG_DVB_IX2505V is not set
# CONFIG_DVB_LGS8GL5 is not set
# CONFIG_DVB_LGS8GXX is not set
# CONFIG_DVB_LNBH25 is not set
# CONFIG_DVB_LNBH29 is not set
# CONFIG_DVB_LNBP21 is not set
# CONFIG_DVB_LNBP22 is not set
# CONFIG_DVB_M88RS2000 is not set
# CONFIG_DVB_TDA665x is not set
# CONFIG_DVB_DRX39XYJ is not set

#
# Common Interface (EN50221) controller drivers
#
# CONFIG_DVB_CXD2099 is not set
# CONFIG_DVB_SP2 is not set
# end of Customise DVB Frontends

#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set
# end of Media ancillary drivers

#
# Graphics support
#
CONFIG_APERTURE_HELPERS=y
CONFIG_SCREEN_INFO=y
CONFIG_VIDEO=y
# CONFIG_AUXDISPLAY is not set
# CONFIG_PANEL is not set
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_VIA is not set
CONFIG_INTEL_GTT=y
# CONFIG_VGA_SWITCHEROO is not set
CONFIG_DRM=y
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_DEBUG_MM=y
CONFIG_DRM_KMS_HELPER=y
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
# CONFIG_DRM_DEBUG_MODESET_LOCK is not set
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_DP_AUX_BUS=y
CONFIG_DRM_DISPLAY_HELPER=y
CONFIG_DRM_DISPLAY_DP_HELPER=y
CONFIG_DRM_DISPLAY_DP_TUNNEL=y
# CONFIG_DRM_DISPLAY_DEBUG_DP_TUNNEL_STATE is not set
CONFIG_DRM_DISPLAY_HDCP_HELPER=y
CONFIG_DRM_DISPLAY_HDMI_HELPER=y
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_TTM=y
CONFIG_DRM_BUDDY=y
CONFIG_DRM_VRAM_HELPER=y
CONFIG_DRM_TTM_HELPER=y
CONFIG_DRM_GEM_SHMEM_HELPER=y

#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
# end of I2C encoder or helper chips

#
# ARM devices
#
# CONFIG_DRM_KOMEDA is not set
# end of ARM devices

# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_AMDGPU is not set
# CONFIG_DRM_NOUVEAU is not set
CONFIG_DRM_I915=y
CONFIG_DRM_I915_FORCE_PROBE=""
CONFIG_DRM_I915_CAPTURE_ERROR=y
CONFIG_DRM_I915_COMPRESS_ERROR=y
CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_I915_GVT_KVMGT is not set
CONFIG_DRM_I915_DP_TUNNEL=y

#
# drm/i915 Debugging
#
# CONFIG_DRM_I915_WERROR is not set
# CONFIG_DRM_I915_DEBUG is not set
# CONFIG_DRM_I915_DEBUG_MMIO is not set
# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set
# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set
# CONFIG_DRM_I915_DEBUG_GUC is not set
# CONFIG_DRM_I915_SELFTEST is not set
# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set
# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set
# CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set
# CONFIG_DRM_I915_DEBUG_WAKEREF is not set
# end of drm/i915 Debugging

#
# drm/i915 Profile Guided Optimisation
#
CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
CONFIG_DRM_I915_PREEMPT_TIMEOUT_COMPUTE=7500
CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000
CONFIG_DRM_I915_STOP_TIMEOUT=100
CONFIG_DRM_I915_TIMESLICE_DURATION=1
# end of drm/i915 Profile Guided Optimisation

# CONFIG_DRM_XE is not set
CONFIG_DRM_VGEM=y
CONFIG_DRM_VKMS=y
CONFIG_DRM_VMWGFX=y
# CONFIG_DRM_VMWGFX_MKSSTATS is not set
# CONFIG_DRM_GMA500 is not set
CONFIG_DRM_UDL=y
# CONFIG_DRM_AST is not set
# CONFIG_DRM_MGAG200 is not set
# CONFIG_DRM_QXL is not set
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_DRM_VIRTIO_GPU_KMS=y
CONFIG_DRM_PANEL=y

#
# Display Panels
#
# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
# CONFIG_DRM_PANEL_AUO_A030JTN01 is not set
# CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0 is not set
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
# CONFIG_DRM_PANEL_BOE_TH101MB31UIG002_28A is not set
# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
# CONFIG_DRM_PANEL_EBBG_FT8719 is not set
# CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set
# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
# CONFIG_DRM_PANEL_DSI_CM is not set
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_HIMAX_HX83112A is not set
# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9805 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9882T is not set
# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JADARD_JD9365DA_H3 is not set
# CONFIG_DRM_PANEL_JDI_LPM102A188A is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_JDI_R63452 is not set
# CONFIG_DRM_PANEL_KHADAS_TS050 is not set
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966 is not set
# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
# CONFIG_DRM_PANEL_NEWVISION_NV3051D is not set
# CONFIG_DRM_PANEL_NEWVISION_NV3052C is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT36523 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
# CONFIG_DRM_PANEL_NOVATEK_NT36672E is not set
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
# CONFIG_DRM_PANEL_ORISETECH_OTA5601A is not set
# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM692E5 is not set
# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set
# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set
# CONFIG_DRM_PANEL_STARTEK_KD070FHFID015 is not set
CONFIG_DRM_PANEL_EDP=y
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SYNAPTICS_R63353 is not set
# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
# CONFIG_DRM_PANEL_VISIONOX_R66451 is not set
# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
# end of Display Panels

CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y

#
# Display Interface Bridges
#
# CONFIG_DRM_CHIPONE_ICN6211 is not set
# CONFIG_DRM_CHRONTEL_CH7033 is not set
# CONFIG_DRM_DISPLAY_CONNECTOR is not set
# CONFIG_DRM_ITE_IT6505 is not set
# CONFIG_DRM_LONTIUM_LT8912B is not set
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
# CONFIG_DRM_ITE_IT66121 is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
# CONFIG_DRM_NWL_MIPI_DSI is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PARADE_PS8622 is not set
# CONFIG_DRM_PARADE_PS8640 is not set
# CONFIG_DRM_SAMSUNG_DSIM is not set
# CONFIG_DRM_SIL_SII8620 is not set
# CONFIG_DRM_SII902X is not set
# CONFIG_DRM_SII9234 is not set
# CONFIG_DRM_SIMPLE_BRIDGE is not set
# CONFIG_DRM_THINE_THC63LVD1024 is not set
# CONFIG_DRM_TOSHIBA_TC358762 is not set
# CONFIG_DRM_TOSHIBA_TC358764 is not set
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
# CONFIG_DRM_TI_DLPC3433 is not set
# CONFIG_DRM_TI_TFP410 is not set
# CONFIG_DRM_TI_SN65DSI83 is not set
# CONFIG_DRM_TI_SN65DSI86 is not set
# CONFIG_DRM_TI_TPD12S015 is not set
# CONFIG_DRM_ANALOGIX_ANX6345 is not set
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# CONFIG_DRM_ANALOGIX_ANX7625 is not set
# CONFIG_DRM_I2C_ADV7511 is not set
# CONFIG_DRM_CDNS_DSI is not set
# CONFIG_DRM_CDNS_MHDP8546 is not set
# end of Display Interface Bridges

# CONFIG_DRM_ETNAVIV is not set
# CONFIG_DRM_LOGICVC is not set
# CONFIG_DRM_ARCPGU is not set
CONFIG_DRM_BOCHS=y
CONFIG_DRM_CIRRUS_QEMU=y
# CONFIG_DRM_GM12U320 is not set
# CONFIG_DRM_PANEL_MIPI_DBI is not set
CONFIG_DRM_SIMPLEDRM=y
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9163 is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
# CONFIG_TINYDRM_ILI9486 is not set
# CONFIG_TINYDRM_MI0283QT is not set
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
# CONFIG_TINYDRM_ST7735R is not set
# CONFIG_DRM_VBOXVIDEO is not set
# CONFIG_DRM_GUD is not set
# CONFIG_DRM_SSD130X is not set
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y

#
# Frame buffer Devices
#
CONFIG_FB=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
CONFIG_FB_VGA16=y
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_OPENCORES is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_VIA is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_IBM_GXT4500 is not set
CONFIG_FB_VIRTUAL=y
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_SSD1307 is not set
# CONFIG_FB_SM712 is not set
CONFIG_FB_CORE=y
CONFIG_FB_NOTIFY=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DEVICE is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYSMEM_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_IOMEM_FOPS=y
CONFIG_FB_IOMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
# CONFIG_FB_MODE_HELPERS is not set
CONFIG_FB_TILEBLITTING=y
# end of Frame buffer Devices

#
# Backlight & LCD device support
#
CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_LCD_L4F00242T03 is not set
# CONFIG_LCD_LMS283GF05 is not set
# CONFIG_LCD_LTV350QV is not set
# CONFIG_LCD_ILI922X is not set
# CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_TDO24M is not set
# CONFIG_LCD_VGG2432A4 is not set
# CONFIG_LCD_PLATFORM is not set
# CONFIG_LCD_AMS369FG06 is not set
# CONFIG_LCD_LMS501KF03 is not set
# CONFIG_LCD_HX8357 is not set
# CONFIG_LCD_OTM3225A is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_KTD253 is not set
# CONFIG_BACKLIGHT_KTD2801 is not set
# CONFIG_BACKLIGHT_KTZ8866 is not set
# CONFIG_BACKLIGHT_APPLE is not set
# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_PANDORA is not set
# CONFIG_BACKLIGHT_GPIO is not set
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
# CONFIG_BACKLIGHT_ARCXCNN is not set
# CONFIG_BACKLIGHT_LED is not set
# end of Backlight & LCD device support

CONFIG_VGASTATE=y
CONFIG_VIDEOMODE_HELPERS=y
CONFIG_HDMI=y

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
# end of Console display driver support

CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
# CONFIG_LOGO_LINUX_CLUT224 is not set
# end of Graphics support

# CONFIG_DRM_ACCEL is not set
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_SEQ_DEVICE=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_JACK=y
CONFIG_SND_JACK_INPUT_DEV=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_PCM_TIMER=y
CONFIG_SND_HRTIMER=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MAX_CARDS=32
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_PROC_FS=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
CONFIG_SND_CTL_FAST_LOOKUP=y
CONFIG_SND_DEBUG=y
# CONFIG_SND_DEBUG_VERBOSE is not set
CONFIG_SND_PCM_XRUN_DEBUG=y
# CONFIG_SND_CTL_INPUT_VALIDATION is not set
# CONFIG_SND_CTL_DEBUG is not set
# CONFIG_SND_JACK_INJECTION_DEBUG is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_CTL_LED=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_SEQ_MIDI_EVENT=y
CONFIG_SND_SEQ_MIDI=y
CONFIG_SND_SEQ_VIRMIDI=y
# CONFIG_SND_SEQ_UMP is not set
CONFIG_SND_DRIVERS=y
# CONFIG_SND_PCSP is not set
CONFIG_SND_DUMMY=y
CONFIG_SND_ALOOP=y
# CONFIG_SND_PCMTEST is not set
CONFIG_SND_VIRMIDI=y
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_MTS64 is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_SERIAL_GENERIC is not set
# CONFIG_SND_MPU401 is not set
# CONFIG_SND_PORTMAN2X4 is not set
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ASIHPI is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_OXYGEN is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CTXFI is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_INDIGOIOX is not set
# CONFIG_SND_INDIGODJX is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_LOLA is not set
# CONFIG_SND_LX6464ES is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SE6X is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set

#
# HD-Audio
#
CONFIG_SND_HDA=y
CONFIG_SND_HDA_GENERIC_LEDS=y
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_SCODEC_COMPONENT=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_HDMI=y
CONFIG_SND_HDA_CODEC_CIRRUS=y
# CONFIG_SND_HDA_CODEC_CS8409 is not set
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CA0132=y
# CONFIG_SND_HDA_CODEC_CA0132_DSP is not set
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
# CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set
# CONFIG_SND_HDA_CTL_DEV_ID is not set
# end of HD-Audio

CONFIG_SND_HDA_CORE=y
CONFIG_SND_HDA_COMPONENT=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_INTEL_NHLT=y
CONFIG_SND_INTEL_DSP_CONFIG=y
CONFIG_SND_INTEL_SOUNDWIRE_ACPI=y
# CONFIG_SND_SPI is not set
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
# CONFIG_SND_USB_AUDIO_MIDI_V2 is not set
CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
CONFIG_SND_USB_UA101=y
CONFIG_SND_USB_USX2Y=y
CONFIG_SND_USB_CAIAQ=y
CONFIG_SND_USB_CAIAQ_INPUT=y
CONFIG_SND_USB_US122L=y
CONFIG_SND_USB_6FIRE=y
CONFIG_SND_USB_HIFACE=y
CONFIG_SND_BCD2000=y
CONFIG_SND_USB_LINE6=y
CONFIG_SND_USB_POD=y
CONFIG_SND_USB_PODHD=y
CONFIG_SND_USB_TONEPORT=y
CONFIG_SND_USB_VARIAX=y
# CONFIG_SND_FIREWIRE is not set
CONFIG_SND_PCMCIA=y
# CONFIG_SND_VXPOCKET is not set
# CONFIG_SND_PDAUDIOCF is not set
# CONFIG_SND_SOC is not set
CONFIG_SND_X86=y
# CONFIG_HDMI_LPE_AUDIO is not set
CONFIG_SND_VIRTIO=y
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=y
CONFIG_HID_GENERIC=y

#
# Special HID drivers
#
CONFIG_HID_A4TECH=y
CONFIG_HID_ACCUTOUCH=y
CONFIG_HID_ACRUX=y
CONFIG_HID_ACRUX_FF=y
CONFIG_HID_APPLE=y
CONFIG_HID_APPLEIR=y
CONFIG_HID_ASUS=y
CONFIG_HID_AUREAL=y
CONFIG_HID_BELKIN=y
CONFIG_HID_BETOP_FF=y
# CONFIG_HID_BIGBEN_FF is not set
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CORSAIR=y
# CONFIG_HID_COUGAR is not set
# CONFIG_HID_MACALLY is not set
CONFIG_HID_PRODIKEYS=y
CONFIG_HID_CMEDIA=y
CONFIG_HID_CP2112=y
# CONFIG_HID_CREATIVE_SB0540 is not set
CONFIG_HID_CYPRESS=y
CONFIG_HID_DRAGONRISE=y
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=y
# CONFIG_HID_ELAN is not set
CONFIG_HID_ELECOM=y
CONFIG_HID_ELO=y
# CONFIG_HID_EVISION is not set
CONFIG_HID_EZKEY=y
# CONFIG_HID_FT260 is not set
CONFIG_HID_GEMBIRD=y
CONFIG_HID_GFRM=y
# CONFIG_HID_GLORIOUS is not set
CONFIG_HID_HOLTEK=y
CONFIG_HOLTEK_FF=y
# CONFIG_HID_GOOGLE_STADIA_FF is not set
# CONFIG_HID_VIVALDI is not set
CONFIG_HID_GT683R=y
CONFIG_HID_KEYTOUCH=y
CONFIG_HID_KYE=y
CONFIG_HID_UCLOGIC=y
CONFIG_HID_WALTOP=y
# CONFIG_HID_VIEWSONIC is not set
# CONFIG_HID_VRC2 is not set
# CONFIG_HID_XIAOMI is not set
CONFIG_HID_GYRATION=y
CONFIG_HID_ICADE=y
CONFIG_HID_ITE=y
# CONFIG_HID_JABRA is not set
CONFIG_HID_TWINHAN=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LCPOWER=y
CONFIG_HID_LED=y
CONFIG_HID_LENOVO=y
# CONFIG_HID_LETSKETCH is not set
CONFIG_HID_LOGITECH=y
CONFIG_HID_LOGITECH_DJ=y
CONFIG_HID_LOGITECH_HIDPP=y
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MAGICMOUSE=y
# CONFIG_HID_MALTRON is not set
CONFIG_HID_MAYFLASH=y
# CONFIG_HID_MEGAWORLD_FF is not set
CONFIG_HID_REDRAGON=y
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_MULTITOUCH=y
# CONFIG_HID_NINTENDO is not set
CONFIG_HID_NTI=y
CONFIG_HID_NTRIG=y
# CONFIG_HID_NVIDIA_SHIELD is not set
CONFIG_HID_ORTEK=y
CONFIG_HID_PANTHERLORD=y
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PENMOUNT=y
CONFIG_HID_PETALYNX=y
CONFIG_HID_PICOLCD=y
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PICOLCD_CIR=y
CONFIG_HID_PLANTRONICS=y
# CONFIG_HID_PXRC is not set
# CONFIG_HID_RAZER is not set
CONFIG_HID_PRIMAX=y
CONFIG_HID_RETRODE=y
CONFIG_HID_ROCCAT=y
CONFIG_HID_SAITEK=y
CONFIG_HID_SAMSUNG=y
# CONFIG_HID_SEMITEK is not set
# CONFIG_HID_SIGMAMICRO is not set
CONFIG_HID_SONY=y
CONFIG_SONY_FF=y
CONFIG_HID_SPEEDLINK=y
# CONFIG_HID_STEAM is not set
CONFIG_HID_STEELSERIES=y
CONFIG_HID_SUNPLUS=y
CONFIG_HID_RMI=y
CONFIG_HID_GREENASIA=y
CONFIG_GREENASIA_FF=y
CONFIG_HID_SMARTJOYPLUS=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_HID_TIVO=y
CONFIG_HID_TOPSEED=y
# CONFIG_HID_TOPRE is not set
CONFIG_HID_THINGM=y
CONFIG_HID_THRUSTMASTER=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_HID_UDRAW_PS3=y
# CONFIG_HID_U2FZERO is not set
CONFIG_HID_WACOM=y
CONFIG_HID_WIIMOTE=y
CONFIG_HID_XINMO=y
CONFIG_HID_ZEROPLUS=y
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=y
CONFIG_HID_SENSOR_HUB=y
CONFIG_HID_SENSOR_CUSTOM_SENSOR=y
CONFIG_HID_ALPS=y
# CONFIG_HID_MCP2200 is not set
# CONFIG_HID_MCP2221 is not set
# end of Special HID drivers

#
# HID-BPF support
#
# end of HID-BPF support

#
# USB HID support
#
CONFIG_USB_HID=y
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y
# end of USB HID support

CONFIG_I2C_HID=y
# CONFIG_I2C_HID_ACPI is not set
# CONFIG_I2C_HID_OF is not set
# CONFIG_I2C_HID_OF_ELAN is not set
# CONFIG_I2C_HID_OF_GOODIX is not set

#
# Intel ISH HID support
#
CONFIG_INTEL_ISH_HID=y
# CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER is not set
# end of Intel ISH HID support

#
# AMD SFH HID Support
#
# CONFIG_AMD_SFH_HID is not set
# end of AMD SFH HID Support

CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_LED_TRIG=y
CONFIG_USB_ULPI_BUS=y
# CONFIG_USB_CONN_GPIO is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
CONFIG_USB_PCI=y
CONFIG_USB_PCI_AMD=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_FEW_INIT_RETRIES=y
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_OTG=y
# CONFIG_USB_OTG_PRODUCTLIST is not set
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
CONFIG_USB_OTG_FSM=y
CONFIG_USB_LEDS_TRIGGER_USBPORT=y
CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_DEFAULT_AUTHORIZATION_MODE=1
CONFIG_USB_MON=y

#
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_PCI=y
# CONFIG_USB_XHCI_PCI_RENESAS is not set
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_PCI=y
# CONFIG_USB_EHCI_FSL is not set
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_OXU210HP_HCD=y
CONFIG_USB_ISP116X_HCD=y
CONFIG_USB_MAX3421_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PCI=y
# CONFIG_USB_OHCI_HCD_SSB is not set
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_SL811_HCD=y
CONFIG_USB_SL811_HCD_ISO=y
CONFIG_USB_SL811_CS=y
CONFIG_USB_R8A66597_HCD=y
CONFIG_USB_HCD_BCMA=y
CONFIG_USB_HCD_SSB=y
# CONFIG_USB_HCD_TEST_MODE is not set

#
# USB Device Class drivers
#
CONFIG_USB_ACM=y
CONFIG_USB_PRINTER=y
CONFIG_USB_WDM=y
CONFIG_USB_TMC=y

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_REALTEK=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
CONFIG_USB_STORAGE_ONETOUCH=y
CONFIG_USB_STORAGE_KARMA=y
CONFIG_USB_STORAGE_CYPRESS_ATACB=y
CONFIG_USB_STORAGE_ENE_UB6250=y
CONFIG_USB_UAS=y

#
# USB Imaging devices
#
CONFIG_USB_MDC800=y
CONFIG_USB_MICROTEK=y
CONFIG_USBIP_CORE=y
CONFIG_USBIP_VHCI_HCD=y
CONFIG_USBIP_VHCI_HC_PORTS=8
CONFIG_USBIP_VHCI_NR_HCS=16
CONFIG_USBIP_HOST=y
CONFIG_USBIP_VUDC=y
# CONFIG_USBIP_DEBUG is not set

#
# USB dual-mode controller drivers
#
# CONFIG_USB_CDNS_SUPPORT is not set
CONFIG_USB_MUSB_HDRC=y
# CONFIG_USB_MUSB_HOST is not set
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_DUAL_ROLE=y

#
# Platform Glue Layer
#

#
# MUSB DMA mode
#
CONFIG_MUSB_PIO_ONLY=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_ULPI=y
# CONFIG_USB_DWC3_HOST is not set
CONFIG_USB_DWC3_GADGET=y
# CONFIG_USB_DWC3_DUAL_ROLE is not set

#
# Platform Glue Driver Support
#
CONFIG_USB_DWC3_PCI=y
# CONFIG_USB_DWC3_HAPS is not set
CONFIG_USB_DWC3_OF_SIMPLE=y
CONFIG_USB_DWC2=y
CONFIG_USB_DWC2_HOST=y

#
# Gadget/Dual-role mode requires USB Gadget support to be enabled
#
# CONFIG_USB_DWC2_PERIPHERAL is not set
# CONFIG_USB_DWC2_DUAL_ROLE is not set
CONFIG_USB_DWC2_PCI=y
# CONFIG_USB_DWC2_DEBUG is not set
# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_CHIPIDEA_PCI=y
# CONFIG_USB_CHIPIDEA_MSM is not set
# CONFIG_USB_CHIPIDEA_NPCM is not set
# CONFIG_USB_CHIPIDEA_IMX is not set
# CONFIG_USB_CHIPIDEA_GENERIC is not set
# CONFIG_USB_CHIPIDEA_TEGRA is not set
CONFIG_USB_ISP1760=y
CONFIG_USB_ISP1760_HCD=y
CONFIG_USB_ISP1761_UDC=y
# CONFIG_USB_ISP1760_HOST_ROLE is not set
# CONFIG_USB_ISP1760_GADGET_ROLE is not set
CONFIG_USB_ISP1760_DUAL_ROLE=y

#
# USB port drivers
#
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_SIMPLE=y
CONFIG_USB_SERIAL_AIRCABLE=y
CONFIG_USB_SERIAL_ARK3116=y
CONFIG_USB_SERIAL_BELKIN=y
CONFIG_USB_SERIAL_CH341=y
CONFIG_USB_SERIAL_WHITEHEAT=y
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=y
CONFIG_USB_SERIAL_CP210X=y
CONFIG_USB_SERIAL_CYPRESS_M8=y
CONFIG_USB_SERIAL_EMPEG=y
CONFIG_USB_SERIAL_FTDI_SIO=y
CONFIG_USB_SERIAL_VISOR=y
CONFIG_USB_SERIAL_IPAQ=y
CONFIG_USB_SERIAL_IR=y
CONFIG_USB_SERIAL_EDGEPORT=y
CONFIG_USB_SERIAL_EDGEPORT_TI=y
CONFIG_USB_SERIAL_F81232=y
CONFIG_USB_SERIAL_F8153X=y
CONFIG_USB_SERIAL_GARMIN=y
CONFIG_USB_SERIAL_IPW=y
CONFIG_USB_SERIAL_IUU=y
CONFIG_USB_SERIAL_KEYSPAN_PDA=y
CONFIG_USB_SERIAL_KEYSPAN=y
CONFIG_USB_SERIAL_KLSI=y
CONFIG_USB_SERIAL_KOBIL_SCT=y
CONFIG_USB_SERIAL_MCT_U232=y
CONFIG_USB_SERIAL_METRO=y
CONFIG_USB_SERIAL_MOS7720=y
CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7840=y
CONFIG_USB_SERIAL_MXUPORT=y
CONFIG_USB_SERIAL_NAVMAN=y
CONFIG_USB_SERIAL_PL2303=y
CONFIG_USB_SERIAL_OTI6858=y
CONFIG_USB_SERIAL_QCAUX=y
CONFIG_USB_SERIAL_QUALCOMM=y
CONFIG_USB_SERIAL_SPCP8X5=y
CONFIG_USB_SERIAL_SAFE=y
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
CONFIG_USB_SERIAL_SIERRAWIRELESS=y
CONFIG_USB_SERIAL_SYMBOL=y
CONFIG_USB_SERIAL_TI=y
CONFIG_USB_SERIAL_CYBERJACK=y
CONFIG_USB_SERIAL_WWAN=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_USB_SERIAL_OMNINET=y
CONFIG_USB_SERIAL_OPTICON=y
CONFIG_USB_SERIAL_XSENS_MT=y
CONFIG_USB_SERIAL_WISHBONE=y
CONFIG_USB_SERIAL_SSU100=y
CONFIG_USB_SERIAL_QT2=y
CONFIG_USB_SERIAL_UPD78F0730=y
CONFIG_USB_SERIAL_XR=y
CONFIG_USB_SERIAL_DEBUG=y

#
# USB Miscellaneous drivers
#
CONFIG_USB_USS720=y
CONFIG_USB_EMI62=y
CONFIG_USB_EMI26=y
CONFIG_USB_ADUTUX=y
CONFIG_USB_SEVSEG=y
CONFIG_USB_LEGOTOWER=y
CONFIG_USB_LCD=y
CONFIG_USB_CYPRESS_CY7C63=y
CONFIG_USB_CYTHERM=y
CONFIG_USB_IDMOUSE=y
CONFIG_USB_APPLEDISPLAY=y
# CONFIG_APPLE_MFI_FASTCHARGE is not set
# CONFIG_USB_LJCA is not set
CONFIG_USB_SISUSBVGA=y
CONFIG_USB_LD=y
CONFIG_USB_TRANCEVIBRATOR=y
CONFIG_USB_IOWARRIOR=y
CONFIG_USB_TEST=y
CONFIG_USB_EHSET_TEST_FIXTURE=y
CONFIG_USB_ISIGHTFW=y
CONFIG_USB_YUREX=y
CONFIG_USB_EZUSB_FX2=y
CONFIG_USB_HUB_USB251XB=y
CONFIG_USB_HSIC_USB3503=y
CONFIG_USB_HSIC_USB4604=y
CONFIG_USB_LINK_LAYER_TEST=y
CONFIG_USB_CHAOSKEY=y
# CONFIG_USB_ONBOARD_HUB is not set
CONFIG_USB_ATM=y
CONFIG_USB_SPEEDTOUCH=y
CONFIG_USB_CXACRU=y
CONFIG_USB_UEAGLEATM=y
CONFIG_USB_XUSBATM=y

#
# USB Physical Layer drivers
#
CONFIG_USB_PHY=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_GPIO_VBUS=y
CONFIG_TAHVO_USB=y
CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y
CONFIG_USB_ISP1301=y
# end of USB Physical Layer drivers

CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
CONFIG_USB_GADGET_DEBUG_FILES=y
CONFIG_USB_GADGET_DEBUG_FS=y
CONFIG_USB_GADGET_VBUS_DRAW=500
CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
CONFIG_U_SERIAL_CONSOLE=y

#
# USB Peripheral Controller
#
CONFIG_USB_GR_UDC=y
CONFIG_USB_R8A66597=y
CONFIG_USB_PXA27X=y
CONFIG_USB_MV_UDC=y
CONFIG_USB_MV_U3D=y
CONFIG_USB_SNP_CORE=y
# CONFIG_USB_SNP_UDC_PLAT is not set
# CONFIG_USB_M66592 is not set
CONFIG_USB_BDC_UDC=y
CONFIG_USB_AMD5536UDC=y
CONFIG_USB_NET2272=y
CONFIG_USB_NET2272_DMA=y
CONFIG_USB_NET2280=y
CONFIG_USB_GOKU=y
CONFIG_USB_EG20T=y
# CONFIG_USB_GADGET_XILINX is not set
# CONFIG_USB_MAX3420_UDC is not set
# CONFIG_USB_CDNS2_UDC is not set
CONFIG_USB_DUMMY_HCD=y
# end of USB Peripheral Controller

CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_F_ACM=y
CONFIG_USB_F_SS_LB=y
CONFIG_USB_U_SERIAL=y
CONFIG_USB_U_ETHER=y
CONFIG_USB_U_AUDIO=y
CONFIG_USB_F_SERIAL=y
CONFIG_USB_F_OBEX=y
CONFIG_USB_F_NCM=y
CONFIG_USB_F_ECM=y
CONFIG_USB_F_PHONET=y
CONFIG_USB_F_EEM=y
CONFIG_USB_F_SUBSET=y
CONFIG_USB_F_RNDIS=y
CONFIG_USB_F_MASS_STORAGE=y
CONFIG_USB_F_FS=y
CONFIG_USB_F_UAC1=y
CONFIG_USB_F_UAC1_LEGACY=y
CONFIG_USB_F_UAC2=y
CONFIG_USB_F_UVC=y
CONFIG_USB_F_MIDI=y
CONFIG_USB_F_HID=y
CONFIG_USB_F_PRINTER=y
CONFIG_USB_F_TCM=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_OBEX=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_ECM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_EEM=y
CONFIG_USB_CONFIGFS_PHONET=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_LB_SS=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_UAC1=y
CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y
CONFIG_USB_CONFIGFS_F_UAC2=y
CONFIG_USB_CONFIGFS_F_MIDI=y
# CONFIG_USB_CONFIGFS_F_MIDI2 is not set
CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_CONFIGFS_F_UVC=y
CONFIG_USB_CONFIGFS_F_PRINTER=y
CONFIG_USB_CONFIGFS_F_TCM=y

#
# USB Gadget precomposed configurations
#
# CONFIG_USB_ZERO is not set
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_ETH is not set
# CONFIG_USB_G_NCM is not set
CONFIG_USB_GADGETFS=y
# CONFIG_USB_FUNCTIONFS is not set
# CONFIG_USB_MASS_STORAGE is not set
# CONFIG_USB_GADGET_TARGET is not set
# CONFIG_USB_G_SERIAL is not set
# CONFIG_USB_MIDI_GADGET is not set
# CONFIG_USB_G_PRINTER is not set
# CONFIG_USB_CDC_COMPOSITE is not set
# CONFIG_USB_G_NOKIA is not set
# CONFIG_USB_G_ACM_MS is not set
# CONFIG_USB_G_MULTI is not set
# CONFIG_USB_G_HID is not set
# CONFIG_USB_G_DBGP is not set
# CONFIG_USB_G_WEBCAM is not set
CONFIG_USB_RAW_GADGET=y
# end of USB Gadget precomposed configurations

CONFIG_TYPEC=y
CONFIG_TYPEC_TCPM=y
CONFIG_TYPEC_TCPCI=y
# CONFIG_TYPEC_RT1711H is not set
# CONFIG_TYPEC_TCPCI_MAXIM is not set
CONFIG_TYPEC_FUSB302=y
CONFIG_TYPEC_UCSI=y
# CONFIG_UCSI_CCG is not set
CONFIG_UCSI_ACPI=y
# CONFIG_UCSI_STM32G0 is not set
CONFIG_TYPEC_TPS6598X=y
# CONFIG_TYPEC_ANX7411 is not set
# CONFIG_TYPEC_RT1719 is not set
# CONFIG_TYPEC_HD3SS3220 is not set
# CONFIG_TYPEC_STUSB160X is not set
# CONFIG_TYPEC_WUSB3801 is not set

#
# USB Type-C Multiplexer/DeMultiplexer Switch support
#
# CONFIG_TYPEC_MUX_FSA4480 is not set
# CONFIG_TYPEC_MUX_GPIO_SBU is not set
# CONFIG_TYPEC_MUX_PI3USB30532 is not set
# CONFIG_TYPEC_MUX_IT5205 is not set
# CONFIG_TYPEC_MUX_NB7VPQ904M is not set
# CONFIG_TYPEC_MUX_PTN36502 is not set
# CONFIG_TYPEC_MUX_WCD939X_USBSS is not set
# end of USB Type-C Multiplexer/DeMultiplexer Switch support

#
# USB Type-C Alternate Mode drivers
#
# CONFIG_TYPEC_DP_ALTMODE is not set
# end of USB Type-C Alternate Mode drivers

CONFIG_USB_ROLE_SWITCH=y
# CONFIG_USB_ROLES_INTEL_XHCI is not set
CONFIG_MMC=y
# CONFIG_PWRSEQ_EMMC is not set
# CONFIG_PWRSEQ_SIMPLE is not set
# CONFIG_MMC_BLOCK is not set
# CONFIG_SDIO_UART is not set
# CONFIG_MMC_TEST is not set
# CONFIG_MMC_CRYPTO is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_SDHCI is not set
# CONFIG_MMC_WBSD is not set
# CONFIG_MMC_TIFM_SD is not set
# CONFIG_MMC_SPI is not set
# CONFIG_MMC_SDRICOH_CS is not set
# CONFIG_MMC_CB710 is not set
# CONFIG_MMC_VIA_SDMMC is not set
CONFIG_MMC_VUB300=y
CONFIG_MMC_USHC=y
# CONFIG_MMC_USDHI6ROL0 is not set
CONFIG_MMC_REALTEK_USB=y
# CONFIG_MMC_CQHCI is not set
# CONFIG_MMC_HSQ is not set
# CONFIG_MMC_TOSHIBA_PCI is not set
# CONFIG_MMC_MTK is not set
# CONFIG_SCSI_UFSHCD is not set
CONFIG_MEMSTICK=y
# CONFIG_MEMSTICK_DEBUG is not set

#
# MemoryStick drivers
#
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MSPRO_BLOCK is not set
# CONFIG_MS_BLOCK is not set

#
# MemoryStick Host Controller Drivers
#
# CONFIG_MEMSTICK_TIFM_MS is not set
# CONFIG_MEMSTICK_JMICRON_38X is not set
# CONFIG_MEMSTICK_R592 is not set
CONFIG_MEMSTICK_REALTEK_USB=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
# CONFIG_LEDS_CLASS_FLASH is not set
# CONFIG_LEDS_CLASS_MULTICOLOR is not set
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set

#
# LED drivers
#
# CONFIG_LEDS_AN30259A is not set
# CONFIG_LEDS_APU is not set
# CONFIG_LEDS_AW200XX is not set
# CONFIG_LEDS_AW2013 is not set
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_CHT_WCOVE is not set
# CONFIG_LEDS_CR0014114 is not set
# CONFIG_LEDS_EL15203000 is not set
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_LM3532 is not set
# CONFIG_LEDS_LM3642 is not set
# CONFIG_LEDS_LM3692X is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_GPIO is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP3952 is not set
# CONFIG_LEDS_LP8860 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_BD2606MVV is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_INTEL_SS4200 is not set
# CONFIG_LEDS_LT3593 is not set
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set

#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
# CONFIG_LEDS_BLINKM is not set
# CONFIG_LEDS_SYSCON is not set
# CONFIG_LEDS_MLXCPLD is not set
# CONFIG_LEDS_MLXREG is not set
# CONFIG_LEDS_USER is not set
# CONFIG_LEDS_NIC78BX is not set
# CONFIG_LEDS_SPI_BYTE is not set
# CONFIG_LEDS_LM3697 is not set
# CONFIG_LEDS_LGM is not set

#
# Flash and Torch LED drivers
#

#
# RGB LED drivers
#

#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
# CONFIG_LEDS_TRIGGER_TIMER is not set
# CONFIG_LEDS_TRIGGER_ONESHOT is not set
# CONFIG_LEDS_TRIGGER_DISK is not set
# CONFIG_LEDS_TRIGGER_MTD is not set
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
# CONFIG_LEDS_TRIGGER_CPU is not set
# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
# CONFIG_LEDS_TRIGGER_GPIO is not set
# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set

#
# iptables trigger is under Netfilter config (LED target)
#
# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
# CONFIG_LEDS_TRIGGER_CAMERA is not set
# CONFIG_LEDS_TRIGGER_PANIC is not set
# CONFIG_LEDS_TRIGGER_NETDEV is not set
# CONFIG_LEDS_TRIGGER_PATTERN is not set
CONFIG_LEDS_TRIGGER_AUDIO=y
# CONFIG_LEDS_TRIGGER_TTY is not set

#
# Simple LED drivers
#
# CONFIG_ACCESSIBILITY is not set
CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_USER_MAD=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y
CONFIG_INFINIBAND_VIRT_DMA=y
# CONFIG_INFINIBAND_EFA is not set
# CONFIG_INFINIBAND_ERDMA is not set
CONFIG_MLX4_INFINIBAND=y
# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_OCRDMA is not set
# CONFIG_INFINIBAND_USNIC is not set
# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFINIBAND_RDMAVT is not set
CONFIG_RDMA_RXE=y
CONFIG_RDMA_SIW=y
CONFIG_INFINIBAND_IPOIB=y
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG=y
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
CONFIG_INFINIBAND_SRP=y
# CONFIG_INFINIBAND_SRPT is not set
CONFIG_INFINIBAND_ISER=y
CONFIG_INFINIBAND_RTRS=y
CONFIG_INFINIBAND_RTRS_CLIENT=y
# CONFIG_INFINIBAND_RTRS_SERVER is not set
# CONFIG_INFINIBAND_OPA_VNIC is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
# CONFIG_EDAC_LEGACY_SYSFS is not set
# CONFIG_EDAC_DEBUG is not set
# CONFIG_EDAC_DECODE_MCE is not set
# CONFIG_EDAC_E752X is not set
# CONFIG_EDAC_I82975X is not set
# CONFIG_EDAC_I3000 is not set
# CONFIG_EDAC_I3200 is not set
# CONFIG_EDAC_IE31200 is not set
# CONFIG_EDAC_X38 is not set
# CONFIG_EDAC_I5400 is not set
# CONFIG_EDAC_I7CORE is not set
# CONFIG_EDAC_I5100 is not set
# CONFIG_EDAC_I7300 is not set
# CONFIG_EDAC_SBRIDGE is not set
# CONFIG_EDAC_SKX is not set
# CONFIG_EDAC_I10NM is not set
# CONFIG_EDAC_PND2 is not set
# CONFIG_EDAC_IGEN6 is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
# CONFIG_RTC_HCTOSYS is not set
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
# CONFIG_RTC_NVMEM is not set

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_ABB5ZES3 is not set
# CONFIG_RTC_DRV_ABEOZ9 is not set
# CONFIG_RTC_DRV_ABX80X is not set
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_HYM8563 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_MAX31335 is not set
# CONFIG_RTC_DRV_NCT3018Y is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_ISL12026 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8523 is not set
# CONFIG_RTC_DRV_PCF85063 is not set
# CONFIG_RTC_DRV_PCF85363 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_TWL4030 is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8010 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3028 is not set
# CONFIG_RTC_DRV_RV3032 is not set
# CONFIG_RTC_DRV_RV8803 is not set
# CONFIG_RTC_DRV_SD3078 is not set

#
# SPI RTC drivers
#
# CONFIG_RTC_DRV_M41T93 is not set
# CONFIG_RTC_DRV_M41T94 is not set
# CONFIG_RTC_DRV_DS1302 is not set
# CONFIG_RTC_DRV_DS1305 is not set
# CONFIG_RTC_DRV_DS1343 is not set
# CONFIG_RTC_DRV_DS1347 is not set
# CONFIG_RTC_DRV_DS1390 is not set
# CONFIG_RTC_DRV_MAX6916 is not set
# CONFIG_RTC_DRV_R9701 is not set
# CONFIG_RTC_DRV_RX4581 is not set
# CONFIG_RTC_DRV_RS5C348 is not set
# CONFIG_RTC_DRV_MAX6902 is not set
# CONFIG_RTC_DRV_PCF2123 is not set
# CONFIG_RTC_DRV_MCP795 is not set
CONFIG_RTC_I2C_AND_SPI=y

#
# SPI and I2C RTC drivers
#
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_PCF2127 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set
# CONFIG_RTC_DRV_RX6110 is not set

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1685_FAMILY is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_DS2404 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_ZYNQMP is not set

#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_CADENCE is not set
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_R7301 is not set

#
# HID Sensor RTC drivers
#
CONFIG_RTC_DRV_HID_SENSOR_TIME=y
# CONFIG_RTC_DRV_GOLDFISH is not set
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set

#
# DMA Devices
#
CONFIG_DMA_ENGINE=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_ACPI=y
CONFIG_DMA_OF=y
# CONFIG_ALTERA_MSGDMA is not set
# CONFIG_DW_AXI_DMAC is not set
# CONFIG_FSL_EDMA is not set
CONFIG_INTEL_IDMA64=y
# CONFIG_INTEL_IDXD is not set
# CONFIG_INTEL_IDXD_COMPAT is not set
CONFIG_INTEL_IOATDMA=y
# CONFIG_PLX_DMA is not set
# CONFIG_XILINX_DMA is not set
# CONFIG_XILINX_XDMA is not set
# CONFIG_XILINX_ZYNQMP_DPDMA is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_HIDMA is not set
CONFIG_DW_DMAC_CORE=y
# CONFIG_DW_DMAC is not set
# CONFIG_DW_DMAC_PCI is not set
# CONFIG_DW_EDMA is not set
CONFIG_HSU_DMA=y
# CONFIG_SF_PDMA is not set
# CONFIG_INTEL_LDMA is not set

#
# DMA Clients
#
CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DMA_ENGINE_RAID=y

#
# DMABUF options
#
CONFIG_SYNC_FILE=y
CONFIG_SW_SYNC=y
CONFIG_UDMABUF=y
CONFIG_DMABUF_MOVE_NOTIFY=y
# CONFIG_DMABUF_DEBUG is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMABUF_HEAPS=y
# CONFIG_DMABUF_SYSFS_STATS is not set
CONFIG_DMABUF_HEAPS_SYSTEM=y
CONFIG_DMABUF_HEAPS_CMA=y
# end of DMABUF options

CONFIG_DCA=y
# CONFIG_UIO is not set
CONFIG_VFIO=y
CONFIG_VFIO_DEVICE_CDEV=y
# CONFIG_VFIO_GROUP is not set
CONFIG_VFIO_VIRQFD=y
# CONFIG_VFIO_DEBUGFS is not set

#
# VFIO support for PCI devices
#
CONFIG_VFIO_PCI_CORE=y
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_VFIO_PCI=y
# CONFIG_VFIO_PCI_VGA is not set
# CONFIG_VFIO_PCI_IGD is not set
# CONFIG_VIRTIO_VFIO_PCI is not set
# end of VFIO support for PCI devices

CONFIG_IRQ_BYPASS_MANAGER=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_ANCHOR=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI_LIB=y
CONFIG_VIRTIO_PCI_LIB_LEGACY=y
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_ADMIN_LEGACY=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_VDPA=y
CONFIG_VIRTIO_PMEM=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_MEM=y
CONFIG_VIRTIO_INPUT=y
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_VIRTIO_DMA_SHARED_BUFFER=y
CONFIG_VDPA=y
CONFIG_VDPA_SIM=y
CONFIG_VDPA_SIM_NET=y
CONFIG_VDPA_SIM_BLOCK=y
CONFIG_VDPA_USER=y
# CONFIG_IFCVF is not set
# CONFIG_MLX5_VDPA_STEERING_DEBUG is not set
CONFIG_VP_VDPA=y
# CONFIG_ALIBABA_ENI_VDPA is not set
# CONFIG_SNET_VDPA is not set
CONFIG_VHOST_IOTLB=y
CONFIG_VHOST_RING=y
CONFIG_VHOST_TASK=y
CONFIG_VHOST=y
CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=y
# CONFIG_VHOST_SCSI is not set
CONFIG_VHOST_VSOCK=y
CONFIG_VHOST_VDPA=y
CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y

#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV is not set
# end of Microsoft Hyper-V guest support

CONFIG_GREYBUS=y
# CONFIG_GREYBUS_BEAGLEPLAY is not set
CONFIG_GREYBUS_ES2=y
CONFIG_COMEDI=y
# CONFIG_COMEDI_DEBUG is not set
CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
# CONFIG_COMEDI_MISC_DRIVERS is not set
# CONFIG_COMEDI_PCI_DRIVERS is not set
# CONFIG_COMEDI_PCMCIA_DRIVERS is not set
CONFIG_COMEDI_USB_DRIVERS=y
CONFIG_COMEDI_DT9812=y
CONFIG_COMEDI_NI_USB6501=y
CONFIG_COMEDI_USBDUX=y
CONFIG_COMEDI_USBDUXFAST=y
CONFIG_COMEDI_USBDUXSIGMA=y
CONFIG_COMEDI_VMK80XX=y
# CONFIG_COMEDI_8255_SA is not set
# CONFIG_COMEDI_KCOMEDILIB is not set
# CONFIG_COMEDI_TESTS is not set
CONFIG_STAGING=y
CONFIG_PRISM2_USB=y
# CONFIG_RTLLIB is not set
# CONFIG_RTL8723BS is not set
CONFIG_R8712U=y
# CONFIG_RTS5208 is not set
# CONFIG_VT6655 is not set
# CONFIG_VT6656 is not set

#
# IIO staging drivers
#

#
# Accelerometers
#
# CONFIG_ADIS16203 is not set
# CONFIG_ADIS16240 is not set
# end of Accelerometers

#
# Analog to digital converters
#
# CONFIG_AD7816 is not set
# end of Analog to digital converters

#
# Analog digital bi-direction converters
#
# CONFIG_ADT7316 is not set
# end of Analog digital bi-direction converters

#
# Direct Digital Synthesis
#
# CONFIG_AD9832 is not set
# CONFIG_AD9834 is not set
# end of Direct Digital Synthesis

#
# Network Analyzer, Impedance Converters
#
# CONFIG_AD5933 is not set
# end of Network Analyzer, Impedance Converters
# end of IIO staging drivers

# CONFIG_FB_SM750 is not set
# CONFIG_STAGING_MEDIA is not set
# CONFIG_LTE_GDM724X is not set
# CONFIG_MOST_COMPONENTS is not set
# CONFIG_KS7010 is not set
# CONFIG_GREYBUS_BOOTROM is not set
# CONFIG_GREYBUS_FIRMWARE is not set
CONFIG_GREYBUS_HID=y
# CONFIG_GREYBUS_LOG is not set
# CONFIG_GREYBUS_LOOPBACK is not set
# CONFIG_GREYBUS_POWER is not set
# CONFIG_GREYBUS_RAW is not set
# CONFIG_GREYBUS_VIBRATOR is not set
CONFIG_GREYBUS_BRIDGED_PHY=y
# CONFIG_GREYBUS_GPIO is not set
# CONFIG_GREYBUS_I2C is not set
# CONFIG_GREYBUS_SDIO is not set
# CONFIG_GREYBUS_SPI is not set
# CONFIG_GREYBUS_UART is not set
CONFIG_GREYBUS_USB=y
# CONFIG_PI433 is not set
# CONFIG_XIL_AXIS_FIFO is not set
# CONFIG_FIELDBUS_DEV is not set
# CONFIG_VME_BUS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_CHROME_PLATFORMS is not set
# CONFIG_MELLANOX_PLATFORM is not set
CONFIG_SURFACE_PLATFORMS=y
# CONFIG_SURFACE3_WMI is not set
# CONFIG_SURFACE_3_POWER_OPREGION is not set
# CONFIG_SURFACE_GPE is not set
# CONFIG_SURFACE_HOTPLUG is not set
# CONFIG_SURFACE_PRO3_BUTTON is not set
# CONFIG_SURFACE_AGGREGATOR is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACPI_WMI=y
CONFIG_WMI_BMOF=y
# CONFIG_HUAWEI_WMI is not set
# CONFIG_MXM_WMI is not set
# CONFIG_NVIDIA_WMI_EC_BACKLIGHT is not set
# CONFIG_XIAOMI_WMI is not set
# CONFIG_GIGABYTE_WMI is not set
# CONFIG_YOGABOOK is not set
# CONFIG_ACERHDF is not set
# CONFIG_ACER_WIRELESS is not set
# CONFIG_ACER_WMI is not set
# CONFIG_AMD_PMC is not set
# CONFIG_AMD_HSMP is not set
# CONFIG_AMD_WBRF is not set
# CONFIG_ADV_SWBUTTON is not set
# CONFIG_APPLE_GMUX is not set
# CONFIG_ASUS_LAPTOP is not set
# CONFIG_ASUS_WIRELESS is not set
CONFIG_ASUS_WMI=y
# CONFIG_ASUS_NB_WMI is not set
# CONFIG_ASUS_TF103C_DOCK is not set
CONFIG_EEEPC_LAPTOP=y
# CONFIG_EEEPC_WMI is not set
# CONFIG_X86_PLATFORM_DRIVERS_DELL is not set
# CONFIG_AMILO_RFKILL is not set
# CONFIG_FUJITSU_LAPTOP is not set
# CONFIG_FUJITSU_TABLET is not set
# CONFIG_GPD_POCKET_FAN is not set
# CONFIG_X86_PLATFORM_DRIVERS_HP is not set
# CONFIG_WIRELESS_HOTKEY is not set
# CONFIG_IBM_RTL is not set
# CONFIG_IDEAPAD_LAPTOP is not set
# CONFIG_LENOVO_YMC is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_THINKPAD_LMI is not set
# CONFIG_INTEL_ATOMISP2_PM is not set
# CONFIG_INTEL_IFS is not set
# CONFIG_INTEL_SAR_INT1092 is not set
# CONFIG_INTEL_SKL_INT3472 is not set

#
# Intel Speed Select Technology interface support
#
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
# end of Intel Speed Select Technology interface support

# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
# CONFIG_INTEL_WMI_THUNDERBOLT is not set

#
# Intel Uncore Frequency Control
#
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
# end of Intel Uncore Frequency Control

# CONFIG_INTEL_HID_EVENT is not set
# CONFIG_INTEL_VBTN is not set
# CONFIG_INTEL_INT0002_VGPIO is not set
# CONFIG_INTEL_OAKTRAIL is not set
# CONFIG_INTEL_ISHTP_ECLITE is not set
# CONFIG_INTEL_PUNIT_IPC is not set
# CONFIG_INTEL_RST is not set
# CONFIG_INTEL_SMARTCONNECT is not set
# CONFIG_INTEL_TURBO_MAX_3 is not set
# CONFIG_INTEL_VSEC is not set
# CONFIG_MSI_EC is not set
# CONFIG_MSI_LAPTOP is not set
# CONFIG_MSI_WMI is not set
# CONFIG_PCENGINES_APU2 is not set
# CONFIG_BARCO_P50_GPIO is not set
# CONFIG_SAMSUNG_LAPTOP is not set
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_TOSHIBA_HAPS is not set
# CONFIG_TOSHIBA_WMI is not set
# CONFIG_ACPI_CMPC is not set
# CONFIG_COMPAL_LAPTOP is not set
# CONFIG_LG_LAPTOP is not set
# CONFIG_PANASONIC_LAPTOP is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_SYSTEM76_ACPI is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_SERIAL_MULTI_INSTANTIATE is not set
# CONFIG_MLX_PLATFORM is not set
# CONFIG_INSPUR_PLATFORM_PROFILE is not set
# CONFIG_INTEL_IPS is not set
# CONFIG_INTEL_SCU_PCI is not set
# CONFIG_INTEL_SCU_PLATFORM is not set
# CONFIG_SIEMENS_SIMATIC_IPC is not set
# CONFIG_WINMATE_FM07_KEYS is not set
CONFIG_P2SB=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
# CONFIG_LMK04832 is not set
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_SI5341 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_CLK_TWL is not set
# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
# CONFIG_COMMON_CLK_RS9_PCIE is not set
# CONFIG_COMMON_CLK_SI521XX is not set
# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
# CONFIG_CLK_LGM_CGU is not set
# CONFIG_XILINX_VCU is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
# CONFIG_HWSPINLOCK is not set

#
# Clock Source drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
# end of Clock Source drivers

CONFIG_MAILBOX=y
# CONFIG_PLATFORM_MHU is not set
CONFIG_PCC=y
# CONFIG_ALTERA_MBOX is not set
# CONFIG_MAILBOX_TEST is not set
CONFIG_IOMMU_IOVA=y
CONFIG_IOMMU_API=y
CONFIG_IOMMUFD_DRIVER=y
CONFIG_IOMMU_SUPPORT=y

#
# Generic IOMMU Pagetable Support
#
# end of Generic IOMMU Pagetable Support

# CONFIG_IOMMU_DEBUGFS is not set
# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
CONFIG_OF_IOMMU=y
CONFIG_IOMMU_DMA=y
CONFIG_IOMMU_SVA=y
CONFIG_IOMMU_IOPF=y
# CONFIG_AMD_IOMMU is not set
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_PERF_EVENTS=y
CONFIG_IOMMUFD=y
CONFIG_IOMMUFD_TEST=y
CONFIG_IRQ_REMAP=y
# CONFIG_VIRTIO_IOMMU is not set

#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set
# end of Remoteproc drivers

#
# Rpmsg drivers
#
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
# CONFIG_RPMSG_VIRTIO is not set
# end of Rpmsg drivers

# CONFIG_SOUNDWIRE is not set

#
# SOC (System On Chip) specific Drivers
#

#
# Amlogic SoC drivers
#
# end of Amlogic SoC drivers

#
# Broadcom SoC drivers
#
# end of Broadcom SoC drivers

#
# NXP/Freescale QorIQ SoC drivers
#
# end of NXP/Freescale QorIQ SoC drivers

#
# fujitsu SoC drivers
#
# end of fujitsu SoC drivers

#
# i.MX SoC drivers
#
# end of i.MX SoC drivers

#
# Enable LiteX SoC Builder specific drivers
#
# CONFIG_LITEX_SOC_CONTROLLER is not set
# end of Enable LiteX SoC Builder specific drivers

# CONFIG_WPCM450_SOC is not set

#
# Qualcomm SoC drivers
#
CONFIG_QCOM_QMI_HELPERS=y
# end of Qualcomm SoC drivers

# CONFIG_SOC_TI is not set

#
# Xilinx SoC drivers
#
# end of Xilinx SoC drivers
# end of SOC (System On Chip) specific Drivers

#
# PM Domains
#

#
# Amlogic PM Domains
#
# end of Amlogic PM Domains

#
# Broadcom PM Domains
#
# end of Broadcom PM Domains

#
# i.MX PM Domains
#
# end of i.MX PM Domains

#
# Qualcomm PM Domains
#
# end of Qualcomm PM Domains
# end of PM Domains

# CONFIG_PM_DEVFREQ is not set
CONFIG_EXTCON=y

#
# Extcon Device Drivers
#
# CONFIG_EXTCON_ADC_JACK is not set
# CONFIG_EXTCON_FSA9480 is not set
# CONFIG_EXTCON_GPIO is not set
# CONFIG_EXTCON_INTEL_INT3496 is not set
CONFIG_EXTCON_INTEL_CHT_WC=y
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_PTN5150 is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
# CONFIG_EXTCON_USB_GPIO is not set
# CONFIG_EXTCON_USBC_TUSB320 is not set
# CONFIG_MEMORY is not set
CONFIG_IIO=y
CONFIG_IIO_BUFFER=y
# CONFIG_IIO_BUFFER_CB is not set
# CONFIG_IIO_BUFFER_DMA is not set
# CONFIG_IIO_BUFFER_DMAENGINE is not set
# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
CONFIG_IIO_KFIFO_BUF=y
CONFIG_IIO_TRIGGERED_BUFFER=y
# CONFIG_IIO_CONFIGFS is not set
CONFIG_IIO_TRIGGER=y
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
# CONFIG_IIO_SW_DEVICE is not set
# CONFIG_IIO_SW_TRIGGER is not set
# CONFIG_IIO_TRIGGERED_EVENT is not set

#
# Accelerometers
#
# CONFIG_ADIS16201 is not set
# CONFIG_ADIS16209 is not set
# CONFIG_ADXL313_I2C is not set
# CONFIG_ADXL313_SPI is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
# CONFIG_ADXL355_I2C is not set
# CONFIG_ADXL355_SPI is not set
# CONFIG_ADXL367_SPI is not set
# CONFIG_ADXL367_I2C is not set
# CONFIG_ADXL372_SPI is not set
# CONFIG_ADXL372_I2C is not set
# CONFIG_BMA180 is not set
# CONFIG_BMA220 is not set
# CONFIG_BMA400 is not set
# CONFIG_BMC150_ACCEL is not set
# CONFIG_BMI088_ACCEL is not set
# CONFIG_DA280 is not set
# CONFIG_DA311 is not set
# CONFIG_DMARD06 is not set
# CONFIG_DMARD09 is not set
# CONFIG_DMARD10 is not set
# CONFIG_FXLS8962AF_I2C is not set
# CONFIG_FXLS8962AF_SPI is not set
CONFIG_HID_SENSOR_ACCEL_3D=y
# CONFIG_IIO_ST_ACCEL_3AXIS is not set
# CONFIG_IIO_KX022A_SPI is not set
# CONFIG_IIO_KX022A_I2C is not set
# CONFIG_KXSD9 is not set
# CONFIG_KXCJK1013 is not set
# CONFIG_MC3230 is not set
# CONFIG_MMA7455_I2C is not set
# CONFIG_MMA7455_SPI is not set
# CONFIG_MMA7660 is not set
# CONFIG_MMA8452 is not set
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MSA311 is not set
# CONFIG_MXC4005 is not set
# CONFIG_MXC6255 is not set
# CONFIG_SCA3000 is not set
# CONFIG_SCA3300 is not set
# CONFIG_STK8312 is not set
# CONFIG_STK8BA50 is not set
# end of Accelerometers

#
# Analog to digital converters
#
# CONFIG_AD4130 is not set
# CONFIG_AD7091R5 is not set
# CONFIG_AD7091R8 is not set
# CONFIG_AD7124 is not set
# CONFIG_AD7192 is not set
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
# CONFIG_AD7292 is not set
# CONFIG_AD7298 is not set
# CONFIG_AD7476 is not set
# CONFIG_AD7606_IFACE_PARALLEL is not set
# CONFIG_AD7606_IFACE_SPI is not set
# CONFIG_AD7766 is not set
# CONFIG_AD7768_1 is not set
# CONFIG_AD7780 is not set
# CONFIG_AD7791 is not set
# CONFIG_AD7793 is not set
# CONFIG_AD7887 is not set
# CONFIG_AD7923 is not set
# CONFIG_AD7949 is not set
# CONFIG_AD799X is not set
# CONFIG_AD9467 is not set
# CONFIG_ADI_AXI_ADC is not set
# CONFIG_CC10001_ADC is not set
CONFIG_DLN2_ADC=y
# CONFIG_ENVELOPE_DETECTOR is not set
# CONFIG_HI8435 is not set
# CONFIG_HX711 is not set
# CONFIG_INA2XX_ADC is not set
# CONFIG_LTC2309 is not set
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
# CONFIG_MAX1118 is not set
# CONFIG_MAX11205 is not set
# CONFIG_MAX11410 is not set
# CONFIG_MAX1241 is not set
# CONFIG_MAX1363 is not set
# CONFIG_MAX34408 is not set
# CONFIG_MAX9611 is not set
# CONFIG_MCP320X is not set
# CONFIG_MCP3422 is not set
# CONFIG_MCP3564 is not set
# CONFIG_MCP3911 is not set
# CONFIG_NAU7802 is not set
# CONFIG_PAC1934 is not set
# CONFIG_RICHTEK_RTQ6056 is not set
# CONFIG_SD_ADC_MODULATOR is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC108S102 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
# CONFIG_TI_ADS7924 is not set
# CONFIG_TI_ADS1100 is not set
# CONFIG_TI_ADS1298 is not set
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8344 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_ADS124S08 is not set
# CONFIG_TI_ADS131E08 is not set
# CONFIG_TI_LMP92064 is not set
# CONFIG_TI_TLC4541 is not set
# CONFIG_TI_TSC2046 is not set
# CONFIG_TWL4030_MADC is not set
# CONFIG_TWL6030_GPADC is not set
# CONFIG_VF610_ADC is not set
CONFIG_VIPERBOARD_ADC=y
# CONFIG_XILINX_XADC is not set
# end of Analog to digital converters

#
# Analog to digital and digital to analog converters
#
# CONFIG_AD74115 is not set
# CONFIG_AD74413R is not set
# end of Analog to digital and digital to analog converters

#
# Analog Front Ends
#
# CONFIG_IIO_RESCALE is not set
# end of Analog Front Ends

#
# Amplifiers
#
# CONFIG_AD8366 is not set
# CONFIG_ADA4250 is not set
# CONFIG_HMC425 is not set
# end of Amplifiers

#
# Capacitance to digital converters
#
# CONFIG_AD7150 is not set
# CONFIG_AD7746 is not set
# end of Capacitance to digital converters

#
# Chemical Sensors
#
# CONFIG_AOSONG_AGS02MA is not set
# CONFIG_ATLAS_PH_SENSOR is not set
# CONFIG_ATLAS_EZO_SENSOR is not set
# CONFIG_BME680 is not set
# CONFIG_CCS811 is not set
# CONFIG_IAQCORE is not set
# CONFIG_PMS7003 is not set
# CONFIG_SCD30_CORE is not set
# CONFIG_SCD4X is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
# CONFIG_SPS30_I2C is not set
# CONFIG_SPS30_SERIAL is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_VZ89X is not set
# end of Chemical Sensors

#
# Hid Sensor IIO Common
#
CONFIG_HID_SENSOR_IIO_COMMON=y
CONFIG_HID_SENSOR_IIO_TRIGGER=y
# end of Hid Sensor IIO Common

#
# IIO SCMI Sensors
#
# end of IIO SCMI Sensors

#
# SSP Sensor Common
#
# CONFIG_IIO_SSP_SENSORHUB is not set
# end of SSP Sensor Common

#
# Digital to analog converters
#
# CONFIG_AD3552R is not set
# CONFIG_AD5064 is not set
# CONFIG_AD5360 is not set
# CONFIG_AD5380 is not set
# CONFIG_AD5421 is not set
# CONFIG_AD5446 is not set
# CONFIG_AD5449 is not set
# CONFIG_AD5592R is not set
# CONFIG_AD5593R is not set
# CONFIG_AD5504 is not set
# CONFIG_AD5624R_SPI is not set
# CONFIG_LTC2688 is not set
# CONFIG_AD5686_SPI is not set
# CONFIG_AD5696_I2C is not set
# CONFIG_AD5755 is not set
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
# CONFIG_AD5766 is not set
# CONFIG_AD5770R is not set
# CONFIG_AD5791 is not set
# CONFIG_AD7293 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD8801 is not set
# CONFIG_DPOT_DAC is not set
# CONFIG_DS4424 is not set
# CONFIG_LTC1660 is not set
# CONFIG_LTC2632 is not set
# CONFIG_M62332 is not set
# CONFIG_MAX517 is not set
# CONFIG_MAX5522 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MCP4725 is not set
# CONFIG_MCP4728 is not set
# CONFIG_MCP4821 is not set
# CONFIG_MCP4922 is not set
# CONFIG_TI_DAC082S085 is not set
# CONFIG_TI_DAC5571 is not set
# CONFIG_TI_DAC7311 is not set
# CONFIG_TI_DAC7612 is not set
# CONFIG_VF610_DAC is not set
# end of Digital to analog converters

#
# IIO dummy driver
#
# end of IIO dummy driver

#
# Filters
#
# CONFIG_ADMV8818 is not set
# end of Filters

#
# Frequency Synthesizers DDS/PLL
#

#
# Clock Generator/Distribution
#
# CONFIG_AD9523 is not set
# end of Clock Generator/Distribution

#
# Phase-Locked Loop (PLL) frequency synthesizers
#
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
# CONFIG_ADF4377 is not set
# CONFIG_ADMFM2000 is not set
# CONFIG_ADMV1013 is not set
# CONFIG_ADMV1014 is not set
# CONFIG_ADMV4420 is not set
# CONFIG_ADRF6780 is not set
# end of Phase-Locked Loop (PLL) frequency synthesizers
# end of Frequency Synthesizers DDS/PLL

#
# Digital gyroscope sensors
#
# CONFIG_ADIS16080 is not set
# CONFIG_ADIS16130 is not set
# CONFIG_ADIS16136 is not set
# CONFIG_ADIS16260 is not set
# CONFIG_ADXRS290 is not set
# CONFIG_ADXRS450 is not set
# CONFIG_BMG160 is not set
# CONFIG_FXAS21002C is not set
CONFIG_HID_SENSOR_GYRO_3D=y
# CONFIG_MPU3050_I2C is not set
# CONFIG_IIO_ST_GYRO_3AXIS is not set
# CONFIG_ITG3200 is not set
# end of Digital gyroscope sensors

#
# Health Sensors
#

#
# Heart Rate Monitors
#
# CONFIG_AFE4403 is not set
# CONFIG_AFE4404 is not set
# CONFIG_MAX30100 is not set
# CONFIG_MAX30102 is not set
# end of Heart Rate Monitors
# end of Health Sensors

#
# Humidity sensors
#
# CONFIG_AM2315 is not set
# CONFIG_DHT11 is not set
# CONFIG_HDC100X is not set
# CONFIG_HDC2010 is not set
# CONFIG_HDC3020 is not set
CONFIG_HID_SENSOR_HUMIDITY=y
# CONFIG_HTS221 is not set
# CONFIG_HTU21 is not set
# CONFIG_SI7005 is not set
# CONFIG_SI7020 is not set
# end of Humidity sensors

#
# Inertial measurement units
#
# CONFIG_ADIS16400 is not set
# CONFIG_ADIS16460 is not set
# CONFIG_ADIS16475 is not set
# CONFIG_ADIS16480 is not set
# CONFIG_BMI160_I2C is not set
# CONFIG_BMI160_SPI is not set
# CONFIG_BMI323_I2C is not set
# CONFIG_BMI323_SPI is not set
# CONFIG_BOSCH_BNO055_SERIAL is not set
# CONFIG_BOSCH_BNO055_I2C is not set
# CONFIG_FXOS8700_I2C is not set
# CONFIG_FXOS8700_SPI is not set
# CONFIG_KMX61 is not set
# CONFIG_INV_ICM42600_I2C is not set
# CONFIG_INV_ICM42600_SPI is not set
# CONFIG_INV_MPU6050_I2C is not set
# CONFIG_INV_MPU6050_SPI is not set
# CONFIG_IIO_ST_LSM6DSX is not set
# CONFIG_IIO_ST_LSM9DS0 is not set
# end of Inertial measurement units

#
# Light sensors
#
# CONFIG_ACPI_ALS is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADUX1020 is not set
# CONFIG_AL3010 is not set
# CONFIG_AL3320A is not set
# CONFIG_APDS9300 is not set
# CONFIG_APDS9960 is not set
# CONFIG_AS73211 is not set
# CONFIG_BH1750 is not set
# CONFIG_BH1780 is not set
# CONFIG_CM32181 is not set
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
# CONFIG_CM3605 is not set
# CONFIG_CM36651 is not set
# CONFIG_GP2AP002 is not set
# CONFIG_GP2AP020A00F is not set
# CONFIG_SENSORS_ISL29018 is not set
# CONFIG_SENSORS_ISL29028 is not set
# CONFIG_ISL29125 is not set
# CONFIG_ISL76682 is not set
CONFIG_HID_SENSOR_ALS=y
CONFIG_HID_SENSOR_PROX=y
# CONFIG_JSA1212 is not set
# CONFIG_ROHM_BU27008 is not set
# CONFIG_ROHM_BU27034 is not set
# CONFIG_RPR0521 is not set
# CONFIG_LTR390 is not set
# CONFIG_LTR501 is not set
# CONFIG_LTRF216A is not set
# CONFIG_LV0104CS is not set
# CONFIG_MAX44000 is not set
# CONFIG_MAX44009 is not set
# CONFIG_NOA1305 is not set
# CONFIG_OPT3001 is not set
# CONFIG_OPT4001 is not set
# CONFIG_PA12203001 is not set
# CONFIG_SI1133 is not set
# CONFIG_SI1145 is not set
# CONFIG_STK3310 is not set
# CONFIG_ST_UVIS25 is not set
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_SENSORS_TSL2563 is not set
# CONFIG_TSL2583 is not set
# CONFIG_TSL2591 is not set
# CONFIG_TSL2772 is not set
# CONFIG_TSL4531 is not set
# CONFIG_US5182D is not set
# CONFIG_VCNL4000 is not set
# CONFIG_VCNL4035 is not set
# CONFIG_VEML6030 is not set
# CONFIG_VEML6070 is not set
# CONFIG_VEML6075 is not set
# CONFIG_VL6180 is not set
# CONFIG_ZOPT2201 is not set
# end of Light sensors

#
# Magnetometer sensors
#
# CONFIG_AF8133J is not set
# CONFIG_AK8974 is not set
# CONFIG_AK8975 is not set
# CONFIG_AK09911 is not set
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN_SPI is not set
# CONFIG_MAG3110 is not set
CONFIG_HID_SENSOR_MAGNETOMETER_3D=y
# CONFIG_MMC35240 is not set
# CONFIG_IIO_ST_MAGN_3AXIS is not set
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_RM3100_I2C is not set
# CONFIG_SENSORS_RM3100_SPI is not set
# CONFIG_TI_TMAG5273 is not set
# CONFIG_YAMAHA_YAS530 is not set
# end of Magnetometer sensors

#
# Multiplexers
#
# CONFIG_IIO_MUX is not set
# end of Multiplexers

#
# Inclinometer sensors
#
CONFIG_HID_SENSOR_INCLINOMETER_3D=y
CONFIG_HID_SENSOR_DEVICE_ROTATION=y
# end of Inclinometer sensors

#
# Triggers - standalone
#
# CONFIG_IIO_INTERRUPT_TRIGGER is not set
# CONFIG_IIO_SYSFS_TRIGGER is not set
# end of Triggers - standalone

#
# Linear and angular position sensors
#
# CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE is not set
# end of Linear and angular position sensors

#
# Digital potentiometers
#
# CONFIG_AD5110 is not set
# CONFIG_AD5272 is not set
# CONFIG_DS1803 is not set
# CONFIG_MAX5432 is not set
# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MCP4018 is not set
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP41010 is not set
# CONFIG_TPL0102 is not set
# CONFIG_X9250 is not set
# end of Digital potentiometers

#
# Digital potentiostats
#
# CONFIG_LMP91000 is not set
# end of Digital potentiostats

#
# Pressure sensors
#
# CONFIG_ABP060MG is not set
# CONFIG_ROHM_BM1390 is not set
# CONFIG_BMP280 is not set
# CONFIG_DLHL60D is not set
# CONFIG_DPS310 is not set
CONFIG_HID_SENSOR_PRESS=y
# CONFIG_HP03 is not set
# CONFIG_HSC030PA is not set
# CONFIG_ICP10100 is not set
# CONFIG_MPL115_I2C is not set
# CONFIG_MPL115_SPI is not set
# CONFIG_MPL3115 is not set
# CONFIG_MPRLS0025PA is not set
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_IIO_ST_PRESS is not set
# CONFIG_T5403 is not set
# CONFIG_HP206C is not set
# CONFIG_ZPA2326 is not set
# end of Pressure sensors

#
# Lightning sensors
#
# CONFIG_AS3935 is not set
# end of Lightning sensors

#
# Proximity and distance sensors
#
# CONFIG_IRSD200 is not set
# CONFIG_ISL29501 is not set
# CONFIG_LIDAR_LITE_V2 is not set
# CONFIG_MB1232 is not set
# CONFIG_PING is not set
# CONFIG_RFD77402 is not set
# CONFIG_SRF04 is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
# CONFIG_SX9360 is not set
# CONFIG_SX9500 is not set
# CONFIG_SRF08 is not set
# CONFIG_VCNL3020 is not set
# CONFIG_VL53L0X_I2C is not set
# end of Proximity and distance sensors

#
# Resolver to digital converters
#
# CONFIG_AD2S90 is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
# end of Resolver to digital converters

#
# Temperature sensors
#
# CONFIG_LTC2983 is not set
# CONFIG_MAXIM_THERMOCOUPLE is not set
CONFIG_HID_SENSOR_TEMP=y
# CONFIG_MLX90614 is not set
# CONFIG_MLX90632 is not set
# CONFIG_MLX90635 is not set
# CONFIG_TMP006 is not set
# CONFIG_TMP007 is not set
# CONFIG_TMP117 is not set
# CONFIG_TSYS01 is not set
# CONFIG_TSYS02D is not set
# CONFIG_MAX30208 is not set
# CONFIG_MAX31856 is not set
# CONFIG_MAX31865 is not set
# CONFIG_MCP9600 is not set
# end of Temperature sensors

# CONFIG_NTB is not set
# CONFIG_PWM is not set

#
# IRQ chip support
#
CONFIG_IRQCHIP=y
# CONFIG_AL_FIC is not set
# CONFIG_XILINX_INTC is not set
# end of IRQ chip support

# CONFIG_IPACK_BUS is not set
CONFIG_RESET_CONTROLLER=y
# CONFIG_RESET_GPIO is not set
# CONFIG_RESET_INTEL_GW is not set
# CONFIG_RESET_SIMPLE is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RESET_TI_TPS380X is not set

#
# PHY Subsystem
#
CONFIG_GENERIC_PHY=y
# CONFIG_USB_LGM_PHY is not set
# CONFIG_PHY_CAN_TRANSCEIVER is not set

#
# PHY drivers for Broadcom platforms
#
# CONFIG_BCM_KONA_USB2_PHY is not set
# end of PHY drivers for Broadcom platforms

# CONFIG_PHY_CADENCE_TORRENT is not set
# CONFIG_PHY_CADENCE_DPHY is not set
# CONFIG_PHY_CADENCE_DPHY_RX is not set
# CONFIG_PHY_CADENCE_SIERRA is not set
# CONFIG_PHY_CADENCE_SALVO is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_LAN966X_SERDES is not set
CONFIG_PHY_CPCAP_USB=y
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
# CONFIG_PHY_OCELOT_SERDES is not set
CONFIG_PHY_QCOM_USB_HS=y
CONFIG_PHY_QCOM_USB_HSIC=y
CONFIG_PHY_SAMSUNG_USB2=y
CONFIG_PHY_TUSB1210=y
# CONFIG_PHY_INTEL_LGM_COMBO is not set
# CONFIG_PHY_INTEL_LGM_EMMC is not set
# end of PHY Subsystem

# CONFIG_POWERCAP is not set
# CONFIG_MCB is not set

#
# Performance monitor support
#
# CONFIG_DWC_PCIE_PMU is not set
# end of Performance monitor support

CONFIG_RAS=y
CONFIG_USB4=y
# CONFIG_USB4_DEBUGFS_WRITE is not set
# CONFIG_USB4_DMA_TEST is not set

#
# Android
#
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES="binder0,binder1"
# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set
# end of Android

CONFIG_LIBNVDIMM=y
CONFIG_BLK_DEV_PMEM=y
CONFIG_ND_CLAIM=y
CONFIG_ND_BTT=y
CONFIG_BTT=y
CONFIG_ND_PFN=y
CONFIG_NVDIMM_PFN=y
CONFIG_NVDIMM_DAX=y
CONFIG_OF_PMEM=y
CONFIG_NVDIMM_KEYS=y
# CONFIG_NVDIMM_SECURITY_TEST is not set
CONFIG_DAX=y
CONFIG_DEV_DAX=y
# CONFIG_DEV_DAX_PMEM is not set
# CONFIG_DEV_DAX_KMEM is not set
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
CONFIG_NVMEM_LAYOUTS=y

#
# Layout Types
#
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# end of Layout Types

# CONFIG_NVMEM_RMEM is not set
# CONFIG_NVMEM_U_BOOT_ENV is not set

#
# HW tracing support
#
# CONFIG_STM is not set
# CONFIG_INTEL_TH is not set
# end of HW tracing support

# CONFIG_FPGA is not set
# CONFIG_FSI is not set
# CONFIG_TEE is not set
# CONFIG_SIOX is not set
# CONFIG_SLIMBUS is not set
# CONFIG_INTERCONNECT is not set
CONFIG_COUNTER=y
# CONFIG_INTEL_QEP is not set
# CONFIG_INTERRUPT_CNT is not set
CONFIG_MOST=y
# CONFIG_MOST_USB_HDM is not set
# CONFIG_MOST_CDEV is not set
# CONFIG_MOST_SND is not set
# CONFIG_PECI is not set
# CONFIG_HTE is not set
# end of Device Drivers

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_VALIDATE_FS_PARSER=y
CONFIG_FS_IOMAP=y
CONFIG_FS_STACK=y
CONFIG_BUFFER_HEAD=y
CONFIG_LEGACY_DIRECT_IO=y
# CONFIG_EXT2_FS is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
CONFIG_JFS_DEBUG=y
# CONFIG_JFS_STATISTICS is not set
CONFIG_XFS_FS=y
# CONFIG_XFS_SUPPORT_V4 is not set
# CONFIG_XFS_SUPPORT_ASCII_CI is not set
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_ONLINE_SCRUB is not set
# CONFIG_XFS_WARN is not set
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=y
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=y
CONFIG_OCFS2_FS_O2CB=y
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=y
CONFIG_OCFS2_FS_STATS=y
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
CONFIG_OCFS2_DEBUG_FS=y
CONFIG_BTRFS_FS=y
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
# CONFIG_BTRFS_DEBUG is not set
CONFIG_BTRFS_ASSERT=y
CONFIG_BTRFS_FS_REF_VERIFY=y
CONFIG_NILFS2_FS=y
CONFIG_F2FS_FS=y
CONFIG_F2FS_STAT_FS=y
CONFIG_F2FS_FS_XATTR=y
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_CHECK_FS=y
CONFIG_F2FS_FAULT_INJECTION=y
CONFIG_F2FS_FS_COMPRESSION=y
CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS_LZORLE=y
CONFIG_F2FS_FS_LZ4=y
CONFIG_F2FS_FS_LZ4HC=y
CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IOSTAT is not set
# CONFIG_F2FS_UNFAIR_RWSEM is not set
CONFIG_BCACHEFS_FS=y
CONFIG_BCACHEFS_QUOTA=y
# CONFIG_BCACHEFS_ERASURE_CODING is not set
# CONFIG_BCACHEFS_POSIX_ACL is not set
CONFIG_BCACHEFS_DEBUG=y
# CONFIG_BCACHEFS_TESTS is not set
# CONFIG_BCACHEFS_LOCK_TIME_STATS is not set
# CONFIG_BCACHEFS_NO_LATENCY_ACCT is not set
CONFIG_BCACHEFS_SIX_OPTIMISTIC_SPIN=y
CONFIG_ZONEFS_FS=y
CONFIG_FS_DAX=y
CONFIG_FS_DAX_PMD=y
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_EXPORTFS_BLOCK_OPS=y
CONFIG_FILE_LOCKING=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FS_ENCRYPTION_ALGS=y
# CONFIG_FS_ENCRYPTION_INLINE_CRYPT is not set
CONFIG_FS_VERITY=y
CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=y
CONFIG_CUSE=y
CONFIG_VIRTIO_FS=y
CONFIG_FUSE_DAX=y
CONFIG_FUSE_PASSTHROUGH=y
CONFIG_OVERLAY_FS=y
CONFIG_OVERLAY_FS_REDIRECT_DIR=y
CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
CONFIG_OVERLAY_FS_INDEX=y
# CONFIG_OVERLAY_FS_NFS_EXPORT is not set
# CONFIG_OVERLAY_FS_XINO_AUTO is not set
# CONFIG_OVERLAY_FS_METACOPY is not set
CONFIG_OVERLAY_FS_DEBUG=y

#
# Caches
#
CONFIG_NETFS_SUPPORT=y
# CONFIG_NETFS_STATS is not set
CONFIG_FSCACHE=y
# CONFIG_FSCACHE_STATS is not set
# CONFIG_FSCACHE_DEBUG is not set
CONFIG_CACHEFILES=y
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_ERROR_INJECTION is not set
# CONFIG_CACHEFILES_ONDEMAND is not set
# end of Caches

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
# end of CD-ROM/DVD Filesystems

#
# DOS/FAT/EXFAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_FAT_DEFAULT_UTF8 is not set
CONFIG_EXFAT_FS=y
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
CONFIG_NTFS3_FS=y
# CONFIG_NTFS3_64BIT_CLUSTER is not set
CONFIG_NTFS3_LZX_XPRESS=y
CONFIG_NTFS3_FS_POSIX_ACL=y
# CONFIG_NTFS_FS is not set
# end of DOS/FAT/EXFAT/NT Filesystems

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
# CONFIG_PROC_VMCORE_DEVICE_DUMP is not set
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PROC_CHILDREN=y
CONFIG_PROC_PID_ARCH_STATUS=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_TMPFS_INODE64 is not set
CONFIG_TMPFS_QUOTA=y
CONFIG_HUGETLBFS=y
# CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set
CONFIG_HUGETLB_PAGE=y
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
CONFIG_CONFIGFS_FS=y
# end of Pseudo filesystems

CONFIG_MISC_FILESYSTEMS=y
CONFIG_ORANGEFS_FS=y
CONFIG_ADFS_FS=y
# CONFIG_ADFS_FS_RW is not set
CONFIG_AFFS_FS=y
CONFIG_ECRYPT_FS=y
CONFIG_ECRYPT_FS_MESSAGING=y
CONFIG_HFS_FS=y
CONFIG_HFSPLUS_FS=y
CONFIG_BEFS_FS=y
# CONFIG_BEFS_DEBUG is not set
CONFIG_BFS_FS=y
CONFIG_EFS_FS=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
CONFIG_JFFS2_SUMMARY=y
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
# CONFIG_JFFS2_CMODE_NONE is not set
CONFIG_JFFS2_CMODE_PRIORITY=y
# CONFIG_JFFS2_CMODE_SIZE is not set
# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
CONFIG_UBIFS_FS_ZSTD=y
CONFIG_UBIFS_ATIME_SUPPORT=y
CONFIG_UBIFS_FS_XATTR=y
CONFIG_UBIFS_FS_SECURITY=y
# CONFIG_UBIFS_FS_AUTHENTICATION is not set
CONFIG_CRAMFS=y
CONFIG_CRAMFS_BLOCKDEV=y
CONFIG_CRAMFS_MTD=y
CONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_FILE_CACHE is not set
CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZSTD=y
CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
CONFIG_VXFS_FS=y
CONFIG_MINIX_FS=y
CONFIG_OMFS_FS=y
CONFIG_HPFS_FS=y
CONFIG_QNX4FS_FS=y
CONFIG_QNX6FS_FS=y
# CONFIG_QNX6FS_DEBUG is not set
CONFIG_ROMFS_FS=y
# CONFIG_ROMFS_BACKED_BY_BLOCK is not set
# CONFIG_ROMFS_BACKED_BY_MTD is not set
CONFIG_ROMFS_BACKED_BY_BOTH=y
CONFIG_ROMFS_ON_BLOCK=y
CONFIG_ROMFS_ON_MTD=y
CONFIG_PSTORE=y
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_PMSG is not set
# CONFIG_PSTORE_RAM is not set
# CONFIG_PSTORE_BLK is not set
CONFIG_SYSV_FS=y
CONFIG_UFS_FS=y
CONFIG_UFS_FS_WRITE=y
# CONFIG_UFS_DEBUG is not set
CONFIG_EROFS_FS=y
# CONFIG_EROFS_FS_DEBUG is not set
CONFIG_EROFS_FS_XATTR=y
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_ZIP=y
# CONFIG_EROFS_FS_ZIP_LZMA is not set
# CONFIG_EROFS_FS_ZIP_DEFLATE is not set
# CONFIG_EROFS_FS_ONDEMAND is not set
# CONFIG_EROFS_FS_PCPU_KTHREAD is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
# CONFIG_NFS_SWAP is not set
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_PNFS_FILE_LAYOUT=y
CONFIG_PNFS_BLOCK=y
CONFIG_PNFS_FLEXFILE_LAYOUT=y
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
# CONFIG_NFS_V4_1_MIGRATION is not set
CONFIG_NFS_V4_SECURITY_LABEL=y
CONFIG_ROOT_NFS=y
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFS_V4_2_READ_PLUS=y
CONFIG_NFSD=y
# CONFIG_NFSD_V2 is not set
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_FLEXFILELAYOUT=y
CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
# CONFIG_NFSD_LEGACY_CLIENT_TRACKING is not set
CONFIG_GRACE_PERIOD=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_NFS_V4_2_SSC_HELPER=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1 is not set
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA is not set
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set
# CONFIG_SUNRPC_DEBUG is not set
# CONFIG_SUNRPC_XPRT_RDMA is not set
CONFIG_CEPH_FS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS_POSIX_ACL=y
# CONFIG_CEPH_FS_SECURITY_LABEL is not set
CONFIG_CIFS=y
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_SWN_UPCALL=y
CONFIG_CIFS_SMB_DIRECT=y
CONFIG_CIFS_FSCACHE=y
# CONFIG_CIFS_ROOT is not set
# CONFIG_SMB_SERVER is not set
CONFIG_SMBFS=y
# CONFIG_CODA_FS is not set
CONFIG_AFS_FS=y
# CONFIG_AFS_DEBUG is not set
CONFIG_AFS_FSCACHE=y
# CONFIG_AFS_DEBUG_CURSOR is not set
CONFIG_9P_FS=y
CONFIG_9P_FSCACHE=y
CONFIG_9P_FS_POSIX_ACL=y
CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=y
CONFIG_NLS_CODEPAGE_775=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=y
CONFIG_NLS_CODEPAGE_855=y
CONFIG_NLS_CODEPAGE_857=y
CONFIG_NLS_CODEPAGE_860=y
CONFIG_NLS_CODEPAGE_861=y
CONFIG_NLS_CODEPAGE_862=y
CONFIG_NLS_CODEPAGE_863=y
CONFIG_NLS_CODEPAGE_864=y
CONFIG_NLS_CODEPAGE_865=y
CONFIG_NLS_CODEPAGE_866=y
CONFIG_NLS_CODEPAGE_869=y
CONFIG_NLS_CODEPAGE_936=y
CONFIG_NLS_CODEPAGE_950=y
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
CONFIG_NLS_CODEPAGE_874=y
CONFIG_NLS_ISO8859_8=y
CONFIG_NLS_CODEPAGE_1250=y
CONFIG_NLS_CODEPAGE_1251=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_3=y
CONFIG_NLS_ISO8859_4=y
CONFIG_NLS_ISO8859_5=y
CONFIG_NLS_ISO8859_6=y
CONFIG_NLS_ISO8859_7=y
CONFIG_NLS_ISO8859_9=y
CONFIG_NLS_ISO8859_13=y
CONFIG_NLS_ISO8859_14=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=y
CONFIG_NLS_KOI8_U=y
CONFIG_NLS_MAC_ROMAN=y
CONFIG_NLS_MAC_CELTIC=y
CONFIG_NLS_MAC_CENTEURO=y
CONFIG_NLS_MAC_CROATIAN=y
CONFIG_NLS_MAC_CYRILLIC=y
CONFIG_NLS_MAC_GAELIC=y
CONFIG_NLS_MAC_GREEK=y
CONFIG_NLS_MAC_ICELAND=y
CONFIG_NLS_MAC_INUIT=y
CONFIG_NLS_MAC_ROMANIAN=y
CONFIG_NLS_MAC_TURKISH=y
CONFIG_NLS_UTF8=y
CONFIG_NLS_UCS2_UTILS=y
CONFIG_DLM=y
# CONFIG_DLM_DEBUG is not set
CONFIG_UNICODE=y
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
CONFIG_IO_WQ=y
# end of File systems

#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_REQUEST_CACHE=y
CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_BIG_KEYS=y
CONFIG_TRUSTED_KEYS=y
# CONFIG_TRUSTED_KEYS_TPM is not set

#
# No trust source selected!
#
CONFIG_ENCRYPTED_KEYS=y
# CONFIG_USER_DECRYPTED_DATA is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEY_NOTIFICATIONS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_INFINIBAND=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
# CONFIG_INTEL_TXT is not set
CONFIG_LSM_MMAP_MIN_ADDR=65536
CONFIG_HARDENED_USERCOPY=y
CONFIG_FORTIFY_SOURCE=y
# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
# CONFIG_SECURITY_SELINUX_DEBUG is not set
# CONFIG_SECURITY_SMACK is not set
CONFIG_SECURITY_TOMOYO=y
CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=64
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=32
CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER=y
CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING=y
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_LOADPIN is not set
CONFIG_SECURITY_YAMA=y
CONFIG_SECURITY_SAFESETID=y
CONFIG_SECURITY_LOCKDOWN_LSM=y
CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y
CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y
# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set
# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set
CONFIG_SECURITY_LANDLOCK=y
CONFIG_INTEGRITY=y
CONFIG_INTEGRITY_SIGNATURE=y
CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
CONFIG_INTEGRITY_TRUSTED_KEYRING=y
CONFIG_INTEGRITY_AUDIT=y
CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_LSM_RULES=y
CONFIG_IMA_NG_TEMPLATE=y
# CONFIG_IMA_SIG_TEMPLATE is not set
CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng"
# CONFIG_IMA_DEFAULT_HASH_SHA1 is not set
CONFIG_IMA_DEFAULT_HASH_SHA256=y
# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set
# CONFIG_IMA_DEFAULT_HASH_WP512 is not set
CONFIG_IMA_DEFAULT_HASH="sha256"
CONFIG_IMA_WRITE_POLICY=y
CONFIG_IMA_READ_POLICY=y
CONFIG_IMA_APPRAISE=y
# CONFIG_IMA_ARCH_POLICY is not set
# CONFIG_IMA_APPRAISE_BUILD_POLICY is not set
# CONFIG_IMA_APPRAISE_BOOTPARAM is not set
CONFIG_IMA_APPRAISE_MODSIG=y
# CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY is not set
# CONFIG_IMA_BLACKLIST_KEYRING is not set
# CONFIG_IMA_LOAD_X509 is not set
CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y
CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y
# CONFIG_IMA_DISABLE_HTABLE is not set
CONFIG_EVM=y
CONFIG_EVM_ATTR_FSUUID=y
CONFIG_EVM_ADD_XATTRS=y
# CONFIG_EVM_LOAD_X509 is not set
CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_LSM="landlock,lockdown,yama,safesetid,integrity,tomoyo,selinux,bpf"

#
# Kernel hardening options
#

#
# Memory initialization
#
CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
CONFIG_INIT_STACK_NONE=y
# CONFIG_INIT_STACK_ALL_PATTERN is not set
# CONFIG_INIT_STACK_ALL_ZERO is not set
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
# end of Memory initialization

#
# Hardening of kernel data structures
#
CONFIG_LIST_HARDENED=y
CONFIG_BUG_ON_DATA_CORRUPTION=y
# end of Hardening of kernel data structures

CONFIG_RANDSTRUCT_NONE=y
# end of Kernel hardening options
# end of Security options

CONFIG_XOR_BLOCKS=y
CONFIG_ASYNC_CORE=y
CONFIG_ASYNC_MEMCPY=y
CONFIG_ASYNC_XOR=y
CONFIG_ASYNC_PQ=y
CONFIG_ASYNC_RAID6_RECOV=y
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SIG2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_RNG_DEFAULT=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_AKCIPHER=y
CONFIG_CRYPTO_KPP2=y
CONFIG_CRYPTO_KPP=y
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=y
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=y
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_TEST is not set
CONFIG_CRYPTO_SIMD=y
CONFIG_CRYPTO_ENGINE=y
# end of Crypto core or helper

#
# Public-key cryptography
#
CONFIG_CRYPTO_RSA=y
CONFIG_CRYPTO_DH=y
# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set
CONFIG_CRYPTO_ECC=y
CONFIG_CRYPTO_ECDH=y
# CONFIG_CRYPTO_ECDSA is not set
CONFIG_CRYPTO_ECRDSA=y
CONFIG_CRYPTO_SM2=y
CONFIG_CRYPTO_CURVE25519=y
# end of Public-key cryptography

#
# Block ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_TI=y
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_ARIA=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_BLOWFISH_COMMON=y
CONFIG_CRYPTO_CAMELLIA=y
CONFIG_CRYPTO_CAST_COMMON=y
CONFIG_CRYPTO_CAST5=y
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_FCRYPT=y
CONFIG_CRYPTO_KHAZAD=y
CONFIG_CRYPTO_SEED=y
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_SM4=y
CONFIG_CRYPTO_SM4_GENERIC=y
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
# end of Block ciphers

#
# Length-preserving ciphers and modes
#
CONFIG_CRYPTO_ADIANTUM=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_CHACHA20=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_HCTR2=y
CONFIG_CRYPTO_KEYWRAP=y
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_XCTR=y
CONFIG_CRYPTO_XTS=y
CONFIG_CRYPTO_NHPOLY1305=y
# end of Length-preserving ciphers and modes

#
# AEAD (authenticated encryption with associated data) ciphers
#
CONFIG_CRYPTO_AEGIS128=y
CONFIG_CRYPTO_CHACHA20POLY1305=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_GENIV=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ECHAINIV=y
CONFIG_CRYPTO_ESSIV=y
# end of AEAD (authenticated encryption with associated data) ciphers

#
# Hashes, digests, and MACs
#
CONFIG_CRYPTO_BLAKE2B=y
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_POLYVAL=y
CONFIG_CRYPTO_POLY1305=y
CONFIG_CRYPTO_RMD160=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=y
CONFIG_CRYPTO_SM3=y
# CONFIG_CRYPTO_SM3_GENERIC is not set
CONFIG_CRYPTO_STREEBOG=y
CONFIG_CRYPTO_VMAC=y
CONFIG_CRYPTO_WP512=y
CONFIG_CRYPTO_XCBC=y
CONFIG_CRYPTO_XXHASH=y
# end of Hashes, digests, and MACs

#
# CRCs (cyclic redundancy checks)
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=y
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRC64_ROCKSOFT=y
# end of CRCs (cyclic redundancy checks)

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_LZ4=y
CONFIG_CRYPTO_LZ4HC=y
CONFIG_CRYPTO_ZSTD=y
# end of Compression

#
# Random number generation
#
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_CRYPTO_DRBG_MENU=y
CONFIG_CRYPTO_DRBG_HMAC=y
CONFIG_CRYPTO_DRBG_HASH=y
CONFIG_CRYPTO_DRBG_CTR=y
CONFIG_CRYPTO_DRBG=y
CONFIG_CRYPTO_JITTERENTROPY=y
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKS=64
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32
CONFIG_CRYPTO_JITTERENTROPY_OSR=1
CONFIG_CRYPTO_KDF800108_CTR=y
# end of Random number generation

#
# Userspace interface
#
CONFIG_CRYPTO_USER_API=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_USER_API_SKCIPHER=y
CONFIG_CRYPTO_USER_API_RNG=y
# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
CONFIG_CRYPTO_USER_API_AEAD=y
CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
# CONFIG_CRYPTO_STATS is not set
# end of Userspace interface

CONFIG_CRYPTO_HASH_INFO=y

#
# Accelerated Cryptographic Algorithms for CPU (x86)
#
CONFIG_CRYPTO_CURVE25519_X86=y
CONFIG_CRYPTO_AES_NI_INTEL=y
CONFIG_CRYPTO_BLOWFISH_X86_64=y
CONFIG_CRYPTO_CAMELLIA_X86_64=y
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=y
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=y
CONFIG_CRYPTO_CAST5_AVX_X86_64=y
CONFIG_CRYPTO_CAST6_AVX_X86_64=y
CONFIG_CRYPTO_DES3_EDE_X86_64=y
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=y
CONFIG_CRYPTO_SERPENT_AVX_X86_64=y
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=y
CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64=y
CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64=y
CONFIG_CRYPTO_TWOFISH_X86_64=y
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=y
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=y
CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64=y
# CONFIG_CRYPTO_ARIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_ARIA_GFNI_AVX512_X86_64 is not set
CONFIG_CRYPTO_CHACHA20_X86_64=y
CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=y
CONFIG_CRYPTO_NHPOLY1305_SSE2=y
CONFIG_CRYPTO_NHPOLY1305_AVX2=y
CONFIG_CRYPTO_BLAKE2S_X86=y
CONFIG_CRYPTO_POLYVAL_CLMUL_NI=y
CONFIG_CRYPTO_POLY1305_X86_64=y
CONFIG_CRYPTO_SHA1_SSSE3=y
CONFIG_CRYPTO_SHA256_SSSE3=y
CONFIG_CRYPTO_SHA512_SSSE3=y
CONFIG_CRYPTO_SM3_AVX_X86_64=y
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=y
CONFIG_CRYPTO_CRC32C_INTEL=y
CONFIG_CRYPTO_CRC32_PCLMUL=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=y
# end of Accelerated Cryptographic Algorithms for CPU (x86)

CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=y
CONFIG_CRYPTO_DEV_PADLOCK_AES=y
CONFIG_CRYPTO_DEV_PADLOCK_SHA=y
# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
CONFIG_CRYPTO_DEV_CCP=y
CONFIG_CRYPTO_DEV_CCP_DD=y
# CONFIG_CRYPTO_DEV_SP_CCP is not set
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
CONFIG_CRYPTO_DEV_QAT=y
CONFIG_CRYPTO_DEV_QAT_DH895xCC=y
CONFIG_CRYPTO_DEV_QAT_C3XXX=y
CONFIG_CRYPTO_DEV_QAT_C62X=y
# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
# CONFIG_CRYPTO_DEV_QAT_420XX is not set
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=y
CONFIG_CRYPTO_DEV_QAT_C3XXXVF=y
CONFIG_CRYPTO_DEV_QAT_C62XVF=y
# CONFIG_CRYPTO_DEV_QAT_ERROR_INJECTION is not set
CONFIG_CRYPTO_DEV_VIRTIO=y
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_CCREE is not set
# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_PKCS8_PRIVATE_KEY_PARSER=y
CONFIG_PKCS7_MESSAGE_PARSER=y
CONFIG_PKCS7_TEST_KEY=y
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
# CONFIG_FIPS_SIGNATURE_SELFTEST is not set

#
# Certificates for signature checking
#
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
CONFIG_SECONDARY_TRUSTED_KEYRING=y
# CONFIG_SECONDARY_TRUSTED_KEYRING_SIGNED_BY_BUILTIN is not set
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
# end of Certificates for signature checking

CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=y
# CONFIG_RAID6_PQ_BENCHMARK is not set
CONFIG_LINEAR_RANGES=y
# CONFIG_PACKING is not set
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
# CONFIG_CORDIC is not set
# CONFIG_PRIME_NUMBERS is not set
CONFIG_RATIONAL=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_ARCH_USE_SYM_ANNOTATIONS=y

#
# Crypto library routines
#
CONFIG_CRYPTO_LIB_UTILS=y
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_ARC4=y
CONFIG_CRYPTO_LIB_GF128MUL=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y
CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y
CONFIG_CRYPTO_LIB_CHACHA=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=y
CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=y
CONFIG_CRYPTO_LIB_CURVE25519=y
CONFIG_CRYPTO_LIB_DES=y
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=y
CONFIG_CRYPTO_LIB_POLY1305_GENERIC=y
CONFIG_CRYPTO_LIB_POLY1305=y
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=y
CONFIG_CRYPTO_LIB_SHA1=y
CONFIG_CRYPTO_LIB_SHA256=y
# end of Crypto library routines

CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC64_ROCKSOFT=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
CONFIG_CRC64=y
CONFIG_CRC4=y
CONFIG_CRC7=y
CONFIG_LIBCRC32C=y
CONFIG_CRC8=y
CONFIG_XXHASH=y
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_842_COMPRESS=y
CONFIG_842_DECOMPRESS=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_COMPRESS=y
CONFIG_LZ4HC_COMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMMON=y
CONFIG_ZSTD_COMPRESS=y
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
# CONFIG_XZ_DEC_MICROLZMA is not set
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=y
CONFIG_REED_SOLOMON_DEC8=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=y
CONFIG_TEXTSEARCH_BM=y
CONFIG_TEXTSEARCH_FSM=y
CONFIG_INTERVAL_TREE=y
CONFIG_INTERVAL_TREE_SPAN_ITER=y
CONFIG_XARRAY_MULTI=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_CLOSURES=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS=y
CONFIG_NEED_SG_DMA_FLAGS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DMA_DECLARE_COHERENT=y
CONFIG_SWIOTLB=y
# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_DMA_RESTRICTED_POOL is not set
CONFIG_DMA_CMA=y
# CONFIG_DMA_NUMA_CMA is not set

#
# Default contiguous memory area size:
#
CONFIG_CMA_SIZE_MBYTES=0
CONFIG_CMA_SIZE_SEL_MBYTES=y
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
# CONFIG_CMA_SIZE_SEL_MIN is not set
# CONFIG_CMA_SIZE_SEL_MAX is not set
CONFIG_CMA_ALIGNMENT=8
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
CONFIG_SGL_ALLOC=y
CONFIG_CHECK_SIGNATURE=y
# CONFIG_CPUMASK_OFFSTACK is not set
# CONFIG_FORCE_NR_CPUS is not set
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_GLOB=y
# CONFIG_GLOB_SELFTEST is not set
CONFIG_NLATTR=y
CONFIG_CLZ_TAB=y
CONFIG_IRQ_POLL=y
CONFIG_MPILIB=y
CONFIG_SIGNATURE=y
CONFIG_DIMLIB=y
CONFIG_LIBFDT=y
CONFIG_OID_REGISTRY=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_TIME_NS=y
CONFIG_FONT_SUPPORT=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_MEMREGION=y
CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_ARCH_HAS_COPY_MC=y
CONFIG_ARCH_STACKWALK=y
CONFIG_STACKDEPOT=y
CONFIG_STACKDEPOT_ALWAYS_INIT=y
CONFIG_STACKDEPOT_MAX_FRAMES=64
CONFIG_REF_TRACKER=y
CONFIG_SBITMAP=y
# CONFIG_LWQ_TEST is not set
# end of Library routines

CONFIG_FIRMWARE_TABLE=y

#
# Kernel hacking
#

#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
CONFIG_PRINTK_CALLER=y
# CONFIG_STACKTRACE_BUILD_ID is not set
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_BOOT_PRINTK_DELAY is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_DEBUG_CORE=y
CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_DEBUG_BUGVERBOSE=y
# end of printk and dmesg options

CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_MISC=y

#
# Compile-time checks and compiler options
#
CONFIG_DEBUG_INFO=y
CONFIG_AS_HAS_NON_CONST_ULEB128=y
# CONFIG_DEBUG_INFO_NONE is not set
# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
CONFIG_DEBUG_INFO_DWARF4=y
# CONFIG_DEBUG_INFO_DWARF5 is not set
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_DEBUG_INFO_COMPRESSED_NONE=y
# CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set
# CONFIG_DEBUG_INFO_SPLIT is not set
# CONFIG_DEBUG_INFO_BTF is not set
CONFIG_GDB_SCRIPTS=y
CONFIG_FRAME_WARN=2048
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_HEADERS_INSTALL is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set
CONFIG_OBJTOOL=y
CONFIG_NOINSTR_VALIDATION=y
# CONFIG_VMLINUX_MAP is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# end of Compile-time checks and compiler options

#
# Generic Kernel Debugging Instruments
#
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_ARCH_HAS_UBSAN=y
CONFIG_UBSAN=y
# CONFIG_UBSAN_TRAP is not set
CONFIG_CC_HAS_UBSAN_ARRAY_BOUNDS=y
CONFIG_UBSAN_BOUNDS=y
CONFIG_UBSAN_ARRAY_BOUNDS=y
CONFIG_UBSAN_SHIFT=y
CONFIG_UBSAN_SIGNED_WRAP=y
# CONFIG_UBSAN_BOOL is not set
# CONFIG_UBSAN_ENUM is not set
# CONFIG_UBSAN_ALIGNMENT is not set
# CONFIG_TEST_UBSAN is not set
CONFIG_HAVE_ARCH_KCSAN=y
CONFIG_HAVE_KCSAN_COMPILER=y
# end of Generic Kernel Debugging Instruments

#
# Networking Debugging
#
CONFIG_NET_DEV_REFCNT_TRACKER=y
CONFIG_NET_NS_REFCNT_TRACKER=y
CONFIG_DEBUG_NET=y
# end of Networking Debugging

#
# Memory Debugging
#
CONFIG_PAGE_EXTENSION=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_SLUB_DEBUG=y
# CONFIG_SLUB_DEBUG_ON is not set
CONFIG_PAGE_OWNER=y
CONFIG_PAGE_TABLE_CHECK=y
CONFIG_PAGE_TABLE_CHECK_ENFORCED=y
CONFIG_PAGE_POISONING=y
# CONFIG_DEBUG_PAGE_REF is not set
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_ARCH_HAS_DEBUG_WX=y
CONFIG_DEBUG_WX=y
CONFIG_GENERIC_PTDUMP=y
CONFIG_PTDUMP_CORE=y
CONFIG_PTDUMP_DEBUGFS=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_PER_VMA_LOCK_STATS is not set
CONFIG_DEBUG_OBJECTS=y
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
CONFIG_DEBUG_OBJECTS_FREE=y
CONFIG_DEBUG_OBJECTS_TIMERS=y
CONFIG_DEBUG_OBJECTS_WORK=y
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_SHRINKER_DEBUG is not set
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_SCHED_STACK_END_CHECK=y
CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
CONFIG_DEBUG_VM_IRQSOFF=y
CONFIG_DEBUG_VM=y
CONFIG_DEBUG_VM_MAPLE_TREE=y
CONFIG_DEBUG_VM_RB=y
CONFIG_DEBUG_VM_PGFLAGS=y
CONFIG_DEBUG_VM_PGTABLE=y
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
CONFIG_DEBUG_VIRTUAL=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_DEBUG_KMAP_LOCAL=y
CONFIG_ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP=y
CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP=y
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_KASAN_SW_TAGS=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
CONFIG_KASAN=y
CONFIG_KASAN_GENERIC=y
# CONFIG_KASAN_OUTLINE is not set
CONFIG_KASAN_INLINE=y
CONFIG_KASAN_STACK=y
CONFIG_KASAN_VMALLOC=y
# CONFIG_KASAN_MODULE_TEST is not set
# CONFIG_KASAN_EXTRA_INFO is not set
CONFIG_HAVE_ARCH_KFENCE=y
CONFIG_KFENCE=y
CONFIG_KFENCE_SAMPLE_INTERVAL=100
CONFIG_KFENCE_NUM_OBJECTS=255
# CONFIG_KFENCE_DEFERRABLE is not set
CONFIG_KFENCE_STATIC_KEYS=y
CONFIG_KFENCE_STRESS_TEST_FAULTS=0
CONFIG_HAVE_ARCH_KMSAN=y
CONFIG_HAVE_KMSAN_COMPILER=y
# end of Memory Debugging

# CONFIG_DEBUG_SHIRQ is not set

#
# Debug Oops, Lockups and Hangs
#
CONFIG_PANIC_ON_OOPS=y
CONFIG_PANIC_ON_OOPS_VALUE=1
CONFIG_PANIC_TIMEOUT=86400
CONFIG_LOCKUP_DETECTOR=y
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_HARDLOCKUP_DETECTOR_PREFER_BUDDY is not set
CONFIG_HARDLOCKUP_DETECTOR_PERF=y
# CONFIG_HARDLOCKUP_DETECTOR_BUDDY is not set
# CONFIG_HARDLOCKUP_DETECTOR_ARCH is not set
CONFIG_HARDLOCKUP_DETECTOR_COUNTS_HRTIMER=y
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=140
CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
CONFIG_WQ_WATCHDOG=y
# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set
# CONFIG_TEST_LOCKUP is not set
# end of Debug Oops, Lockups and Hangs

#
# Scheduler Debugging
#
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
# end of Scheduler Debugging

CONFIG_DEBUG_TIMEKEEPING=y
CONFIG_DEBUG_PREEMPT=y

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RAW_LOCK_NESTING is not set
# CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
CONFIG_DEBUG_RWSEMS=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_LOCKDEP=y
CONFIG_LOCKDEP_BITS=17
CONFIG_LOCKDEP_CHAINS_BITS=18
CONFIG_LOCKDEP_STACK_TRACE_BITS=20
CONFIG_LOCKDEP_STACK_TRACE_HASH_BITS=14
CONFIG_LOCKDEP_CIRCULAR_QUEUE_BITS=12
# CONFIG_DEBUG_LOCKDEP is not set
CONFIG_DEBUG_ATOMIC_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_LOCK_TORTURE_TEST is not set
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_SCF_TORTURE_TEST is not set
CONFIG_CSD_LOCK_WAIT_DEBUG=y
# CONFIG_CSD_LOCK_WAIT_DEBUG_DEFAULT is not set
# end of Lock Debugging (spinlocks, mutexes, etc...)

CONFIG_TRACE_IRQFLAGS=y
CONFIG_TRACE_IRQFLAGS_NMI=y
CONFIG_NMI_CHECK_CPU=y
CONFIG_DEBUG_IRQFLAGS=y
CONFIG_STACKTRACE=y
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_KOBJECT_RELEASE is not set

#
# Debug kernel data structures
#
CONFIG_DEBUG_LIST=y
CONFIG_DEBUG_PLIST=y
CONFIG_DEBUG_SG=y
CONFIG_DEBUG_NOTIFIERS=y
# CONFIG_DEBUG_CLOSURES is not set
CONFIG_DEBUG_MAPLE_TREE=y
# end of Debug kernel data structures

#
# RCU Debugging
#
CONFIG_PROVE_RCU=y
# CONFIG_RCU_SCALE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=100
CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=21000
# CONFIG_RCU_CPU_STALL_CPUTIME is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_EQS_DEBUG=y
# end of RCU Debugging

# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_LATENCYTOP is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_RETHOOK=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_OBJTOOL_MCOUNT=y
CONFIG_HAVE_OBJTOOL_NOP_MCOUNT=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_PREEMPTIRQ_TRACEPOINTS=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_BOOTTIME_TRACING is not set
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_STACK_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_HWLAT_TRACER is not set
# CONFIG_OSNOISE_TRACER is not set
# CONFIG_TIMERLAT_TRACER is not set
# CONFIG_MMIOTRACE is not set
# CONFIG_FTRACE_SYSCALLS is not set
# CONFIG_TRACER_SNAPSHOT is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y
# CONFIG_SYNTH_EVENTS is not set
# CONFIG_USER_EVENTS is not set
# CONFIG_HIST_TRIGGERS is not set
CONFIG_TRACE_EVENT_INJECT=y
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_TRACE_EVAL_MAP_FILE is not set
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS=y
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
# CONFIG_RV is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
# CONFIG_SAMPLES is not set
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
# CONFIG_STRICT_DEVMEM is not set

#
# x86 Debugging
#
CONFIG_EARLY_PRINTK_USB=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
# CONFIG_EARLY_PRINTK_USB_XDBC is not set
# CONFIG_DEBUG_TLBFLUSH is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
CONFIG_DEBUG_ENTRY=y
# CONFIG_DEBUG_NMI_SELFTEST is not set
CONFIG_X86_DEBUG_FPU=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_UNWINDER_ORC=y
# CONFIG_UNWINDER_FRAME_POINTER is not set
# end of x86 Debugging

#
# Kernel Testing and Coverage
#
# CONFIG_KUNIT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
CONFIG_FAULT_INJECTION=y
CONFIG_FAILSLAB=y
CONFIG_FAIL_PAGE_ALLOC=y
CONFIG_FAULT_INJECTION_USERCOPY=y
CONFIG_FAIL_MAKE_REQUEST=y
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_FUTEX=y
CONFIG_FAULT_INJECTION_DEBUG_FS=y
# CONFIG_FAIL_MMC_REQUEST is not set
CONFIG_FAULT_INJECTION_CONFIGFS=y
# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
CONFIG_ARCH_HAS_KCOV=y
CONFIG_CC_HAS_SANCOV_TRACE_PC=y
CONFIG_KCOV=y
CONFIG_KCOV_ENABLE_COMPARISONS=y
CONFIG_KCOV_INSTRUMENT_ALL=y
CONFIG_KCOV_IRQ_AREA_SIZE=0x40000
CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_TEST_DHRY is not set
# CONFIG_LKDTM is not set
# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_DIV64 is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_TEST_REF_TRACKER is not set
# CONFIG_RBTREE_TEST is not set
# CONFIG_REED_SOLOMON_TEST is not set
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_PERCPU_TEST is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_TEST_HEXDUMP is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_SCANF is not set
# CONFIG_TEST_BITMAP is not set
# CONFIG_TEST_UUID is not set
# CONFIG_TEST_XARRAY is not set
# CONFIG_TEST_MAPLE_TREE is not set
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_TEST_IDA is not set
# CONFIG_TEST_LKM is not set
# CONFIG_TEST_BITOPS is not set
# CONFIG_TEST_VMALLOC is not set
# CONFIG_TEST_USER_COPY is not set
# CONFIG_TEST_BPF is not set
# CONFIG_TEST_BLACKHOLE_DEV is not set
# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_TEST_FIRMWARE is not set
# CONFIG_TEST_SYSCTL is not set
# CONFIG_TEST_UDELAY is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_DYNAMIC_DEBUG is not set
# CONFIG_TEST_KMOD is not set
# CONFIG_TEST_DEBUG_VIRTUAL is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
# CONFIG_TEST_HMM is not set
# CONFIG_TEST_FREE_PAGES is not set
# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set
# CONFIG_TEST_OBJPOOL is not set
CONFIG_ARCH_USE_MEMTEST=y
# CONFIG_MEMTEST is not set
# end of Kernel Testing and Coverage

#
# Rust hacking
#
# end of Rust hacking
# end of Kernel hacking

[-- Attachment #3: fput.c --]
[-- Type: text/x-csrc, Size: 37673 bytes --]

#define _GNU_SOURCE

#include <dirent.h>
#include <endian.h>
#include <errno.h>
#include <fcntl.h>
#include <setjmp.h>
#include <signal.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/prctl.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <time.h>
#include <unistd.h>

#include <linux/loop.h>

#ifndef __NR_memfd_create
#define __NR_memfd_create 319
#endif

static unsigned long long procid;

static void sleep_ms(uint64_t ms)
{
  usleep(ms * 1000);
}

static uint64_t current_time_ms(void)
{
  struct timespec ts;
  if (clock_gettime(CLOCK_MONOTONIC, &ts))
    exit(1);
  return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000;
}

static bool write_file(const char* file, const char* what, ...)
{
  char buf[1024];
  va_list args;
  va_start(args, what);
  vsnprintf(buf, sizeof(buf), what, args);
  va_end(args);
  buf[sizeof(buf) - 1] = 0;
  int len = strlen(buf);
  int fd = open(file, O_WRONLY | O_CLOEXEC);
  if (fd == -1)
    return false;
  if (write(fd, buf, len) != len) {
    int err = errno;
    close(fd);
    errno = err;
    return false;
  }
  close(fd);
  return true;
}

static long syz_mod_param(volatile long a0, volatile long a1, volatile long a2,
                          volatile long a3, volatile long a4)
{
  int fd, sysfd;
  char buf[1024], sysbuf[1024], input[1024];
  char* hash;
  strncpy(buf, (char*)a0, sizeof(buf) - 1);
  buf[sizeof(buf) - 1] = 0;
  while ((hash = strchr(buf, '#'))) {
    *hash = '0' + (char)(a1 % 10);
    a1 /= 10;
  }
  fd = open(buf, a2, 0);
  strncpy(sysbuf, (char*)a3, sizeof(sysbuf) - 1);
  sysbuf[sizeof(sysbuf) - 1] = 0;
  sysfd = open(sysbuf, O_RDWR, 0);
  strncpy(input, (char*)a4, sizeof(input) - 1);
  hash = strchr(input, '\0');
  sysfd = write(sysfd, input, hash - input + 1);
  return fd;
}

//% This code is derived from puff.{c,h}, found in the zlib development. The
//% original files come with the following copyright notice:

//% Copyright (C) 2002-2013 Mark Adler, all rights reserved
//% version 2.3, 21 Jan 2013
//% This software is provided 'as-is', without any express or implied
//% warranty.  In no event will the author be held liable for any damages
//% arising from the use of this software.
//% Permission is granted to anyone to use this software for any purpose,
//% including commercial applications, and to alter it and redistribute it
//% freely, subject to the following restrictions:
//% 1. The origin of this software must not be misrepresented; you must not
//%    claim that you wrote the original software. If you use this software
//%    in a product, an acknowledgment in the product documentation would be
//%    appreciated but is not required.
//% 2. Altered source versions must be plainly marked as such, and must not be
//%    misrepresented as being the original software.
//% 3. This notice may not be removed or altered from any source distribution.
//% Mark Adler    madler@alumni.caltech.edu

//% BEGIN CODE DERIVED FROM puff.{c,h}

#define MAXBITS 15
#define MAXLCODES 286
#define MAXDCODES 30
#define MAXCODES (MAXLCODES + MAXDCODES)
#define FIXLCODES 288

struct puff_state {
  unsigned char* out;
  unsigned long outlen;
  unsigned long outcnt;
  const unsigned char* in;
  unsigned long inlen;
  unsigned long incnt;
  int bitbuf;
  int bitcnt;
  jmp_buf env;
};
static int puff_bits(struct puff_state* s, int need)
{
  long val = s->bitbuf;
  while (s->bitcnt < need) {
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    val |= (long)(s->in[s->incnt++]) << s->bitcnt;
    s->bitcnt += 8;
  }
  s->bitbuf = (int)(val >> need);
  s->bitcnt -= need;
  return (int)(val & ((1L << need) - 1));
}
static int puff_stored(struct puff_state* s)
{
  s->bitbuf = 0;
  s->bitcnt = 0;
  if (s->incnt + 4 > s->inlen)
    return 2;
  unsigned len = s->in[s->incnt++];
  len |= s->in[s->incnt++] << 8;
  if (s->in[s->incnt++] != (~len & 0xff) ||
      s->in[s->incnt++] != ((~len >> 8) & 0xff))
    return -2;
  if (s->incnt + len > s->inlen)
    return 2;
  if (s->outcnt + len > s->outlen)
    return 1;
  for (; len--; s->outcnt++, s->incnt++) {
    if (s->in[s->incnt])
      s->out[s->outcnt] = s->in[s->incnt];
  }
  return 0;
}
struct puff_huffman {
  short* count;
  short* symbol;
};
static int puff_decode(struct puff_state* s, const struct puff_huffman* h)
{
  int first = 0;
  int index = 0;
  int bitbuf = s->bitbuf;
  int left = s->bitcnt;
  int code = first = index = 0;
  int len = 1;
  short* next = h->count + 1;
  while (1) {
    while (left--) {
      code |= bitbuf & 1;
      bitbuf >>= 1;
      int count = *next++;
      if (code - count < first) {
        s->bitbuf = bitbuf;
        s->bitcnt = (s->bitcnt - len) & 7;
        return h->symbol[index + (code - first)];
      }
      index += count;
      first += count;
      first <<= 1;
      code <<= 1;
      len++;
    }
    left = (MAXBITS + 1) - len;
    if (left == 0)
      break;
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    bitbuf = s->in[s->incnt++];
    if (left > 8)
      left = 8;
  }
  return -10;
}
static int puff_construct(struct puff_huffman* h, const short* length, int n)
{
  int len;
  for (len = 0; len <= MAXBITS; len++)
    h->count[len] = 0;
  int symbol;
  for (symbol = 0; symbol < n; symbol++)
    (h->count[length[symbol]])++;
  if (h->count[0] == n)
    return 0;
  int left = 1;
  for (len = 1; len <= MAXBITS; len++) {
    left <<= 1;
    left -= h->count[len];
    if (left < 0)
      return left;
  }
  short offs[MAXBITS + 1];
  offs[1] = 0;
  for (len = 1; len < MAXBITS; len++)
    offs[len + 1] = offs[len] + h->count[len];
  for (symbol = 0; symbol < n; symbol++)
    if (length[symbol] != 0)
      h->symbol[offs[length[symbol]]++] = symbol;
  return left;
}
static int puff_codes(struct puff_state* s, const struct puff_huffman* lencode,
                      const struct puff_huffman* distcode)
{
  static const short lens[29] = {3,  4,  5,  6,   7,   8,   9,   10,  11, 13,
                                 15, 17, 19, 23,  27,  31,  35,  43,  51, 59,
                                 67, 83, 99, 115, 131, 163, 195, 227, 258};
  static const short lext[29] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2,
                                 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0};
  static const short dists[30] = {
      1,    2,    3,    4,    5,    7,    9,    13,    17,    25,
      33,   49,   65,   97,   129,  193,  257,  385,   513,   769,
      1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577};
  static const short dext[30] = {0, 0, 0,  0,  1,  1,  2,  2,  3,  3,
                                 4, 4, 5,  5,  6,  6,  7,  7,  8,  8,
                                 9, 9, 10, 10, 11, 11, 12, 12, 13, 13};
  int symbol;
  do {
    symbol = puff_decode(s, lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 256) {
      if (s->outcnt == s->outlen)
        return 1;
      if (symbol)
        s->out[s->outcnt] = symbol;
      s->outcnt++;
    } else if (symbol > 256) {
      symbol -= 257;
      if (symbol >= 29)
        return -10;
      int len = lens[symbol] + puff_bits(s, lext[symbol]);
      symbol = puff_decode(s, distcode);
      if (symbol < 0)
        return symbol;
      unsigned dist = dists[symbol] + puff_bits(s, dext[symbol]);
      if (dist > s->outcnt)
        return -11;
      if (s->outcnt + len > s->outlen)
        return 1;
      while (len--) {
        if (dist <= s->outcnt && s->out[s->outcnt - dist])
          s->out[s->outcnt] = s->out[s->outcnt - dist];
        s->outcnt++;
      }
    }
  } while (symbol != 256);
  return 0;
}
static int puff_fixed(struct puff_state* s)
{
  static int virgin = 1;
  static short lencnt[MAXBITS + 1], lensym[FIXLCODES];
  static short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  static struct puff_huffman lencode, distcode;
  if (virgin) {
    lencode.count = lencnt;
    lencode.symbol = lensym;
    distcode.count = distcnt;
    distcode.symbol = distsym;
    short lengths[FIXLCODES];
    int symbol;
    for (symbol = 0; symbol < 144; symbol++)
      lengths[symbol] = 8;
    for (; symbol < 256; symbol++)
      lengths[symbol] = 9;
    for (; symbol < 280; symbol++)
      lengths[symbol] = 7;
    for (; symbol < FIXLCODES; symbol++)
      lengths[symbol] = 8;
    puff_construct(&lencode, lengths, FIXLCODES);
    for (symbol = 0; symbol < MAXDCODES; symbol++)
      lengths[symbol] = 5;
    puff_construct(&distcode, lengths, MAXDCODES);
    virgin = 0;
  }
  return puff_codes(s, &lencode, &distcode);
}
static int puff_dynamic(struct puff_state* s)
{
  static const short order[19] = {16, 17, 18, 0, 8,  7, 9,  6, 10, 5,
                                  11, 4,  12, 3, 13, 2, 14, 1, 15};
  int nlen = puff_bits(s, 5) + 257;
  int ndist = puff_bits(s, 5) + 1;
  int ncode = puff_bits(s, 4) + 4;
  if (nlen > MAXLCODES || ndist > MAXDCODES)
    return -3;
  short lengths[MAXCODES];
  int index;
  for (index = 0; index < ncode; index++)
    lengths[order[index]] = puff_bits(s, 3);
  for (; index < 19; index++)
    lengths[order[index]] = 0;
  short lencnt[MAXBITS + 1], lensym[MAXLCODES];
  struct puff_huffman lencode = {lencnt, lensym};
  int err = puff_construct(&lencode, lengths, 19);
  if (err != 0)
    return -4;
  index = 0;
  while (index < nlen + ndist) {
    int symbol;
    int len;
    symbol = puff_decode(s, &lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 16)
      lengths[index++] = symbol;
    else {
      len = 0;
      if (symbol == 16) {
        if (index == 0)
          return -5;
        len = lengths[index - 1];
        symbol = 3 + puff_bits(s, 2);
      } else if (symbol == 17)
        symbol = 3 + puff_bits(s, 3);
      else
        symbol = 11 + puff_bits(s, 7);
      if (index + symbol > nlen + ndist)
        return -6;
      while (symbol--)
        lengths[index++] = len;
    }
  }
  if (lengths[256] == 0)
    return -9;
  err = puff_construct(&lencode, lengths, nlen);
  if (err && (err < 0 || nlen != lencode.count[0] + lencode.count[1]))
    return -7;
  short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  struct puff_huffman distcode = {distcnt, distsym};
  err = puff_construct(&distcode, lengths + nlen, ndist);
  if (err && (err < 0 || ndist != distcode.count[0] + distcode.count[1]))
    return -8;
  return puff_codes(s, &lencode, &distcode);
}
static int puff(unsigned char* dest, unsigned long* destlen,
                const unsigned char* source, unsigned long sourcelen)
{
  struct puff_state s = {
      .out = dest,
      .outlen = *destlen,
      .outcnt = 0,
      .in = source,
      .inlen = sourcelen,
      .incnt = 0,
      .bitbuf = 0,
      .bitcnt = 0,
  };
  int err;
  if (setjmp(s.env) != 0)
    err = 2;
  else {
    int last;
    do {
      last = puff_bits(&s, 1);
      int type = puff_bits(&s, 2);
      err = type == 0 ? puff_stored(&s)
                      : (type == 1 ? puff_fixed(&s)
                                   : (type == 2 ? puff_dynamic(&s) : -1));
      if (err != 0)
        break;
    } while (!last);
  }
  *destlen = s.outcnt;
  return err;
}

//% END CODE DERIVED FROM puff.{c,h}

#define ZLIB_HEADER_WIDTH 2

static int puff_zlib_to_file(const unsigned char* source,
                             unsigned long sourcelen, int dest_fd)
{
  if (sourcelen < ZLIB_HEADER_WIDTH)
    return 0;
  source += ZLIB_HEADER_WIDTH;
  sourcelen -= ZLIB_HEADER_WIDTH;
  const unsigned long max_destlen = 132 << 20;
  void* ret = mmap(0, max_destlen, PROT_WRITE | PROT_READ,
                   MAP_PRIVATE | MAP_ANON, -1, 0);
  if (ret == MAP_FAILED)
    return -1;
  unsigned char* dest = (unsigned char*)ret;
  unsigned long destlen = max_destlen;
  int err = puff(dest, &destlen, source, sourcelen);
  if (err) {
    munmap(dest, max_destlen);
    errno = -err;
    return -1;
  }
  if (write(dest_fd, dest, destlen) != (ssize_t)destlen) {
    munmap(dest, max_destlen);
    return -1;
  }
  return munmap(dest, max_destlen);
}

static int setup_loop_device(unsigned char* data, unsigned long size,
                             const char* loopname, int* loopfd_p)
{
  int err = 0, loopfd = -1;
  int memfd = syscall(__NR_memfd_create, "syzkaller", 0);
  if (memfd == -1) {
    err = errno;
    goto error;
  }
  if (puff_zlib_to_file(data, size, memfd)) {
    err = errno;
    goto error_close_memfd;
  }
  loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    err = errno;
    goto error_close_memfd;
  }
  if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
    if (errno != EBUSY) {
      err = errno;
      goto error_close_loop;
    }
    ioctl(loopfd, LOOP_CLR_FD, 0);
    usleep(1000);
    if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
      err = errno;
      goto error_close_loop;
    }
  }
  close(memfd);
  *loopfd_p = loopfd;
  return 0;

error_close_loop:
  close(loopfd);
error_close_memfd:
  close(memfd);
error:
  errno = err;
  return -1;
}

static void reset_loop_device(const char* loopname)
{
  int loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    return;
  }
  if (ioctl(loopfd, LOOP_CLR_FD, 0)) {
  }
  close(loopfd);
}

static long syz_mount_image(volatile long fsarg, volatile long dir,
                            volatile long flags, volatile long optsarg,
                            volatile long change_dir,
                            volatile unsigned long size, volatile long image)
{
  unsigned char* data = (unsigned char*)image;
  int res = -1, err = 0, need_loop_device = !!size;
  char* mount_opts = (char*)optsarg;
  char* target = (char*)dir;
  char* fs = (char*)fsarg;
  char* source = NULL;
  char loopname[64];
  if (need_loop_device) {
    int loopfd;
    memset(loopname, 0, sizeof(loopname));
    snprintf(loopname, sizeof(loopname), "/dev/loop%llu", procid);
    if (setup_loop_device(data, size, loopname, &loopfd) == -1)
      return -1;
    close(loopfd);
    source = loopname;
  }
  mkdir(target, 0777);
  char opts[256];
  memset(opts, 0, sizeof(opts));
  if (strlen(mount_opts) > (sizeof(opts) - 32)) {
  }
  strncpy(opts, mount_opts, sizeof(opts) - 32);
  if (strcmp(fs, "iso9660") == 0) {
    flags |= MS_RDONLY;
  } else if (strncmp(fs, "ext", 3) == 0) {
    bool has_remount_ro = false;
    char* remount_ro_start = strstr(opts, "errors=remount-ro");
    if (remount_ro_start != NULL) {
      char after = *(remount_ro_start + strlen("errors=remount-ro"));
      char before = remount_ro_start == opts ? '\0' : *(remount_ro_start - 1);
      has_remount_ro = ((before == '\0' || before == ',') &&
                        (after == '\0' || after == ','));
    }
    if (strstr(opts, "errors=panic") || !has_remount_ro)
      strcat(opts, ",errors=continue");
  } else if (strcmp(fs, "xfs") == 0) {
    strcat(opts, ",nouuid");
  }
  res = mount(source, target, fs, flags, opts);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  res = open(target, O_RDONLY | O_DIRECTORY);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  if (change_dir) {
    res = chdir(target);
    if (res == -1) {
      err = errno;
    }
  }

error_clear_loop:
  if (need_loop_device)
    reset_loop_device(loopname);
  errno = err;
  return res;
}

static void kill_and_wait(int pid, int* status)
{
  kill(-pid, SIGKILL);
  kill(pid, SIGKILL);
  for (int i = 0; i < 100; i++) {
    if (waitpid(-1, status, WNOHANG | __WALL) == pid)
      return;
    usleep(1000);
  }
  DIR* dir = opendir("/sys/fs/fuse/connections");
  if (dir) {
    for (;;) {
      struct dirent* ent = readdir(dir);
      if (!ent)
        break;
      if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0)
        continue;
      char abort[300];
      snprintf(abort, sizeof(abort), "/sys/fs/fuse/connections/%s/abort",
               ent->d_name);
      int fd = open(abort, O_WRONLY);
      if (fd == -1) {
        continue;
      }
      if (write(fd, abort, 1) < 0) {
      }
      close(fd);
    }
    closedir(dir);
  } else {
  }
  while (waitpid(-1, status, __WALL) != pid) {
  }
}

static void reset_loop()
{
  char buf[64];
  snprintf(buf, sizeof(buf), "/dev/loop%llu", procid);
  int loopfd = open(buf, O_RDWR);
  if (loopfd != -1) {
    ioctl(loopfd, LOOP_CLR_FD, 0);
    close(loopfd);
  }
}

static void setup_test()
{
  prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0);
  setpgrp();
  write_file("/proc/self/oom_score_adj", "1000");
}

static void execute_one(void);

#define WAIT_FLAGS __WALL

static void loop(void)
{
  int iter = 0;
  for (;; iter++) {
    reset_loop();
    int pid = fork();
    if (pid < 0)
      exit(1);
    if (pid == 0) {
      setup_test();
      execute_one();
      exit(0);
    }
    int status = 0;
    uint64_t start = current_time_ms();
    for (;;) {
      if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid)
        break;
      sleep_ms(1);
      if (current_time_ms() - start < 5000)
        continue;
      kill_and_wait(pid, &status);
      break;
    }
  }
}

void execute_one(void)
{
  memcpy((void*)0x20000100, "reiserfs\000", 9);
  memcpy((void*)0x20001140, "./file0\000", 8);
  memcpy(
      (void*)0x20001180,
      "\x78\x9c\xec\xd8\x31\x8b\x13\x41\x14\x07\xf0\xff\x6c\xae\xb0\x3b\x99\xeb"
      "\x17\x41\x0b\x0b\x39\xee\x88\x1f\xc0\x2b\x14\xd2\x58\x58\xdb\xc8\x71\x95"
      "\x57\x5d\x2a\x25\xdf\x46\x3f\x8e\xa4\xb2\x0f\xe9\x4d\x11\xb0\x57\xd6\xec"
      "\xaa\x48\x40\x21\x0b\x41\xf8\xfd\x60\xd8\xd9\x37\xfb\xe6\xcd\x96\x6f\x02"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x93\xe4\x4b\x49\xce\x9a\xa4\x0e"
      "\xb1\x26\x49\x49\xda\x76\x39\x5b\x27\x69\x87\xf8\xfd\x4f\x93\x26\x25\xaf"
      "\x6e\x66\xf3\xe7\x77\xd3\x17\xf3\x24\x93\x1f\x9f\x97\x6e\x74\x59\x5d\x5a"
      "\xea\xe5\xc3\x5a\xa7\x75\x5a\x2f\xeb\xd3\xb3\xab\x47\x1f\xca\xbb\xf7\x6f"
      "\xdf\xdc\xde\xde\xdc\xf5\xdb\x94\xb4\x59\x6d\x17\xd7\x79\xb9\x19\xf5\x57"
      "\x4a\x7f\x9e\xce\x83\x3d\xeb\xcd\xa8\xd5\x00\x00\x00\xe0\xff\xf1\xed\x50"
      "\xcf\x8e\x5c\x1f\x00\x00\x00\xf8\xab\xb1\xee\x11\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x50\x87\x49\x93\xa4\x24\x6d"
      "\xbb\x9c\xad\x93\xb4\xc7\x3d\x16\x00\x00\x00\x70\xa0\x92\x26\xaf\x4f\xf7"
      "\xc5\x77\xd7\x00\xbf\x3c\xc9\xe7\xd3\xf2\x33\x3e\x49\xf2\xb5\x74\xf3\x8b"
      "\x7c\xdc\x93\xff\x6f\xb5\x01\x00\x00\x80\x41\xf9\xad\x1f\x7f\x9c\x93\xa1"
      "\x2f\xbf\x37\xac\x9f\x9f\xf7\xcf\xfe\x7d\x73\xb5\xeb\xcf\x2f\xfe\xd8\x67"
      "\xb5\x5d\x5c\x0f\x43\xef\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
      "\x00\x00\xc0\x77\x76\xe0\x40\x00\x00\x00\x00\x40\xd0\xfe\xd4\x8b\x14\x00"
      "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\xff\xff\x86"
      "\xf7\xd4\x12",
      4341);
  syz_mount_image(/*fs=*/0x20000100, /*dir=*/0x20001140, /*flags=*/0,
                  /*opts=*/0x20000000, /*chdir=*/1, /*size=*/0x10f5,
                  /*img=*/0x20001180);
  syz_mod_param(/*dev=*/0, /*id=*/0, /*flags=*/0, /*file=*/0, /*buf=*/0);
}
int main(void)
{
  syscall(__NR_mmap, /*addr=*/0x1ffff000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x20000000ul, /*len=*/0x1000000ul,
          /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x21000000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  loop();
  return 0;
}



^ permalink raw reply	[relevance 3%]

* Re: [BUG][v6.9-rc6] Deadlock with: Revert "drm/qxl: simplify qxl_fence_wait"
  2024-05-06 20:28 64%     ` Linus Torvalds
@ 2024-05-07  5:54 64%       ` David Airlie
  2024-05-07  6:38 64%         ` Timo Lindfors
  2024-05-07  9:03 64%         ` Steven Rostedt
  0 siblings, 2 replies; 200+ results
From: David Airlie @ 2024-05-07  5:54 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Maxime Ripard, Steven Rostedt, LKML, Alex Constantino,
	Timo Lindfors, Gerd Hoffmann, Maarten Lankhorst,
	Thomas Zimmermann, Daniel Vetter

On Tue, May 7, 2024 at 6:29 AM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> On Mon, 6 May 2024 at 05:46, Maxime Ripard <mripard@kernel.org> wrote:
> >
> > It looks like qxl is not well maintained. Please send the revert, we'll
> > merge it.
>
> I'll just do the revert and we don't have to do the round-trip
> overhead (since we're already in rc7 and I hope to just do final next
> weekend).

I expec this will reintroduce the other problems that caused this
change in the first place, but I think this should at least bring us
back to regression equilibrium. I can't recommend anyone use qxl hw
over virtio-gpu hw in their VMs, since virtio-gpu is actually hw
designed for virt.

Dave.


^ permalink raw reply	[relevance 64%]

* [PATCH v4 05/13] attr: fix BUG() when parsing attrs outside of repo
  @ 2024-05-07  4:53 61%   ` Patrick Steinhardt
  0 siblings, 0 replies; 200+ results
From: Patrick Steinhardt @ 2024-05-07  4:53 UTC (permalink / raw)
  To: git; +Cc: Junio C Hamano, brian m. carlson, Justin Tobler

[-- Attachment #1: Type: text/plain, Size: 2167 bytes --]

If either the `--attr-source` option or the `GIT_ATTR_SOURCE` envvar are
set, then `compute_default_attr_source()` will try to look up the value
as a treeish. It is possible to hit that function while outside of a Git
repository though, for example when using `git grep --no-index`. In that
case, Git will hit a bug because we try to look up the main ref store
outside of a repository.

Handle the case gracefully and detect when we try to look up an attr
source without a repository.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
 attr.c                |  6 ++++++
 t/t0003-attributes.sh | 15 +++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/attr.c b/attr.c
index a5b717e4ce..c89ab3478e 100644
--- a/attr.c
+++ b/attr.c
@@ -1226,8 +1226,14 @@ static int compute_default_attr_source(struct object_id *attr_source)
 
 	if (!default_attr_source_tree_object_name)
 		return 0;
 
+	if (!startup_info->have_repository) {
+		if (!ignore_bad_attr_tree)
+			die(_("cannot use --attr-source or GIT_ATTR_SOURCE without repo"));
+		return 0;
+	}
+
 	if (repo_get_oid_treeish(the_repository,
 				 default_attr_source_tree_object_name,
 				 attr_source)) {
 		if (!ignore_bad_attr_tree)
diff --git a/t/t0003-attributes.sh b/t/t0003-attributes.sh
index d755cc3c29..72fadca1e8 100755
--- a/t/t0003-attributes.sh
+++ b/t/t0003-attributes.sh
@@ -433,8 +433,23 @@ test_expect_success 'precedence of --attr-source, GIT_ATTR_SOURCE, then attr.tre
 		test_cmp expect actual
 	)
 '
 
+test_expect_success 'diff without repository with attr source' '
+	mkdir -p "$TRASH_DIRECTORY/outside/nongit" &&
+	(
+		cd "$TRASH_DIRECTORY/outside/nongit" &&
+		GIT_CEILING_DIRECTORIES="$TRASH_DIRECTORY/outside" &&
+		export GIT_CEILING_DIRECTORIES &&
+		touch file &&
+		cat >expect <<-EOF &&
+		fatal: cannot use --attr-source or GIT_ATTR_SOURCE without repo
+		EOF
+		test_must_fail env GIT_ATTR_SOURCE=HEAD git grep --no-index foo file 2>err &&
+		test_cmp expect err
+	)
+'
+
 test_expect_success 'bare repository: with --source' '
 	(
 		cd bare.git &&
 		attr_check_source foo/bar/f f tag-1 &&
-- 
2.45.0


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply related	[relevance 61%]

* Current high bug count owners for Yocto Project 5.1
@ 2024-05-07  2:03 63% Stephen K Jolley
  0 siblings, 0 replies; 200+ results
From: Stephen K Jolley @ 2024-05-07  2:03 UTC (permalink / raw)
  To: Yocto-mailing-list

[-- Attachment #1: Type: text/plain, Size: 1290 bytes --]

All,

Below is the list of top 31 bug owners as of the end of WW18 who have open
medium or higher bugs and enhancements against YP 5.1. There are 119
possible work days left until the final release candidates for YP 5.1 needs
to be released.
Who Count
ross.burton@arm.com 35
michael.opdenacker@bootlin.com 35
bruce.ashfield@gmail.com 25
randy.macleod@windriver.com 24
richard.purdie@linuxfoundation.org 22
tgamblin@baylibre.com 15
david.reyna@windriver.com 15
JPEWhacker@gmail.com 13
pavel@zhukoff.net 12
tim.orling@konsulko.com 9
william.lyu@windriver.com 5
yoann.congal@smile.fr 4
Yash.Shinde@windriver.com 2
simone.p.weiss@posteo.com 2
mhalstead@linuxfoundation.org 2
Harish.Sadineni@windriver.com 2
dl9pf@gmx.de 2
tvgamblin@gmail.com 1
thomas.perrot@bootlin.com 1
sundeep.kokkonda@windriver.com 1
rybczynska@gmail.com 1
raj.khem@gmail.com 1
pidge@pidge.org 1
nayakksanjay@gmail.com 1
lxy204899@163.com 1
jstephan@baylibre.com 1
jon.mason@arm.com 1
ghaderer@wyplay.com 1
eroderic@digi.com 1
Deepthi.Hemraj@windriver.com 1
alexandre.belloni@bootlin.com 1
Grand Total 238

Thanks,



*Stephen K. Jolley*

*Yocto Project Program Manager*

(    *Cell*:                (208) 244-4460

* *Email*:                 *s
<stephen.k.jolley@intel.com>jolley.yp.pm@gmail.com <jolley.yp.pm@gmail.com>*

[-- Attachment #2: Type: text/html, Size: 17923 bytes --]

^ permalink raw reply	[relevance 63%]

* Re: [BUG][v6.9-rc6] Deadlock with: Revert "drm/qxl: simplify qxl_fence_wait"
  2024-05-06 12:45 64%   ` Maxime Ripard
@ 2024-05-06 20:28 64%     ` Linus Torvalds
  2024-05-07  5:54 64%       ` David Airlie
  0 siblings, 1 reply; 200+ results
From: Linus Torvalds @ 2024-05-06 20:28 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Steven Rostedt, LKML, Alex Constantino, Timo Lindfors,
	Dave Airlie, Gerd Hoffmann, Maarten Lankhorst, Thomas Zimmermann,
	Daniel Vetter

On Mon, 6 May 2024 at 05:46, Maxime Ripard <mripard@kernel.org> wrote:
>
> It looks like qxl is not well maintained. Please send the revert, we'll
> merge it.

I'll just do the revert and we don't have to do the round-trip
overhead (since we're already in rc7 and I hope to just do final next
weekend).

              Linus

^ permalink raw reply	[relevance 64%]

* Re: bug #61620: Grub2 fails to detect LVM volumes with: error: disk `lvmid/*/*' not found
  @ 2024-05-06 20:17 64%     ` Glenn Washburn
  0 siblings, 0 replies; 200+ results
From: Glenn Washburn @ 2024-05-06 20:17 UTC (permalink / raw)
  To: Horst Prote; +Cc: The development of GNU GRUB

On Thu, 2 May 2024 18:40:16 +0200
Horst Prote <prote@fmi.uni-stuttgart.de> wrote:

> On 26.04.2024, Glenn Washburn wrote:
> 
> > On Wed, 3 Apr 2024 10:23:59 +0200
> > Horst Prote <prote@fmi.uni-stuttgart.de> wrote:
> > 
> > > Hi,
> > > 
> > > could the patch supplied in bug #61620
> > > (https://savannah.gnu.org/bugs/?func=detailitem&item_id=61620) please be
> > > reviewed and applied.  
> > 
> > Unfortunately, the issues tracker is mostly unused. Patches are
> > exclusively reviewed on this list. It would be nice if patches
> > submitted on the issue tracker were automatically submitted to this
> > list, but alas they are not. There should be really annoying blinking
> > text on the issue tracker saying that patches will not be looked at
> > unless they are sent to this list for review.
> > 
> > Would you be willing to submit the patch to the list so it can be
> > reviewed?
> OK, here is the patch from bug #61620 as supplied by
> https://savannah.gnu.org/users/rogier777

Thank you Horst,

Unfortunately, this has a near zero chance of even being looked at by
Daniel for various reasons. The foremost being that its a patch against
a debian version of 2.02, and not current master. The patch is also not
in an acceptable form for this list (see other patches submitted here).

I've looked at the issue and it is a little worrying. I'm surprised
there haven't been more complaints or that I've not yet run into this
(I suppose I nor many others have a VG that has been changed more than
220 times). I'll submit a proper patch to the list to get the ball
moving on this.

Glenn

> 
> ---------------------------------------------------
> Index: grub2-2.02+dfsg1/grub-core/disk/lvm.c
> ===================================================================
> --- grub2-2.02+dfsg1.orig/grub-core/disk/lvm.c
> +++ grub2-2.02+dfsg1/grub-core/disk/lvm.c
> @@ -253,7 +253,7 @@ error_parsing_metadata:
> 
>    p = q = (char *)ptr;
> 
> -  if (grub_add ((grub_size_t)metadatabuf, (grub_size_t)mda_size, &ptr))
> +  if (grub_add (ptr, (grub_size_t)grub_le_to_cpu64 (rlocn->size), &ptr))
>      goto error_parsing_metadata;
> 
>    mda_end = (char *)ptr;
> ----------------------------------------------------
> 
> > Glenn
> Horst
> 
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

^ permalink raw reply	[relevance 64%]

* [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
                     ` (4 preceding siblings ...)
  2024-05-06 15:16 64% ` bugzilla-daemon
@ 2024-05-06 17:26 64% ` bugzilla-daemon
  2024-05-07  8:24 64% ` bugzilla-daemon
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-06 17:26 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218305

--- Comment #59 from Mario Limonciello (AMD) (mario.limonciello@amd.com) ---
Created attachment 306264
  --> https://bugzilla.kernel.org/attachment.cgi?id=306264&action=edit
debugging patch

I'm attaching a patch that isn't upstreamed at the moment, but you can apply to
your kernel to try to capture a debug register for me.  Apply it to your kernel
and then read the register value like this:

echo "0x59804" | sudo tee /sys/kernel/debug/amd_nb/smn_address
sudo cat /sys/kernel/debug/amd_nb/smn_value

Here is what a reasonable value looks like on my local system:
$ echo "0x59804" | sudo tee /sys/kernel/debug/amd_nb/smn_address
$ sudo cat /sys/kernel/debug/amd_nb/smn_value
0x017f1201

Share to me the values that you get from smn_value in these 3 situations:
1) At bootup (before you suspend)
2) After you've suspended and reproduced the issue
3) After you've done the W/A to undo the issue.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* Re: Possible git-diff bug when using exit-code with diff filters
  2024-05-05 10:19 64%     ` René Scharfe
@ 2024-05-06 17:22 64%       ` Junio C Hamano
  0 siblings, 0 replies; 200+ results
From: Junio C Hamano @ 2024-05-06 17:22 UTC (permalink / raw)
  To: René Scharfe; +Cc: German Lashevich, git

René Scharfe <l.s.r@web.de> writes:

> Am 21.04.24 um 20:17 schrieb Junio C Hamano:
>> A much simpler fix may be to declare that these two features are
>> imcompatible and fail the execution upfront, instead of just
>> silently ignoring one of the two options.
>
> It would not be *that* simple -- if we want to error out upfront we'd
> have to evaluate the attributes of all files (or all changed files)
> first to see whether they require an external diff.

You're absolutely right.

> Reporting the incompatibility in the middle of a diff would be easier,
> but I don't see why we shouldn't support that combination.  It takes
> some effort, sure, but not prohibitively much.

OK.  Thanks.

^ permalink raw reply	[relevance 64%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
  2024-05-06 14:57 64%         ` Sean Anderson
@ 2024-05-06 16:50 64%           ` Laurent Pinchart
  -1 siblings, 0 replies; 200+ results
From: Laurent Pinchart @ 2024-05-06 16:50 UTC (permalink / raw)
  To: Sean Anderson
  Cc: Maxime Ripard, Tomi Valkeinen, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Michal Simek,
	dri-devel, linux-arm-kernel, linux-kernel

On Mon, May 06, 2024 at 10:57:17AM -0400, Sean Anderson wrote:
> On 5/6/24 03:35, Laurent Pinchart wrote:
> > On Mon, May 06, 2024 at 09:29:36AM +0200, Maxime Ripard wrote:
> >> Hi Laurent, Sean,
> >> 
> >> On Sat, May 04, 2024 at 03:21:18PM GMT, Laurent Pinchart wrote:
> >> > On Fri, May 03, 2024 at 05:54:32PM -0400, Sean Anderson wrote:
> >> > > I have discovered a bug in the displayport driver on drm-misc-next. To
> >> > > trigger it, run
> >> > > 
> >> > > echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
> >> > > 
> >> > > The system will become unresponsive and (after a bit) splat with a hard
> >> > > LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
> >> > > zynqmp_dp_bridge_detect.
> >> > > 
> >> > > I believe the issue is due the registers being unmapped and the block
> >> > > put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release.
> >> > 
> >> > That is on purpose. Drivers are not allowed to access the device at all
> >> > after .remove() returns.
> >> 
> >> It's not "on purpose" no. Drivers indeed are not allowed to access the
> >> device after remove, but the kernel shouldn't crash. This is exactly
> >> why we have drm_dev_enter / drm_dev_exit.
> > 
> > I didn't mean the crash was on purpose :-) It's the registers being
> > unmapped that is, as nothing should touch those registers after
> > .remove() returns.
> 
> OK, so then we need to have some kind of flag in the driver or in the drm
> subsystem so we know not to access those registers.

To avoid race conditions, the .remove() function should mark the device
as removed, wait for all ongoing access from userspace to be complete,
and then proceed to unmapping registers and doing other cleanups.
Userspace may still have open file descriptors to the device at that
point. Any new userspace access should be disallowed (by checking the
removed flag), with the only userspace-initiated operations that still
need to run being the release-related operations (unmapping memory,
closing file descriptors, ...).

-- 
Regards,

Laurent Pinchart

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[relevance 64%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
@ 2024-05-06 16:50 64%           ` Laurent Pinchart
  0 siblings, 0 replies; 200+ results
From: Laurent Pinchart @ 2024-05-06 16:50 UTC (permalink / raw)
  To: Sean Anderson
  Cc: Maxime Ripard, Tomi Valkeinen, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Michal Simek,
	dri-devel, linux-arm-kernel, linux-kernel

On Mon, May 06, 2024 at 10:57:17AM -0400, Sean Anderson wrote:
> On 5/6/24 03:35, Laurent Pinchart wrote:
> > On Mon, May 06, 2024 at 09:29:36AM +0200, Maxime Ripard wrote:
> >> Hi Laurent, Sean,
> >> 
> >> On Sat, May 04, 2024 at 03:21:18PM GMT, Laurent Pinchart wrote:
> >> > On Fri, May 03, 2024 at 05:54:32PM -0400, Sean Anderson wrote:
> >> > > I have discovered a bug in the displayport driver on drm-misc-next. To
> >> > > trigger it, run
> >> > > 
> >> > > echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
> >> > > 
> >> > > The system will become unresponsive and (after a bit) splat with a hard
> >> > > LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
> >> > > zynqmp_dp_bridge_detect.
> >> > > 
> >> > > I believe the issue is due the registers being unmapped and the block
> >> > > put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release.
> >> > 
> >> > That is on purpose. Drivers are not allowed to access the device at all
> >> > after .remove() returns.
> >> 
> >> It's not "on purpose" no. Drivers indeed are not allowed to access the
> >> device after remove, but the kernel shouldn't crash. This is exactly
> >> why we have drm_dev_enter / drm_dev_exit.
> > 
> > I didn't mean the crash was on purpose :-) It's the registers being
> > unmapped that is, as nothing should touch those registers after
> > .remove() returns.
> 
> OK, so then we need to have some kind of flag in the driver or in the drm
> subsystem so we know not to access those registers.

To avoid race conditions, the .remove() function should mark the device
as removed, wait for all ongoing access from userspace to be complete,
and then proceed to unmapping registers and doing other cleanups.
Userspace may still have open file descriptors to the device at that
point. Any new userspace access should be disallowed (by checking the
removed flag), with the only userspace-initiated operations that still
need to run being the release-related operations (unmapping memory,
closing file descriptors, ...).

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[relevance 64%]

* [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
                     ` (3 preceding siblings ...)
  2024-05-06 14:55 64% ` bugzilla-daemon
@ 2024-05-06 15:16 64% ` bugzilla-daemon
  2024-05-06 17:26 64% ` bugzilla-daemon
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-06 15:16 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218305

--- Comment #58 from Daan Vanoverloop (vanoverloopdaan@gmail.com) ---
> I did post a patch to this bug that could try to adjust the timing that is
> waiting for testing though in case it's a race condition.  It will force
> 10-20ms more time spent in the Linux kernel when the power adapter is
> unplugged over suspend.  
>
> Also if it doesn't help, please modify it to make it 100-200ms.  This should
> rule out a race condition.


I will apply this patch later today or tomorrow and report back on whether I
can still reproduce this issue.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
  2024-05-06  7:35 64%       ` Laurent Pinchart
@ 2024-05-06 14:57 64%         ` Sean Anderson
  -1 siblings, 0 replies; 200+ results
From: Sean Anderson @ 2024-05-06 14:57 UTC (permalink / raw)
  To: Laurent Pinchart, Maxime Ripard
  Cc: Tomi Valkeinen, Maarten Lankhorst, Thomas Zimmermann,
	David Airlie, Daniel Vetter, Michal Simek, dri-devel,
	linux-arm-kernel, linux-kernel

On 5/6/24 03:35, Laurent Pinchart wrote:
> On Mon, May 06, 2024 at 09:29:36AM +0200, Maxime Ripard wrote:
>> Hi Laurent, Sean,
>> 
>> On Sat, May 04, 2024 at 03:21:18PM GMT, Laurent Pinchart wrote:
>> > On Fri, May 03, 2024 at 05:54:32PM -0400, Sean Anderson wrote:
>> > > I have discovered a bug in the displayport driver on drm-misc-next. To
>> > > trigger it, run
>> > > 
>> > > echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
>> > > 
>> > > The system will become unresponsive and (after a bit) splat with a hard
>> > > LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
>> > > zynqmp_dp_bridge_detect.
>> > > 
>> > > I believe the issue is due the registers being unmapped and the block
>> > > put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release.
>> > 
>> > That is on purpose. Drivers are not allowed to access the device at all
>> > after .remove() returns.
>> 
>> It's not "on purpose" no. Drivers indeed are not allowed to access the
>> device after remove, but the kernel shouldn't crash. This is exactly
>> why we have drm_dev_enter / drm_dev_exit.
> 
> I didn't mean the crash was on purpose :-) It's the registers being
> unmapped that is, as nothing should touch those registers after
> .remove() returns.

OK, so then we need to have some kind of flag in the driver or in the drm
subsystem so we know not to access those registers.

--Sean


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[relevance 64%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
@ 2024-05-06 14:57 64%         ` Sean Anderson
  0 siblings, 0 replies; 200+ results
From: Sean Anderson @ 2024-05-06 14:57 UTC (permalink / raw)
  To: Laurent Pinchart, Maxime Ripard
  Cc: Tomi Valkeinen, Maarten Lankhorst, Thomas Zimmermann,
	David Airlie, Daniel Vetter, Michal Simek, dri-devel,
	linux-arm-kernel, linux-kernel

On 5/6/24 03:35, Laurent Pinchart wrote:
> On Mon, May 06, 2024 at 09:29:36AM +0200, Maxime Ripard wrote:
>> Hi Laurent, Sean,
>> 
>> On Sat, May 04, 2024 at 03:21:18PM GMT, Laurent Pinchart wrote:
>> > On Fri, May 03, 2024 at 05:54:32PM -0400, Sean Anderson wrote:
>> > > I have discovered a bug in the displayport driver on drm-misc-next. To
>> > > trigger it, run
>> > > 
>> > > echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
>> > > 
>> > > The system will become unresponsive and (after a bit) splat with a hard
>> > > LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
>> > > zynqmp_dp_bridge_detect.
>> > > 
>> > > I believe the issue is due the registers being unmapped and the block
>> > > put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release.
>> > 
>> > That is on purpose. Drivers are not allowed to access the device at all
>> > after .remove() returns.
>> 
>> It's not "on purpose" no. Drivers indeed are not allowed to access the
>> device after remove, but the kernel shouldn't crash. This is exactly
>> why we have drm_dev_enter / drm_dev_exit.
> 
> I didn't mean the crash was on purpose :-) It's the registers being
> unmapped that is, as nothing should touch those registers after
> .remove() returns.

OK, so then we need to have some kind of flag in the driver or in the drm
subsystem so we know not to access those registers.

--Sean


^ permalink raw reply	[relevance 64%]

* [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
                     ` (2 preceding siblings ...)
  2024-05-06 14:52 64% ` bugzilla-daemon
@ 2024-05-06 14:55 64% ` bugzilla-daemon
  2024-05-06 15:16 64% ` bugzilla-daemon
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-06 14:55 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218305

--- Comment #57 from Artem S. Tashkinov (aros@gmx.com) ---
> Eh?  I don't recall saying I'd post a patch to reset EC on resume.

My memory is faltering obviously. Sorry.

> The Windows equivalent of the amd-pmf driver on this HP system uses the
> features in kernel 6.8 that I've been asking Artem to test.

No, kernel 6.8 didn't fix the issue for me.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
    2024-05-06 14:20 64% ` [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep bugzilla-daemon
  2024-05-06 14:23 64% ` bugzilla-daemon
@ 2024-05-06 14:52 64% ` bugzilla-daemon
  2024-05-06 14:55 64% ` bugzilla-daemon
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-06 14:52 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218305

--- Comment #56 from Mario Limonciello (AMD) (mario.limonciello@amd.com) ---
> Mario said he would post a patch to reset the EC on resume and that should
> fix the issue but I've not seen the patch yet.

Eh?  I don't recall saying I'd post a patch to reset EC on resume.

I did post a patch to this bug that could try to adjust the timing that is
waiting for testing though in case it's a race condition.  It will force
10-20ms more time spent in the Linux kernel when the power adapter is unplugged
over suspend.  

Also if it doesn't help, please modify it to make it 100-200ms.  This should
rule out a race condition.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
  2024-05-06 11:16 64%   ` Tomi Valkeinen
@ 2024-05-06 14:46 43%     ` Sean Anderson
  -1 siblings, 0 replies; 200+ results
From: Sean Anderson @ 2024-05-06 14:46 UTC (permalink / raw)
  To: Tomi Valkeinen, Laurent Pinchart
  Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Daniel Vetter, Michal Simek, dri-devel, linux-arm-kernel,
	linux-kernel

On 5/6/24 07:16, Tomi Valkeinen wrote:
> Hi,
> 
> On 04/05/2024 00:54, Sean Anderson wrote:
>> Hi,
>>
>> I have discovered a bug in the displayport driver on drm-misc-next. To
>> trigger it, run
>>
>> echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
>>
>> The system will become unresponsive and (after a bit) splat with a hard
>> LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
>> zynqmp_dp_bridge_detect.
>>
>> I believe the issue is due the registers being unmapped and the block
>> put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release. This
>> could be resolved by deferring things until zynqmp_dpsub_release
>> (requiring us to skip devm_*), or by adding a flag to struct zynqmp_dp
>> and checking it before each callback. A subsystem-level implementation
>> might be better for the latter.
>>
>> For a better traceback, try applying the below patch and running the
>> following commands before triggering the lockup:
>>
>> echo 4 > /sys/module/drm/parameters/debug
>> echo 8 > /proc/sys/kernel/printk
> 
> I wasn't able to reproduce. Where does the detect call come in your case? Looking at the code, afaics, it shouldn't happen.

# echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
[234105.917005] Console: switching to colour dummy device 80x25
[234105.962474] zynqmp-dpsub fd4a0000.display: [drm:drm_client_release] fbdev
[234105.970397] zynqmp-dpsub fd4a0000.display: [drm:drm_sysfs_connector_remove] [CONNECTOR:41:DP-1] removing connector from sysfs
[234105.991669] zynqmp-dpsub fd4a0000.display: [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:41:DP-1]
[234106.001833] ------------[ cut here ]------------
[234106.006570] WARNING: CPU: 2 PID: 527 at drivers/gpu/drm/xlnx/zynqmp_dp.c:1537 zynqmp_dp_bridge_detect (drivers/gpu/drm/xlnx/zynqmp_dp.c:1537 (discriminator 1)) 
[234106.016960] Modules linked in:
[234106.021306] CPU: 2 PID: 527 Comm: Xorg Not tainted 6.9.0-rc6+ #34
[234106.027858] Hardware name: xlnx,zynqmp (DT)
[234106.032146] pstate: a0000005 (NzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[234106.039219] pc : zynqmp_dp_bridge_detect (drivers/gpu/drm/xlnx/zynqmp_dp.c:1537 (discriminator 1)) 
[234106.044297] lr : drm_bridge_connector_detect (drivers/gpu/drm/drm_bridge_connector.c:176) 
[234106.049548] sp : ffffffc0895bb980
[234106.052968] x29: ffffffc0895bb980 x28: ffffff8805fe1000 x27: ffffffc0818ff000
[234106.060251] x26: 0000000000000001 x25: 0000000000000050 x24: 0000000000001000
[234106.067534] x23: 0000000000001000 x22: ffffff8805fe0030 x21: ffffff8805fe1000
[234106.074816] x20: ffffffc0895bbae8 x19: ffffff8805fe1000 x18: 0000000000005550
[234106.082099] x17: 6e6e6f635f656c67 x16: 6e69735f65626f72 x15: 705f7265706c6568
[234106.089382] x14: 5f6d72643a6d7264 x13: 0000000000000000 x12: 0000000000000000
[234106.096664] x11: 00000000000002c5 x10: 00000000000002c5 x9 : 00000000000402c5
[234106.103947] x8 : 0000000095d72cee x7 : 00000000f1c4be6a x6 : ffffffc082707b78
[234106.111229] x5 : 0000000000000000 x4 : ffffff8801f20000 x3 : 0000000000000000
[234106.118512] x2 : ffffffc080a5a2bc x1 : 0123456789abcdef x0 : deadbeefdeadbeef
[234106.125795] Call trace:
[234106.128347] zynqmp_dp_bridge_detect (drivers/gpu/drm/xlnx/zynqmp_dp.c:1537 (discriminator 1)) 
[234106.133077] drm_bridge_connector_detect (drivers/gpu/drm/drm_bridge_connector.c:176) 
[234106.137981] drm_helper_probe_detect (drivers/gpu/drm/drm_probe_helper.c:407) 
[234106.142538] drm_helper_probe_single_connector_modes (drivers/gpu/drm/drm_probe_helper.c:596) 
[234106.148658] drm_mode_getconnector (drivers/gpu/drm/drm_connector.c:2947) 
[234106.153215] drm_ioctl_kernel (drivers/gpu/drm/drm_ioctl.c:744 (discriminator 1)) 
[234106.157251] drm_ioctl (drivers/gpu/drm/drm_ioctl.c:841) 
[234106.160767] __arm64_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890 fs/ioctl.c:890) 
[234106.164803] invoke_syscall (arch/arm64/include/asm/current.h:19 arch/arm64/kernel/syscall.c:53) 
[234106.168665] el0_svc_common.constprop.0 (arch/arm64/kernel/syscall.c:140) 
[234106.173483] do_el0_svc (arch/arm64/kernel/syscall.c:153) 
[234106.176911] el0_svc (arch/arm64/include/asm/irqflags.h:83 arch/arm64/include/asm/irqflags.h:124 arch/arm64/include/asm/irqflags.h:137 arch/arm64/kernel/entry-common.c:165 arch/arm64/kernel/entry-common.c:178 arch/arm64/kernel/entry-common.c:713) 
[234106.180166] el0t_64_sync_handler (arch/arm64/kernel/entry-common.c:731) 
[234106.184637] el0t_64_sync (arch/arm64/kernel/entry.S:598) 
[234106.188413] irq event stamp: 348036
[234106.192006] hardirqs last enabled at (348035): console_unlock (arch/arm64/include/asm/irqflags.h:83 arch/arm64/include/asm/irqflags.h:124 arch/arm64/include/asm/irqflags.h:137 kernel/printk/printk.c:341 kernel/printk/printk.c:2731 kernel/printk/printk.c:3050) 
[234106.200816] hardirqs last disabled at (348036): el1_dbg (arch/arm64/kernel/entry-common.c:371 (discriminator 4) arch/arm64/kernel/entry-common.c:471 (discriminator 4)) 
[234106.208845] softirqs last enabled at (348030): __do_softirq (arch/arm64/include/asm/current.h:19 arch/arm64/include/asm/preempt.h:13 kernel/softirq.c:401 kernel/softirq.c:583) 
[234106.217482] softirqs last disabled at (348023): ____do_softirq (arch/arm64/kernel/irq.c:82) 
[234106.226119] ---[ end trace 0000000000000000 ]---
[234106.230974] Unable to handle kernel paging request at virtual address ffffffc08562d130
[234106.239055] Mem abort info:
[234106.242008]   ESR = 0x0000000096000007
[234106.245872]   EC = 0x25: DABT (current EL), IL = 32 bits
[234106.251375]   SET = 0, FnV = 0
[234106.254584]   EA = 0, S1PTW = 0
[234106.257841]   FSC = 0x07: level 3 translation fault
[234106.262874] Data abort info:
[234106.265870]   ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000
[234106.271548]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0
[234106.276763]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[234106.282240] swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000001a8d000
[234106.289107] [ffffffc08562d130] pgd=10000000033d8003, p4d=10000000033d8003, pud=10000000033d8003, pmd=10000008038ce003, pte=0000000000000000
[234106.302368] Internal error: Oops: 0000000096000007 [#1] SMP
[234106.308029] Modules linked in:
[234106.311169] CPU: 2 PID: 527 Comm: Xorg Tainted: G        W          6.9.0-rc6+ #34
[234106.319170] Hardware name: xlnx,zynqmp (DT)
[234106.323433] pstate: a0000005 (NzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[234106.330480] pc : zynqmp_dp_bridge_detect (arch/arm64/include/asm/io.h:79 include/asm-generic/io.h:223 drivers/gpu/drm/xlnx/zynqmp_dp.c:335 drivers/gpu/drm/xlnx/zynqmp_dp.c:1544) 
[234106.335455] lr : drm_bridge_connector_detect (drivers/gpu/drm/drm_bridge_connector.c:176) 
[234106.340679] sp : ffffffc0895bb980
[234106.344073] x29: ffffffc0895bb980 x28: ffffff8805fe1000 x27: ffffffc0818ff000
[234106.351304] x26: 0000000000000001 x25: 0000000000000050 x24: 0000000000001000
[234106.358534] x23: 0000000000001000 x22: ffffff8805fe0030 x21: ffffff8805fe0000
[234106.365765] x20: ffffffc0895bbae8 x19: 000000000000000a x18: 0000000000005550
[234106.372995] x17: 6e6e6f635f656c67 x16: 6e69735f65626f72 x15: 705f7265706c6568
[234106.380226] x14: 5f6d72643a6d7264 x13: 0000000000000000 x12: 0000000000000000
[234106.387456] x11: 00000000000002c5 x10: 00000000000002c5 x9 : 00000000000402c5
[234106.394687] x8 : 0000000095d72cee x7 : 00000000f1c4be6a x6 : ffffffc082707b78
[234106.401917] x5 : 0000000000000000 x4 : ffffff8801f20000 x3 : 0000000000000000
[234106.409148] x2 : ffffffc080a5a2bc x1 : ffffffc08562d130 x0 : deadbeefdeadbeef
[234106.416379] Call trace:
[234106.418904] zynqmp_dp_bridge_detect (arch/arm64/include/asm/io.h:79 include/asm-generic/io.h:223 drivers/gpu/drm/xlnx/zynqmp_dp.c:335 drivers/gpu/drm/xlnx/zynqmp_dp.c:1544) 
[234106.423522] drm_bridge_connector_detect (drivers/gpu/drm/drm_bridge_connector.c:176) 
[234106.428400] drm_helper_probe_detect (drivers/gpu/drm/drm_probe_helper.c:407) 
[234106.432931] drm_helper_probe_single_connector_modes (drivers/gpu/drm/drm_probe_helper.c:596) 
[234106.439025] drm_mode_getconnector (drivers/gpu/drm/drm_connector.c:2947) 
[234106.443556] drm_ioctl_kernel (drivers/gpu/drm/drm_ioctl.c:744 (discriminator 1)) 
[234106.447566] drm_ioctl (drivers/gpu/drm/drm_ioctl.c:841) 
[234106.451055] __arm64_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890 fs/ioctl.c:890) 
[234106.455066] invoke_syscall (arch/arm64/include/asm/current.h:19 arch/arm64/kernel/syscall.c:53) 
[234106.458902] el0_svc_common.constprop.0 (arch/arm64/kernel/syscall.c:140) 
[234106.463693] do_el0_svc (arch/arm64/kernel/syscall.c:153) 
[234106.467096] el0_svc (arch/arm64/include/asm/irqflags.h:83 arch/arm64/include/asm/irqflags.h:124 arch/arm64/include/asm/irqflags.h:137 arch/arm64/kernel/entry-common.c:165 arch/arm64/kernel/entry-common.c:178 arch/arm64/kernel/entry-common.c:713) 
[234106.470325] el0t_64_sync_handler (arch/arm64/kernel/entry-common.c:731) 
[234106.474769] el0t_64_sync (arch/arm64/kernel/entry.S:598) 
[234106.478524] Code: d100c2d5 52800153 f9400ea1 9104c021 (b9400021)
All code
========
   0:	d100c2d5 	sub	x21, x22, #0x30
   4:	52800153 	mov	w19, #0xa                   	// #10
   8:	f9400ea1 	ldr	x1, [x21, #24]
   c:	9104c021 	add	x1, x1, #0x130
  10:*	b9400021 	ldr	w1, [x1]		<-- trapping instruction

Code starting with the faulting instruction
===========================================
   0:	b9400021 	ldr	w1, [x1]
[234106.484704] ---[ end trace 0000000000000000 ]---

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[relevance 43%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
@ 2024-05-06 14:46 43%     ` Sean Anderson
  0 siblings, 0 replies; 200+ results
From: Sean Anderson @ 2024-05-06 14:46 UTC (permalink / raw)
  To: Tomi Valkeinen, Laurent Pinchart
  Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Daniel Vetter, Michal Simek, dri-devel, linux-arm-kernel,
	linux-kernel

On 5/6/24 07:16, Tomi Valkeinen wrote:
> Hi,
> 
> On 04/05/2024 00:54, Sean Anderson wrote:
>> Hi,
>>
>> I have discovered a bug in the displayport driver on drm-misc-next. To
>> trigger it, run
>>
>> echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
>>
>> The system will become unresponsive and (after a bit) splat with a hard
>> LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
>> zynqmp_dp_bridge_detect.
>>
>> I believe the issue is due the registers being unmapped and the block
>> put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release. This
>> could be resolved by deferring things until zynqmp_dpsub_release
>> (requiring us to skip devm_*), or by adding a flag to struct zynqmp_dp
>> and checking it before each callback. A subsystem-level implementation
>> might be better for the latter.
>>
>> For a better traceback, try applying the below patch and running the
>> following commands before triggering the lockup:
>>
>> echo 4 > /sys/module/drm/parameters/debug
>> echo 8 > /proc/sys/kernel/printk
> 
> I wasn't able to reproduce. Where does the detect call come in your case? Looking at the code, afaics, it shouldn't happen.

# echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
[234105.917005] Console: switching to colour dummy device 80x25
[234105.962474] zynqmp-dpsub fd4a0000.display: [drm:drm_client_release] fbdev
[234105.970397] zynqmp-dpsub fd4a0000.display: [drm:drm_sysfs_connector_remove] [CONNECTOR:41:DP-1] removing connector from sysfs
[234105.991669] zynqmp-dpsub fd4a0000.display: [drm:drm_helper_probe_single_connector_modes] [CONNECTOR:41:DP-1]
[234106.001833] ------------[ cut here ]------------
[234106.006570] WARNING: CPU: 2 PID: 527 at drivers/gpu/drm/xlnx/zynqmp_dp.c:1537 zynqmp_dp_bridge_detect (drivers/gpu/drm/xlnx/zynqmp_dp.c:1537 (discriminator 1)) 
[234106.016960] Modules linked in:
[234106.021306] CPU: 2 PID: 527 Comm: Xorg Not tainted 6.9.0-rc6+ #34
[234106.027858] Hardware name: xlnx,zynqmp (DT)
[234106.032146] pstate: a0000005 (NzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[234106.039219] pc : zynqmp_dp_bridge_detect (drivers/gpu/drm/xlnx/zynqmp_dp.c:1537 (discriminator 1)) 
[234106.044297] lr : drm_bridge_connector_detect (drivers/gpu/drm/drm_bridge_connector.c:176) 
[234106.049548] sp : ffffffc0895bb980
[234106.052968] x29: ffffffc0895bb980 x28: ffffff8805fe1000 x27: ffffffc0818ff000
[234106.060251] x26: 0000000000000001 x25: 0000000000000050 x24: 0000000000001000
[234106.067534] x23: 0000000000001000 x22: ffffff8805fe0030 x21: ffffff8805fe1000
[234106.074816] x20: ffffffc0895bbae8 x19: ffffff8805fe1000 x18: 0000000000005550
[234106.082099] x17: 6e6e6f635f656c67 x16: 6e69735f65626f72 x15: 705f7265706c6568
[234106.089382] x14: 5f6d72643a6d7264 x13: 0000000000000000 x12: 0000000000000000
[234106.096664] x11: 00000000000002c5 x10: 00000000000002c5 x9 : 00000000000402c5
[234106.103947] x8 : 0000000095d72cee x7 : 00000000f1c4be6a x6 : ffffffc082707b78
[234106.111229] x5 : 0000000000000000 x4 : ffffff8801f20000 x3 : 0000000000000000
[234106.118512] x2 : ffffffc080a5a2bc x1 : 0123456789abcdef x0 : deadbeefdeadbeef
[234106.125795] Call trace:
[234106.128347] zynqmp_dp_bridge_detect (drivers/gpu/drm/xlnx/zynqmp_dp.c:1537 (discriminator 1)) 
[234106.133077] drm_bridge_connector_detect (drivers/gpu/drm/drm_bridge_connector.c:176) 
[234106.137981] drm_helper_probe_detect (drivers/gpu/drm/drm_probe_helper.c:407) 
[234106.142538] drm_helper_probe_single_connector_modes (drivers/gpu/drm/drm_probe_helper.c:596) 
[234106.148658] drm_mode_getconnector (drivers/gpu/drm/drm_connector.c:2947) 
[234106.153215] drm_ioctl_kernel (drivers/gpu/drm/drm_ioctl.c:744 (discriminator 1)) 
[234106.157251] drm_ioctl (drivers/gpu/drm/drm_ioctl.c:841) 
[234106.160767] __arm64_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890 fs/ioctl.c:890) 
[234106.164803] invoke_syscall (arch/arm64/include/asm/current.h:19 arch/arm64/kernel/syscall.c:53) 
[234106.168665] el0_svc_common.constprop.0 (arch/arm64/kernel/syscall.c:140) 
[234106.173483] do_el0_svc (arch/arm64/kernel/syscall.c:153) 
[234106.176911] el0_svc (arch/arm64/include/asm/irqflags.h:83 arch/arm64/include/asm/irqflags.h:124 arch/arm64/include/asm/irqflags.h:137 arch/arm64/kernel/entry-common.c:165 arch/arm64/kernel/entry-common.c:178 arch/arm64/kernel/entry-common.c:713) 
[234106.180166] el0t_64_sync_handler (arch/arm64/kernel/entry-common.c:731) 
[234106.184637] el0t_64_sync (arch/arm64/kernel/entry.S:598) 
[234106.188413] irq event stamp: 348036
[234106.192006] hardirqs last enabled at (348035): console_unlock (arch/arm64/include/asm/irqflags.h:83 arch/arm64/include/asm/irqflags.h:124 arch/arm64/include/asm/irqflags.h:137 kernel/printk/printk.c:341 kernel/printk/printk.c:2731 kernel/printk/printk.c:3050) 
[234106.200816] hardirqs last disabled at (348036): el1_dbg (arch/arm64/kernel/entry-common.c:371 (discriminator 4) arch/arm64/kernel/entry-common.c:471 (discriminator 4)) 
[234106.208845] softirqs last enabled at (348030): __do_softirq (arch/arm64/include/asm/current.h:19 arch/arm64/include/asm/preempt.h:13 kernel/softirq.c:401 kernel/softirq.c:583) 
[234106.217482] softirqs last disabled at (348023): ____do_softirq (arch/arm64/kernel/irq.c:82) 
[234106.226119] ---[ end trace 0000000000000000 ]---
[234106.230974] Unable to handle kernel paging request at virtual address ffffffc08562d130
[234106.239055] Mem abort info:
[234106.242008]   ESR = 0x0000000096000007
[234106.245872]   EC = 0x25: DABT (current EL), IL = 32 bits
[234106.251375]   SET = 0, FnV = 0
[234106.254584]   EA = 0, S1PTW = 0
[234106.257841]   FSC = 0x07: level 3 translation fault
[234106.262874] Data abort info:
[234106.265870]   ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000
[234106.271548]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0
[234106.276763]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[234106.282240] swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000001a8d000
[234106.289107] [ffffffc08562d130] pgd=10000000033d8003, p4d=10000000033d8003, pud=10000000033d8003, pmd=10000008038ce003, pte=0000000000000000
[234106.302368] Internal error: Oops: 0000000096000007 [#1] SMP
[234106.308029] Modules linked in:
[234106.311169] CPU: 2 PID: 527 Comm: Xorg Tainted: G        W          6.9.0-rc6+ #34
[234106.319170] Hardware name: xlnx,zynqmp (DT)
[234106.323433] pstate: a0000005 (NzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[234106.330480] pc : zynqmp_dp_bridge_detect (arch/arm64/include/asm/io.h:79 include/asm-generic/io.h:223 drivers/gpu/drm/xlnx/zynqmp_dp.c:335 drivers/gpu/drm/xlnx/zynqmp_dp.c:1544) 
[234106.335455] lr : drm_bridge_connector_detect (drivers/gpu/drm/drm_bridge_connector.c:176) 
[234106.340679] sp : ffffffc0895bb980
[234106.344073] x29: ffffffc0895bb980 x28: ffffff8805fe1000 x27: ffffffc0818ff000
[234106.351304] x26: 0000000000000001 x25: 0000000000000050 x24: 0000000000001000
[234106.358534] x23: 0000000000001000 x22: ffffff8805fe0030 x21: ffffff8805fe0000
[234106.365765] x20: ffffffc0895bbae8 x19: 000000000000000a x18: 0000000000005550
[234106.372995] x17: 6e6e6f635f656c67 x16: 6e69735f65626f72 x15: 705f7265706c6568
[234106.380226] x14: 5f6d72643a6d7264 x13: 0000000000000000 x12: 0000000000000000
[234106.387456] x11: 00000000000002c5 x10: 00000000000002c5 x9 : 00000000000402c5
[234106.394687] x8 : 0000000095d72cee x7 : 00000000f1c4be6a x6 : ffffffc082707b78
[234106.401917] x5 : 0000000000000000 x4 : ffffff8801f20000 x3 : 0000000000000000
[234106.409148] x2 : ffffffc080a5a2bc x1 : ffffffc08562d130 x0 : deadbeefdeadbeef
[234106.416379] Call trace:
[234106.418904] zynqmp_dp_bridge_detect (arch/arm64/include/asm/io.h:79 include/asm-generic/io.h:223 drivers/gpu/drm/xlnx/zynqmp_dp.c:335 drivers/gpu/drm/xlnx/zynqmp_dp.c:1544) 
[234106.423522] drm_bridge_connector_detect (drivers/gpu/drm/drm_bridge_connector.c:176) 
[234106.428400] drm_helper_probe_detect (drivers/gpu/drm/drm_probe_helper.c:407) 
[234106.432931] drm_helper_probe_single_connector_modes (drivers/gpu/drm/drm_probe_helper.c:596) 
[234106.439025] drm_mode_getconnector (drivers/gpu/drm/drm_connector.c:2947) 
[234106.443556] drm_ioctl_kernel (drivers/gpu/drm/drm_ioctl.c:744 (discriminator 1)) 
[234106.447566] drm_ioctl (drivers/gpu/drm/drm_ioctl.c:841) 
[234106.451055] __arm64_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:904 fs/ioctl.c:890 fs/ioctl.c:890) 
[234106.455066] invoke_syscall (arch/arm64/include/asm/current.h:19 arch/arm64/kernel/syscall.c:53) 
[234106.458902] el0_svc_common.constprop.0 (arch/arm64/kernel/syscall.c:140) 
[234106.463693] do_el0_svc (arch/arm64/kernel/syscall.c:153) 
[234106.467096] el0_svc (arch/arm64/include/asm/irqflags.h:83 arch/arm64/include/asm/irqflags.h:124 arch/arm64/include/asm/irqflags.h:137 arch/arm64/kernel/entry-common.c:165 arch/arm64/kernel/entry-common.c:178 arch/arm64/kernel/entry-common.c:713) 
[234106.470325] el0t_64_sync_handler (arch/arm64/kernel/entry-common.c:731) 
[234106.474769] el0t_64_sync (arch/arm64/kernel/entry.S:598) 
[234106.478524] Code: d100c2d5 52800153 f9400ea1 9104c021 (b9400021)
All code
========
   0:	d100c2d5 	sub	x21, x22, #0x30
   4:	52800153 	mov	w19, #0xa                   	// #10
   8:	f9400ea1 	ldr	x1, [x21, #24]
   c:	9104c021 	add	x1, x1, #0x130
  10:*	b9400021 	ldr	w1, [x1]		<-- trapping instruction

Code starting with the faulting instruction
===========================================
   0:	b9400021 	ldr	w1, [x1]
[234106.484704] ---[ end trace 0000000000000000 ]---

^ permalink raw reply	[relevance 43%]

* Re: [bug report] remoteproc: k3-r5: Do not allow core1 to power up before core0 via sysfs
  @ 2024-05-06 14:26 64% ` Beleswar Prasad Padhi
  0 siblings, 0 replies; 200+ results
From: Beleswar Prasad Padhi @ 2024-05-06 14:26 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: linux-remoteproc

Hello Dan,

On 03/05/24 20:54, Dan Carpenter wrote:
> Hello Beleswar Padhi,
>
> Commit 3c8a9066d584 ("remoteproc: k3-r5: Do not allow core1 to power
> up before core0 via sysfs") from Apr 30, 2024 (linux-next), leads to
> the following Smatch static checker warning:
>
> drivers/remoteproc/ti_k3_r5_remoteproc.c:583 k3_r5_rproc_start()
> warn: missing unwind goto?
>
> drivers/remoteproc/ti_k3_r5_remoteproc.c:651 k3_r5_rproc_stop()
> warn: missing unwind goto?
>
> drivers/remoteproc/ti_k3_r5_remoteproc.c
>       546 static int k3_r5_rproc_start(struct rproc *rproc)
>       547 {
>       548         struct k3_r5_rproc *kproc = rproc->priv;
>       549         struct k3_r5_cluster *cluster = kproc->cluster;
>       550         struct device *dev = kproc->dev;
>       551         struct k3_r5_core *core0, *core;
>       552         u32 boot_addr;
>       553         int ret;
>       554
>       555         ret = k3_r5_rproc_request_mbox(rproc);
>                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>       556         if (ret)
>       557                 return ret;
>       558
>       559         boot_addr = rproc->bootaddr;
>       560         /* TODO: add boot_addr sanity checking */
>       561         dev_dbg(dev, "booting R5F core using boot addr = 0x%x\n", boot_addr);
>       562
>       563         /* boot vector need not be programmed for Core1 in LockStep mode */
>       564         core = kproc->core;
>       565         ret = ti_sci_proc_set_config(core->tsp, boot_addr, 0, 0);
>       566         if (ret)
>       567                 goto put_mbox;
>       568
>       569         /* unhalt/run all applicable cores */
>       570         if (cluster->mode == CLUSTER_MODE_LOCKSTEP) {
>       571                 list_for_each_entry_reverse(core, &cluster->cores, elem) {
>       572                         ret = k3_r5_core_run(core);
>       573                         if (ret)
>       574                                 goto unroll_core_run;
>       575                 }
>       576         } else {
>       577                 /* do not allow core 1 to start before core 0 */
>       578                 core0 = list_first_entry(&cluster->cores, struct k3_r5_core,
>       579                                          elem);
>       580                 if (core != core0 && core0->rproc->state == RPROC_OFFLINE) {
>       581                         dev_err(dev, "%s: can not start core 1 before core 0\n",
>       582                                 __func__);
> --> 583                         return -EPERM;
>
> Is there no clean up on this error path?  I think we need to do a
> goto put_mbox at least.

Thank you for pointing out. Apologies for the oversight. I have sent a 
PATCH addressing this bug.

Link to PATCH:

https://lore.kernel.org/all/20240506141849.1735679-1-b-padhi@ti.com/

Regards,
Beleswar

>
>       584                 }
>       585
>       586                 ret = k3_r5_core_run(core);
>       587                 if (ret)
>       588                         goto put_mbox;
>       589         }
>       590
>       591         return 0;
>       592
>       593 unroll_core_run:
>       594         list_for_each_entry_continue(core, &cluster->cores, elem) {
>       595                 if (k3_r5_core_halt(core))
>       596                         dev_warn(core->dev, "core halt back failed\n");
>       597         }
>       598 put_mbox:
>       599         mbox_free_channel(kproc->mbox);
>       600         return ret;
>       601 }
>
> regards,
> dan carpenter
>

^ permalink raw reply	[relevance 64%]

* [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
    2024-05-06 14:20 64% ` [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep bugzilla-daemon
@ 2024-05-06 14:23 64% ` bugzilla-daemon
  2024-05-06 14:52 64% ` bugzilla-daemon
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-06 14:23 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218305

--- Comment #55 from Artem S. Tashkinov (aros@gmx.com) ---
(In reply to Daan Vanoverloop from comment #54)
> I can reproduce the issue on my HP Elitebook 845 G10 with an AMD Ryzen 7 Pro
> 7840U running Linux 6.8.6 with the following steps:
> 
> 1. Ensure that the power adapter is not plugged in
> 2. Suspend the machine
> 3. Wait for 10 seconds
> 4. Plug in the power adapter
> 5. Wait for 10 seconds
> 6. Wake the machine
> 7. The CPU frequency is now stuck at 544 MHz
> 
> When I unplug the power adapter now, the frequency will immediately start
> scaling up again. Replugging the power adapter again while the device is
> awake is also okay.
> 
> I was unable to reproduce the issue by starting with a power adapter plugged
> in and unplugging it before waking up. This did not seem to cause any issues.

Exactly how I experience it and what this bug is about. Mario said he would
post a patch to reset the EC on resume and that should fix the issue but I've
not seen the patch yet.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep
  @ 2024-05-06 14:20 64% ` bugzilla-daemon
  2024-05-06 14:23 64% ` bugzilla-daemon
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-06 14:20 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=218305

Daan Vanoverloop (vanoverloopdaan@gmail.com) changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vanoverloopdaan@gmail.com

--- Comment #54 from Daan Vanoverloop (vanoverloopdaan@gmail.com) ---
I can reproduce the issue on my HP Elitebook 845 G10 with an AMD Ryzen 7 Pro
7840U running Linux 6.8.6 with the following steps:

1. Ensure that the power adapter is not plugged in
2. Suspend the machine
3. Wait for 10 seconds
4. Plug in the power adapter
5. Wait for 10 seconds
6. Wake the machine
7. The CPU frequency is now stuck at 544 MHz

When I unplug the power adapter now, the frequency will immediately start
scaling up again. Replugging the power adapter again while the device is awake
is also okay.

I was unable to reproduce the issue by starting with a power adapter plugged in
and unplugging it before waking up. This did not seem to cause any issues.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[relevance 64%]

* Re: [BUG][v6.9-rc6] Deadlock with: Revert "drm/qxl: simplify qxl_fence_wait"
  2024-05-04  8:39 64% ` Steven Rostedt
@ 2024-05-06 12:45 64%   ` Maxime Ripard
  2024-05-06 20:28 64%     ` Linus Torvalds
  0 siblings, 1 reply; 200+ results
From: Maxime Ripard @ 2024-05-06 12:45 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: LKML, Linus Torvalds, Alex Constantino, Timo Lindfors,
	Dave Airlie, Gerd Hoffmann, Maarten Lankhorst, Thomas Zimmermann,
	Daniel Vetter

[-- Attachment #1: Type: text/plain, Size: 9056 bytes --]

Hi Steven,

It looks like qxl is not well maintained. Please send the revert, we'll
merge it.

Maxime

On Sat, May 04, 2024 at 04:39:57AM GMT, Steven Rostedt wrote:
> 
> Did anyone see this?
> 
> -- Steve
> 
> 
> On Thu, 2 May 2024 08:16:41 -0400
> Steven Rostedt <rostedt@goodmis.org> wrote:
> 
> > I went to run my tests on my VMs and the tests hung on boot up.
> > Unfortunately, the most I ever got out was:
> > 
> > [   93.607888] Testing event system initcall: OK
> > [   93.667730] Running tests on all trace events:
> > [   93.669757] Testing all events: OK
> > [   95.631064] ------------[ cut here ]------------
> > Timed out after 60 seconds
> > 
> > I ran a bisect and it came up with:
> > 
> >  # first bad commit: [07ed11afb68d94eadd4ffc082b97c2331307c5ea] Revert "drm/qxl: simplify qxl_fence_wait"
> > 
> > I checked out 07ed11afb68d94eadd4ffc082b97c2331307c5ea~1 and it booted
> > fine. Added back that commit, it failed to boot. I did this twice, and got
> > the same results.
> > 
> > But the last time I ran it, it did trigger this:
> > 
> >  ------------[ cut here ]------------
> >  
> >  ======================================================
> >  WARNING: possible circular locking dependency detected
> >  6.9.0-rc1-test-00021-g07ed11afb68d #5 Not tainted
> >  ------------------------------------------------------
> >  kworker/u24:3/119 is trying to acquire lock:
> >  ffffffff95aa4600 (console_owner){....}-{0:0}, at: console_flush_all+0x1f5/0x530
> >  
> >  but task is already holding lock:
> >  ffff93c4bbd37218 (&pool->lock){-.-.}-{2:2}, at: __flush_work+0xc1/0x440
> >  
> >  which lock already depends on the new lock.
> >  
> >  
> >  the existing dependency chain (in reverse order) is:
> >  
> >  -> #1 (&pool->lock){-.-.}-{2:2}:  
> >         _raw_spin_lock+0x33/0x40
> >         __queue_work+0xd6/0x610
> >         queue_work_on+0x8a/0x90
> >         soft_cursor+0x1a0/0x230
> >         bit_cursor+0x386/0x5f0
> >         hide_cursor+0x27/0xb0
> >         vt_console_print+0x474/0x490
> >         console_flush_all+0x22e/0x530
> >         console_unlock+0x56/0x160
> >         vprintk_emit+0x160/0x390
> >         dev_printk_emit+0xa5/0xd0
> >         _dev_info+0x79/0xa0
> >         __drm_fb_helper_initial_config_and_unlock+0x3a9/0x5f0
> >         drm_fbdev_generic_client_hotplug+0x69/0xc0
> >         drm_client_register+0x7b/0xc0
> >         qxl_pci_probe+0x107/0x1a0
> >         local_pci_probe+0x45/0xa0
> >         pci_device_probe+0xc7/0x240
> >         really_probe+0xd6/0x390
> >         __driver_probe_device+0x78/0x150
> >         driver_probe_device+0x1f/0x90
> >         __driver_attach+0xd6/0x1d0
> >         bus_for_each_dev+0x8f/0xe0
> >         bus_add_driver+0x119/0x220
> >         driver_register+0x59/0x100
> >         do_one_initcall+0x76/0x3c0
> >         kernel_init_freeable+0x3a5/0x5b0
> >         kernel_init+0x1a/0x1c0
> >         ret_from_fork+0x34/0x50
> >         ret_from_fork_asm+0x1a/0x30
> >  
> >  -> #0 (console_owner){....}-{0:0}:  
> >         __lock_acquire+0x13e7/0x2180
> >         lock_acquire+0xd9/0x300
> >         console_flush_all+0x212/0x530
> >         console_unlock+0x56/0x160
> >         vprintk_emit+0x160/0x390
> >         _printk+0x64/0x80
> >         __warn_printk+0x8e/0x180
> >         check_flush_dependency+0xfd/0x120
> >         __flush_work+0xfa/0x440
> >         qxl_queue_garbage_collect+0x83/0x90
> >         qxl_fence_wait+0xa4/0x1a0
> >         dma_fence_wait_timeout+0x98/0x1e0
> >         dma_resv_wait_timeout+0x7f/0xe0
> >         ttm_bo_delayed_delete+0x2b/0x90
> >         process_one_work+0x228/0x740
> >         worker_thread+0x1dc/0x3c0
> >         kthread+0xf2/0x120
> >         ret_from_fork+0x34/0x50
> >         ret_from_fork_asm+0x1a/0x30
> >  
> >  other info that might help us debug this:
> >  
> >   Possible unsafe locking scenario:
> >  
> >         CPU0                    CPU1
> >         ----                    ----
> >    lock(&pool->lock);
> >                                 lock(console_owner);
> >                                 lock(&pool->lock);
> >    lock(console_owner);
> >  
> >   *** DEADLOCK ***
> >  
> >  6 locks held by kworker/u24:3/119:
> >   #0: ffff93c440245948 ((wq_completion)ttm){+.+.}-{0:0}, at: process_one_work+0x43a/0x740
> >   #1: ffffa01380d83e60 ((work_completion)(&bo->delayed_delete)){+.+.}-{0:0}, at: process_one_work+0x1e2/0x740
> >   #2: ffffffff95b17880 (rcu_read_lock){....}-{1:2}, at: __flush_work+0x86/0x440
> >   #3: ffff93c4bbd37218 (&pool->lock){-.-.}-{2:2}, at: __flush_work+0xc1/0x440
> >   #4: ffffffff95b149c0 (console_lock){+.+.}-{0:0}, at: _printk+0x64/0x80
> >   #5: ffffffff95b14a10 (console_srcu){....}-{0:0}, at: console_flush_all+0x7b/0x530
> >  
> >  stack backtrace:
> >  CPU: 2 PID: 119 Comm: kworker/u24:3 Not tainted 6.9.0-rc1-test-00021-g07ed11afb68d #5
> >  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
> >  Workqueue: ttm ttm_bo_delayed_delete
> >  Call Trace:
> >   <TASK>
> >   dump_stack_lvl+0x77/0xb0
> >   check_noncircular+0x148/0x160
> >   __lock_acquire+0x13e7/0x2180
> >   lock_acquire+0xd9/0x300
> >   ? console_flush_all+0x1f5/0x530
> >   ? lock_release+0x147/0x2c0
> >   ? console_flush_all+0x1f5/0x530
> >   console_flush_all+0x212/0x530
> >   ? console_flush_all+0x1f5/0x530
> >   console_unlock+0x56/0x160
> >   vprintk_emit+0x160/0x390
> >   _printk+0x64/0x80
> >   ? __pfx_ttm_bo_delayed_delete+0x10/0x10
> >   ? __pfx_qxl_gc_work+0x10/0x10
> >   __warn_printk+0x8e/0x180
> >   ? __pfx_ttm_bo_delayed_delete+0x10/0x10
> >   ? __pfx_qxl_gc_work+0x10/0x10
> >   ? __pfx_qxl_gc_work+0x10/0x10
> >   check_flush_dependency+0xfd/0x120
> >   __flush_work+0xfa/0x440
> >   qxl_queue_garbage_collect+0x83/0x90
> >   qxl_fence_wait+0xa4/0x1a0
> >   dma_fence_wait_timeout+0x98/0x1e0
> >   dma_resv_wait_timeout+0x7f/0xe0
> >   ttm_bo_delayed_delete+0x2b/0x90
> >   process_one_work+0x228/0x740
> >   worker_thread+0x1dc/0x3c0
> >   ? __pfx_worker_thread+0x10/0x10
> >   kthread+0xf2/0x120
> >   ? __pfx_kthread+0x10/0x10
> >   ret_from_fork+0x34/0x50
> >   ? __pfx_kthread+0x10/0x10
> >   ret_from_fork_asm+0x1a/0x30
> >   </TASK>
> >  workqueue: WQ_MEM_RECLAIM ttm:ttm_bo_delayed_delete is flushing !WQ_MEM_RECLAIM events:qxl_gc_work
> >  WARNING: CPU: 2 PID: 119 at kernel/workqueue.c:3728 check_flush_dependency+0xfd/0x120
> >  Modules linked in:
> >  CPU: 2 PID: 119 Comm: kworker/u24:3 Not tainted 6.9.0-rc1-test-00021-g07ed11afb68d #5
> >  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
> >  Workqueue: ttm ttm_bo_delayed_delete
> >  RIP: 0010:check_flush_dependency+0xfd/0x120
> >  Code: 8b 45 18 48 8d b2 70 01 00 00 49 89 e8 48 8d 8b 70 01 00 00 48 c7 c7 60 46 7b 95 c6 05 48 67 d2 01 01 48 89 c2 e8 63 40 fd ff <0f> 0b e9 1e ff ff ff 80 3d 33 67 d2 01 00 75 93 e9 4a ff ff ff 66
> >  RSP: 0000:ffffa01380d83c28 EFLAGS: 00010086
> >  RAX: 0000000000000000 RBX: ffff93c44004ee00 RCX: 0000000000000000
> >  RDX: 0000000080000003 RSI: 00000000ffffefff RDI: 0000000000000001
> >  RBP: ffffffff9497b100 R08: 0000000000000000 R09: 0000000000000003
> >  R10: ffffa01380d83ab8 R11: ffffffff95b14828 R12: ffff93c443980000
> >  R13: ffff93c440fbe300 R14: 0000000000000001 R15: ffff93c44004ee00
> >  FS:  0000000000000000(0000) GS:ffff93c4bbd00000(0000) knlGS:0000000000000000
> >  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> >  CR2: 0000000000000000 CR3: 000000007c864001 CR4: 0000000000170ef0
> >  Call Trace:
> >   <TASK>
> >   ? __warn+0x8c/0x180
> >   ? check_flush_dependency+0xfd/0x120
> >   ? report_bug+0x191/0x1c0
> >   ? prb_read_valid+0x1b/0x30
> >   ? handle_bug+0x3c/0x80
> >   ? exc_invalid_op+0x17/0x70
> >   ? asm_exc_invalid_op+0x1a/0x20
> >   ? __pfx_qxl_gc_work+0x10/0x10
> >   ? check_flush_dependency+0xfd/0x120
> >   ? check_flush_dependency+0xfd/0x120
> >   __flush_work+0xfa/0x440
> >   qxl_queue_garbage_collect+0x83/0x90
> >   qxl_fence_wait+0xa4/0x1a0
> >   dma_fence_wait_timeout+0x98/0x1e0
> >   dma_resv_wait_timeout+0x7f/0xe0
> >   ttm_bo_delayed_delete+0x2b/0x90
> >   process_one_work+0x228/0x740
> >   worker_thread+0x1dc/0x3c0
> >   ? __pfx_worker_thread+0x10/0x10
> >   kthread+0xf2/0x120
> >   ? __pfx_kthread+0x10/0x10
> >   ret_from_fork+0x34/0x50
> >   ? __pfx_kthread+0x10/0x10
> >   ret_from_fork_asm+0x1a/0x30
> >   </TASK>
> >  irq event stamp: 58
> >  hardirqs last  enabled at (57): [<ffffffff93fede30>] queue_work_on+0x60/0x90
> >  hardirqs last disabled at (58): [<ffffffff94ea7f66>] _raw_spin_lock_irq+0x56/0x60
> >  softirqs last  enabled at (0): [<ffffffff93fbae27>] copy_process+0xc07/0x2c60
> >  softirqs last disabled at (0): [<0000000000000000>] 0x0
> >  ---[ end trace 0000000000000000 ]---
> > 
> > So there's an issue with dma_fence and a workqueue.
> > 
> > -- Steve
> > 
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 273 bytes --]

^ permalink raw reply	[relevance 64%]

* Re: [PATCH] Bug fix: ensure P4 "err" is displayed when exception is raised.
  2024-05-04  5:57 56% [PATCH] Bug fix: ensure P4 "err" is displayed when exception is raised Fahad Alrashed via GitGitGadget
@ 2024-05-06 12:01 64% ` Karthik Nayak
  2024-05-08 11:46 51% ` [PATCH v2] " Fahad Alrashed via GitGitGadget
  1 sibling, 0 replies; 200+ results
From: Karthik Nayak @ 2024-05-06 12:01 UTC (permalink / raw)
  To: Fahad Alrashed via GitGitGadget, git; +Cc: Fahad Alrashed

[-- Attachment #1: Type: text/plain, Size: 3544 bytes --]

Hello Fahad,

"Fahad Alrashed via GitGitGadget" <gitgitgadget@gmail.com> writes:

> From: Fahad Alrashed <fahad@keylock.net>
>
> Bug fix: During "git p4 clone" if p4 process returns

Nit: I haven't seen us use a prefix for the commit message. Also we use
a max line length of 72 characters (see .editorconfig). The commit
message seems to be wrapped at a much lower threshold.

> an error from the server, it will store it in variable

perhaps `in the 'err' variable` or `in a variable 'err'`.

> "err". The it will send a text command "die-now" to

s/The/Then

> git-fast-import. However, git-fast-import raises an
> exception: "fatal: Unsupported command: die-now"
> and err is never displayed. This patch ensures that
> err is dispayed using "finally:"
>
> Signed-off-by: Fahad Alrashed <fahad@keylock.net>
> ---
>     In git p4, git fast-import fails from die-now command and err (from
>     Perforce) is not shown
>
>     When importing from Perforce using git p4 clone <depot location>,
>     cloning works fine until Perforce command p4 raises an error. This error
>     message is stored in err variable then git-fast-import is sent a die-now
>     command to kill it. An exception is raised fatal: Unsupported command:
>     die-now.
>
>     This patch forces python to call die() with the err message returned
>     from Perforce.
>
>     This commit fixes the root cause of a bug that took me hours to find.
>     I'm sure many faced the cryptic error and declared that git-p4 is not
>     working for them.
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1668%2Falrashedf%2Fmaster-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1668/alrashedf/master-v1
> Pull-Request: https://github.com/git/git/pull/1668
>
>  git-p4.py | 24 +++++++++++++-----------
>  1 file changed, 13 insertions(+), 11 deletions(-)
>
> diff --git a/git-p4.py b/git-p4.py
> index 28ab12c72b6..f1ab31d5403 100755
> --- a/git-p4.py
> +++ b/git-p4.py
> @@ -3253,17 +3253,19 @@ def streamP4FilesCb(self, marshalled):
>              if self.stream_have_file_info:
>                  if "depotFile" in self.stream_file:
>                      f = self.stream_file["depotFile"]
> -            # force a failure in fast-import, else an empty
> -            # commit will be made
> -            self.gitStream.write("\n")
> -            self.gitStream.write("die-now\n")
> -            self.gitStream.close()
> -            # ignore errors, but make sure it exits first
> -            self.importProcess.wait()
> -            if f:
> -                die("Error from p4 print for %s: %s" % (f, err))
> -            else:
> -                die("Error from p4 print: %s" % err)
> +            try:
> +                # force a failure in fast-import, else an empty
> +                # commit will be made
> +                self.gitStream.write("\n")
> +                self.gitStream.write("die-now\n")
> +                self.gitStream.close()
> +                # ignore errors, but make sure it exits first
> +                self.importProcess.wait()
> +            finally:
> +                if f:
> +                    die("Error from p4 print for %s: %s" % (f, err))
> +                else:
> +                    die("Error from p4 print: %s" % err)
>

This part looks good.

>          if 'depotFile' in marshalled and self.stream_have_file_info:
>              # start of a new file - output the old one first
>
> base-commit: 235986be822c9f8689be2e9a0b7804d0b1b6d821
> --
> gitgitgadget

Thanks,
Karthik

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 690 bytes --]

^ permalink raw reply	[relevance 64%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
  2024-05-03 21:54 59% [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound Sean Anderson
@ 2024-05-06 11:16 64%   ` Tomi Valkeinen
  2024-05-06 11:16 64%   ` Tomi Valkeinen
  1 sibling, 0 replies; 200+ results
From: Tomi Valkeinen @ 2024-05-06 11:16 UTC (permalink / raw)
  To: Sean Anderson, Laurent Pinchart
  Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Daniel Vetter, Michal Simek, dri-devel, linux-arm-kernel,
	linux-kernel

Hi,

On 04/05/2024 00:54, Sean Anderson wrote:
> Hi,
> 
> I have discovered a bug in the displayport driver on drm-misc-next. To
> trigger it, run
> 
> echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
> 
> The system will become unresponsive and (after a bit) splat with a hard
> LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
> zynqmp_dp_bridge_detect.
> 
> I believe the issue is due the registers being unmapped and the block
> put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release. This
> could be resolved by deferring things until zynqmp_dpsub_release
> (requiring us to skip devm_*), or by adding a flag to struct zynqmp_dp
> and checking it before each callback. A subsystem-level implementation
> might be better for the latter.
> 
> For a better traceback, try applying the below patch and running the
> following commands before triggering the lockup:
> 
> echo 4 > /sys/module/drm/parameters/debug
> echo 8 > /proc/sys/kernel/printk

I wasn't able to reproduce. Where does the detect call come in your 
case? Looking at the code, afaics, it shouldn't happen.

  Tomi

> diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp.c b/drivers/gpu/drm/xlnx/zynqmp_dp.c
> index 9df068a413f3..17b477b14ab5 100644
> --- a/drivers/gpu/drm/xlnx/zynqmp_dp.c
> +++ b/drivers/gpu/drm/xlnx/zynqmp_dp.c
> @@ -296,6 +296,7 @@ struct zynqmp_dp_config {
>    * @train_set: set of training data
>    */
>   struct zynqmp_dp {
> +       unsigned long long magic;
>          struct device *dev;
>          struct zynqmp_dpsub *dpsub;
>          void __iomem *iomem;
> @@ -1533,6 +1534,8 @@ static enum drm_connector_status zynqmp_dp_bridge_detect(struct drm_bridge *brid
>          u32 state, i;
>          int ret;
>   
> +       WARN_ON(dp->magic != 0x0123456789abcdefULL);
> +
>          /*
>           * This is from heuristic. It takes some delay (ex, 100 ~ 500 msec) to
>           * get the HPD signal with some monitors.
> @@ -1723,6 +1726,7 @@ int zynqmp_dp_probe(struct zynqmp_dpsub *dpsub)
>          if (!dp)
>                  return -ENOMEM;
>   
> +       dp->magic = 0x0123456789abcdefULL;
>          dp->dev = &pdev->dev;
>          dp->dpsub = dpsub;
>          dp->status = connector_status_disconnected;
> @@ -1839,4 +1843,5 @@ void zynqmp_dp_remove(struct zynqmp_dpsub *dpsub)
>   
>          zynqmp_dp_phy_exit(dp);
>          zynqmp_dp_reset(dp, true);
> +       dp->magic = 0xdeadbeefdeadbeefULL;
>   }


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[relevance 64%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
@ 2024-05-06 11:16 64%   ` Tomi Valkeinen
  0 siblings, 0 replies; 200+ results
From: Tomi Valkeinen @ 2024-05-06 11:16 UTC (permalink / raw)
  To: Sean Anderson, Laurent Pinchart
  Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Daniel Vetter, Michal Simek, dri-devel, linux-arm-kernel,
	linux-kernel

Hi,

On 04/05/2024 00:54, Sean Anderson wrote:
> Hi,
> 
> I have discovered a bug in the displayport driver on drm-misc-next. To
> trigger it, run
> 
> echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
> 
> The system will become unresponsive and (after a bit) splat with a hard
> LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
> zynqmp_dp_bridge_detect.
> 
> I believe the issue is due the registers being unmapped and the block
> put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release. This
> could be resolved by deferring things until zynqmp_dpsub_release
> (requiring us to skip devm_*), or by adding a flag to struct zynqmp_dp
> and checking it before each callback. A subsystem-level implementation
> might be better for the latter.
> 
> For a better traceback, try applying the below patch and running the
> following commands before triggering the lockup:
> 
> echo 4 > /sys/module/drm/parameters/debug
> echo 8 > /proc/sys/kernel/printk

I wasn't able to reproduce. Where does the detect call come in your 
case? Looking at the code, afaics, it shouldn't happen.

  Tomi

> diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp.c b/drivers/gpu/drm/xlnx/zynqmp_dp.c
> index 9df068a413f3..17b477b14ab5 100644
> --- a/drivers/gpu/drm/xlnx/zynqmp_dp.c
> +++ b/drivers/gpu/drm/xlnx/zynqmp_dp.c
> @@ -296,6 +296,7 @@ struct zynqmp_dp_config {
>    * @train_set: set of training data
>    */
>   struct zynqmp_dp {
> +       unsigned long long magic;
>          struct device *dev;
>          struct zynqmp_dpsub *dpsub;
>          void __iomem *iomem;
> @@ -1533,6 +1534,8 @@ static enum drm_connector_status zynqmp_dp_bridge_detect(struct drm_bridge *brid
>          u32 state, i;
>          int ret;
>   
> +       WARN_ON(dp->magic != 0x0123456789abcdefULL);
> +
>          /*
>           * This is from heuristic. It takes some delay (ex, 100 ~ 500 msec) to
>           * get the HPD signal with some monitors.
> @@ -1723,6 +1726,7 @@ int zynqmp_dp_probe(struct zynqmp_dpsub *dpsub)
>          if (!dp)
>                  return -ENOMEM;
>   
> +       dp->magic = 0x0123456789abcdefULL;
>          dp->dev = &pdev->dev;
>          dp->dpsub = dpsub;
>          dp->status = connector_status_disconnected;
> @@ -1839,4 +1843,5 @@ void zynqmp_dp_remove(struct zynqmp_dpsub *dpsub)
>   
>          zynqmp_dp_phy_exit(dp);
>          zynqmp_dp_reset(dp, true);
> +       dp->magic = 0xdeadbeefdeadbeefULL;
>   }


^ permalink raw reply	[relevance 64%]

* [Linux kernel bug] KASAN: out-of-bounds Read in irq_work_single
@ 2024-05-06 10:45  2% Sam Sun
  0 siblings, 0 replies; 200+ results
From: Sam Sun @ 2024-05-06 10:45 UTC (permalink / raw)
  To: linux-kernel, mingo, peterz, juri.lelli, vincent.guittot,
	dietmar.eggemann, rostedt, bsegall, mgorman, bristot, vschneid

[-- Attachment #1: Type: text/plain, Size: 9056 bytes --]

Dear developers and maintainers,

We encountered a slab-out-of-bounds bug while using our modified
syzkaller. It was tested against the upstream kernel (tag 6.9-rc5).
The kernel was compiled by clang 14.0.0, and kernel config and C repro
are attached to this email. Kernel crash log is listed below.

==================================================================
BUG: KASAN: out-of-bounds in __wake_up_common kernel/sched/wait.c:86 [inline]
BUG: KASAN: out-of-bounds in __wake_up_common_lock+0x171/0x1e0
kernel/sched/wait.c:106
Read of size 4 at addr ffffc9000fe57a60 by task syz-executor335/8119

CPU: 0 PID: 8119 Comm: syz-executor335 Not tainted 6.9.0-rc5 #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x201/0x300 lib/dump_stack.c:114
 print_address_description+0x7b/0x360 mm/kasan/report.c:377
 print_report+0xfd/0x1e0 mm/kasan/report.c:488
 kasan_report+0xce/0x100 mm/kasan/report.c:601
 __wake_up_common kernel/sched/wait.c:86 [inline]
 __wake_up_common_lock+0x171/0x1e0 kernel/sched/wait.c:106
 irq_work_single+0xdf/0x240 kernel/irq_work.c:221
 irq_work_run_list kernel/irq_work.c:252 [inline]
 irq_work_tick+0x2db/0x390 kernel/irq_work.c:277
 update_process_times+0x1f6/0x230 kernel/time/timer.c:2489
 tick_sched_handle kernel/time/tick-sched.c:276 [inline]
 tick_nohz_handler+0x37a/0x4f0 kernel/time/tick-sched.c:297
 __run_hrtimer kernel/time/hrtimer.c:1692 [inline]
 __hrtimer_run_queues+0x4ab/0x8e0 kernel/time/hrtimer.c:1756
 hrtimer_interrupt+0x37f/0x970 kernel/time/hrtimer.c:1818
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1032 [inline]
 __sysvec_apic_timer_interrupt+0xc1/0x180 arch/x86/kernel/apic/apic.c:1049
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline]
 sysvec_apic_timer_interrupt+0xa1/0xc0 arch/x86/kernel/apic/apic.c:1043
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:memmove+0x28/0x1b0 arch/x86/lib/memmove_64.S:44
Code: c3 90 f3 0f 1e fa 48 89 f8 48 39 fe 7d 0f 49 89 f0 49 01 d0 49
39 f8 0f 8f b5 00 00 00 48 83 fa 20 0f 82 01 01 00 00 48 89 d1 <f3> a4
c3 48 81 fa a8 02 00 00 72 05 40 38 fe 74 47 48 83 ea 20 48
RSP: 0018:ffffc900084be7f8 EFLAGS: 00010286
RAX: ffff8880273b8fb4 RBX: 0000000000000010 RCX: ffffffffff82672b
RDX: ffffffffffffffe0 RSI: ffff888027b92859 RDI: ffff888027b92869
RBP: ffff8880273b8fa4 R08: ffff8880273b8f84 R09: 0000766972705f73
R10: 667265736965722e R11: 0000766972705f73 R12: 0000000000000f84
R13: ffff8880273b8f84 R14: 0000000000000020 R15: ffffffffffffffe0
 leaf_paste_entries+0x96f/0x1380 fs/reiserfs/lbalance.c:1377
 balance_leaf_finish_node_paste_dirent fs/reiserfs/do_balan.c:1295 [inline]
 balance_leaf_finish_node_paste fs/reiserfs/do_balan.c:1321 [inline]
 balance_leaf_finish_node fs/reiserfs/do_balan.c:1364 [inline]
 balance_leaf+0xa9b7/0x12070 fs/reiserfs/do_balan.c:1452
 do_balance+0x2da/0x8c0 fs/reiserfs/do_balan.c:1888
 reiserfs_paste_into_item+0x73e/0x880 fs/reiserfs/stree.c:2158
 reiserfs_add_entry+0x9c5/0xef0 fs/reiserfs/namei.c:558
 reiserfs_mkdir+0x694/0x8d0 fs/reiserfs/namei.c:853
 xattr_mkdir fs/reiserfs/xattr.c:77 [inline]
 create_privroot fs/reiserfs/xattr.c:891 [inline]
 reiserfs_xattr_init+0x359/0x6c0 fs/reiserfs/xattr.c:1007
 reiserfs_fill_super+0x2090/0x2480 fs/reiserfs/super.c:2174
 mount_bdev+0x212/0x2d0 fs/super.c:1658
 legacy_get_tree+0xed/0x190 fs/fs_context.c:662
 vfs_get_tree+0x90/0x2a0 fs/super.c:1779
 do_new_mount+0x2bb/0xb40 fs/namespace.c:3352
 do_mount fs/namespace.c:3692 [inline]
 __do_sys_mount fs/namespace.c:3898 [inline]
 __se_sys_mount+0x2c9/0x3b0 fs/namespace.c:3875
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xe4/0x240 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x67/0x6f
RIP: 0033:0x7f890811aa7e
Code: 48 c7 c0 ff ff ff ff eb aa e8 ee 08 00 00 66 2e 0f 1f 84 00 00
00 00 00 0f 1f 40 00 f3 0f 1e fa 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d
01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f89080b5ff8 EFLAGS: 00000286 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007f89080b65f0 RCX: 00007f890811aa7e
RDX: 0000000020001100 RSI: 00000000200000c0 RDI: 00007f89080b6010
RBP: 00007f89080b6010 R08: 00007f89080b6050 R09: 00000000000010ec
R10: 0000000000018050 R11: 0000000000000286 R12: 00007f89080b6050
R13: 0000000000018050 R14: 0000000000000003 R15: 0000000000000004
 </TASK>

The buggy address belongs to the virtual mapping at
 [ffffc9000fe50000, ffffc9000fe59000) created by:
 dup_task_struct+0x8b/0x5a0 kernel/fork.c:1115

The buggy address belongs to the physical page:
page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x22a56
memcg:ffff888016378682
flags: 0xfff80000000000(node=0|zone=1|lastcpupid=0xfff)
page_type: 0xffffffff()
raw: 00fff80000000000 0000000000000000 dead000000000122 0000000000000000
raw: 0000000000000000 0000000000000000 00000001ffffffff ffff888016378682
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 0, migratetype Unmovable, gfp_mask
0x2dc2(GFP_KERNEL|__GFP_HIGHMEM|__GFP_NOWARN|__GFP_ZERO), pid 6401,
tgid 828911888 (systemd-udevd), ts 6401, free_ts 55598516357
 set_page_owner include/linux/page_owner.h:32 [inline]
 post_alloc_hook+0x1e6/0x210 mm/page_alloc.c:1534
 prep_new_page mm/page_alloc.c:1541 [inline]
 get_page_from_freelist+0x7d2/0x850 mm/page_alloc.c:3317
 __alloc_pages+0x25e/0x580 mm/page_alloc.c:4575
 alloc_pages_mpol+0x392/0x610 mm/mempolicy.c:2264
 vm_area_alloc_pages mm/vmalloc.c:3561 [inline]
 __vmalloc_area_node mm/vmalloc.c:3637 [inline]
 __vmalloc_node_range+0x9bb/0x14a0 mm/vmalloc.c:3818
 alloc_thread_stack_node+0x32d/0x580 kernel/fork.c:309
 dup_task_struct+0x8b/0x5a0 kernel/fork.c:1115
 copy_process+0x5cc/0x3d70 kernel/fork.c:2220
 kernel_clone+0x228/0x6b0 kernel/fork.c:2797
 __do_sys_clone kernel/fork.c:2940 [inline]
 __se_sys_clone kernel/fork.c:2924 [inline]
 __x64_sys_clone+0x26b/0x2e0 kernel/fork.c:2924
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xe4/0x240 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x67/0x6f
page last free pid 6318 tgid 6318 stack trace:
 reset_page_owner include/linux/page_owner.h:25 [inline]
 free_pages_prepare mm/page_alloc.c:1141 [inline]
 free_unref_page_prepare+0x72f/0x7c0 mm/page_alloc.c:2347
 free_unref_page+0x37/0x3f0 mm/page_alloc.c:2487
 __slab_free+0x336/0x3d0 mm/slub.c:4192
 qlink_free mm/kasan/quarantine.c:163 [inline]
 qlist_free_all+0x60/0xd0 mm/kasan/quarantine.c:179
 kasan_quarantine_reduce+0x15a/0x170 mm/kasan/quarantine.c:286
 __kasan_slab_alloc+0x23/0x70 mm/kasan/common.c:322
 kasan_slab_alloc include/linux/kasan.h:201 [inline]
 slab_post_alloc_hook mm/slub.c:3798 [inline]
 slab_alloc_node mm/slub.c:3845 [inline]
 kmem_cache_alloc+0x172/0x350 mm/slub.c:3852
 vm_area_dup+0x27/0x280 kernel/fork.c:482
 dup_mmap+0xb67/0x1a40 kernel/fork.c:697
 dup_mm kernel/fork.c:1688 [inline]
 copy_mm+0x143/0x430 kernel/fork.c:1737
 copy_process+0x1810/0x3d70 kernel/fork.c:2390
 kernel_clone+0x228/0x6b0 kernel/fork.c:2797
 __do_sys_clone kernel/fork.c:2940 [inline]
 __se_sys_clone kernel/fork.c:2924 [inline]
 __x64_sys_clone+0x26b/0x2e0 kernel/fork.c:2924
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xe4/0x240 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x67/0x6f

Memory state around the buggy address:
 ffffc9000fe57900: 48 00 04 00 01 00 00 00 01 00 00 00 02 00 00 00
 ffffc9000fe57980: 48 00 04 00 01 00 00 00 01 00 00 00 02 00 00 00
>ffffc9000fe57a00: 48 00 04 00 01 00 00 00 01 00 00 00 02 00 00 00
                                                       ^
 ffffc9000fe57a80: 48 00 04 00 01 00 00 00 01 00 00 00 02 00 00 00
 ffffc9000fe57b00: 48 00 04 00 01 00 00 00 01 00 00 00 02 00 00 00
==================================================================
----------------
Code disassembly (best guess):
   0: c3                   ret
   1: 90                   nop
   2: f3 0f 1e fa           endbr64
   6: 48 89 f8             mov    %rdi,%rax
   9: 48 39 fe             cmp    %rdi,%rsi
   c: 7d 0f                 jge    0x1d
   e: 49 89 f0             mov    %rsi,%r8
  11: 49 01 d0             add    %rdx,%r8
  14: 49 39 f8             cmp    %rdi,%r8
  17: 0f 8f b5 00 00 00     jg     0xd2
  1d: 48 83 fa 20           cmp    $0x20,%rdx
  21: 0f 82 01 01 00 00     jb     0x128
  27: 48 89 d1             mov    %rdx,%rcx
* 2a: f3 a4                 rep movsb %ds:(%rsi),%es:(%rdi) <--
trapping instruction
  2c: c3                   ret
  2d: 48 81 fa a8 02 00 00 cmp    $0x2a8,%rdx
  34: 72 05                 jb     0x3b
  36: 40 38 fe             cmp    %dil,%sil
  39: 74 47                 je     0x82
  3b: 48 83 ea 20           sub    $0x20,%rdx
  3f: 48                   rex.W

If you have any questions, please contact us.

Reported by Yue Sun <samsun1006219@gmail.com>
Reported by xingwei lee <xrivendell7@gmail.com>

Best Regards,
Yue

[-- Attachment #2: irq_work_single.c --]
[-- Type: text/x-csrc, Size: 41765 bytes --]

#define _GNU_SOURCE

#include <dirent.h>
#include <endian.h>
#include <errno.h>
#include <fcntl.h>
#include <pthread.h>
#include <setjmp.h>
#include <signal.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/prctl.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <time.h>
#include <unistd.h>

#include <linux/futex.h>
#include <linux/loop.h>

#ifndef __NR_memfd_create
#define __NR_memfd_create 319
#endif

static unsigned long long procid;

static void sleep_ms(uint64_t ms)
{
  usleep(ms * 1000);
}

static uint64_t current_time_ms(void)
{
  struct timespec ts;
  if (clock_gettime(CLOCK_MONOTONIC, &ts))
    exit(1);
  return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000;
}

static void thread_start(void* (*fn)(void*), void* arg)
{
  pthread_t th;
  pthread_attr_t attr;
  pthread_attr_init(&attr);
  pthread_attr_setstacksize(&attr, 128 << 10);
  int i = 0;
  for (; i < 100; i++) {
    if (pthread_create(&th, &attr, fn, arg) == 0) {
      pthread_attr_destroy(&attr);
      return;
    }
    if (errno == EAGAIN) {
      usleep(50);
      continue;
    }
    break;
  }
  exit(1);
}

typedef struct {
  int state;
} event_t;

static void event_init(event_t* ev)
{
  ev->state = 0;
}

static void event_reset(event_t* ev)
{
  ev->state = 0;
}

static void event_set(event_t* ev)
{
  if (ev->state)
    exit(1);
  __atomic_store_n(&ev->state, 1, __ATOMIC_RELEASE);
  syscall(SYS_futex, &ev->state, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1000000);
}

static void event_wait(event_t* ev)
{
  while (!__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE))
    syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, 0);
}

static int event_isset(event_t* ev)
{
  return __atomic_load_n(&ev->state, __ATOMIC_ACQUIRE);
}

static int event_timedwait(event_t* ev, uint64_t timeout)
{
  uint64_t start = current_time_ms();
  uint64_t now = start;
  for (;;) {
    uint64_t remain = timeout - (now - start);
    struct timespec ts;
    ts.tv_sec = remain / 1000;
    ts.tv_nsec = (remain % 1000) * 1000 * 1000;
    syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, &ts);
    if (__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE))
      return 1;
    now = current_time_ms();
    if (now - start > timeout)
      return 0;
  }
}

static bool write_file(const char* file, const char* what, ...)
{
  char buf[1024];
  va_list args;
  va_start(args, what);
  vsnprintf(buf, sizeof(buf), what, args);
  va_end(args);
  buf[sizeof(buf) - 1] = 0;
  int len = strlen(buf);
  int fd = open(file, O_WRONLY | O_CLOEXEC);
  if (fd == -1)
    return false;
  if (write(fd, buf, len) != len) {
    int err = errno;
    close(fd);
    errno = err;
    return false;
  }
  close(fd);
  return true;
}

//% This code is derived from puff.{c,h}, found in the zlib development. The
//% original files come with the following copyright notice:

//% Copyright (C) 2002-2013 Mark Adler, all rights reserved
//% version 2.3, 21 Jan 2013
//% This software is provided 'as-is', without any express or implied
//% warranty.  In no event will the author be held liable for any damages
//% arising from the use of this software.
//% Permission is granted to anyone to use this software for any purpose,
//% including commercial applications, and to alter it and redistribute it
//% freely, subject to the following restrictions:
//% 1. The origin of this software must not be misrepresented; you must not
//%    claim that you wrote the original software. If you use this software
//%    in a product, an acknowledgment in the product documentation would be
//%    appreciated but is not required.
//% 2. Altered source versions must be plainly marked as such, and must not be
//%    misrepresented as being the original software.
//% 3. This notice may not be removed or altered from any source distribution.
//% Mark Adler    madler@alumni.caltech.edu

//% BEGIN CODE DERIVED FROM puff.{c,h}

#define MAXBITS 15
#define MAXLCODES 286
#define MAXDCODES 30
#define MAXCODES (MAXLCODES + MAXDCODES)
#define FIXLCODES 288

struct puff_state {
  unsigned char* out;
  unsigned long outlen;
  unsigned long outcnt;
  const unsigned char* in;
  unsigned long inlen;
  unsigned long incnt;
  int bitbuf;
  int bitcnt;
  jmp_buf env;
};
static int puff_bits(struct puff_state* s, int need)
{
  long val = s->bitbuf;
  while (s->bitcnt < need) {
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    val |= (long)(s->in[s->incnt++]) << s->bitcnt;
    s->bitcnt += 8;
  }
  s->bitbuf = (int)(val >> need);
  s->bitcnt -= need;
  return (int)(val & ((1L << need) - 1));
}
static int puff_stored(struct puff_state* s)
{
  s->bitbuf = 0;
  s->bitcnt = 0;
  if (s->incnt + 4 > s->inlen)
    return 2;
  unsigned len = s->in[s->incnt++];
  len |= s->in[s->incnt++] << 8;
  if (s->in[s->incnt++] != (~len & 0xff) ||
      s->in[s->incnt++] != ((~len >> 8) & 0xff))
    return -2;
  if (s->incnt + len > s->inlen)
    return 2;
  if (s->outcnt + len > s->outlen)
    return 1;
  for (; len--; s->outcnt++, s->incnt++) {
    if (s->in[s->incnt])
      s->out[s->outcnt] = s->in[s->incnt];
  }
  return 0;
}
struct puff_huffman {
  short* count;
  short* symbol;
};
static int puff_decode(struct puff_state* s, const struct puff_huffman* h)
{
  int first = 0;
  int index = 0;
  int bitbuf = s->bitbuf;
  int left = s->bitcnt;
  int code = first = index = 0;
  int len = 1;
  short* next = h->count + 1;
  while (1) {
    while (left--) {
      code |= bitbuf & 1;
      bitbuf >>= 1;
      int count = *next++;
      if (code - count < first) {
        s->bitbuf = bitbuf;
        s->bitcnt = (s->bitcnt - len) & 7;
        return h->symbol[index + (code - first)];
      }
      index += count;
      first += count;
      first <<= 1;
      code <<= 1;
      len++;
    }
    left = (MAXBITS + 1) - len;
    if (left == 0)
      break;
    if (s->incnt == s->inlen)
      longjmp(s->env, 1);
    bitbuf = s->in[s->incnt++];
    if (left > 8)
      left = 8;
  }
  return -10;
}
static int puff_construct(struct puff_huffman* h, const short* length, int n)
{
  int len;
  for (len = 0; len <= MAXBITS; len++)
    h->count[len] = 0;
  int symbol;
  for (symbol = 0; symbol < n; symbol++)
    (h->count[length[symbol]])++;
  if (h->count[0] == n)
    return 0;
  int left = 1;
  for (len = 1; len <= MAXBITS; len++) {
    left <<= 1;
    left -= h->count[len];
    if (left < 0)
      return left;
  }
  short offs[MAXBITS + 1];
  offs[1] = 0;
  for (len = 1; len < MAXBITS; len++)
    offs[len + 1] = offs[len] + h->count[len];
  for (symbol = 0; symbol < n; symbol++)
    if (length[symbol] != 0)
      h->symbol[offs[length[symbol]]++] = symbol;
  return left;
}
static int puff_codes(struct puff_state* s, const struct puff_huffman* lencode,
                      const struct puff_huffman* distcode)
{
  static const short lens[29] = {3,  4,  5,  6,   7,   8,   9,   10,  11, 13,
                                 15, 17, 19, 23,  27,  31,  35,  43,  51, 59,
                                 67, 83, 99, 115, 131, 163, 195, 227, 258};
  static const short lext[29] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2,
                                 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0};
  static const short dists[30] = {
      1,    2,    3,    4,    5,    7,    9,    13,    17,    25,
      33,   49,   65,   97,   129,  193,  257,  385,   513,   769,
      1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577};
  static const short dext[30] = {0, 0, 0,  0,  1,  1,  2,  2,  3,  3,
                                 4, 4, 5,  5,  6,  6,  7,  7,  8,  8,
                                 9, 9, 10, 10, 11, 11, 12, 12, 13, 13};
  int symbol;
  do {
    symbol = puff_decode(s, lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 256) {
      if (s->outcnt == s->outlen)
        return 1;
      if (symbol)
        s->out[s->outcnt] = symbol;
      s->outcnt++;
    } else if (symbol > 256) {
      symbol -= 257;
      if (symbol >= 29)
        return -10;
      int len = lens[symbol] + puff_bits(s, lext[symbol]);
      symbol = puff_decode(s, distcode);
      if (symbol < 0)
        return symbol;
      unsigned dist = dists[symbol] + puff_bits(s, dext[symbol]);
      if (dist > s->outcnt)
        return -11;
      if (s->outcnt + len > s->outlen)
        return 1;
      while (len--) {
        if (dist <= s->outcnt && s->out[s->outcnt - dist])
          s->out[s->outcnt] = s->out[s->outcnt - dist];
        s->outcnt++;
      }
    }
  } while (symbol != 256);
  return 0;
}
static int puff_fixed(struct puff_state* s)
{
  static int virgin = 1;
  static short lencnt[MAXBITS + 1], lensym[FIXLCODES];
  static short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  static struct puff_huffman lencode, distcode;
  if (virgin) {
    lencode.count = lencnt;
    lencode.symbol = lensym;
    distcode.count = distcnt;
    distcode.symbol = distsym;
    short lengths[FIXLCODES];
    int symbol;
    for (symbol = 0; symbol < 144; symbol++)
      lengths[symbol] = 8;
    for (; symbol < 256; symbol++)
      lengths[symbol] = 9;
    for (; symbol < 280; symbol++)
      lengths[symbol] = 7;
    for (; symbol < FIXLCODES; symbol++)
      lengths[symbol] = 8;
    puff_construct(&lencode, lengths, FIXLCODES);
    for (symbol = 0; symbol < MAXDCODES; symbol++)
      lengths[symbol] = 5;
    puff_construct(&distcode, lengths, MAXDCODES);
    virgin = 0;
  }
  return puff_codes(s, &lencode, &distcode);
}
static int puff_dynamic(struct puff_state* s)
{
  static const short order[19] = {16, 17, 18, 0, 8,  7, 9,  6, 10, 5,
                                  11, 4,  12, 3, 13, 2, 14, 1, 15};
  int nlen = puff_bits(s, 5) + 257;
  int ndist = puff_bits(s, 5) + 1;
  int ncode = puff_bits(s, 4) + 4;
  if (nlen > MAXLCODES || ndist > MAXDCODES)
    return -3;
  short lengths[MAXCODES];
  int index;
  for (index = 0; index < ncode; index++)
    lengths[order[index]] = puff_bits(s, 3);
  for (; index < 19; index++)
    lengths[order[index]] = 0;
  short lencnt[MAXBITS + 1], lensym[MAXLCODES];
  struct puff_huffman lencode = {lencnt, lensym};
  int err = puff_construct(&lencode, lengths, 19);
  if (err != 0)
    return -4;
  index = 0;
  while (index < nlen + ndist) {
    int symbol;
    int len;
    symbol = puff_decode(s, &lencode);
    if (symbol < 0)
      return symbol;
    if (symbol < 16)
      lengths[index++] = symbol;
    else {
      len = 0;
      if (symbol == 16) {
        if (index == 0)
          return -5;
        len = lengths[index - 1];
        symbol = 3 + puff_bits(s, 2);
      } else if (symbol == 17)
        symbol = 3 + puff_bits(s, 3);
      else
        symbol = 11 + puff_bits(s, 7);
      if (index + symbol > nlen + ndist)
        return -6;
      while (symbol--)
        lengths[index++] = len;
    }
  }
  if (lengths[256] == 0)
    return -9;
  err = puff_construct(&lencode, lengths, nlen);
  if (err && (err < 0 || nlen != lencode.count[0] + lencode.count[1]))
    return -7;
  short distcnt[MAXBITS + 1], distsym[MAXDCODES];
  struct puff_huffman distcode = {distcnt, distsym};
  err = puff_construct(&distcode, lengths + nlen, ndist);
  if (err && (err < 0 || ndist != distcode.count[0] + distcode.count[1]))
    return -8;
  return puff_codes(s, &lencode, &distcode);
}
static int puff(unsigned char* dest, unsigned long* destlen,
                const unsigned char* source, unsigned long sourcelen)
{
  struct puff_state s = {
      .out = dest,
      .outlen = *destlen,
      .outcnt = 0,
      .in = source,
      .inlen = sourcelen,
      .incnt = 0,
      .bitbuf = 0,
      .bitcnt = 0,
  };
  int err;
  if (setjmp(s.env) != 0)
    err = 2;
  else {
    int last;
    do {
      last = puff_bits(&s, 1);
      int type = puff_bits(&s, 2);
      err = type == 0 ? puff_stored(&s)
                      : (type == 1 ? puff_fixed(&s)
                                   : (type == 2 ? puff_dynamic(&s) : -1));
      if (err != 0)
        break;
    } while (!last);
  }
  *destlen = s.outcnt;
  return err;
}

//% END CODE DERIVED FROM puff.{c,h}

#define ZLIB_HEADER_WIDTH 2

static int puff_zlib_to_file(const unsigned char* source,
                             unsigned long sourcelen, int dest_fd)
{
  if (sourcelen < ZLIB_HEADER_WIDTH)
    return 0;
  source += ZLIB_HEADER_WIDTH;
  sourcelen -= ZLIB_HEADER_WIDTH;
  const unsigned long max_destlen = 132 << 20;
  void* ret = mmap(0, max_destlen, PROT_WRITE | PROT_READ,
                   MAP_PRIVATE | MAP_ANON, -1, 0);
  if (ret == MAP_FAILED)
    return -1;
  unsigned char* dest = (unsigned char*)ret;
  unsigned long destlen = max_destlen;
  int err = puff(dest, &destlen, source, sourcelen);
  if (err) {
    munmap(dest, max_destlen);
    errno = -err;
    return -1;
  }
  if (write(dest_fd, dest, destlen) != (ssize_t)destlen) {
    munmap(dest, max_destlen);
    return -1;
  }
  return munmap(dest, max_destlen);
}

static int setup_loop_device(unsigned char* data, unsigned long size,
                             const char* loopname, int* loopfd_p)
{
  int err = 0, loopfd = -1;
  int memfd = syscall(__NR_memfd_create, "syzkaller", 0);
  if (memfd == -1) {
    err = errno;
    goto error;
  }
  if (puff_zlib_to_file(data, size, memfd)) {
    err = errno;
    goto error_close_memfd;
  }
  loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    err = errno;
    goto error_close_memfd;
  }
  if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
    if (errno != EBUSY) {
      err = errno;
      goto error_close_loop;
    }
    ioctl(loopfd, LOOP_CLR_FD, 0);
    usleep(1000);
    if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
      err = errno;
      goto error_close_loop;
    }
  }
  close(memfd);
  *loopfd_p = loopfd;
  return 0;

error_close_loop:
  close(loopfd);
error_close_memfd:
  close(memfd);
error:
  errno = err;
  return -1;
}

static void reset_loop_device(const char* loopname)
{
  int loopfd = open(loopname, O_RDWR);
  if (loopfd == -1) {
    return;
  }
  if (ioctl(loopfd, LOOP_CLR_FD, 0)) {
  }
  close(loopfd);
}

static long syz_mount_image(volatile long fsarg, volatile long dir,
                            volatile long flags, volatile long optsarg,
                            volatile long change_dir,
                            volatile unsigned long size, volatile long image)
{
  unsigned char* data = (unsigned char*)image;
  int res = -1, err = 0, need_loop_device = !!size;
  char* mount_opts = (char*)optsarg;
  char* target = (char*)dir;
  char* fs = (char*)fsarg;
  char* source = NULL;
  char loopname[64];
  if (need_loop_device) {
    int loopfd;
    memset(loopname, 0, sizeof(loopname));
    snprintf(loopname, sizeof(loopname), "/dev/loop%llu", procid);
    if (setup_loop_device(data, size, loopname, &loopfd) == -1)
      return -1;
    close(loopfd);
    source = loopname;
  }
  mkdir(target, 0777);
  char opts[256];
  memset(opts, 0, sizeof(opts));
  if (strlen(mount_opts) > (sizeof(opts) - 32)) {
  }
  strncpy(opts, mount_opts, sizeof(opts) - 32);
  if (strcmp(fs, "iso9660") == 0) {
    flags |= MS_RDONLY;
  } else if (strncmp(fs, "ext", 3) == 0) {
    bool has_remount_ro = false;
    char* remount_ro_start = strstr(opts, "errors=remount-ro");
    if (remount_ro_start != NULL) {
      char after = *(remount_ro_start + strlen("errors=remount-ro"));
      char before = remount_ro_start == opts ? '\0' : *(remount_ro_start - 1);
      has_remount_ro = ((before == '\0' || before == ',') &&
                        (after == '\0' || after == ','));
    }
    if (strstr(opts, "errors=panic") || !has_remount_ro)
      strcat(opts, ",errors=continue");
  } else if (strcmp(fs, "xfs") == 0) {
    strcat(opts, ",nouuid");
  }
  res = mount(source, target, fs, flags, opts);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  res = open(target, O_RDONLY | O_DIRECTORY);
  if (res == -1) {
    err = errno;
    goto error_clear_loop;
  }
  if (change_dir) {
    res = chdir(target);
    if (res == -1) {
      err = errno;
    }
  }

error_clear_loop:
  if (need_loop_device)
    reset_loop_device(loopname);
  errno = err;
  return res;
}

static void kill_and_wait(int pid, int* status)
{
  kill(-pid, SIGKILL);
  kill(pid, SIGKILL);
  for (int i = 0; i < 100; i++) {
    if (waitpid(-1, status, WNOHANG | __WALL) == pid)
      return;
    usleep(1000);
  }
  DIR* dir = opendir("/sys/fs/fuse/connections");
  if (dir) {
    for (;;) {
      struct dirent* ent = readdir(dir);
      if (!ent)
        break;
      if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0)
        continue;
      char abort[300];
      snprintf(abort, sizeof(abort), "/sys/fs/fuse/connections/%s/abort",
               ent->d_name);
      int fd = open(abort, O_WRONLY);
      if (fd == -1) {
        continue;
      }
      if (write(fd, abort, 1) < 0) {
      }
      close(fd);
    }
    closedir(dir);
  } else {
  }
  while (waitpid(-1, status, __WALL) != pid) {
  }
}

static void reset_loop()
{
  char buf[64];
  snprintf(buf, sizeof(buf), "/dev/loop%llu", procid);
  int loopfd = open(buf, O_RDWR);
  if (loopfd != -1) {
    ioctl(loopfd, LOOP_CLR_FD, 0);
    close(loopfd);
  }
}

static void setup_test()
{
  prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0);
  setpgrp();
  write_file("/proc/self/oom_score_adj", "1000");
}

static void setup_sysctl()
{
  char mypid[32];
  snprintf(mypid, sizeof(mypid), "%d", getpid());
  struct {
    const char* name;
    const char* data;
  } files[] = {
      {"/sys/kernel/debug/x86/nmi_longest_ns", "10000000000"},
      {"/proc/sys/kernel/hung_task_check_interval_secs", "20"},
      {"/proc/sys/net/core/bpf_jit_kallsyms", "1"},
      {"/proc/sys/net/core/bpf_jit_harden", "0"},
      {"/proc/sys/kernel/kptr_restrict", "0"},
      {"/proc/sys/kernel/softlockup_all_cpu_backtrace", "1"},
      {"/proc/sys/fs/mount-max", "100"},
      {"/proc/sys/vm/oom_dump_tasks", "0"},
      {"/proc/sys/debug/exception-trace", "0"},
      {"/proc/sys/kernel/printk", "7 4 1 3"},
      {"/proc/sys/kernel/keys/gc_delay", "1"},
      {"/proc/sys/vm/oom_kill_allocating_task", "1"},
      {"/proc/sys/kernel/ctrl-alt-del", "0"},
      {"/proc/sys/kernel/cad_pid", mypid},
  };
  for (size_t i = 0; i < sizeof(files) / sizeof(files[0]); i++) {
    if (!write_file(files[i].name, files[i].data))
      printf("write to %s failed: %s\n", files[i].name, strerror(errno));
  }
}

struct thread_t {
  int created, call;
  event_t ready, done;
};

static struct thread_t threads[16];
static void execute_call(int call);
static int running;

static void* thr(void* arg)
{
  struct thread_t* th = (struct thread_t*)arg;
  for (;;) {
    event_wait(&th->ready);
    event_reset(&th->ready);
    execute_call(th->call);
    __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED);
    event_set(&th->done);
  }
  return 0;
}

static void execute_one(void)
{
  int i, call, thread;
  for (call = 0; call < 2; call++) {
    for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0]));
         thread++) {
      struct thread_t* th = &threads[thread];
      if (!th->created) {
        th->created = 1;
        event_init(&th->ready);
        event_init(&th->done);
        event_set(&th->done);
        thread_start(thr, th);
      }
      if (!event_isset(&th->done))
        continue;
      event_reset(&th->done);
      th->call = call;
      __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED);
      event_set(&th->ready);
      event_timedwait(&th->done, 50 + (call == 0 ? 4000 : 0));
      break;
    }
  }
  for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++)
    sleep_ms(1);
}

static void execute_one(void);

#define WAIT_FLAGS __WALL

static void loop(void)
{
  int iter = 0;
  for (;; iter++) {
    reset_loop();
    int pid = fork();
    if (pid < 0)
      exit(1);
    if (pid == 0) {
      setup_test();
      execute_one();
      exit(0);
    }
    int status = 0;
    uint64_t start = current_time_ms();
    for (;;) {
      if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid)
        break;
      sleep_ms(1);
      if (current_time_ms() - start < 5000)
        continue;
      kill_and_wait(pid, &status);
      break;
    }
  }
}

void execute_call(int call)
{
  switch (call) {
  case 0:
    memcpy((void*)0x20001100, "reiserfs\000", 9);
    memcpy((void*)0x200000c0, "./file0\000", 8);
    memcpy(
        (void*)0x200033c0,
        "\x78\x9c\xec\xd8\xbf\x8a\x13\x51\x14\x07\xe0\xdf\x9d\xa4\x8f\x5c\xfb"
        "\x69\xb4\xb0\x90\x65\x97\x3c\x80\x6c\xa1\x90\xc6\x42\xb0\xb3\x91\xb0"
        "\x95\xa9\x92\x4a\xc9\xe3\xf8\x38\x92\xca\x3e\xa4\x37\x45\xc0\x5e\x89"
        "\xce\x44\x91\x40\x90\xc4\x3f\xc5\xf7\xc1\x70\xef\x9c\x39\x33\xe7\x4c"
        "\x79\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x6f\x98"
        "\x7c\x2a\xc9\xfd\x26\xa9\x7d\xac\x49\x52\x92\xb6\x5d\x4d\x36\x49\xda"
        "\x3e\x7e\xef\xc3\xa0\x49\xc9\x8b\xbb\xc9\xe2\xe9\x7c\xfc\x6c\x91\x64"
        "\xf0\x2d\xfd\xc9\xcb\x3e\xa5\x24\xa9\x37\x0f\x6a\x1d\xd7\x71\xbd\xa9"
        "\xc9\xed\xc3\xba\x78\xfb\xee\xcd\xeb\xd9\xec\x6e\x7e\xc8\x69\xb3\xde"
        "\x2d\xa7\x79\xbe\xbd\xe8\xaf\x94\xae\x9f\xd3\xa6\x17\xad\x0b\x00\x00"
        "\x00\xff\xbb\x2f\x67\x1b\x9d\xa8\xd0\xfc\xe1\xfa\x00\x00\x00\xc0\x29"
        "\x17\x1d\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\xa9\xf6\x9b\x26"
        "\x49\x49\xda\x76\x35\xd9\x24\x69\xff\x6d\x5b\x00\x00\x00\xc0\x99\x4a"
        "\x9a\xbc\x1a\x1d\x8b\x7f\x1f\x03\xfc\xf0\x38\x1f\x47\xe5\x10\xdf\xaf"
        "\x9f\xcb\x7e\x7f\x9d\xf7\x47\xde\x07\x00\x00\x00\x7e\x4f\xf9\xe9\x3c"
        "\xfe\x28\xc3\xfe\x5c\xde\x0c\xbb\xe7\x57\x57\xdd\xda\xdd\x6f\x6f\x93"
        "\x41\x92\xeb\x5f\xbe\xb3\xde\x2d\xa7\xfd\x55\xfe\x5a\xf7\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x95"
        "\x1d\x38\x16\x00\x00\x00\x00\x10\xe6\x6f\x9d\x46\xc7\x06\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x55\x00\x00\x00\xff\xff\x98"
        "\xa6\xd5\x46",
        4338);
    syz_mount_image(
        /*fs=*/0x20001100, /*dir=*/0x200000c0,
        /*flags=MS_POSIXACL|MS_SYNCHRONOUS|MS_SILENT|MS_MANDLOCK*/ 0x18050,
        /*opts=*/0x20000000, /*chdir=*/1, /*size=*/0x10f2, /*img=*/0x200033c0);
    break;
  case 1:
    sprintf((char*)0x20000180, "%020llu", (long long)0);
    *(uint8_t*)0x20000194 = 0;
    syscall(__NR_write, /*fd=*/-1, /*buf=*/0x20000180ul, /*len=*/0x15ul);
    break;
  }
}
int main(void)
{
  syscall(__NR_mmap, /*addr=*/0x1ffff000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x20000000ul, /*len=*/0x1000000ul,
          /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  syscall(__NR_mmap, /*addr=*/0x21000000ul, /*len=*/0x1000ul, /*prot=*/0ul,
          /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/-1,
          /*offset=*/0ul);
  setup_sysctl();
  loop();
  return 0;
}



[-- Attachment #3: config --]
[-- Type: application/octet-stream, Size: 247888 bytes --]

#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 6.9.0-rc5 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="Ubuntu clang version 14.0.0-1ubuntu1"
CONFIG_GCC_VERSION=0
CONFIG_CC_IS_CLANG=y
CONFIG_CLANG_VERSION=140000
CONFIG_AS_IS_LLVM=y
CONFIG_AS_VERSION=140000
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=23800
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_TOOLS_SUPPORT_RELR=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_PAHOLE_VERSION=122
CONFIG_CONSTRUCTORS=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
# CONFIG_WERROR is not set
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_HAVE_KERNEL_ZSTD=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_WATCH_QUEUE=y
CONFIG_CROSS_MEMORY_ATTACH=y
# CONFIG_USELIB is not set
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_IRQ_MSI_IOMMU=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
# end of IRQ subsystem

CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_INIT=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST_IDLE=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_CONTEXT_TRACKING=y
CONFIG_CONTEXT_TRACKING_IDLE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_CONTEXT_TRACKING_USER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=125
# end of Timers subsystem

CONFIG_BPF=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y

#
# BPF subsystem
#
CONFIG_BPF_SYSCALL=y
# CONFIG_BPF_JIT is not set
# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
CONFIG_USERMODE_DRIVER=y
CONFIG_BPF_PRELOAD=y
CONFIG_BPF_PRELOAD_UMD=y
# end of BPF subsystem

CONFIG_PREEMPT_BUILD=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
CONFIG_PREEMPT_DYNAMIC=y
CONFIG_SCHED_CORE=y

#
# CPU/Task time and stats accounting
#
CONFIG_VIRT_CPU_ACCOUNTING=y
# CONFIG_TICK_CPU_ACCOUNTING is not set
CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_SCHED_AVG_IRQ=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_PSI=y
# CONFIG_PSI_DEFAULT_DISABLED is not set
# end of CPU/Task time and stats accounting

CONFIG_CPU_ISOLATION=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
CONFIG_TASKS_RCU=y
CONFIG_TASKS_TRACE_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
# end of RCU Subsystem

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_IKHEADERS is not set
CONFIG_LOG_BUF_SHIFT=18
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
# CONFIG_PRINTK_INDEX is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y

#
# Scheduler features
#
# CONFIG_UCLAMP_TASK is not set
# end of Scheduler features

CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CC_HAS_INT128=y
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough"
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
CONFIG_MEMCG_KMEM=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_SCHED_MM_CID=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_RDMA=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_BPF=y
CONFIG_CGROUP_MISC=y
CONFIG_CGROUP_DEBUG=y
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_TIME_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_CHECKPOINT_RESTORE=y
# CONFIG_SCHED_AUTOGROUP is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
# CONFIG_BOOT_CONFIG is not set
CONFIG_INITRAMFS_PRESERVE_MTIME=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_LD_ORPHAN_WARN=y
CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
CONFIG_SYSCTL=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_IO_URING=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KCMP=y
CONFIG_RSEQ=y
# CONFIG_DEBUG_RSEQ is not set
CONFIG_CACHESTAT_SYSCALL=y
# CONFIG_PC104 is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_SELFTEST is not set
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_GUEST_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# end of Kernel Performance Events And Counters

CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y

#
# Kexec and crash features
#
CONFIG_CRASH_RESERVE=y
CONFIG_VMCORE_INFO=y
CONFIG_KEXEC_CORE=y
CONFIG_KEXEC=y
# CONFIG_KEXEC_FILE is not set
# CONFIG_KEXEC_JUMP is not set
CONFIG_CRASH_DUMP=y
CONFIG_CRASH_HOTPLUG=y
CONFIG_CRASH_MAX_MEMORY_RANGES=8192
# end of Kexec and crash features
# end of General setup

CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_CSUM=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_AUDIT_ARCH=y
CONFIG_KASAN_SHADOW_OFFSET=0xdffffc0000000000
CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_64_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=4
CONFIG_CC_HAS_SANE_STACKPROTECTOR=y

#
# Processor type and features
#
CONFIG_SMP=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_CPU_RESCTRL is not set
# CONFIG_X86_FRED is not set
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_NUMACHIP is not set
# CONFIG_X86_VSMP is not set
# CONFIG_X86_GOLDFISH is not set
# CONFIG_X86_INTEL_MID is not set
# CONFIG_X86_INTEL_LPSS is not set
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
CONFIG_IOSF_MBI=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_DEBUG=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_X86_HV_CALLBACK_VECTOR=y
# CONFIG_XEN is not set
CONFIG_KVM_GUEST=y
CONFIG_ARCH_CPUIDLE_HALTPOLL=y
CONFIG_PVH=y
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_JAILHOUSE_GUEST is not set
# CONFIG_ACRN_GUEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
CONFIG_MCORE2=y
# CONFIG_MATOM is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_P6_NOP=y
CONFIG_X86_TSC=y
CONFIG_X86_HAVE_PAE=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_IA32_FEAT_CTL=y
CONFIG_X86_VMX_FEATURE_NAMES=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
# CONFIG_CPU_SUP_HYGON is not set
# CONFIG_CPU_SUP_CENTAUR is not set
# CONFIG_CPU_SUP_ZHAOXIN is not set
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
# CONFIG_GART_IOMMU is not set
CONFIG_BOOT_VESA_SUPPORT=y
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS_RANGE_BEGIN=2
CONFIG_NR_CPUS_RANGE_END=512
CONFIG_NR_CPUS_DEFAULT=64
CONFIG_NR_CPUS=8
CONFIG_SCHED_CLUSTER=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_SCHED_MC_PRIO=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
# CONFIG_X86_MCELOG_LEGACY is not set
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set

#
# Performance monitoring
#
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_PERF_EVENTS_INTEL_RAPL=y
CONFIG_PERF_EVENTS_INTEL_CSTATE=y
# CONFIG_PERF_EVENTS_AMD_POWER is not set
CONFIG_PERF_EVENTS_AMD_UNCORE=y
# CONFIG_PERF_EVENTS_AMD_BRS is not set
# end of Performance monitoring

CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
CONFIG_X86_VSYSCALL_EMULATION=y
CONFIG_X86_IOPL_IOPERM=y
CONFIG_MICROCODE=y
# CONFIG_MICROCODE_LATE_LOADING is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
# CONFIG_X86_5LEVEL is not set
CONFIG_X86_DIRECT_GBPAGES=y
# CONFIG_X86_CPA_STATISTICS is not set
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NUMA_EMU=y
CONFIG_NODES_SHIFT=6
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
# CONFIG_ARCH_MEMORY_PROBE is not set
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
# CONFIG_X86_PMEM_LEGACY is not set
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_MTRR=y
# CONFIG_MTRR_SANITIZER is not set
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_X86_UMIP=y
CONFIG_CC_HAS_IBT=y
CONFIG_X86_CET=y
CONFIG_X86_KERNEL_IBT=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
# CONFIG_X86_INTEL_TSX_MODE_OFF is not set
CONFIG_X86_INTEL_TSX_MODE_ON=y
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_SGX=y
CONFIG_X86_USER_SHADOW_STACK=y
# CONFIG_EFI is not set
CONFIG_HZ_100=y
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=100
CONFIG_SCHED_HRTICK=y
CONFIG_ARCH_SUPPORTS_KEXEC=y
CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG_FORCE=y
CONFIG_ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_JUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_HOTPLUG=y
CONFIG_ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION=y
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_ADDRESS_MASKING=y
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
CONFIG_LEGACY_VSYSCALL_XONLY=y
# CONFIG_LEGACY_VSYSCALL_NONE is not set
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="earlyprintk=serial net.ifnames=0 sysctl.kernel.hung_task_all_cpu_backtrace=1 ima_policy=tcb nf-conntrack-ftp.ports=20000 nf-conntrack-tftp.ports=20000 nf-conntrack-sip.ports=20000 nf-conntrack-irc.ports=20000 nf-conntrack-sane.ports=20000 binder.debug_mask=0 rcupdate.rcu_expedited=1 rcupdate.rcu_cpu_stall_cputime=1 no_hash_pointers page_owner=on sysctl.vm.nr_hugepages=4 sysctl.vm.nr_overcommit_hugepages=4 secretmem.enable=1 sysctl.max_rcu_stall_to_panic=1 msr.allow_writes=off coredump_filter=0xffff root=/dev/sda console=ttyS0 vsyscall=native numa=fake=2 kvm-intel.nested=1 spec_store_bypass_disable=prctl nopcid vivid.n_devs=16 vivid.multiplanar=1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2 netrom.nr_ndevs=16 rose.rose_ndevs=16 smp.csd_lock_timeout=100000 watchdog_thresh=55 workqueue.watchdog_thresh=140 sysctl.net.core.netdev_unregister_timeout_secs=140 dummy_hcd.num=8 panic_on_warn=1"
# CONFIG_CMDLINE_OVERRIDE is not set
CONFIG_MODIFY_LDT_SYSCALL=y
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
CONFIG_HAVE_LIVEPATCH=y
# end of Processor type and features

CONFIG_CC_HAS_ENTRY_PADDING=y
CONFIG_FUNCTION_PADDING_CFI=11
CONFIG_FUNCTION_PADDING_BYTES=16
CONFIG_SPECULATION_MITIGATIONS=y
CONFIG_MITIGATION_PAGE_TABLE_ISOLATION=y
CONFIG_MITIGATION_RETPOLINE=y
CONFIG_MITIGATION_IBPB_ENTRY=y
CONFIG_MITIGATION_IBRS_ENTRY=y
# CONFIG_MITIGATION_GDS_FORCE is not set
CONFIG_MITIGATION_RFDS=y
CONFIG_MITIGATION_SPECTRE_BHI=y
CONFIG_ARCH_HAS_ADD_PAGES=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_HIBERNATION_SNAPSHOT_DEV=y
CONFIG_HIBERNATION_COMP_LZO=y
# CONFIG_HIBERNATION_COMP_LZ4 is not set
CONFIG_HIBERNATION_DEF_COMP="lzo"
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM=y
CONFIG_PM_DEBUG=y
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_PM_SLEEP_DEBUG=y
# CONFIG_DPM_WATCHDOG is not set
CONFIG_PM_TRACE=y
CONFIG_PM_TRACE_RTC=y
CONFIG_PM_CLK=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_ENERGY_MODEL is not set
CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
CONFIG_ACPI_THERMAL_LIB=y
# CONFIG_ACPI_DEBUGGER is not set
CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_FPDT is not set
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=y
CONFIG_ACPI_FAN=y
# CONFIG_ACPI_TAD is not set
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_CPU_FREQ_PSS=y
CONFIG_ACPI_PROCESSOR_CSTATE=y
CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_PLATFORM_PROFILE=y
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_TABLE_UPGRADE=y
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_HOTPLUG_MEMORY is not set
CONFIG_ACPI_HOTPLUG_IOAPIC=y
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_HED is not set
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
CONFIG_ACPI_NFIT=y
# CONFIG_NFIT_SECURITY_DEBUG is not set
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_HMAT is not set
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
# CONFIG_ACPI_APEI is not set
# CONFIG_ACPI_DPTF is not set
# CONFIG_ACPI_EXTLOG is not set
# CONFIG_ACPI_CONFIGFS is not set
# CONFIG_ACPI_PFRUT is not set
CONFIG_ACPI_PCC=y
# CONFIG_ACPI_FFH is not set
# CONFIG_PMIC_OPREGION is not set
CONFIG_X86_PM_TIMER=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

#
# CPU frequency scaling drivers
#
# CONFIG_CPUFREQ_DT is not set
# CONFIG_CPUFREQ_DT_PLATDEV is not set
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_PCC_CPUFREQ is not set
CONFIG_X86_AMD_PSTATE=y
CONFIG_X86_AMD_PSTATE_DEFAULT_MODE=3
# CONFIG_X86_AMD_PSTATE_UT is not set
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_ACPI_CPUFREQ_CPB=y
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_P4_CLOCKMOD is not set

#
# shared options
#
# end of CPU Frequency scaling

#
# CPU Idle
#
CONFIG_CPU_IDLE=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE_GOV_HALTPOLL=y
CONFIG_HALTPOLL_CPUIDLE=y
# end of CPU Idle

CONFIG_INTEL_IDLE=y
# end of Power management and ACPI options

#
# Bus options (PCI etc.)
#
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_MMCONF_FAM10H=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_ISA_BUS is not set
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
# end of Bus options (PCI etc.)

#
# Binary Emulations
#
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_EMULATION_DEFAULT_DISABLED is not set
CONFIG_X86_X32_ABI=y
CONFIG_COMPAT_32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
# end of Binary Emulations

CONFIG_KVM_COMMON=y
CONFIG_HAVE_KVM_PFNCACHE=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQ_ROUTING=y
CONFIG_HAVE_KVM_DIRTY_RING=y
CONFIG_HAVE_KVM_DIRTY_RING_TSO=y
CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_READONLY_MEM=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_COMPAT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_KVM_XFER_TO_GUEST_WORK=y
CONFIG_HAVE_KVM_PM_NOTIFIER=y
CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y
CONFIG_KVM_GENERIC_MMU_NOTIFIER=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
# CONFIG_KVM_SW_PROTECTED_VM is not set
CONFIG_KVM_INTEL=y
CONFIG_X86_SGX_KVM=y
CONFIG_KVM_AMD=y
# CONFIG_KVM_SMM is not set
CONFIG_KVM_HYPERV=y
CONFIG_KVM_XEN=y
CONFIG_KVM_PROVE_MMU=y
CONFIG_KVM_MAX_NR_VCPUS=1024
CONFIG_AS_AVX512=y
CONFIG_AS_SHA1_NI=y
CONFIG_AS_SHA256_NI=y
CONFIG_AS_TPAUSE=y
CONFIG_AS_GFNI=y
CONFIG_AS_WRUSS=y

#
# General architecture-dependent options
#
CONFIG_HOTPLUG_SMT=y
CONFIG_HOTPLUG_CORE_SYNC=y
CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
CONFIG_HOTPLUG_CORE_SYNC_FULL=y
CONFIG_HOTPLUG_SPLIT_STARTUP=y
CONFIG_HOTPLUG_PARALLEL=y
CONFIG_GENERIC_ENTRY=y
# CONFIG_KPROBES is not set
CONFIG_JUMP_LABEL=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
# CONFIG_STATIC_CALL_SELFTEST is not set
CONFIG_UPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
CONFIG_ARCH_HAS_CPU_FINALIZE_INIT=y
CONFIG_ARCH_HAS_CPU_PASID=y
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_ARCH_WANTS_NO_INSTR=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_RUST=y
CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
CONFIG_MMU_GATHER_TABLE_FREE=y
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
CONFIG_MMU_GATHER_MERGE_VMAS=y
CONFIG_MMU_LAZY_TLB_REFCOUNT=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
# CONFIG_SECCOMP_CACHE_DEBUG is not set
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_LTO_NONE=y
CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING_USER=y
CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_MOVE_PUD=y
CONFIG_HAVE_MOVE_PMD=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_PMD_MKWRITE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=28
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
CONFIG_HAVE_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
CONFIG_PAGE_SHIFT=12
CONFIG_HAVE_OBJTOOL=y
CONFIG_HAVE_JUMP_LABEL_HACK=y
CONFIG_HAVE_NOINSTR_HACK=y
CONFIG_HAVE_NOINSTR_VALIDATION=y
CONFIG_HAVE_UACCESS_VALIDATION=y
CONFIG_HAVE_STACK_VALIDATION=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_HAVE_ARCH_VMAP_STACK=y
CONFIG_VMAP_STACK=y
CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
# CONFIG_LOCK_EVENT_COUNTS is not set
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_HAVE_STATIC_CALL=y
CONFIG_HAVE_STATIC_CALL_INLINE=y
CONFIG_HAVE_PREEMPT_DYNAMIC=y
CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
CONFIG_DYNAMIC_SIGFRAME=y
CONFIG_HAVE_ARCH_NODE_DEV_GROUP=y
CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# end of GCOV-based kernel profiling

CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_FUNCTION_ALIGNMENT_4B=y
CONFIG_FUNCTION_ALIGNMENT_16B=y
CONFIG_FUNCTION_ALIGNMENT=16
CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT=y
# end of General architecture-dependent options

CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULE_SIG_FORMAT=y
CONFIG_MODULES=y
# CONFIG_MODULE_DEBUG is not set
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
CONFIG_MODVERSIONS=y
CONFIG_ASM_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_MODULE_SIG=y
# CONFIG_MODULE_SIG_FORCE is not set
# CONFIG_MODULE_SIG_ALL is not set
# CONFIG_MODULE_SIG_SHA1 is not set
CONFIG_MODULE_SIG_SHA256=y
# CONFIG_MODULE_SIG_SHA384 is not set
# CONFIG_MODULE_SIG_SHA512 is not set
# CONFIG_MODULE_SIG_SHA3_256 is not set
# CONFIG_MODULE_SIG_SHA3_384 is not set
# CONFIG_MODULE_SIG_SHA3_512 is not set
CONFIG_MODULE_SIG_HASH="sha256"
CONFIG_MODULE_COMPRESS_NONE=y
# CONFIG_MODULE_COMPRESS_GZIP is not set
# CONFIG_MODULE_COMPRESS_XZ is not set
# CONFIG_MODULE_COMPRESS_ZSTD is not set
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
CONFIG_MODPROBE_PATH="/sbin/modprobe"
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_BLOCK_LEGACY_AUTOLOAD=y
CONFIG_BLK_RQ_ALLOC_TIME=y
CONFIG_BLK_CGROUP_RWSTAT=y
CONFIG_BLK_CGROUP_PUNT_BIO=y
CONFIG_BLK_DEV_BSG_COMMON=y
CONFIG_BLK_ICQ=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_INTEGRITY_T10=y
CONFIG_BLK_DEV_WRITE_MOUNTED=y
CONFIG_BLK_DEV_ZONED=y
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_WBT=y
CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_CGROUP_IOLATENCY=y
# CONFIG_BLK_CGROUP_FC_APPID is not set
CONFIG_BLK_CGROUP_IOCOST=y
CONFIG_BLK_CGROUP_IOPRIO=y
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEBUG_FS_ZONED=y
# CONFIG_BLK_SED_OPAL is not set
CONFIG_BLK_INLINE_ENCRYPTION=y
CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
CONFIG_ACORN_PARTITION_CUMANA=y
CONFIG_ACORN_PARTITION_EESOX=y
CONFIG_ACORN_PARTITION_ICS=y
CONFIG_ACORN_PARTITION_ADFS=y
CONFIG_ACORN_PARTITION_POWERTEC=y
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_AIX_PARTITION=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_SYSV68_PARTITION=y
CONFIG_CMDLINE_PARTITION=y
# end of Partition Types

CONFIG_BLK_MQ_PCI=y
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_BLK_PM=y
CONFIG_BLOCK_HOLDER_DEPRECATED=y
CONFIG_BLK_MQ_STACKING=y

#
# IO Schedulers
#
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_IOSCHED_BFQ=y
CONFIG_BFQ_GROUP_IOSCHED=y
CONFIG_BFQ_CGROUP_DEBUG=y
# end of IO Schedulers

CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PADATA=y
CONFIG_ASN1=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
CONFIG_FREEZER=y

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

#
# Memory Management options
#
CONFIG_ZPOOL=y
CONFIG_SWAP=y
CONFIG_ZSWAP=y
CONFIG_ZSWAP_DEFAULT_ON=y
# CONFIG_ZSWAP_SHRINKER_DEFAULT_ON is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC=y
CONFIG_ZSWAP_ZPOOL_DEFAULT="zsmalloc"
# CONFIG_ZBUD is not set
# CONFIG_Z3FOLD is not set
CONFIG_ZSMALLOC=y
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC_CHAIN_SIZE=8

#
# Slab allocator options
#
CONFIG_SLUB=y
# CONFIG_SLUB_TINY is not set
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLAB_FREELIST_RANDOM is not set
# CONFIG_SLAB_FREELIST_HARDENED is not set
# CONFIG_SLUB_STATS is not set
CONFIG_SLUB_CPU_PARTIAL=y
# CONFIG_RANDOM_KMALLOC_CACHES is not set
# end of Slab allocator options

# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
# CONFIG_COMPAT_BRK is not set
CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
CONFIG_HAVE_FAST_GUP=y
CONFIG_NUMA_KEEP_MEMINFO=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MHP_MEMMAP_ON_MEMORY=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_MEMORY_BALLOON=y
# CONFIG_BALLOON_COMPACTION is not set
CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
CONFIG_PAGE_REPORTING=y
CONFIG_MIGRATION=y
CONFIG_DEVICE_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_CONTIG_ALLOC=y
CONFIG_PCP_BATCH_SCALE_MAX=5
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_WANTS_THP_SWAP=y
CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
CONFIG_READ_ONLY_THP_FOR_FS=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_CMA=y
# CONFIG_CMA_DEBUGFS is not set
# CONFIG_CMA_SYSFS is not set
CONFIG_CMA_AREAS=19
CONFIG_MEM_SOFT_DIRTY=y
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
CONFIG_PAGE_IDLE_FLAG=y
# CONFIG_IDLE_PAGE_TRACKING is not set
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
CONFIG_ARCH_HAS_PTE_DEVMAP=y
CONFIG_ARCH_HAS_ZONE_DMA_SET=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA32=y
CONFIG_ZONE_DEVICE=y
CONFIG_HMM_MIRROR=y
CONFIG_GET_FREE_REGION=y
CONFIG_DEVICE_PRIVATE=y
CONFIG_VMAP_PFN=y
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
CONFIG_ARCH_HAS_PKEYS=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PERCPU_STATS=y
# CONFIG_GUP_TEST is not set
# CONFIG_DMAPOOL_TEST is not set
CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_MAPPING_DIRTY_HELPERS=y
CONFIG_KMAP_LOCAL=y
CONFIG_MEMFD_CREATE=y
CONFIG_SECRETMEM=y
CONFIG_ANON_VMA_NAME=y
CONFIG_HAVE_ARCH_USERFAULTFD_WP=y
CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y
CONFIG_USERFAULTFD=y
# CONFIG_PTE_MARKER_UFFD_WP is not set
CONFIG_LRU_GEN=y
CONFIG_LRU_GEN_ENABLED=y
# CONFIG_LRU_GEN_STATS is not set
CONFIG_LRU_GEN_WALKS_MMU=y
CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
CONFIG_PER_VMA_LOCK=y
CONFIG_LOCK_MM_AND_FIND_VMA=y
CONFIG_IOMMU_MM_DATA=y

#
# Data Access Monitoring
#
CONFIG_DAMON=y
CONFIG_DAMON_VADDR=y
CONFIG_DAMON_PADDR=y
# CONFIG_DAMON_SYSFS is not set
# CONFIG_DAMON_DBGFS_DEPRECATED is not set
CONFIG_DAMON_RECLAIM=y
# CONFIG_DAMON_LRU_SORT is not set
# end of Data Access Monitoring
# end of Memory Management options

CONFIG_NET=y
CONFIG_WANT_COMPAT_NETLINK_MESSAGES=y
CONFIG_COMPAT_NETLINK_MESSAGES=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
CONFIG_NET_XGRESS=y
CONFIG_NET_REDIRECT=y
CONFIG_SKB_EXTENSIONS=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y
CONFIG_UNIX=y
CONFIG_AF_UNIX_OOB=y
CONFIG_UNIX_DIAG=y
CONFIG_TLS=y
CONFIG_TLS_DEVICE=y
CONFIG_TLS_TOE=y
CONFIG_XFRM=y
CONFIG_XFRM_OFFLOAD=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_USER_COMPAT=y
CONFIG_XFRM_INTERFACE=y
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_AH=y
CONFIG_XFRM_ESP=y
CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=y
CONFIG_NET_KEY_MIGRATE=y
CONFIG_XFRM_ESPINTCP=y
CONFIG_SMC=y
CONFIG_SMC_DIAG=y
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=y
CONFIG_NET_HANDSHAKE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
CONFIG_NET_IPIP=y
CONFIG_NET_IPGRE_DEMUX=y
CONFIG_NET_IP_TUNNEL=y
CONFIG_NET_IPGRE=y
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE_COMMON=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=y
CONFIG_NET_UDP_TUNNEL=y
CONFIG_NET_FOU=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_ESP_OFFLOAD=y
CONFIG_INET_ESPINTCP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_TABLE_PERTURB_ORDER=16
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_INET_UDP_DIAG=y
CONFIG_INET_RAW_DIAG=y
CONFIG_INET_DIAG_DESTROY=y
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=y
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=y
CONFIG_TCP_CONG_HTCP=y
CONFIG_TCP_CONG_HSTCP=y
CONFIG_TCP_CONG_HYBLA=y
CONFIG_TCP_CONG_VEGAS=y
CONFIG_TCP_CONG_NV=y
CONFIG_TCP_CONG_SCALABLE=y
CONFIG_TCP_CONG_LP=y
CONFIG_TCP_CONG_VENO=y
CONFIG_TCP_CONG_YEAH=y
CONFIG_TCP_CONG_ILLINOIS=y
CONFIG_TCP_CONG_DCTCP=y
CONFIG_TCP_CONG_CDG=y
CONFIG_TCP_CONG_BBR=y
# CONFIG_DEFAULT_BIC is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_HYBLA is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_VENO is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_DCTCP is not set
# CONFIG_DEFAULT_CDG is not set
# CONFIG_DEFAULT_BBR is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_SIGPOOL=y
# CONFIG_TCP_AO is not set
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
CONFIG_INET6_ESP_OFFLOAD=y
CONFIG_INET6_ESPINTCP=y
CONFIG_INET6_IPCOMP=y
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_ILA=y
CONFIG_INET6_XFRM_TUNNEL=y
CONFIG_INET6_TUNNEL=y
CONFIG_IPV6_VTI=y
CONFIG_IPV6_SIT=y
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_GRE=y
CONFIG_IPV6_FOU=y
CONFIG_IPV6_FOU_TUNNEL=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_BPF=y
CONFIG_IPV6_RPL_LWTUNNEL=y
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
CONFIG_NETLABEL=y
CONFIG_MPTCP=y
CONFIG_INET_MPTCP_DIAG=y
CONFIG_MPTCP_IPV6=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_EGRESS=y
CONFIG_NETFILTER_SKIP_EGRESS=y
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_FAMILY_BRIDGE=y
CONFIG_NETFILTER_FAMILY_ARP=y
CONFIG_NETFILTER_BPF_LINK=y
# CONFIG_NETFILTER_NETLINK_HOOK is not set
CONFIG_NETFILTER_NETLINK_ACCT=y
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NETFILTER_NETLINK_OSF=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_LOG_SYSLOG=y
CONFIG_NETFILTER_CONNCOUNT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
# CONFIG_NF_CONNTRACK_PROCFS is not set
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK_OVS=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_GRE=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_BROADCAST=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_SNMP=y
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NF_CT_NETLINK_TIMEOUT=y
CONFIG_NF_CT_NETLINK_HELPER=y
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_AMANDA=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
CONFIG_NF_NAT_SIP=y
CONFIG_NF_NAT_TFTP=y
CONFIG_NF_NAT_REDIRECT=y
CONFIG_NF_NAT_MASQUERADE=y
CONFIG_NF_NAT_OVS=y
CONFIG_NETFILTER_SYNPROXY=y
CONFIG_NF_TABLES=y
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_NETDEV=y
CONFIG_NFT_NUMGEN=y
CONFIG_NFT_CT=y
CONFIG_NFT_FLOW_OFFLOAD=y
CONFIG_NFT_CONNLIMIT=y
CONFIG_NFT_LOG=y
CONFIG_NFT_LIMIT=y
CONFIG_NFT_MASQ=y
CONFIG_NFT_REDIR=y
CONFIG_NFT_NAT=y
CONFIG_NFT_TUNNEL=y
CONFIG_NFT_QUEUE=y
CONFIG_NFT_QUOTA=y
CONFIG_NFT_REJECT=y
CONFIG_NFT_REJECT_INET=y
CONFIG_NFT_COMPAT=y
CONFIG_NFT_HASH=y
CONFIG_NFT_FIB=y
CONFIG_NFT_FIB_INET=y
CONFIG_NFT_XFRM=y
CONFIG_NFT_SOCKET=y
CONFIG_NFT_OSF=y
CONFIG_NFT_TPROXY=y
CONFIG_NFT_SYNPROXY=y
CONFIG_NF_DUP_NETDEV=y
CONFIG_NFT_DUP_NETDEV=y
CONFIG_NFT_FWD_NETDEV=y
CONFIG_NFT_FIB_NETDEV=y
CONFIG_NFT_REJECT_NETDEV=y
CONFIG_NF_FLOW_TABLE_INET=y
CONFIG_NF_FLOW_TABLE=y
# CONFIG_NF_FLOW_TABLE_PROCFS is not set
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XTABLES_COMPAT=y

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=y
CONFIG_NETFILTER_XT_CONNMARK=y
CONFIG_NETFILTER_XT_SET=y

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=y
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_CT=y
CONFIG_NETFILTER_XT_TARGET_DSCP=y
CONFIG_NETFILTER_XT_TARGET_HL=y
CONFIG_NETFILTER_XT_TARGET_HMARK=y
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
CONFIG_NETFILTER_XT_TARGET_LED=y
CONFIG_NETFILTER_XT_TARGET_LOG=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_NAT=y
CONFIG_NETFILTER_XT_TARGET_NETMAP=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
CONFIG_NETFILTER_XT_TARGET_NOTRACK=y
CONFIG_NETFILTER_XT_TARGET_RATEEST=y
CONFIG_NETFILTER_XT_TARGET_REDIRECT=y
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y
CONFIG_NETFILTER_XT_TARGET_TEE=y
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_TRACE=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=y

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_BPF=y
CONFIG_NETFILTER_XT_MATCH_CGROUP=y
CONFIG_NETFILTER_XT_MATCH_CLUSTER=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_CPU=y
CONFIG_NETFILTER_XT_MATCH_DCCP=y
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=y
CONFIG_NETFILTER_XT_MATCH_DSCP=y
CONFIG_NETFILTER_XT_MATCH_ECN=y
CONFIG_NETFILTER_XT_MATCH_ESP=y
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_HL=y
CONFIG_NETFILTER_XT_MATCH_IPCOMP=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_IPVS=y
CONFIG_NETFILTER_XT_MATCH_L2TP=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NETFILTER_XT_MATCH_NFACCT=y
CONFIG_NETFILTER_XT_MATCH_OSF=y
CONFIG_NETFILTER_XT_MATCH_OWNER=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_RATEEST=y
CONFIG_NETFILTER_XT_MATCH_REALM=y
CONFIG_NETFILTER_XT_MATCH_RECENT=y
CONFIG_NETFILTER_XT_MATCH_SCTP=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_TIME=y
CONFIG_NETFILTER_XT_MATCH_U32=y
# end of Core Netfilter Configuration

CONFIG_IP_SET=y
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=y
CONFIG_IP_SET_BITMAP_IPMAC=y
CONFIG_IP_SET_BITMAP_PORT=y
CONFIG_IP_SET_HASH_IP=y
CONFIG_IP_SET_HASH_IPMARK=y
CONFIG_IP_SET_HASH_IPPORT=y
CONFIG_IP_SET_HASH_IPPORTIP=y
CONFIG_IP_SET_HASH_IPPORTNET=y
CONFIG_IP_SET_HASH_IPMAC=y
CONFIG_IP_SET_HASH_MAC=y
CONFIG_IP_SET_HASH_NETPORTNET=y
CONFIG_IP_SET_HASH_NET=y
CONFIG_IP_SET_HASH_NETNET=y
CONFIG_IP_SET_HASH_NETPORT=y
CONFIG_IP_SET_HASH_NETIFACE=y
CONFIG_IP_SET_LIST_SET=y
CONFIG_IP_VS=y
CONFIG_IP_VS_IPV6=y
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=y
CONFIG_IP_VS_WRR=y
CONFIG_IP_VS_LC=y
CONFIG_IP_VS_WLC=y
CONFIG_IP_VS_FO=y
CONFIG_IP_VS_OVF=y
CONFIG_IP_VS_LBLC=y
CONFIG_IP_VS_LBLCR=y
CONFIG_IP_VS_DH=y
CONFIG_IP_VS_SH=y
CONFIG_IP_VS_MH=y
CONFIG_IP_VS_SED=y
CONFIG_IP_VS_NQ=y
CONFIG_IP_VS_TWOS=y

#
# IPVS SH scheduler
#
CONFIG_IP_VS_SH_TAB_BITS=8

#
# IPVS MH scheduler
#
CONFIG_IP_VS_MH_TAB_INDEX=12

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=y
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PE_SIP=y

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_IP_NF_IPTABLES_LEGACY=y
CONFIG_NF_SOCKET_IPV4=y
CONFIG_NF_TPROXY_IPV4=y
CONFIG_NF_TABLES_IPV4=y
CONFIG_NFT_REJECT_IPV4=y
CONFIG_NFT_DUP_IPV4=y
CONFIG_NFT_FIB_IPV4=y
CONFIG_NF_TABLES_ARP=y
CONFIG_NF_DUP_IPV4=y
CONFIG_NF_LOG_ARP=y
CONFIG_NF_LOG_IPV4=y
CONFIG_NF_REJECT_IPV4=y
CONFIG_NF_NAT_SNMP_BASIC=y
CONFIG_NF_NAT_PPTP=y
CONFIG_NF_NAT_H323=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_AH=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_RPFILTER=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_SYNPROXY=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_TTL=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_SECURITY=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_NFT_COMPAT_ARP=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARP_MANGLE=y
# end of IP: Netfilter Configuration

#
# IPv6: Netfilter Configuration
#
CONFIG_IP6_NF_IPTABLES_LEGACY=y
CONFIG_NF_SOCKET_IPV6=y
CONFIG_NF_TPROXY_IPV6=y
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_REJECT_IPV6=y
CONFIG_NFT_DUP_IPV6=y
CONFIG_NFT_FIB_IPV6=y
CONFIG_NF_DUP_IPV6=y
CONFIG_NF_REJECT_IPV6=y
CONFIG_NF_LOG_IPV6=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_AH=y
CONFIG_IP6_NF_MATCH_EUI64=y
CONFIG_IP6_NF_MATCH_FRAG=y
CONFIG_IP6_NF_MATCH_OPTS=y
CONFIG_IP6_NF_MATCH_HL=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=y
CONFIG_IP6_NF_MATCH_MH=y
CONFIG_IP6_NF_MATCH_RPFILTER=y
CONFIG_IP6_NF_MATCH_RT=y
CONFIG_IP6_NF_MATCH_SRH=y
CONFIG_IP6_NF_TARGET_HL=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IP6_NF_TARGET_SYNPROXY=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_RAW=y
CONFIG_IP6_NF_SECURITY=y
CONFIG_IP6_NF_NAT=y
CONFIG_IP6_NF_TARGET_MASQUERADE=y
CONFIG_IP6_NF_TARGET_NPT=y
# end of IPv6: Netfilter Configuration

CONFIG_NF_DEFRAG_IPV6=y
CONFIG_NF_TABLES_BRIDGE=y
CONFIG_NFT_BRIDGE_META=y
CONFIG_NFT_BRIDGE_REJECT=y
CONFIG_NF_CONNTRACK_BRIDGE=y
CONFIG_BRIDGE_NF_EBTABLES_LEGACY=y
CONFIG_BRIDGE_NF_EBTABLES=y
CONFIG_BRIDGE_EBT_BROUTE=y
CONFIG_BRIDGE_EBT_T_FILTER=y
CONFIG_BRIDGE_EBT_T_NAT=y
CONFIG_BRIDGE_EBT_802_3=y
CONFIG_BRIDGE_EBT_AMONG=y
CONFIG_BRIDGE_EBT_ARP=y
CONFIG_BRIDGE_EBT_IP=y
CONFIG_BRIDGE_EBT_IP6=y
CONFIG_BRIDGE_EBT_LIMIT=y
CONFIG_BRIDGE_EBT_MARK=y
CONFIG_BRIDGE_EBT_PKTTYPE=y
CONFIG_BRIDGE_EBT_STP=y
CONFIG_BRIDGE_EBT_VLAN=y
CONFIG_BRIDGE_EBT_ARPREPLY=y
CONFIG_BRIDGE_EBT_DNAT=y
CONFIG_BRIDGE_EBT_MARK_T=y
CONFIG_BRIDGE_EBT_REDIRECT=y
CONFIG_BRIDGE_EBT_SNAT=y
CONFIG_BRIDGE_EBT_LOG=y
CONFIG_BRIDGE_EBT_NFLOG=y
CONFIG_IP_DCCP=y
CONFIG_INET_DCCP_DIAG=y

#
# DCCP CCIDs Configuration
#
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_TFRC_LIB=y
# end of DCCP CCIDs Configuration

#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
# end of DCCP Kernel Hacking

CONFIG_IP_SCTP=y
# CONFIG_SCTP_DBG_OBJCNT is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_COOKIE_HMAC_MD5=y
CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_INET_SCTP_DIAG=y
CONFIG_RDS=y
CONFIG_RDS_RDMA=y
CONFIG_RDS_TCP=y
# CONFIG_RDS_DEBUG is not set
CONFIG_TIPC=y
CONFIG_TIPC_MEDIA_IB=y
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=y
CONFIG_ATM=y
CONFIG_ATM_CLIP=y
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=y
CONFIG_ATM_MPOA=y
CONFIG_ATM_BR2684=y
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_L2TP=y
# CONFIG_L2TP_DEBUGFS is not set
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=y
CONFIG_L2TP_ETH=y
CONFIG_STP=y
CONFIG_GARP=y
CONFIG_MRP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_BRIDGE_MRP=y
CONFIG_BRIDGE_CFM=y
CONFIG_NET_DSA=y
# CONFIG_NET_DSA_TAG_NONE is not set
# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_BRCM_COMMON=y
CONFIG_NET_DSA_TAG_BRCM=y
# CONFIG_NET_DSA_TAG_BRCM_LEGACY is not set
CONFIG_NET_DSA_TAG_BRCM_PREPEND=y
# CONFIG_NET_DSA_TAG_HELLCREEK is not set
# CONFIG_NET_DSA_TAG_GSWIP is not set
# CONFIG_NET_DSA_TAG_DSA is not set
# CONFIG_NET_DSA_TAG_EDSA is not set
CONFIG_NET_DSA_TAG_MTK=y
# CONFIG_NET_DSA_TAG_KSZ is not set
# CONFIG_NET_DSA_TAG_OCELOT is not set
# CONFIG_NET_DSA_TAG_OCELOT_8021Q is not set
CONFIG_NET_DSA_TAG_QCA=y
CONFIG_NET_DSA_TAG_RTL4_A=y
# CONFIG_NET_DSA_TAG_RTL8_4 is not set
# CONFIG_NET_DSA_TAG_RZN1_A5PSW is not set
# CONFIG_NET_DSA_TAG_LAN9303 is not set
# CONFIG_NET_DSA_TAG_SJA1105 is not set
# CONFIG_NET_DSA_TAG_TRAILER is not set
# CONFIG_NET_DSA_TAG_XRS700X is not set
CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_LLC=y
CONFIG_LLC2=y
# CONFIG_ATALK is not set
CONFIG_X25=y
CONFIG_LAPB=y
CONFIG_PHONET=y
CONFIG_6LOWPAN=y
# CONFIG_6LOWPAN_DEBUGFS is not set
CONFIG_6LOWPAN_NHC=y
CONFIG_6LOWPAN_NHC_DEST=y
CONFIG_6LOWPAN_NHC_FRAGMENT=y
CONFIG_6LOWPAN_NHC_HOP=y
CONFIG_6LOWPAN_NHC_IPV6=y
CONFIG_6LOWPAN_NHC_MOBILITY=y
CONFIG_6LOWPAN_NHC_ROUTING=y
CONFIG_6LOWPAN_NHC_UDP=y
CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=y
CONFIG_6LOWPAN_GHC_UDP=y
CONFIG_6LOWPAN_GHC_ICMPV6=y
CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=y
CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=y
CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=y
CONFIG_IEEE802154=y
CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y
CONFIG_IEEE802154_SOCKET=y
CONFIG_IEEE802154_6LOWPAN=y
CONFIG_MAC802154=y
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_HFSC=y
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_MULTIQ=y
CONFIG_NET_SCH_RED=y
CONFIG_NET_SCH_SFB=y
CONFIG_NET_SCH_SFQ=y
CONFIG_NET_SCH_TEQL=y
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_CBS=y
CONFIG_NET_SCH_ETF=y
CONFIG_NET_SCH_MQPRIO_LIB=y
CONFIG_NET_SCH_TAPRIO=y
CONFIG_NET_SCH_GRED=y
CONFIG_NET_SCH_NETEM=y
CONFIG_NET_SCH_DRR=y
CONFIG_NET_SCH_MQPRIO=y
CONFIG_NET_SCH_SKBPRIO=y
CONFIG_NET_SCH_CHOKE=y
CONFIG_NET_SCH_QFQ=y
CONFIG_NET_SCH_CODEL=y
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_CAKE=y
CONFIG_NET_SCH_FQ=y
CONFIG_NET_SCH_HHF=y
CONFIG_NET_SCH_PIE=y
CONFIG_NET_SCH_FQ_PIE=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_SCH_PLUG=y
CONFIG_NET_SCH_ETS=y
CONFIG_NET_SCH_DEFAULT=y
# CONFIG_DEFAULT_FQ is not set
# CONFIG_DEFAULT_CODEL is not set
# CONFIG_DEFAULT_FQ_CODEL is not set
# CONFIG_DEFAULT_FQ_PIE is not set
# CONFIG_DEFAULT_SFQ is not set
CONFIG_DEFAULT_PFIFO_FAST=y
CONFIG_DEFAULT_NET_SCH="pfifo_fast"

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=y
CONFIG_NET_CLS_ROUTE4=y
CONFIG_NET_CLS_FW=y
CONFIG_NET_CLS_U32=y
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_FLOW=y
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_FLOWER=y
CONFIG_NET_CLS_MATCHALL=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=y
CONFIG_NET_EMATCH_NBYTE=y
CONFIG_NET_EMATCH_U32=y
CONFIG_NET_EMATCH_META=y
CONFIG_NET_EMATCH_TEXT=y
CONFIG_NET_EMATCH_CANID=y
CONFIG_NET_EMATCH_IPSET=y
CONFIG_NET_EMATCH_IPT=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=y
CONFIG_NET_ACT_GACT=y
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=y
CONFIG_NET_ACT_SAMPLE=y
CONFIG_NET_ACT_NAT=y
CONFIG_NET_ACT_PEDIT=y
CONFIG_NET_ACT_SIMP=y
CONFIG_NET_ACT_SKBEDIT=y
CONFIG_NET_ACT_CSUM=y
CONFIG_NET_ACT_MPLS=y
CONFIG_NET_ACT_VLAN=y
CONFIG_NET_ACT_BPF=y
CONFIG_NET_ACT_CONNMARK=y
CONFIG_NET_ACT_CTINFO=y
CONFIG_NET_ACT_SKBMOD=y
CONFIG_NET_ACT_IFE=y
CONFIG_NET_ACT_TUNNEL_KEY=y
CONFIG_NET_ACT_CT=y
CONFIG_NET_ACT_GATE=y
CONFIG_NET_IFE_SKBMARK=y
CONFIG_NET_IFE_SKBPRIO=y
CONFIG_NET_IFE_SKBTCINDEX=y
CONFIG_NET_TC_SKB_EXT=y
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=y
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
CONFIG_BATMAN_ADV_NC=y
CONFIG_BATMAN_ADV_MCAST=y
# CONFIG_BATMAN_ADV_DEBUG is not set
# CONFIG_BATMAN_ADV_TRACING is not set
CONFIG_OPENVSWITCH=y
CONFIG_OPENVSWITCH_GRE=y
CONFIG_OPENVSWITCH_VXLAN=y
CONFIG_OPENVSWITCH_GENEVE=y
CONFIG_VSOCKETS=y
CONFIG_VSOCKETS_DIAG=y
CONFIG_VSOCKETS_LOOPBACK=y
# CONFIG_VMWARE_VMCI_VSOCKETS is not set
CONFIG_VIRTIO_VSOCKETS=y
CONFIG_VIRTIO_VSOCKETS_COMMON=y
CONFIG_NETLINK_DIAG=y
CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=y
CONFIG_MPLS_ROUTING=y
CONFIG_MPLS_IPTUNNEL=y
CONFIG_NET_NSH=y
CONFIG_HSR=y
CONFIG_NET_SWITCHDEV=y
CONFIG_NET_L3_MASTER_DEV=y
CONFIG_QRTR=y
CONFIG_QRTR_TUN=y
# CONFIG_QRTR_MHI is not set
CONFIG_NET_NCSI=y
# CONFIG_NCSI_OEM_CMD_GET_MAC is not set
# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set
# CONFIG_PCPU_DEV_REFCNT is not set
CONFIG_MAX_SKB_FRAGS=17
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_SOCK_RX_QUEUE_MAPPING=y
CONFIG_XPS=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_NET_FLOW_LIMIT=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
CONFIG_NET_DROP_MONITOR=y
# end of Network testing
# end of Networking options

CONFIG_HAMRADIO=y

#
# Packet Radio protocols
#
CONFIG_AX25=y
CONFIG_AX25_DAMA_SLAVE=y
CONFIG_NETROM=y
CONFIG_ROSE=y

#
# AX.25 network device drivers
#
CONFIG_MKISS=y
CONFIG_6PACK=y
CONFIG_BPQETHER=y
# CONFIG_BAYCOM_SER_FDX is not set
# CONFIG_BAYCOM_SER_HDX is not set
# CONFIG_BAYCOM_PAR is not set
# CONFIG_YAM is not set
# end of AX.25 network device drivers

CONFIG_CAN=y
CONFIG_CAN_RAW=y
CONFIG_CAN_BCM=y
CONFIG_CAN_GW=y
CONFIG_CAN_J1939=y
CONFIG_CAN_ISOTP=y
CONFIG_BT=y
CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=y
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=y
CONFIG_BT_HIDP=y
CONFIG_BT_LE=y
CONFIG_BT_LE_L2CAP_ECRED=y
CONFIG_BT_6LOWPAN=y
CONFIG_BT_LEDS=y
CONFIG_BT_MSFTEXT=y
# CONFIG_BT_AOSPEXT is not set
# CONFIG_BT_DEBUGFS is not set
# CONFIG_BT_SELFTEST is not set

#
# Bluetooth device drivers
#
CONFIG_BT_INTEL=y
CONFIG_BT_BCM=y
CONFIG_BT_RTL=y
CONFIG_BT_QCA=y
CONFIG_BT_MTK=y
CONFIG_BT_HCIBTUSB=y
# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_POLL_SYNC=y
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_MTK=y
CONFIG_BT_HCIBTUSB_RTL=y
# CONFIG_BT_HCIBTSDIO is not set
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_SERDEV=y
CONFIG_BT_HCIUART_H4=y
# CONFIG_BT_HCIUART_NOKIA is not set
CONFIG_BT_HCIUART_BCSP=y
# CONFIG_BT_HCIUART_ATH3K is not set
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART_3WIRE=y
# CONFIG_BT_HCIUART_INTEL is not set
# CONFIG_BT_HCIUART_BCM is not set
# CONFIG_BT_HCIUART_RTL is not set
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIUART_AG6XX=y
CONFIG_BT_HCIUART_MRVL=y
CONFIG_BT_HCIBCM203X=y
# CONFIG_BT_HCIBCM4377 is not set
CONFIG_BT_HCIBPA10X=y
CONFIG_BT_HCIBFUSB=y
# CONFIG_BT_HCIDTL1 is not set
# CONFIG_BT_HCIBT3C is not set
# CONFIG_BT_HCIBLUECARD is not set
CONFIG_BT_HCIVHCI=y
# CONFIG_BT_MRVL is not set
CONFIG_BT_ATH3K=y
# CONFIG_BT_MTKSDIO is not set
# CONFIG_BT_MTKUART is not set
# CONFIG_BT_VIRTIO is not set
# CONFIG_BT_NXPUART is not set
# end of Bluetooth device drivers

CONFIG_AF_RXRPC=y
CONFIG_AF_RXRPC_IPV6=y
# CONFIG_AF_RXRPC_INJECT_LOSS is not set
# CONFIG_AF_RXRPC_INJECT_RX_DELAY is not set
# CONFIG_AF_RXRPC_DEBUG is not set
CONFIG_RXKAD=y
# CONFIG_RXPERF is not set
CONFIG_AF_KCM=y
CONFIG_STREAM_PARSER=y
# CONFIG_MCTP is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=y
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
CONFIG_CFG80211_DEFAULT_PS=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=y
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
CONFIG_RFKILL=y
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_NET_9P=y
CONFIG_NET_9P_FD=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_NET_9P_RDMA=y
# CONFIG_NET_9P_DEBUG is not set
CONFIG_CAIF=y
CONFIG_CAIF_DEBUG=y
CONFIG_CAIF_NETDEV=y
CONFIG_CAIF_USB=y
CONFIG_CEPH_LIB=y
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
CONFIG_NFC=y
CONFIG_NFC_DIGITAL=y
CONFIG_NFC_NCI=y
# CONFIG_NFC_NCI_SPI is not set
CONFIG_NFC_NCI_UART=y
CONFIG_NFC_HCI=y
CONFIG_NFC_SHDLC=y

#
# Near Field Communication (NFC) devices
#
# CONFIG_NFC_TRF7970A is not set
CONFIG_NFC_SIM=y
CONFIG_NFC_PORT100=y
CONFIG_NFC_VIRTUAL_NCI=y
CONFIG_NFC_FDP=y
# CONFIG_NFC_FDP_I2C is not set
# CONFIG_NFC_PN544_I2C is not set
CONFIG_NFC_PN533=y
CONFIG_NFC_PN533_USB=y
# CONFIG_NFC_PN533_I2C is not set
# CONFIG_NFC_PN532_UART is not set
# CONFIG_NFC_MICROREAD_I2C is not set
CONFIG_NFC_MRVL=y
CONFIG_NFC_MRVL_USB=y
# CONFIG_NFC_MRVL_UART is not set
# CONFIG_NFC_MRVL_I2C is not set
# CONFIG_NFC_ST21NFCA_I2C is not set
# CONFIG_NFC_ST_NCI_I2C is not set
# CONFIG_NFC_ST_NCI_SPI is not set
# CONFIG_NFC_NXP_NCI is not set
# CONFIG_NFC_S3FWRN5_I2C is not set
# CONFIG_NFC_S3FWRN82_UART is not set
# CONFIG_NFC_ST95HF is not set
# end of Near Field Communication (NFC) devices

CONFIG_PSAMPLE=y
CONFIG_NET_IFE=y
CONFIG_LWTUNNEL=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
CONFIG_SOCK_VALIDATE_XMIT=y
CONFIG_NET_SELFTESTS=y
CONFIG_NET_SOCK_MSG=y
CONFIG_NET_DEVLINK=y
CONFIG_PAGE_POOL=y
# CONFIG_PAGE_POOL_STATS is not set
CONFIG_FAILOVER=y
CONFIG_ETHTOOL_NETLINK=y

#
# Device Drivers
#
CONFIG_HAVE_EISA=y
# CONFIG_EISA is not set
CONFIG_HAVE_PCI=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_PCIEAER=y
# CONFIG_PCIEAER_INJECT is not set
# CONFIG_PCIE_ECRC is not set
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
# CONFIG_PCIE_DPC is not set
# CONFIG_PCIE_PTM is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
# CONFIG_PCI_STUB is not set
# CONFIG_PCI_PF_STUB is not set
CONFIG_PCI_ATS=y
CONFIG_PCI_ECAM=y
CONFIG_PCI_LOCKLESS_CONFIG=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
# CONFIG_PCI_P2PDMA is not set
CONFIG_PCI_LABEL=y
# CONFIG_PCI_DYNAMIC_OF_NODES is not set
# CONFIG_PCIE_BUS_TUNE_OFF is not set
CONFIG_PCIE_BUS_DEFAULT=y
# CONFIG_PCIE_BUS_SAFE is not set
# CONFIG_PCIE_BUS_PERFORMANCE is not set
# CONFIG_PCIE_BUS_PEER2PEER is not set
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_ACPI is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set

#
# PCI controller drivers
#
# CONFIG_PCI_FTPCI100 is not set
CONFIG_PCI_HOST_COMMON=y
CONFIG_PCI_HOST_GENERIC=y
# CONFIG_VMD is not set
# CONFIG_PCIE_MICROCHIP_HOST is not set
# CONFIG_PCIE_XILINX is not set

#
# Cadence-based PCIe controllers
#
# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
# CONFIG_PCIE_CADENCE_PLAT_EP is not set
# end of Cadence-based PCIe controllers

#
# DesignWare-based PCIe controllers
#
# CONFIG_PCI_MESON is not set
# CONFIG_PCIE_INTEL_GW is not set
# CONFIG_PCIE_DW_PLAT_HOST is not set
# CONFIG_PCIE_DW_PLAT_EP is not set
# end of DesignWare-based PCIe controllers

#
# Mobiveil-based PCIe controllers
#
# end of Mobiveil-based PCIe controllers
# end of PCI controller drivers

#
# PCI Endpoint
#
CONFIG_PCI_ENDPOINT=y
# CONFIG_PCI_ENDPOINT_CONFIGFS is not set
# CONFIG_PCI_EPF_TEST is not set
# CONFIG_PCI_EPF_NTB is not set
# end of PCI Endpoint

#
# PCI switch controller drivers
#
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers

# CONFIG_CXL_BUS is not set
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=y
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
CONFIG_PCCARD_NONSTATIC=y
# CONFIG_RAPIDIO is not set

#
# Generic Driver Options
#
CONFIG_AUXILIARY_BUS=y
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_DEVTMPFS_SAFE is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y

#
# Firmware loader
#
CONFIG_FW_LOADER=y
# CONFIG_FW_LOADER_DEBUG is not set
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_FW_LOADER_SYSFS=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_COMPRESS_XZ is not set
# CONFIG_FW_LOADER_COMPRESS_ZSTD is not set
CONFIG_FW_CACHE=y
# CONFIG_FW_UPLOAD is not set
# end of Firmware loader

CONFIG_WANT_DEV_COREDUMP=y
CONFIG_ALLOW_DEV_COREDUMP=y
CONFIG_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
CONFIG_DEBUG_DEVRES=y
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
CONFIG_GENERIC_CPU_DEVICES=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_CPU_VULNERABILITIES=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_IRQ=y
CONFIG_DMA_SHARED_BUFFER=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
# end of Generic Driver Options

#
# Bus devices
#
# CONFIG_MOXTET is not set
CONFIG_MHI_BUS=y
# CONFIG_MHI_BUS_DEBUG is not set
# CONFIG_MHI_BUS_PCI_GENERIC is not set
# CONFIG_MHI_BUS_EP is not set
# end of Bus devices

#
# Cache Drivers
#
# end of Cache Drivers

CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y

#
# Firmware Drivers
#

#
# ARM System Control and Management Interface Protocol
#
# end of ARM System Control and Management Interface Protocol

# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DMIID=y
# CONFIG_DMI_SYSFS is not set
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_ISCSI_IBFT is not set
# CONFIG_FW_CFG_SYSFS is not set
CONFIG_SYSFB=y
# CONFIG_SYSFB_SIMPLEFB is not set
CONFIG_GOOGLE_FIRMWARE=y
# CONFIG_GOOGLE_SMI is not set
# CONFIG_GOOGLE_CBMEM is not set
CONFIG_GOOGLE_COREBOOT_TABLE=y
CONFIG_GOOGLE_MEMCONSOLE=y
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
# CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT is not set
CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=y
CONFIG_GOOGLE_VPD=y

#
# Qualcomm firmware drivers
#
# end of Qualcomm firmware drivers

#
# Tegra firmware driver
#
# end of Tegra firmware driver
# end of Firmware Drivers

# CONFIG_GNSS is not set
CONFIG_MTD=y
# CONFIG_MTD_TESTS is not set

#
# Partition parsers
#
# CONFIG_MTD_CMDLINE_PARTS is not set
# CONFIG_MTD_OF_PARTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
# end of Partition parsers

#
# User Modules And Translation Layers
#
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y

#
# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK.
#
CONFIG_FTL=y
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
# CONFIG_SM_FTL is not set
# CONFIG_MTD_OOPS is not set
# CONFIG_MTD_SWAP is not set
# CONFIG_MTD_PARTITIONED_MASTER is not set

#
# RAM/ROM/Flash chip drivers
#
# CONFIG_MTD_CFI is not set
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
# end of RAM/ROM/Flash chip drivers

#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PLATRAM is not set
# end of Mapping drivers for chip access

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_DATAFLASH is not set
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MCHP48L640 is not set
# CONFIG_MTD_SST25L is not set
CONFIG_MTD_SLRAM=y
CONFIG_MTD_PHRAM=y
CONFIG_MTD_MTDRAM=y
CONFIG_MTDRAM_TOTAL_SIZE=128
CONFIG_MTDRAM_ERASE_SIZE=4
CONFIG_MTD_BLOCK2MTD=y

#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOCG3 is not set
# end of Self-contained MTD device drivers

#
# NAND
#
# CONFIG_MTD_ONENAND is not set
# CONFIG_MTD_RAW_NAND is not set
# CONFIG_MTD_SPI_NAND is not set

#
# ECC engine support
#
# CONFIG_MTD_NAND_ECC_SW_HAMMING is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_MXIC is not set
# end of ECC engine support
# end of NAND

#
# LPDDR & LPDDR2 PCM memory drivers
#
# CONFIG_MTD_LPDDR is not set
# end of LPDDR & LPDDR2 PCM memory drivers

# CONFIG_MTD_SPI_NOR is not set
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
# CONFIG_MTD_UBI_FASTMAP is not set
# CONFIG_MTD_UBI_GLUEBI is not set
# CONFIG_MTD_UBI_BLOCK is not set
# CONFIG_MTD_UBI_FAULT_INJECTION is not set
# CONFIG_MTD_UBI_NVMEM is not set
# CONFIG_MTD_HYPERBUS is not set
CONFIG_DTC=y
CONFIG_OF=y
# CONFIG_OF_UNITTEST is not set
CONFIG_OF_FLATTREE=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_KOBJ=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_IRQ=y
CONFIG_OF_RESERVED_MEM=y
# CONFIG_OF_OVERLAY is not set
CONFIG_OF_NUMA=y
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_PARPORT=y
# CONFIG_PARPORT_PC is not set
# CONFIG_PARPORT_1284 is not set
CONFIG_PARPORT_NOT_PC=y
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_NULL_BLK=y
CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
# CONFIG_BLK_DEV_FD is not set
CONFIG_CDROM=y
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
CONFIG_ZRAM=y
CONFIG_ZRAM_DEF_COMP_LZORLE=y
# CONFIG_ZRAM_DEF_COMP_ZSTD is not set
# CONFIG_ZRAM_DEF_COMP_LZ4 is not set
# CONFIG_ZRAM_DEF_COMP_LZO is not set
# CONFIG_ZRAM_DEF_COMP_LZ4HC is not set
# CONFIG_ZRAM_DEF_COMP_842 is not set
CONFIG_ZRAM_DEF_COMP="lzo-rle"
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZRAM_TRACK_ENTRY_ACTIME is not set
# CONFIG_ZRAM_MEMORY_TRACKING is not set
# CONFIG_ZRAM_MULTI_COMP is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=16
# CONFIG_BLK_DEV_DRBD is not set
CONFIG_BLK_DEV_NBD=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_CDROM_PKTCDVD is not set
CONFIG_ATA_OVER_ETH=y
CONFIG_VIRTIO_BLK=y
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_BLK_DEV_UBLK is not set
CONFIG_BLK_DEV_RNBD=y
CONFIG_BLK_DEV_RNBD_CLIENT=y

#
# NVME Support
#
CONFIG_NVME_CORE=y
CONFIG_BLK_DEV_NVME=y
CONFIG_NVME_MULTIPATH=y
# CONFIG_NVME_VERBOSE_ERRORS is not set
# CONFIG_NVME_HWMON is not set
CONFIG_NVME_FABRICS=y
CONFIG_NVME_RDMA=y
CONFIG_NVME_FC=y
CONFIG_NVME_TCP=y
# CONFIG_NVME_TCP_TLS is not set
# CONFIG_NVME_HOST_AUTH is not set
CONFIG_NVME_TARGET=y
# CONFIG_NVME_TARGET_PASSTHRU is not set
CONFIG_NVME_TARGET_LOOP=y
CONFIG_NVME_TARGET_RDMA=y
CONFIG_NVME_TARGET_FC=y
CONFIG_NVME_TARGET_FCLOOP=y
CONFIG_NVME_TARGET_TCP=y
# CONFIG_NVME_TARGET_TCP_TLS is not set
# CONFIG_NVME_TARGET_AUTH is not set
# end of NVME Support

#
# Misc devices
#
# CONFIG_AD525X_DPOT is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
# CONFIG_VMWARE_BALLOON is not set
# CONFIG_LATTICE_ECP3_CONFIG is not set
# CONFIG_SRAM is not set
# CONFIG_DW_XDATA_PCIE is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_XILINX_SDFEC is not set
CONFIG_MISC_RTSX=y
# CONFIG_HISI_HIKEY_USB is not set
# CONFIG_OPEN_DICE is not set
# CONFIG_VCPU_STALL_DETECTOR is not set
# CONFIG_NSM is not set
# CONFIG_C2PORT is not set

#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_AT25 is not set
# CONFIG_EEPROM_MAX6875 is not set
CONFIG_EEPROM_93CX6=y
# CONFIG_EEPROM_93XX46 is not set
# CONFIG_EEPROM_IDT_89HPESX is not set
# CONFIG_EEPROM_EE1004 is not set
# end of EEPROM support

# CONFIG_CB710_CORE is not set

#
# Texas Instruments shared transport line discipline
#
# CONFIG_TI_ST is not set
# end of Texas Instruments shared transport line discipline

# CONFIG_SENSORS_LIS3_I2C is not set
# CONFIG_ALTERA_STAPL is not set
# CONFIG_INTEL_MEI is not set
CONFIG_VMWARE_VMCI=y
# CONFIG_GENWQE is not set
# CONFIG_ECHO is not set
# CONFIG_BCM_VK is not set
# CONFIG_MISC_ALCOR_PCI is not set
# CONFIG_MISC_RTSX_PCI is not set
CONFIG_MISC_RTSX_USB=y
# CONFIG_UACCE is not set
# CONFIG_PVPANIC is not set
# CONFIG_GP_PCI1XXXX is not set
# end of Misc devices

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=y
CONFIG_SCSI_COMMON=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_CHR_DEV_SCH is not set
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_ATA=y
# CONFIG_SCSI_SAS_HOST_SMP is not set
CONFIG_SCSI_SRP_ATTRS=y
# end of SCSI Transports

CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_CXGB4_ISCSI is not set
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_SCSI_HPSA=y
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_ESAS2R is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_MPT3SAS is not set
# CONFIG_SCSI_MPT2SAS is not set
# CONFIG_SCSI_MPI3MR is not set
# CONFIG_SCSI_SMARTPQI is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_MYRB is not set
# CONFIG_SCSI_MYRS is not set
# CONFIG_VMWARE_PVSCSI is not set
# CONFIG_LIBFC is not set
# CONFIG_SCSI_SNIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_FDOMAIN_PCI is not set
# CONFIG_SCSI_ISCI is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_EFCT is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_WD719X is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
# CONFIG_SCSI_BFA_FC is not set
CONFIG_SCSI_VIRTIO=y
# CONFIG_SCSI_CHELSIO_FCOE is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
# CONFIG_SCSI_DH is not set
# end of SCSI device support

CONFIG_ATA=y
CONFIG_SATA_HOST=y
CONFIG_PATA_TIMINGS=y
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_FORCE=y
CONFIG_ATA_ACPI=y
# CONFIG_SATA_ZPODD is not set
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=y
CONFIG_SATA_MOBILE_LPM_POLICY=0
# CONFIG_SATA_AHCI_PLATFORM is not set
# CONFIG_AHCI_DWC is not set
# CONFIG_AHCI_CEVA is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_SATA_ACARD_AHCI is not set
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_SX4 is not set
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set

#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not set
CONFIG_PATA_AMD=y
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
CONFIG_PATA_OLDPIIX=y
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RDC is not set
CONFIG_PATA_SCH=y
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_PCMCIA is not set
# CONFIG_PATA_OF_PLATFORM is not set
# CONFIG_PATA_RZ1000 is not set

#
# Generic fallback / legacy drivers
#
# CONFIG_PATA_ACPI is not set
CONFIG_ATA_GENERIC=y
# CONFIG_PATA_LEGACY is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
CONFIG_MD_BITMAP_FILE=y
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
CONFIG_MD_RAID10=y
CONFIG_MD_RAID456=y
# CONFIG_MD_CLUSTER is not set
CONFIG_BCACHE=y
# CONFIG_BCACHE_DEBUG is not set
# CONFIG_BCACHE_ASYNC_REGISTRATION is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_DEBUG is not set
CONFIG_DM_BUFIO=y
# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
CONFIG_DM_BIO_PRISON=y
CONFIG_DM_PERSISTENT_DATA=y
# CONFIG_DM_UNSTRIPED is not set
CONFIG_DM_CRYPT=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_THIN_PROVISIONING=y
CONFIG_DM_CACHE=y
CONFIG_DM_CACHE_SMQ=y
CONFIG_DM_WRITECACHE=y
# CONFIG_DM_EBS is not set
# CONFIG_DM_ERA is not set
CONFIG_DM_CLONE=y
CONFIG_DM_MIRROR=y
# CONFIG_DM_LOG_USERSPACE is not set
CONFIG_DM_RAID=y
CONFIG_DM_ZERO=y
CONFIG_DM_MULTIPATH=y
CONFIG_DM_MULTIPATH_QL=y
CONFIG_DM_MULTIPATH_ST=y
# CONFIG_DM_MULTIPATH_HST is not set
# CONFIG_DM_MULTIPATH_IOA is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_DUST is not set
# CONFIG_DM_INIT is not set
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=y
CONFIG_DM_VERITY=y
# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set
CONFIG_DM_VERITY_FEC=y
# CONFIG_DM_SWITCH is not set
# CONFIG_DM_LOG_WRITES is not set
CONFIG_DM_INTEGRITY=y
CONFIG_DM_ZONED=y
CONFIG_DM_AUDIT=y
# CONFIG_DM_VDO is not set
CONFIG_TARGET_CORE=y
# CONFIG_TCM_IBLOCK is not set
# CONFIG_TCM_FILEIO is not set
# CONFIG_TCM_PSCSI is not set
# CONFIG_LOOPBACK_TARGET is not set
# CONFIG_ISCSI_TARGET is not set
# CONFIG_SBP_TARGET is not set
# CONFIG_REMOTE_TARGET is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=y
CONFIG_FIREWIRE_OHCI=y
CONFIG_FIREWIRE_SBP2=y
CONFIG_FIREWIRE_NET=y
# CONFIG_FIREWIRE_NOSY is not set
# end of IEEE 1394 (FireWire) support

# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_MII=y
CONFIG_NET_CORE=y
CONFIG_BONDING=y
CONFIG_DUMMY=y
CONFIG_WIREGUARD=y
# CONFIG_WIREGUARD_DEBUG is not set
CONFIG_EQUALIZER=y
CONFIG_NET_FC=y
CONFIG_IFB=y
CONFIG_NET_TEAM=y
CONFIG_NET_TEAM_MODE_BROADCAST=y
CONFIG_NET_TEAM_MODE_ROUNDROBIN=y
CONFIG_NET_TEAM_MODE_RANDOM=y
CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=y
CONFIG_NET_TEAM_MODE_LOADBALANCE=y
CONFIG_MACVLAN=y
CONFIG_MACVTAP=y
CONFIG_IPVLAN_L3S=y
CONFIG_IPVLAN=y
CONFIG_IPVTAP=y
CONFIG_VXLAN=y
CONFIG_GENEVE=y
CONFIG_BAREUDP=y
CONFIG_GTP=y
# CONFIG_AMT is not set
CONFIG_MACSEC=y
CONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not set
# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETPOLL=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=y
CONFIG_TAP=y
CONFIG_TUN_VNET_CROSS_LE=y
CONFIG_VETH=y
CONFIG_VIRTIO_NET=y
CONFIG_NLMON=y
# CONFIG_NETKIT is not set
CONFIG_NET_VRF=y
CONFIG_VSOCKMON=y
# CONFIG_MHI_NET is not set
# CONFIG_ARCNET is not set
CONFIG_ATM_DRIVERS=y
# CONFIG_ATM_DUMMY is not set
CONFIG_ATM_TCP=y
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_NICSTAR is not set
# CONFIG_ATM_IDT77252 is not set
# CONFIG_ATM_IA is not set
# CONFIG_ATM_FORE200E is not set
# CONFIG_ATM_HE is not set
# CONFIG_ATM_SOLOS is not set
CONFIG_CAIF_DRIVERS=y
CONFIG_CAIF_TTY=y
CONFIG_CAIF_VIRTIO=y

#
# Distributed Switch Architecture drivers
#
# CONFIG_B53 is not set
# CONFIG_NET_DSA_BCM_SF2 is not set
# CONFIG_NET_DSA_LOOP is not set
# CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK is not set
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
# CONFIG_NET_DSA_MT7530 is not set
# CONFIG_NET_DSA_MV88E6060 is not set
# CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON is not set
# CONFIG_NET_DSA_MV88E6XXX is not set
# CONFIG_NET_DSA_AR9331 is not set
# CONFIG_NET_DSA_QCA8K is not set
# CONFIG_NET_DSA_SJA1105 is not set
# CONFIG_NET_DSA_XRS700X_I2C is not set
# CONFIG_NET_DSA_XRS700X_MDIO is not set
# CONFIG_NET_DSA_REALTEK is not set
# CONFIG_NET_DSA_SMSC_LAN9303_I2C is not set
# CONFIG_NET_DSA_SMSC_LAN9303_MDIO is not set
# CONFIG_NET_DSA_VITESSE_VSC73XX_SPI is not set
# CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM is not set
# end of Distributed Switch Architecture drivers

CONFIG_ETHERNET=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not set
# CONFIG_NET_VENDOR_AGERE is not set
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
# CONFIG_ACENIC is not set
# CONFIG_ALTERA_TSE is not set
CONFIG_NET_VENDOR_AMAZON=y
# CONFIG_ENA_ETHERNET is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
CONFIG_NET_VENDOR_ASIX=y
# CONFIG_SPI_AX88796C is not set
# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_CX_ECAT is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_CADENCE is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
CONFIG_NET_VENDOR_CISCO=y
# CONFIG_ENIC is not set
# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_NET_VENDOR_DAVICOM=y
# CONFIG_DM9051 is not set
# CONFIG_DNET is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
CONFIG_NET_VENDOR_ENGLEDER=y
# CONFIG_TSNEP is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
# CONFIG_NET_VENDOR_FUJITSU is not set
CONFIG_NET_VENDOR_FUNGIBLE=y
# CONFIG_FUN_ETH is not set
CONFIG_NET_VENDOR_GOOGLE=y
CONFIG_GVE=y
# CONFIG_NET_VENDOR_HUAWEI is not set
CONFIG_NET_VENDOR_I825XX=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=y
CONFIG_E1000=y
CONFIG_E1000E=y
CONFIG_E1000E_HWTS=y
# CONFIG_IGB is not set
# CONFIG_IGBVF is not set
# CONFIG_IXGBE is not set
# CONFIG_IXGBEVF is not set
# CONFIG_I40E is not set
# CONFIG_I40EVF is not set
# CONFIG_ICE is not set
# CONFIG_FM10K is not set
# CONFIG_IGC is not set
# CONFIG_IDPF is not set
# CONFIG_JME is not set
# CONFIG_NET_VENDOR_ADI is not set
CONFIG_NET_VENDOR_LITEX=y
# CONFIG_LITEX_LITEETH is not set
# CONFIG_NET_VENDOR_MARVELL is not set
CONFIG_NET_VENDOR_MELLANOX=y
# CONFIG_MLX4_EN is not set
CONFIG_MLX4_CORE=y
# CONFIG_MLX4_DEBUG is not set
# CONFIG_MLX4_CORE_GEN2 is not set
# CONFIG_MLX5_CORE is not set
# CONFIG_MLXSW_CORE is not set
# CONFIG_MLXFW is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MICROSEMI is not set
CONFIG_NET_VENDOR_MICROSOFT=y
# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_FEALNX is not set
# CONFIG_NET_VENDOR_NI is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NETERION is not set
# CONFIG_NET_VENDOR_NETRONOME is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
# CONFIG_NET_VENDOR_OKI is not set
# CONFIG_ETHOC is not set
# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
# CONFIG_NET_VENDOR_PENSANDO is not set
# CONFIG_NET_VENDOR_QLOGIC is not set
# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
# CONFIG_NET_VENDOR_RDC is not set
# CONFIG_NET_VENDOR_REALTEK is not set
# CONFIG_NET_VENDOR_RENESAS is not set
# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
# CONFIG_NET_VENDOR_TEHUTI is not set
# CONFIG_NET_VENDOR_TI is not set
CONFIG_NET_VENDOR_VERTEXCOM=y
# CONFIG_MSE102X is not set
# CONFIG_NET_VENDOR_VIA is not set
CONFIG_NET_VENDOR_WANGXUN=y
# CONFIG_NGBE is not set
# CONFIG_TXGBE is not set
# CONFIG_NET_VENDOR_WIZNET is not set
# CONFIG_NET_VENDOR_XILINX is not set
# CONFIG_NET_VENDOR_XIRCOM is not set
CONFIG_FDDI=y
# CONFIG_DEFXX is not set
# CONFIG_SKFP is not set
# CONFIG_HIPPI is not set
# CONFIG_NET_SB1000 is not set
CONFIG_PHYLINK=y
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
# CONFIG_LED_TRIGGER_PHY is not set
CONFIG_PHYLIB_LEDS=y
CONFIG_FIXED_PHY=y
# CONFIG_SFP is not set

#
# MII PHY device drivers
#
# CONFIG_AMD_PHY is not set
# CONFIG_ADIN_PHY is not set
# CONFIG_ADIN1100_PHY is not set
# CONFIG_AQUANTIA_PHY is not set
CONFIG_AX88796B_PHY=y
# CONFIG_BROADCOM_PHY is not set
# CONFIG_BCM54140_PHY is not set
# CONFIG_BCM7XXX_PHY is not set
# CONFIG_BCM84881_PHY is not set
# CONFIG_BCM87XX_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_CORTINA_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_INTEL_XWAY_PHY is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MARVELL_PHY is not set
# CONFIG_MARVELL_10G_PHY is not set
# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
# CONFIG_MAXLINEAR_GPHY is not set
# CONFIG_MEDIATEK_GE_PHY is not set
# CONFIG_MICREL_PHY is not set
# CONFIG_MICROCHIP_T1S_PHY is not set
CONFIG_MICROCHIP_PHY=y
# CONFIG_MICROCHIP_T1_PHY is not set
# CONFIG_MICROSEMI_PHY is not set
# CONFIG_MOTORCOMM_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_NXP_CBTX_PHY is not set
# CONFIG_NXP_C45_TJA11XX_PHY is not set
# CONFIG_NXP_TJA11XX_PHY is not set
# CONFIG_NCN26000_PHY is not set
# CONFIG_AT803X_PHY is not set
# CONFIG_QCA83XX_PHY is not set
# CONFIG_QCA808X_PHY is not set
# CONFIG_QCA807X_PHY is not set
# CONFIG_QSEMI_PHY is not set
CONFIG_REALTEK_PHY=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_ROCKCHIP_PHY is not set
CONFIG_SMSC_PHY=y
# CONFIG_STE10XP is not set
# CONFIG_TERANETICS_PHY is not set
# CONFIG_DP83822_PHY is not set
# CONFIG_DP83TC811_PHY is not set
# CONFIG_DP83848_PHY is not set
# CONFIG_DP83867_PHY is not set
# CONFIG_DP83869_PHY is not set
# CONFIG_DP83TD510_PHY is not set
# CONFIG_DP83TG720_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_XILINX_GMII2RGMII is not set
# CONFIG_MICREL_KS8995MA is not set
# CONFIG_PSE_CONTROLLER is not set
CONFIG_CAN_DEV=y
CONFIG_CAN_VCAN=y
CONFIG_CAN_VXCAN=y
CONFIG_CAN_NETLINK=y
CONFIG_CAN_CALC_BITTIMING=y
CONFIG_CAN_RX_OFFLOAD=y
# CONFIG_CAN_CAN327 is not set
# CONFIG_CAN_FLEXCAN is not set
# CONFIG_CAN_GRCAN is not set
# CONFIG_CAN_KVASER_PCIEFD is not set
CONFIG_CAN_SLCAN=y
# CONFIG_CAN_C_CAN is not set
# CONFIG_CAN_CC770 is not set
# CONFIG_CAN_CTUCANFD_PCI is not set
# CONFIG_CAN_CTUCANFD_PLATFORM is not set
# CONFIG_CAN_ESD_402_PCI is not set
CONFIG_CAN_IFI_CANFD=y
# CONFIG_CAN_M_CAN is not set
# CONFIG_CAN_PEAK_PCIEFD is not set
# CONFIG_CAN_SJA1000 is not set
# CONFIG_CAN_SOFTING is not set

#
# CAN SPI interfaces
#
# CONFIG_CAN_HI311X is not set
# CONFIG_CAN_MCP251X is not set
# CONFIG_CAN_MCP251XFD is not set
# end of CAN SPI interfaces

#
# CAN USB interfaces
#
CONFIG_CAN_8DEV_USB=y
CONFIG_CAN_EMS_USB=y
# CONFIG_CAN_ESD_USB is not set
# CONFIG_CAN_ETAS_ES58X is not set
# CONFIG_CAN_F81604 is not set
CONFIG_CAN_GS_USB=y
CONFIG_CAN_KVASER_USB=y
CONFIG_CAN_MCBA_USB=y
CONFIG_CAN_PEAK_USB=y
# CONFIG_CAN_UCAN is not set
# end of CAN USB interfaces

# CONFIG_CAN_DEBUG_DEVICES is not set
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
CONFIG_FWNODE_MDIO=y
CONFIG_OF_MDIO=y
CONFIG_ACPI_MDIO=y
CONFIG_MDIO_DEVRES=y
# CONFIG_MDIO_BITBANG is not set
# CONFIG_MDIO_BCM_UNIMAC is not set
# CONFIG_MDIO_HISI_FEMAC is not set
# CONFIG_MDIO_MVUSB is not set
# CONFIG_MDIO_MSCC_MIIM is not set
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_IPQ4019 is not set
# CONFIG_MDIO_IPQ8064 is not set
# CONFIG_MDIO_THUNDER is not set

#
# MDIO Multiplexers
#
# CONFIG_MDIO_BUS_MUX_GPIO is not set
# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set

#
# PCS device drivers
#
# end of PCS device drivers

# CONFIG_PLIP is not set
CONFIG_PPP=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPPOATM=y
CONFIG_PPPOE=y
# CONFIG_PPPOE_HASH_BITS_1 is not set
# CONFIG_PPPOE_HASH_BITS_2 is not set
CONFIG_PPPOE_HASH_BITS_4=y
# CONFIG_PPPOE_HASH_BITS_8 is not set
CONFIG_PPPOE_HASH_BITS=4
CONFIG_PPTP=y
CONFIG_PPPOL2TP=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_SLIP=y
CONFIG_SLHC=y
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_CATC=y
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_RTL8150=y
CONFIG_USB_RTL8152=y
CONFIG_USB_LAN78XX=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_AX88179_178A=y
CONFIG_USB_NET_CDCETHER=y
CONFIG_USB_NET_CDC_EEM=y
CONFIG_USB_NET_CDC_NCM=y
CONFIG_USB_NET_HUAWEI_CDC_NCM=y
CONFIG_USB_NET_CDC_MBIM=y
CONFIG_USB_NET_DM9601=y
CONFIG_USB_NET_SR9700=y
CONFIG_USB_NET_SR9800=y
CONFIG_USB_NET_SMSC75XX=y
CONFIG_USB_NET_SMSC95XX=y
CONFIG_USB_NET_GL620A=y
CONFIG_USB_NET_NET1080=y
CONFIG_USB_NET_PLUSB=y
CONFIG_USB_NET_MCS7830=y
CONFIG_USB_NET_RNDIS_HOST=y
CONFIG_USB_NET_CDC_SUBSET_ENABLE=y
CONFIG_USB_NET_CDC_SUBSET=y
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=y
CONFIG_USB_NET_CX82310_ETH=y
CONFIG_USB_NET_KALMIA=y
CONFIG_USB_NET_QMI_WWAN=y
CONFIG_USB_HSO=y
CONFIG_USB_NET_INT51X1=y
CONFIG_USB_CDC_PHONET=y
CONFIG_USB_IPHETH=y
CONFIG_USB_SIERRA_NET=y
CONFIG_USB_VL600=y
CONFIG_USB_NET_CH9200=y
# CONFIG_USB_NET_AQC111 is not set
CONFIG_USB_RTL8153_ECM=y
CONFIG_WLAN=y
CONFIG_WLAN_VENDOR_ADMTEK=y
# CONFIG_ADM8211 is not set
CONFIG_ATH_COMMON=y
CONFIG_WLAN_VENDOR_ATH=y
# CONFIG_ATH_DEBUG is not set
# CONFIG_ATH5K is not set
# CONFIG_ATH5K_PCI is not set
CONFIG_ATH9K_HW=y
CONFIG_ATH9K_COMMON=y
CONFIG_ATH9K_COMMON_DEBUG=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
CONFIG_ATH9K=y
CONFIG_ATH9K_PCI=y
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_STATION_STATISTICS is not set
CONFIG_ATH9K_DYNACK=y
# CONFIG_ATH9K_WOW is not set
CONFIG_ATH9K_RFKILL=y
CONFIG_ATH9K_CHANNEL_CONTEXT=y
CONFIG_ATH9K_PCOEM=y
# CONFIG_ATH9K_PCI_NO_EEPROM is not set
CONFIG_ATH9K_HTC=y
CONFIG_ATH9K_HTC_DEBUGFS=y
# CONFIG_ATH9K_HWRNG is not set
# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_CARL9170=y
CONFIG_CARL9170_LEDS=y
# CONFIG_CARL9170_DEBUGFS is not set
CONFIG_CARL9170_WPC=y
CONFIG_CARL9170_HWRNG=y
CONFIG_ATH6KL=y
# CONFIG_ATH6KL_SDIO is not set
CONFIG_ATH6KL_USB=y
# CONFIG_ATH6KL_DEBUG is not set
# CONFIG_ATH6KL_TRACING is not set
CONFIG_AR5523=y
# CONFIG_WIL6210 is not set
CONFIG_ATH10K=y
CONFIG_ATH10K_CE=y
CONFIG_ATH10K_PCI=y
# CONFIG_ATH10K_AHB is not set
# CONFIG_ATH10K_SDIO is not set
CONFIG_ATH10K_USB=y
# CONFIG_ATH10K_DEBUG is not set
# CONFIG_ATH10K_DEBUGFS is not set
# CONFIG_ATH10K_TRACING is not set
# CONFIG_WCN36XX is not set
CONFIG_ATH11K=y
# CONFIG_ATH11K_PCI is not set
# CONFIG_ATH11K_DEBUG is not set
# CONFIG_ATH11K_DEBUGFS is not set
# CONFIG_ATH11K_TRACING is not set
# CONFIG_ATH12K is not set
# CONFIG_WLAN_VENDOR_ATMEL is not set
# CONFIG_WLAN_VENDOR_BROADCOM is not set
# CONFIG_WLAN_VENDOR_INTEL is not set
# CONFIG_WLAN_VENDOR_INTERSIL is not set
# CONFIG_WLAN_VENDOR_MARVELL is not set
# CONFIG_WLAN_VENDOR_MEDIATEK is not set
# CONFIG_WLAN_VENDOR_MICROCHIP is not set
CONFIG_WLAN_VENDOR_PURELIFI=y
# CONFIG_PLFXLC is not set
# CONFIG_WLAN_VENDOR_RALINK is not set
# CONFIG_WLAN_VENDOR_REALTEK is not set
# CONFIG_WLAN_VENDOR_RSI is not set
CONFIG_WLAN_VENDOR_SILABS=y
# CONFIG_WFX is not set
# CONFIG_WLAN_VENDOR_ST is not set
# CONFIG_WLAN_VENDOR_TI is not set
# CONFIG_WLAN_VENDOR_ZYDAS is not set
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
CONFIG_MAC80211_HWSIM=y
CONFIG_VIRT_WIFI=y
CONFIG_WAN=y
CONFIG_HDLC=y
CONFIG_HDLC_RAW=y
CONFIG_HDLC_RAW_ETH=y
CONFIG_HDLC_CISCO=y
CONFIG_HDLC_FR=y
CONFIG_HDLC_PPP=y
CONFIG_HDLC_X25=y
# CONFIG_FRAMER is not set
# CONFIG_PCI200SYN is not set
# CONFIG_WANXL is not set
# CONFIG_PC300TOO is not set
# CONFIG_FARSYNC is not set
CONFIG_LAPBETHER=y
CONFIG_IEEE802154_DRIVERS=y
# CONFIG_IEEE802154_FAKELB is not set
# CONFIG_IEEE802154_AT86RF230 is not set
# CONFIG_IEEE802154_MRF24J40 is not set
# CONFIG_IEEE802154_CC2520 is not set
CONFIG_IEEE802154_ATUSB=y
# CONFIG_IEEE802154_ADF7242 is not set
# CONFIG_IEEE802154_CA8210 is not set
# CONFIG_IEEE802154_MCR20A is not set
CONFIG_IEEE802154_HWSIM=y

#
# Wireless WAN
#
CONFIG_WWAN=y
# CONFIG_WWAN_DEBUGFS is not set
# CONFIG_WWAN_HWSIM is not set
CONFIG_MHI_WWAN_CTRL=y
# CONFIG_MHI_WWAN_MBIM is not set
# CONFIG_IOSM is not set
# CONFIG_MTK_T7XX is not set
# end of Wireless WAN

CONFIG_VMXNET3=y
# CONFIG_FUJITSU_ES is not set
CONFIG_USB4_NET=y
CONFIG_NETDEVSIM=y
CONFIG_NET_FAILOVER=y
CONFIG_ISDN=y
CONFIG_ISDN_CAPI=y
CONFIG_CAPI_TRACE=y
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_MISDN=y
CONFIG_MISDN_DSP=y
CONFIG_MISDN_L1OIP=y

#
# mISDN hardware drivers
#
# CONFIG_MISDN_HFCPCI is not set
# CONFIG_MISDN_HFCMULTI is not set
CONFIG_MISDN_HFCUSB=y
# CONFIG_MISDN_AVMFRITZ is not set
# CONFIG_MISDN_SPEEDFAX is not set
# CONFIG_MISDN_INFINEON is not set
# CONFIG_MISDN_W6692 is not set
# CONFIG_MISDN_NETJET is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_SPARSEKMAP=y
# CONFIG_INPUT_MATRIXKMAP is not set
CONFIG_INPUT_VIVALDIFMAP=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADC is not set
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1050 is not set
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_DLINK_DIR685 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_PINEPHONE is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
# CONFIG_KEYBOARD_TWL4030 is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_CAP11XX is not set
# CONFIG_KEYBOARD_BCM is not set
# CONFIG_KEYBOARD_CYPRESS_SF is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_BYD=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_FOCALTECH=y
# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2_SMBUS=y
# CONFIG_MOUSE_SERIAL is not set
CONFIG_MOUSE_APPLETOUCH=y
CONFIG_MOUSE_BCM5974=y
# CONFIG_MOUSE_CYAPA is not set
# CONFIG_MOUSE_ELAN_I2C is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MOUSE_GPIO is not set
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
CONFIG_MOUSE_SYNAPTICS_USB=y
CONFIG_INPUT_JOYSTICK=y
# CONFIG_JOYSTICK_ANALOG is not set
# CONFIG_JOYSTICK_A3D is not set
# CONFIG_JOYSTICK_ADC is not set
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
# CONFIG_JOYSTICK_GF2K is not set
# CONFIG_JOYSTICK_GRIP is not set
# CONFIG_JOYSTICK_GRIP_MP is not set
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
CONFIG_JOYSTICK_IFORCE=y
CONFIG_JOYSTICK_IFORCE_USB=y
# CONFIG_JOYSTICK_IFORCE_232 is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
# CONFIG_JOYSTICK_TWIDJOY is not set
# CONFIG_JOYSTICK_ZHENHUA is not set
# CONFIG_JOYSTICK_DB9 is not set
# CONFIG_JOYSTICK_GAMECON is not set
# CONFIG_JOYSTICK_TURBOGRAFX is not set
# CONFIG_JOYSTICK_AS5011 is not set
# CONFIG_JOYSTICK_JOYDUMP is not set
CONFIG_JOYSTICK_XPAD=y
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
# CONFIG_JOYSTICK_WALKERA0701 is not set
# CONFIG_JOYSTICK_PSXPAD_SPI is not set
# CONFIG_JOYSTICK_PXRC is not set
# CONFIG_JOYSTICK_QWIIC is not set
# CONFIG_JOYSTICK_FSIA6B is not set
# CONFIG_JOYSTICK_SENSEHAT is not set
# CONFIG_JOYSTICK_SEESAW is not set
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=y
CONFIG_TABLET_USB_AIPTEK=y
CONFIG_TABLET_USB_HANWANG=y
CONFIG_TABLET_USB_KBTAB=y
CONFIG_TABLET_USB_PEGASUS=y
# CONFIG_TABLET_SERIAL_WACOM4 is not set
CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_ADS7846 is not set
# CONFIG_TOUCHSCREEN_AD7877 is not set
# CONFIG_TOUCHSCREEN_AD7879 is not set
# CONFIG_TOUCHSCREEN_ADC is not set
# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_BU21029 is not set
# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
# CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 is not set
# CONFIG_TOUCHSCREEN_CY8CTMA140 is not set
# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
# CONFIG_TOUCHSCREEN_CYTTSP5 is not set
# CONFIG_TOUCHSCREEN_DYNAPRO is not set
# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
# CONFIG_TOUCHSCREEN_EETI is not set
# CONFIG_TOUCHSCREEN_EGALAX is not set
# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
# CONFIG_TOUCHSCREEN_EXC3000 is not set
# CONFIG_TOUCHSCREEN_FUJITSU is not set
# CONFIG_TOUCHSCREEN_GOODIX is not set
# CONFIG_TOUCHSCREEN_GOODIX_BERLIN_I2C is not set
# CONFIG_TOUCHSCREEN_GOODIX_BERLIN_SPI is not set
# CONFIG_TOUCHSCREEN_HIDEEP is not set
# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set
# CONFIG_TOUCHSCREEN_HYNITRON_CSTXXX is not set
# CONFIG_TOUCHSCREEN_ILI210X is not set
# CONFIG_TOUCHSCREEN_ILITEK is not set
# CONFIG_TOUCHSCREEN_S6SY761 is not set
# CONFIG_TOUCHSCREEN_GUNZE is not set
# CONFIG_TOUCHSCREEN_EKTF2127 is not set
# CONFIG_TOUCHSCREEN_ELAN is not set
# CONFIG_TOUCHSCREEN_ELO is not set
# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MMS114 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
# CONFIG_TOUCHSCREEN_MSG2638 is not set
# CONFIG_TOUCHSCREEN_MTOUCH is not set
# CONFIG_TOUCHSCREEN_NOVATEK_NVT_TS is not set
# CONFIG_TOUCHSCREEN_IMAGIS is not set
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_PIXCIR is not set
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
CONFIG_TOUCHSCREEN_USB_COMPOSITE=y
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_USB_JASTEC=y
CONFIG_TOUCHSCREEN_USB_ELO=y
CONFIG_TOUCHSCREEN_USB_E2I=y
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
# CONFIG_TOUCHSCREEN_TSC2004 is not set
# CONFIG_TOUCHSCREEN_TSC2005 is not set
# CONFIG_TOUCHSCREEN_TSC2007 is not set
# CONFIG_TOUCHSCREEN_RM_TS is not set
# CONFIG_TOUCHSCREEN_SILEAD is not set
# CONFIG_TOUCHSCREEN_SIS_I2C is not set
# CONFIG_TOUCHSCREEN_ST1232 is not set
# CONFIG_TOUCHSCREEN_STMFTS is not set
CONFIG_TOUCHSCREEN_SUR40=y
# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
# CONFIG_TOUCHSCREEN_SX8654 is not set
# CONFIG_TOUCHSCREEN_TPS6507X is not set
# CONFIG_TOUCHSCREEN_ZET6223 is not set
# CONFIG_TOUCHSCREEN_ZFORCE is not set
# CONFIG_TOUCHSCREEN_COLIBRI_VF50 is not set
# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_ZINITIX is not set
# CONFIG_TOUCHSCREEN_HIMAX_HX83112B is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_E3X0_BUTTON is not set
# CONFIG_INPUT_PCSPKR is not set
# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_APANEL is not set
# CONFIG_INPUT_GPIO_BEEPER is not set
# CONFIG_INPUT_GPIO_DECODER is not set
# CONFIG_INPUT_GPIO_VIBRA is not set
# CONFIG_INPUT_ATLAS_BTNS is not set
CONFIG_INPUT_ATI_REMOTE2=y
CONFIG_INPUT_KEYSPAN_REMOTE=y
# CONFIG_INPUT_KXTJ9 is not set
CONFIG_INPUT_POWERMATE=y
CONFIG_INPUT_YEALINK=y
CONFIG_INPUT_CM109=y
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
# CONFIG_INPUT_RETU_PWRBUTTON is not set
# CONFIG_INPUT_TWL4030_PWRBUTTON is not set
# CONFIG_INPUT_TWL4030_VIBRA is not set
CONFIG_INPUT_UINPUT=y
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
# CONFIG_INPUT_DA7280_HAPTICS is not set
# CONFIG_INPUT_ADXL34X is not set
# CONFIG_INPUT_IBM_PANEL is not set
CONFIG_INPUT_IMS_PCU=y
# CONFIG_INPUT_IQS269A is not set
# CONFIG_INPUT_IQS626A is not set
# CONFIG_INPUT_IQS7222 is not set
# CONFIG_INPUT_CMA3000 is not set
# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set
# CONFIG_INPUT_DRV260X_HAPTICS is not set
# CONFIG_INPUT_DRV2665_HAPTICS is not set
# CONFIG_INPUT_DRV2667_HAPTICS is not set
CONFIG_RMI4_CORE=y
# CONFIG_RMI4_I2C is not set
# CONFIG_RMI4_SPI is not set
# CONFIG_RMI4_SMB is not set
CONFIG_RMI4_F03=y
CONFIG_RMI4_F03_SERIO=y
CONFIG_RMI4_2D_SENSOR=y
CONFIG_RMI4_F11=y
CONFIG_RMI4_F12=y
CONFIG_RMI4_F30=y
# CONFIG_RMI4_F34 is not set
# CONFIG_RMI4_F3A is not set
# CONFIG_RMI4_F54 is not set
# CONFIG_RMI4_F55 is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_SERIO_ARC_PS2 is not set
# CONFIG_SERIO_APBPS2 is not set
# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_USERIO=y
# CONFIG_GAMEPORT is not set
# end of Hardware I/O ports
# end of Input device support

#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_LEGACY_TIOCSTI=y
CONFIG_LDISC_AUTOLOAD=y

#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
CONFIG_SERIAL_8250_PNP=y
# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_PCILIB=y
CONFIG_SERIAL_8250_PCI=y
# CONFIG_SERIAL_8250_EXAR is not set
# CONFIG_SERIAL_8250_CS is not set
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_PCI1XXXX is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_DWLIB=y
# CONFIG_SERIAL_8250_DW is not set
# CONFIG_SERIAL_8250_RT288X is not set
CONFIG_SERIAL_8250_LPSS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_PERICOM=y
# CONFIG_SERIAL_OF_PLATFORM is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_SIFIVE is not set
# CONFIG_SERIAL_LANTIQ is not set
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_FSL_LINFLEXUART is not set
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
# CONFIG_SERIAL_SPRD is not set
# end of Serial drivers

CONFIG_SERIAL_MCTRL_GPIO=y
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
CONFIG_N_HDLC=y
# CONFIG_IPWIRELESS is not set
CONFIG_N_GSM=y
CONFIG_NOZOMI=y
CONFIG_NULL_TTY=y
CONFIG_HVC_DRIVER=y
CONFIG_SERIAL_DEV_BUS=y
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_TTY_PRINTK=y
CONFIG_TTY_PRINTK_LEVEL=6
# CONFIG_PRINTER is not set
# CONFIG_PPDEV is not set
CONFIG_VIRTIO_CONSOLE=y
# CONFIG_IPMI_HANDLER is not set
# CONFIG_SSIF_IPMI_BMC is not set
# CONFIG_IPMB_DEVICE_INTERFACE is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
# CONFIG_HW_RANDOM_INTEL is not set
# CONFIG_HW_RANDOM_AMD is not set
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_VIA is not set
CONFIG_HW_RANDOM_VIRTIO=y
# CONFIG_HW_RANDOM_CCTRNG is not set
# CONFIG_HW_RANDOM_XIPHERA is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
# CONFIG_DEVMEM is not set
CONFIG_NVRAM=y
# CONFIG_DEVPORT is not set
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HPET_MMAP_DEFAULT=y
# CONFIG_HANGCHECK_TIMER is not set
CONFIG_TCG_TPM=y
# CONFIG_HW_RANDOM_TPM is not set
CONFIG_TCG_TIS_CORE=y
CONFIG_TCG_TIS=y
# CONFIG_TCG_TIS_SPI is not set
# CONFIG_TCG_TIS_I2C is not set
# CONFIG_TCG_TIS_I2C_CR50 is not set
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
# CONFIG_TCG_NSC is not set
# CONFIG_TCG_ATMEL is not set
# CONFIG_TCG_INFINEON is not set
CONFIG_TCG_CRB=y
# CONFIG_TCG_VTPM_PROXY is not set
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
# CONFIG_TELCLOCK is not set
# CONFIG_XILLYBUS is not set
# CONFIG_XILLYUSB is not set
# end of Character devices

#
# I2C support
#
CONFIG_I2C=y
CONFIG_ACPI_I2C_OPREGION=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y

#
# Multiplexer I2C Chip support
#
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
# CONFIG_I2C_MUX_GPIO is not set
# CONFIG_I2C_MUX_GPMUX is not set
# CONFIG_I2C_MUX_LTC4306 is not set
# CONFIG_I2C_MUX_PCA9541 is not set
# CONFIG_I2C_MUX_PCA954x is not set
CONFIG_I2C_MUX_REG=y
# CONFIG_I2C_MUX_MLXCPLD is not set
# end of Multiplexer I2C Chip support

CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=y
CONFIG_I2C_ALGOBIT=y

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_I801=y
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_ISMT is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_CHT_WC is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set

#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_DESIGNWARE_CORE=y
# CONFIG_I2C_DESIGNWARE_SLAVE is not set
CONFIG_I2C_DESIGNWARE_PLATFORM=y
# CONFIG_I2C_DESIGNWARE_BAYTRAIL is not set
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_RK3X is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_DIOLAN_U2C=y
CONFIG_I2C_DLN2=y
# CONFIG_I2C_CP2615 is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PCI1XXXX is not set
CONFIG_I2C_ROBOTFUZZ_OSIF=y
# CONFIG_I2C_TAOS_EVM is not set
CONFIG_I2C_TINY_USB=y
CONFIG_I2C_VIPERBOARD=y

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_MLXCPLD is not set
# CONFIG_I2C_VIRTIO is not set
# end of I2C Hardware Bus support

# CONFIG_I2C_STUB is not set
CONFIG_I2C_SLAVE=y
CONFIG_I2C_SLAVE_EEPROM=y
# CONFIG_I2C_SLAVE_TESTUNIT is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# end of I2C support

# CONFIG_I3C is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
# CONFIG_SPI_MEM is not set

#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
# CONFIG_SPI_AXI_SPI_ENGINE is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_BUTTERFLY is not set
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_CADENCE_QUADSPI is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_DLN2=y
# CONFIG_SPI_GPIO is not set
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_MICROCHIP_CORE is not set
# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set
# CONFIG_SPI_LANTIQ_SSC is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PCI1XXXX is not set
# CONFIG_SPI_PXA2XX is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SIFIVE is not set
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_XCOMM is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_AMD is not set

#
# SPI Multiplexer support
#
# CONFIG_SPI_MUX is not set

#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_SPI_SLAVE is not set
CONFIG_SPI_DYNAMIC=y
# CONFIG_SPMI is not set
# CONFIG_HSI is not set
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
# CONFIG_PPS_CLIENT_LDISC is not set
# CONFIG_PPS_CLIENT_PARPORT is not set
# CONFIG_PPS_CLIENT_GPIO is not set

#
# PPS generators support
#

#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_OPTIONAL=y

#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
CONFIG_PTP_1588_CLOCK_KVM=y
# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_FC3W is not set
# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_VMW is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
# end of PTP clock support

# CONFIG_PINCTRL is not set
CONFIG_GPIOLIB=y
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_OF_GPIO=y
CONFIG_GPIO_ACPI=y
CONFIG_GPIOLIB_IRQCHIP=y
# CONFIG_DEBUG_GPIO is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_CDEV is not set

#
# Memory mapped GPIO drivers
#
# CONFIG_GPIO_74XX_MMIO is not set
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
# CONFIG_GPIO_CADENCE is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_FTGPIO010 is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_HLWD is not set
# CONFIG_GPIO_ICH is not set
# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_MB86S7X is not set
# CONFIG_GPIO_SIFIVE is not set
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_XILINX is not set
# CONFIG_GPIO_AMD_FCH is not set
# end of Memory mapped GPIO drivers

#
# Port-mapped I/O GPIO drivers
#
# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_IT87 is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_WINBOND is not set
# CONFIG_GPIO_WS16C48 is not set
# end of Port-mapped I/O GPIO drivers

#
# I2C GPIO expanders
#
# CONFIG_GPIO_ADNP is not set
# CONFIG_GPIO_FXL6408 is not set
# CONFIG_GPIO_DS4520 is not set
# CONFIG_GPIO_GW_PLD is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCA9570 is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_TPIC2810 is not set
# end of I2C GPIO expanders

#
# MFD GPIO expanders
#
CONFIG_GPIO_DLN2=y
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_TWL4030 is not set
# end of MFD GPIO expanders

#
# PCI GPIO expanders
#
# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_PCI_IDIO_16 is not set
# CONFIG_GPIO_PCIE_IDIO_24 is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SODAVILLE is not set
# end of PCI GPIO expanders

#
# SPI GPIO expanders
#
# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_XRA1403 is not set
# end of SPI GPIO expanders

#
# USB GPIO expanders
#
CONFIG_GPIO_VIPERBOARD=y
# end of USB GPIO expanders

#
# Virtual GPIO drivers
#
# CONFIG_GPIO_AGGREGATOR is not set
# CONFIG_GPIO_LATCH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_VIRTIO is not set
# CONFIG_GPIO_SIM is not set
# end of Virtual GPIO drivers

# CONFIG_W1 is not set
# CONFIG_POWER_RESET is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_POWER_SUPPLY_HWMON=y
# CONFIG_GENERIC_ADC_BATTERY is not set
# CONFIG_IP5XXX_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_CHARGER_ADP5061 is not set
# CONFIG_BATTERY_CW2015 is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SAMSUNG_SDI is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_CHARGER_SBS is not set
# CONFIG_MANAGER_SBS is not set
# CONFIG_BATTERY_BQ27XXX is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
CONFIG_CHARGER_ISP1704=y
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_TWL4030 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_MANAGER is not set
# CONFIG_CHARGER_LT3651 is not set
# CONFIG_CHARGER_LTC4162L is not set
# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_MAX77976 is not set
# CONFIG_CHARGER_BQ2415X is not set
CONFIG_CHARGER_BQ24190=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ2515X is not set
# CONFIG_CHARGER_BQ25890 is not set
# CONFIG_CHARGER_BQ25980 is not set
# CONFIG_CHARGER_BQ256XX is not set
# CONFIG_CHARGER_SMB347 is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
# CONFIG_BATTERY_GOLDFISH is not set
# CONFIG_BATTERY_RT5033 is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_RT9467 is not set
# CONFIG_CHARGER_RT9471 is not set
# CONFIG_CHARGER_UCS1002 is not set
# CONFIG_CHARGER_BD99954 is not set
# CONFIG_BATTERY_UG3105 is not set
# CONFIG_FUEL_GAUGE_MM8013 is not set
CONFIG_HWMON=y
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7314 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM1177 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7310 is not set
# CONFIG_SENSORS_ADT7410 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_AHT10 is not set
# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
# CONFIG_SENSORS_AS370 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_ASUS_ROG_RYUJIN is not set
# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_K10TEMP is not set
# CONFIG_SENSORS_FAM15H_POWER is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_CHIPCAP2 is not set
# CONFIG_SENSORS_CORSAIR_CPRO is not set
# CONFIG_SENSORS_CORSAIR_PSU is not set
# CONFIG_SENSORS_DRIVETEMP is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_DELL_SMM is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHMD is not set
# CONFIG_SENSORS_FTSTEUTATES is not set
# CONFIG_SENSORS_GIGABYTE_WATERFORCE is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_G762 is not set
# CONFIG_SENSORS_GPIO_FAN is not set
# CONFIG_SENSORS_HIH6130 is not set
# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_IIO_HWMON is not set
# CONFIG_SENSORS_I5500 is not set
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_POWERZ is not set
# CONFIG_SENSORS_POWR1220 is not set
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LTC2945 is not set
# CONFIG_SENSORS_LTC2947_I2C is not set
# CONFIG_SENSORS_LTC2947_SPI is not set
# CONFIG_SENSORS_LTC2990 is not set
# CONFIG_SENSORS_LTC2991 is not set
# CONFIG_SENSORS_LTC2992 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4222 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4260 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_LTC4282 is not set
# CONFIG_SENSORS_MAX1111 is not set
# CONFIG_SENSORS_MAX127 is not set
# CONFIG_SENSORS_MAX16065 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX197 is not set
# CONFIG_SENSORS_MAX31722 is not set
# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31760 is not set
# CONFIG_MAX31827 is not set
# CONFIG_SENSORS_MAX6620 is not set
# CONFIG_SENSORS_MAX6621 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_MAX6697 is not set
# CONFIG_SENSORS_MAX31790 is not set
# CONFIG_SENSORS_MC34VR500 is not set
# CONFIG_SENSORS_MCP3021 is not set
# CONFIG_SENSORS_TC654 is not set
# CONFIG_SENSORS_TPS23861 is not set
# CONFIG_SENSORS_MR75203 is not set
# CONFIG_SENSORS_ADCXX is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM70 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LM95234 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_NTC_THERMISTOR is not set
# CONFIG_SENSORS_NCT6683 is not set
# CONFIG_SENSORS_NCT6775 is not set
# CONFIG_SENSORS_NCT6775_I2C is not set
# CONFIG_SENSORS_NCT7802 is not set
# CONFIG_SENSORS_NCT7904 is not set
# CONFIG_SENSORS_NPCM7XX is not set
# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
# CONFIG_SENSORS_NZXT_KRAKEN3 is not set
# CONFIG_SENSORS_NZXT_SMART2 is not set
# CONFIG_SENSORS_OCC_P8_I2C is not set
# CONFIG_SENSORS_OXP is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not set
# CONFIG_SENSORS_PT5161L is not set
# CONFIG_SENSORS_SBTSI is not set
# CONFIG_SENSORS_SBRMI is not set
# CONFIG_SENSORS_SHT15 is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SHT3x is not set
# CONFIG_SENSORS_SHT4x is not set
# CONFIG_SENSORS_SHTC1 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC2305 is not set
# CONFIG_SENSORS_EMC6W201 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH5627 is not set
# CONFIG_SENSORS_SCH5636 is not set
# CONFIG_SENSORS_STTS751 is not set
# CONFIG_SENSORS_ADC128D818 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_ADS7871 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_INA209 is not set
# CONFIG_SENSORS_INA2XX is not set
# CONFIG_SENSORS_INA238 is not set
# CONFIG_SENSORS_INA3221 is not set
# CONFIG_SENSORS_TC74 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP103 is not set
# CONFIG_SENSORS_TMP108 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_TMP464 is not set
# CONFIG_SENSORS_TMP513 is not set
# CONFIG_SENSORS_VIA_CPUTEMP is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83773G is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_XGENE is not set

#
# ACPI drivers
#
# CONFIG_SENSORS_ACPI_POWER is not set
# CONFIG_SENSORS_ATK0110 is not set
# CONFIG_SENSORS_ASUS_WMI is not set
# CONFIG_SENSORS_ASUS_EC is not set
# CONFIG_SENSORS_HP_WMI is not set
CONFIG_THERMAL=y
CONFIG_THERMAL_NETLINK=y
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_DEBUGFS is not set
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
# CONFIG_THERMAL_OF is not set
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
CONFIG_THERMAL_GOV_STEP_WISE=y
# CONFIG_THERMAL_GOV_BANG_BANG is not set
CONFIG_THERMAL_GOV_USER_SPACE=y
# CONFIG_THERMAL_EMULATION is not set
# CONFIG_THERMAL_MMIO is not set

#
# Intel thermal drivers
#
# CONFIG_INTEL_POWERCLAMP is not set
CONFIG_X86_THERMAL_VECTOR=y
# CONFIG_X86_PKG_TEMP_THERMAL is not set
# CONFIG_INTEL_SOC_DTS_THERMAL is not set

#
# ACPI INT340X thermal drivers
#
# CONFIG_INT340X_THERMAL is not set
# end of ACPI INT340X thermal drivers

# CONFIG_INTEL_PCH_THERMAL is not set
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_HFI_THERMAL is not set
# end of Intel thermal drivers

# CONFIG_GENERIC_ADC_THERMAL is not set
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_CORE is not set
# CONFIG_WATCHDOG_NOWAYOUT is not set
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
CONFIG_WATCHDOG_OPEN_TIMEOUT=0
# CONFIG_WATCHDOG_SYSFS is not set
# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set

#
# Watchdog Pretimeout Governors
#

#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_GPIO_WATCHDOG is not set
# CONFIG_WDAT_WDT is not set
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_ZIIRAVE_WATCHDOG is not set
# CONFIG_CADENCE_WATCHDOG is not set
# CONFIG_DW_WATCHDOG is not set
# CONFIG_TWL4030_WATCHDOG is not set
# CONFIG_MAX63XX_WATCHDOG is not set
# CONFIG_RETU_WATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADVANTECH_EC_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_EBC_C384_WDT is not set
# CONFIG_EXAR_WDT is not set
# CONFIG_F71808E_WDT is not set
# CONFIG_SP5100_TCO is not set
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_IE6XX_WDT is not set
# CONFIG_ITCO_WDT is not set
# CONFIG_IT8712F_WDT is not set
# CONFIG_IT87_WDT is not set
# CONFIG_HP_WATCHDOG is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_NV_TCO is not set
# CONFIG_60XX_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_SMSC_SCH311X_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_TQMX86_WDT is not set
# CONFIG_VIA_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
# CONFIG_NI903X_WDT is not set
# CONFIG_NIC7018_WDT is not set
# CONFIG_MEN_A21_WDT is not set

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set

#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=y
CONFIG_SSB_POSSIBLE=y
CONFIG_SSB=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
# CONFIG_SSB_PCIHOST is not set
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
# CONFIG_SSB_PCMCIAHOST is not set
CONFIG_SSB_SDIOHOST_POSSIBLE=y
# CONFIG_SSB_SDIOHOST is not set
# CONFIG_SSB_DRIVER_GPIO is not set
CONFIG_BCMA_POSSIBLE=y
CONFIG_BCMA=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
# CONFIG_BCMA_HOST_PCI is not set
# CONFIG_BCMA_HOST_SOC is not set
# CONFIG_BCMA_DRIVER_PCI is not set
# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
# CONFIG_BCMA_DRIVER_GPIO is not set
# CONFIG_BCMA_DEBUG is not set

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
# CONFIG_MFD_ACT8945A is not set
# CONFIG_MFD_AS3711 is not set
# CONFIG_MFD_SMPRO is not set
# CONFIG_MFD_AS3722 is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_AAT2870_CORE is not set
# CONFIG_MFD_ATMEL_FLEXCOM is not set
# CONFIG_MFD_ATMEL_HLCDC is not set
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_CS42L43_I2C is not set
# CONFIG_MFD_MADERA is not set
# CONFIG_MFD_MAX5970 is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_DA9062 is not set
# CONFIG_MFD_DA9063 is not set
# CONFIG_MFD_DA9150 is not set
CONFIG_MFD_DLN2=y
# CONFIG_MFD_GATEWORKS_GSC is not set
# CONFIG_MFD_MC13XXX_SPI is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_MFD_MP2629 is not set
# CONFIG_MFD_HI6421_PMIC is not set
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
CONFIG_LPC_ICH=y
# CONFIG_LPC_SCH is not set
# CONFIG_INTEL_SOC_PMIC is not set
CONFIG_INTEL_SOC_PMIC_CHTWC=y
# CONFIG_INTEL_SOC_PMIC_CHTDC_TI is not set
# CONFIG_MFD_INTEL_LPSS_ACPI is not set
# CONFIG_MFD_INTEL_LPSS_PCI is not set
# CONFIG_MFD_INTEL_PMC_BXT is not set
# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77541 is not set
# CONFIG_MFD_MAX77620 is not set
# CONFIG_MFD_MAX77650 is not set
# CONFIG_MFD_MAX77686 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77714 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_MT6360 is not set
# CONFIG_MFD_MT6370 is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_MFD_OCELOT is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_VIPERBOARD=y
# CONFIG_MFD_NTXEC is not set
CONFIG_MFD_RETU=y
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_SY7636A is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RT4831 is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RT5120 is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_RK8XX_I2C is not set
# CONFIG_MFD_RK8XX_SPI is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SKY81452 is not set
# CONFIG_MFD_STMPE is not set
CONFIG_MFD_SYSCON=y
# CONFIG_MFD_LP3943 is not set
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_TI_LMU is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS65010 is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65086 is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TI_LP87565 is not set
# CONFIG_MFD_TPS65218 is not set
# CONFIG_MFD_TPS65219 is not set
# CONFIG_MFD_TPS6586X is not set
# CONFIG_MFD_TPS65910 is not set
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912_SPI is not set
# CONFIG_MFD_TPS6594_I2C is not set
# CONFIG_MFD_TPS6594_SPI is not set
CONFIG_TWL4030_CORE=y
# CONFIG_MFD_TWL4030_AUDIO is not set
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_LM3533 is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TQMX86 is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_LOCHNAGAR is not set
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_ARIZONA_SPI is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD957XMUF is not set
# CONFIG_MFD_STPMIC1 is not set
# CONFIG_MFD_STMFX is not set
# CONFIG_MFD_ATC260X_I2C is not set
# CONFIG_MFD_QCOM_PM8008 is not set
# CONFIG_RAVE_SP_CORE is not set
# CONFIG_MFD_INTEL_M10_BMC_SPI is not set
# CONFIG_MFD_RSMU_I2C is not set
# CONFIG_MFD_RSMU_SPI is not set
# end of Multifunction device drivers

CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
# CONFIG_REGULATOR_NETLINK_EVENTS is not set
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_AW37503 is not set
# CONFIG_REGULATOR_DA9121 is not set
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_FAN53555 is not set
# CONFIG_REGULATOR_FAN53880 is not set
# CONFIG_REGULATOR_GPIO is not set
# CONFIG_REGULATOR_ISL9305 is not set
# CONFIG_REGULATOR_ISL6271A is not set
# CONFIG_REGULATOR_LP3971 is not set
# CONFIG_REGULATOR_LP3972 is not set
# CONFIG_REGULATOR_LP872X is not set
# CONFIG_REGULATOR_LP8755 is not set
# CONFIG_REGULATOR_LTC3589 is not set
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX77503 is not set
# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8893 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MAX20086 is not set
# CONFIG_REGULATOR_MAX20411 is not set
# CONFIG_REGULATOR_MAX77826 is not set
# CONFIG_REGULATOR_MCP16502 is not set
# CONFIG_REGULATOR_MP5416 is not set
# CONFIG_REGULATOR_MP8859 is not set
# CONFIG_REGULATOR_MP886X is not set
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PCA9450 is not set
# CONFIG_REGULATOR_PF8X00 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
# CONFIG_REGULATOR_RT4801 is not set
# CONFIG_REGULATOR_RT4803 is not set
# CONFIG_REGULATOR_RT5190A is not set
# CONFIG_REGULATOR_RT5739 is not set
# CONFIG_REGULATOR_RT5759 is not set
# CONFIG_REGULATOR_RT6160 is not set
# CONFIG_REGULATOR_RT6190 is not set
# CONFIG_REGULATOR_RT6245 is not set
# CONFIG_REGULATOR_RTQ2134 is not set
# CONFIG_REGULATOR_RTMV20 is not set
# CONFIG_REGULATOR_RTQ6752 is not set
# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SLG51000 is not set
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_SY8824X is not set
# CONFIG_REGULATOR_SY8827N is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
# CONFIG_REGULATOR_TPS6286X is not set
# CONFIG_REGULATOR_TPS6287X is not set
# CONFIG_REGULATOR_TPS65023 is not set
# CONFIG_REGULATOR_TPS6507X is not set
# CONFIG_REGULATOR_TPS65132 is not set
# CONFIG_REGULATOR_TPS6524X is not set
CONFIG_REGULATOR_TWL4030=y
# CONFIG_REGULATOR_VCTRL is not set
CONFIG_RC_CORE=y
# CONFIG_LIRC is not set
# CONFIG_RC_MAP is not set
# CONFIG_RC_DECODERS is not set
CONFIG_RC_DEVICES=y
# CONFIG_IR_ENE is not set
# CONFIG_IR_FINTEK is not set
# CONFIG_IR_GPIO_CIR is not set
# CONFIG_IR_HIX5HD2 is not set
CONFIG_IR_IGORPLUGUSB=y
CONFIG_IR_IGUANA=y
CONFIG_IR_IMON=y
# CONFIG_IR_IMON_RAW is not set
# CONFIG_IR_ITE_CIR is not set
CONFIG_IR_MCEUSB=y
# CONFIG_IR_NUVOTON is not set
CONFIG_IR_REDRAT3=y
# CONFIG_IR_SERIAL is not set
CONFIG_IR_STREAMZAP=y
# CONFIG_IR_TOY is not set
CONFIG_IR_TTUSBIR=y
# CONFIG_IR_WINBOND_CIR is not set
CONFIG_RC_ATI_REMOTE=y
# CONFIG_RC_LOOPBACK is not set
# CONFIG_RC_XBOX_DVD is not set
CONFIG_CEC_CORE=y

#
# CEC support
#
# CONFIG_MEDIA_CEC_RC is not set
CONFIG_MEDIA_CEC_SUPPORT=y
# CONFIG_CEC_CH7322 is not set
# CONFIG_CEC_GPIO is not set
# CONFIG_CEC_SECO is not set
CONFIG_USB_PULSE8_CEC=y
CONFIG_USB_RAINSHADOW_CEC=y
# end of CEC support

CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_SUPPORT_FILTER=y
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set

#
# Media device types
#
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_SDR_SUPPORT=y
# CONFIG_MEDIA_PLATFORM_SUPPORT is not set
CONFIG_MEDIA_TEST_SUPPORT=y
# end of Media device types

CONFIG_VIDEO_DEV=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_DVB_CORE=y

#
# Video4Linux options
#
CONFIG_VIDEO_V4L2_I2C=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_TUNER=y
CONFIG_V4L2_MEM2MEM_DEV=y
# end of Video4Linux options

#
# Media controller options
#
CONFIG_MEDIA_CONTROLLER_DVB=y
# end of Media controller options

#
# Digital TV options
#
# CONFIG_DVB_MMAP is not set
# CONFIG_DVB_NET is not set
CONFIG_DVB_MAX_ADAPTERS=16
# CONFIG_DVB_DYNAMIC_MINORS is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
# CONFIG_DVB_ULE_DEBUG is not set
# end of Digital TV options

#
# Media drivers
#

#
# Drivers filtered as selected at 'Filter media drivers'
#

#
# Media drivers
#
CONFIG_MEDIA_USB_SUPPORT=y

#
# Webcam devices
#
CONFIG_USB_GSPCA=y
CONFIG_USB_GSPCA_BENQ=y
CONFIG_USB_GSPCA_CONEX=y
CONFIG_USB_GSPCA_CPIA1=y
CONFIG_USB_GSPCA_DTCS033=y
CONFIG_USB_GSPCA_ETOMS=y
CONFIG_USB_GSPCA_FINEPIX=y
CONFIG_USB_GSPCA_JEILINJ=y
CONFIG_USB_GSPCA_JL2005BCD=y
CONFIG_USB_GSPCA_KINECT=y
CONFIG_USB_GSPCA_KONICA=y
CONFIG_USB_GSPCA_MARS=y
CONFIG_USB_GSPCA_MR97310A=y
CONFIG_USB_GSPCA_NW80X=y
CONFIG_USB_GSPCA_OV519=y
CONFIG_USB_GSPCA_OV534=y
CONFIG_USB_GSPCA_OV534_9=y
CONFIG_USB_GSPCA_PAC207=y
CONFIG_USB_GSPCA_PAC7302=y
CONFIG_USB_GSPCA_PAC7311=y
CONFIG_USB_GSPCA_SE401=y
CONFIG_USB_GSPCA_SN9C2028=y
CONFIG_USB_GSPCA_SN9C20X=y
CONFIG_USB_GSPCA_SONIXB=y
CONFIG_USB_GSPCA_SONIXJ=y
CONFIG_USB_GSPCA_SPCA1528=y
CONFIG_USB_GSPCA_SPCA500=y
CONFIG_USB_GSPCA_SPCA501=y
CONFIG_USB_GSPCA_SPCA505=y
CONFIG_USB_GSPCA_SPCA506=y
CONFIG_USB_GSPCA_SPCA508=y
CONFIG_USB_GSPCA_SPCA561=y
CONFIG_USB_GSPCA_SQ905=y
CONFIG_USB_GSPCA_SQ905C=y
CONFIG_USB_GSPCA_SQ930X=y
CONFIG_USB_GSPCA_STK014=y
CONFIG_USB_GSPCA_STK1135=y
CONFIG_USB_GSPCA_STV0680=y
CONFIG_USB_GSPCA_SUNPLUS=y
CONFIG_USB_GSPCA_T613=y
CONFIG_USB_GSPCA_TOPRO=y
CONFIG_USB_GSPCA_TOUPTEK=y
CONFIG_USB_GSPCA_TV8532=y
CONFIG_USB_GSPCA_VC032X=y
CONFIG_USB_GSPCA_VICAM=y
CONFIG_USB_GSPCA_XIRLINK_CIT=y
CONFIG_USB_GSPCA_ZC3XX=y
CONFIG_USB_GL860=y
CONFIG_USB_M5602=y
CONFIG_USB_STV06XX=y
CONFIG_USB_PWC=y
# CONFIG_USB_PWC_DEBUG is not set
CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_USB_S2255=y
CONFIG_VIDEO_USBTV=y
CONFIG_USB_VIDEO_CLASS=y
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y

#
# Analog TV USB devices
#
CONFIG_VIDEO_GO7007=y
CONFIG_VIDEO_GO7007_USB=y
CONFIG_VIDEO_GO7007_LOADER=y
CONFIG_VIDEO_GO7007_USB_S2250_BOARD=y
CONFIG_VIDEO_HDPVR=y
CONFIG_VIDEO_PVRUSB2=y
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_STK1160=y

#
# Analog/digital TV USB devices
#
CONFIG_VIDEO_AU0828=y
CONFIG_VIDEO_AU0828_V4L2=y
CONFIG_VIDEO_AU0828_RC=y
CONFIG_VIDEO_CX231XX=y
CONFIG_VIDEO_CX231XX_RC=y
CONFIG_VIDEO_CX231XX_ALSA=y
CONFIG_VIDEO_CX231XX_DVB=y

#
# Digital TV USB devices
#
CONFIG_DVB_AS102=y
CONFIG_DVB_B2C2_FLEXCOP_USB=y
# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
CONFIG_DVB_USB_V2=y
CONFIG_DVB_USB_AF9015=y
CONFIG_DVB_USB_AF9035=y
CONFIG_DVB_USB_ANYSEE=y
CONFIG_DVB_USB_AU6610=y
CONFIG_DVB_USB_AZ6007=y
CONFIG_DVB_USB_CE6230=y
CONFIG_DVB_USB_DVBSKY=y
CONFIG_DVB_USB_EC168=y
CONFIG_DVB_USB_GL861=y
CONFIG_DVB_USB_LME2510=y
CONFIG_DVB_USB_MXL111SF=y
CONFIG_DVB_USB_RTL28XXU=y
CONFIG_DVB_USB_ZD1301=y
CONFIG_DVB_USB=y
# CONFIG_DVB_USB_DEBUG is not set
CONFIG_DVB_USB_A800=y
CONFIG_DVB_USB_AF9005=y
CONFIG_DVB_USB_AF9005_REMOTE=y
CONFIG_DVB_USB_AZ6027=y
CONFIG_DVB_USB_CINERGY_T2=y
CONFIG_DVB_USB_CXUSB=y
# CONFIG_DVB_USB_CXUSB_ANALOG is not set
CONFIG_DVB_USB_DIB0700=y
CONFIG_DVB_USB_DIB3000MC=y
CONFIG_DVB_USB_DIBUSB_MB=y
# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
CONFIG_DVB_USB_DIBUSB_MC=y
CONFIG_DVB_USB_DIGITV=y
CONFIG_DVB_USB_DTT200U=y
CONFIG_DVB_USB_DTV5100=y
CONFIG_DVB_USB_DW2102=y
CONFIG_DVB_USB_GP8PSK=y
CONFIG_DVB_USB_M920X=y
CONFIG_DVB_USB_NOVA_T_USB2=y
CONFIG_DVB_USB_OPERA1=y
CONFIG_DVB_USB_PCTV452E=y
CONFIG_DVB_USB_TECHNISAT_USB2=y
CONFIG_DVB_USB_TTUSB2=y
CONFIG_DVB_USB_UMT_010=y
CONFIG_DVB_USB_VP702X=y
CONFIG_DVB_USB_VP7045=y
CONFIG_SMS_USB_DRV=y
CONFIG_DVB_TTUSB_BUDGET=y
CONFIG_DVB_TTUSB_DEC=y

#
# Webcam, TV (analog/digital) USB devices
#
CONFIG_VIDEO_EM28XX=y
CONFIG_VIDEO_EM28XX_V4L2=y
CONFIG_VIDEO_EM28XX_ALSA=y
CONFIG_VIDEO_EM28XX_DVB=y
CONFIG_VIDEO_EM28XX_RC=y

#
# Software defined radio USB devices
#
CONFIG_USB_AIRSPY=y
CONFIG_USB_HACKRF=y
CONFIG_USB_MSI2500=y
# CONFIG_MEDIA_PCI_SUPPORT is not set
CONFIG_RADIO_ADAPTERS=y
# CONFIG_RADIO_MAXIRADIO is not set
# CONFIG_RADIO_SAA7706H is not set
CONFIG_RADIO_SHARK=y
CONFIG_RADIO_SHARK2=y
CONFIG_RADIO_SI4713=y
CONFIG_RADIO_TEA575X=y
# CONFIG_RADIO_TEA5764 is not set
# CONFIG_RADIO_TEF6862 is not set
# CONFIG_RADIO_WL1273 is not set
CONFIG_USB_DSBR=y
CONFIG_USB_KEENE=y
CONFIG_USB_MA901=y
CONFIG_USB_MR800=y
CONFIG_USB_RAREMONO=y
CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=y
# CONFIG_I2C_SI470X is not set
CONFIG_USB_SI4713=y
# CONFIG_PLATFORM_SI4713 is not set
CONFIG_I2C_SI4713=y
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIM2M=y
CONFIG_VIDEO_VICODEC=y
CONFIG_VIDEO_VIMC=y
CONFIG_VIDEO_VIVID=y
CONFIG_VIDEO_VIVID_CEC=y
CONFIG_VIDEO_VIVID_MAX_DEVS=64
# CONFIG_VIDEO_VISL is not set
CONFIG_DVB_TEST_DRIVERS=y
CONFIG_DVB_VIDTV=y

#
# FireWire (IEEE 1394) Adapters
#
# CONFIG_DVB_FIREDTV is not set
CONFIG_MEDIA_COMMON_OPTIONS=y

#
# common driver options
#
CONFIG_CYPRESS_FIRMWARE=y
CONFIG_TTPCI_EEPROM=y
CONFIG_UVC_COMMON=y
CONFIG_VIDEO_CX2341X=y
CONFIG_VIDEO_TVEEPROM=y
CONFIG_DVB_B2C2_FLEXCOP=y
CONFIG_SMS_SIANO_MDTV=y
CONFIG_SMS_SIANO_RC=y
CONFIG_VIDEO_V4L2_TPG=y
CONFIG_VIDEOBUF2_CORE=y
CONFIG_VIDEOBUF2_V4L2=y
CONFIG_VIDEOBUF2_MEMOPS=y
CONFIG_VIDEOBUF2_DMA_CONTIG=y
CONFIG_VIDEOBUF2_VMALLOC=y
CONFIG_VIDEOBUF2_DMA_SG=y
# end of Media drivers

#
# Media ancillary drivers
#
CONFIG_MEDIA_ATTACH=y
# CONFIG_VIDEO_IR_I2C is not set
# CONFIG_VIDEO_CAMERA_SENSOR is not set

#
# Camera ISPs
#
# CONFIG_VIDEO_THP7312 is not set
# end of Camera ISPs

#
# Lens drivers
#
# CONFIG_VIDEO_AD5820 is not set
# CONFIG_VIDEO_AK7375 is not set
# CONFIG_VIDEO_DW9714 is not set
# CONFIG_VIDEO_DW9719 is not set
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
# end of Lens drivers

#
# Flash devices
#
# CONFIG_VIDEO_ADP1653 is not set
# CONFIG_VIDEO_LM3560 is not set
# CONFIG_VIDEO_LM3646 is not set
# end of Flash devices

#
# Audio decoders, processors and mixers
#
# CONFIG_VIDEO_CS3308 is not set
# CONFIG_VIDEO_CS5345 is not set
CONFIG_VIDEO_CS53L32A=y
CONFIG_VIDEO_MSP3400=y
# CONFIG_VIDEO_SONY_BTF_MPX is not set
# CONFIG_VIDEO_TDA7432 is not set
# CONFIG_VIDEO_TDA9840 is not set
# CONFIG_VIDEO_TEA6415C is not set
# CONFIG_VIDEO_TEA6420 is not set
# CONFIG_VIDEO_TLV320AIC23B is not set
# CONFIG_VIDEO_TVAUDIO is not set
# CONFIG_VIDEO_UDA1342 is not set
# CONFIG_VIDEO_VP27SMPX is not set
# CONFIG_VIDEO_WM8739 is not set
CONFIG_VIDEO_WM8775=y
# end of Audio decoders, processors and mixers

#
# RDS decoders
#
# CONFIG_VIDEO_SAA6588 is not set
# end of RDS decoders

#
# Video decoders
#
# CONFIG_VIDEO_ADV7180 is not set
# CONFIG_VIDEO_ADV7183 is not set
# CONFIG_VIDEO_ADV748X is not set
# CONFIG_VIDEO_ADV7604 is not set
# CONFIG_VIDEO_ADV7842 is not set
# CONFIG_VIDEO_BT819 is not set
# CONFIG_VIDEO_BT856 is not set
# CONFIG_VIDEO_BT866 is not set
# CONFIG_VIDEO_ISL7998X is not set
# CONFIG_VIDEO_KS0127 is not set
# CONFIG_VIDEO_MAX9286 is not set
# CONFIG_VIDEO_ML86V7667 is not set
# CONFIG_VIDEO_SAA7110 is not set
CONFIG_VIDEO_SAA711X=y
# CONFIG_VIDEO_TC358743 is not set
# CONFIG_VIDEO_TC358746 is not set
# CONFIG_VIDEO_TVP514X is not set
# CONFIG_VIDEO_TVP5150 is not set
# CONFIG_VIDEO_TVP7002 is not set
# CONFIG_VIDEO_TW2804 is not set
# CONFIG_VIDEO_TW9900 is not set
# CONFIG_VIDEO_TW9903 is not set
# CONFIG_VIDEO_TW9906 is not set
# CONFIG_VIDEO_TW9910 is not set
# CONFIG_VIDEO_VPX3220 is not set

#
# Video and audio decoders
#
# CONFIG_VIDEO_SAA717X is not set
CONFIG_VIDEO_CX25840=y
# end of Video decoders

#
# Video encoders
#
# CONFIG_VIDEO_ADV7170 is not set
# CONFIG_VIDEO_ADV7175 is not set
# CONFIG_VIDEO_ADV7343 is not set
# CONFIG_VIDEO_ADV7393 is not set
# CONFIG_VIDEO_ADV7511 is not set
# CONFIG_VIDEO_AK881X is not set
# CONFIG_VIDEO_SAA7127 is not set
# CONFIG_VIDEO_SAA7185 is not set
# CONFIG_VIDEO_THS8200 is not set
# end of Video encoders

#
# Video improvement chips
#
# CONFIG_VIDEO_UPD64031A is not set
# CONFIG_VIDEO_UPD64083 is not set
# end of Video improvement chips

#
# Audio/Video compression chips
#
# CONFIG_VIDEO_SAA6752HS is not set
# end of Audio/Video compression chips

#
# SDR tuner chips
#
# CONFIG_SDR_MAX2175 is not set
# end of SDR tuner chips

#
# Miscellaneous helper chips
#
# CONFIG_VIDEO_I2C is not set
# CONFIG_VIDEO_M52790 is not set
# CONFIG_VIDEO_ST_MIPID02 is not set
# CONFIG_VIDEO_THS7303 is not set
# end of Miscellaneous helper chips

#
# Video serializers and deserializers
#
# CONFIG_VIDEO_DS90UB913 is not set
# CONFIG_VIDEO_DS90UB953 is not set
# CONFIG_VIDEO_DS90UB960 is not set
# end of Video serializers and deserializers

#
# Media SPI Adapters
#
# CONFIG_CXD2880_SPI_DRV is not set
# CONFIG_VIDEO_GS1662 is not set
# end of Media SPI Adapters

CONFIG_MEDIA_TUNER=y

#
# Customize TV tuners
#
# CONFIG_MEDIA_TUNER_E4000 is not set
# CONFIG_MEDIA_TUNER_FC0011 is not set
# CONFIG_MEDIA_TUNER_FC0012 is not set
# CONFIG_MEDIA_TUNER_FC0013 is not set
# CONFIG_MEDIA_TUNER_FC2580 is not set
# CONFIG_MEDIA_TUNER_IT913X is not set
# CONFIG_MEDIA_TUNER_M88RS6000T is not set
# CONFIG_MEDIA_TUNER_MAX2165 is not set
# CONFIG_MEDIA_TUNER_MC44S803 is not set
CONFIG_MEDIA_TUNER_MSI001=y
# CONFIG_MEDIA_TUNER_MT2060 is not set
# CONFIG_MEDIA_TUNER_MT2063 is not set
# CONFIG_MEDIA_TUNER_MT20XX is not set
# CONFIG_MEDIA_TUNER_MT2131 is not set
# CONFIG_MEDIA_TUNER_MT2266 is not set
# CONFIG_MEDIA_TUNER_MXL301RF is not set
# CONFIG_MEDIA_TUNER_MXL5005S is not set
# CONFIG_MEDIA_TUNER_MXL5007T is not set
# CONFIG_MEDIA_TUNER_QM1D1B0004 is not set
# CONFIG_MEDIA_TUNER_QM1D1C0042 is not set
# CONFIG_MEDIA_TUNER_QT1010 is not set
# CONFIG_MEDIA_TUNER_R820T is not set
# CONFIG_MEDIA_TUNER_SI2157 is not set
# CONFIG_MEDIA_TUNER_SIMPLE is not set
# CONFIG_MEDIA_TUNER_TDA18212 is not set
# CONFIG_MEDIA_TUNER_TDA18218 is not set
# CONFIG_MEDIA_TUNER_TDA18250 is not set
# CONFIG_MEDIA_TUNER_TDA18271 is not set
# CONFIG_MEDIA_TUNER_TDA827X is not set
# CONFIG_MEDIA_TUNER_TDA8290 is not set
# CONFIG_MEDIA_TUNER_TDA9887 is not set
# CONFIG_MEDIA_TUNER_TEA5761 is not set
# CONFIG_MEDIA_TUNER_TEA5767 is not set
# CONFIG_MEDIA_TUNER_TUA9001 is not set
# CONFIG_MEDIA_TUNER_XC2028 is not set
# CONFIG_MEDIA_TUNER_XC4000 is not set
# CONFIG_MEDIA_TUNER_XC5000 is not set
# end of Customize TV tuners

#
# Customise DVB Frontends
#

#
# Multistandard (satellite) frontends
#
# CONFIG_DVB_M88DS3103 is not set
# CONFIG_DVB_MXL5XX is not set
# CONFIG_DVB_STB0899 is not set
# CONFIG_DVB_STB6100 is not set
# CONFIG_DVB_STV090x is not set
# CONFIG_DVB_STV0910 is not set
# CONFIG_DVB_STV6110x is not set
# CONFIG_DVB_STV6111 is not set

#
# Multistandard (cable + terrestrial) frontends
#
# CONFIG_DVB_DRXK is not set
# CONFIG_DVB_MN88472 is not set
# CONFIG_DVB_MN88473 is not set
# CONFIG_DVB_SI2165 is not set
# CONFIG_DVB_TDA18271C2DD is not set

#
# DVB-S (satellite) frontends
#
# CONFIG_DVB_CX24110 is not set
# CONFIG_DVB_CX24116 is not set
# CONFIG_DVB_CX24117 is not set
# CONFIG_DVB_CX24120 is not set
# CONFIG_DVB_CX24123 is not set
# CONFIG_DVB_DS3000 is not set
# CONFIG_DVB_MB86A16 is not set
# CONFIG_DVB_MT312 is not set
# CONFIG_DVB_S5H1420 is not set
# CONFIG_DVB_SI21XX is not set
# CONFIG_DVB_STB6000 is not set
# CONFIG_DVB_STV0288 is not set
# CONFIG_DVB_STV0299 is not set
# CONFIG_DVB_STV0900 is not set
# CONFIG_DVB_STV6110 is not set
# CONFIG_DVB_TDA10071 is not set
# CONFIG_DVB_TDA10086 is not set
# CONFIG_DVB_TDA8083 is not set
# CONFIG_DVB_TDA8261 is not set
# CONFIG_DVB_TDA826X is not set
# CONFIG_DVB_TS2020 is not set
# CONFIG_DVB_TUA6100 is not set
# CONFIG_DVB_TUNER_CX24113 is not set
# CONFIG_DVB_TUNER_ITD1000 is not set
# CONFIG_DVB_VES1X93 is not set
# CONFIG_DVB_ZL10036 is not set
# CONFIG_DVB_ZL10039 is not set

#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_AF9013=y
CONFIG_DVB_AS102_FE=y
# CONFIG_DVB_CX22700 is not set
# CONFIG_DVB_CX22702 is not set
# CONFIG_DVB_CXD2820R is not set
# CONFIG_DVB_CXD2841ER is not set
CONFIG_DVB_DIB3000MB=y
CONFIG_DVB_DIB3000MC=y
# CONFIG_DVB_DIB7000M is not set
# CONFIG_DVB_DIB7000P is not set
# CONFIG_DVB_DIB9000 is not set
# CONFIG_DVB_DRXD is not set
CONFIG_DVB_EC100=y
CONFIG_DVB_GP8PSK_FE=y
# CONFIG_DVB_L64781 is not set
# CONFIG_DVB_MT352 is not set
# CONFIG_DVB_NXT6000 is not set
CONFIG_DVB_RTL2830=y
CONFIG_DVB_RTL2832=y
CONFIG_DVB_RTL2832_SDR=y
# CONFIG_DVB_S5H1432 is not set
# CONFIG_DVB_SI2168 is not set
# CONFIG_DVB_SP887X is not set
# CONFIG_DVB_STV0367 is not set
# CONFIG_DVB_TDA10048 is not set
# CONFIG_DVB_TDA1004X is not set
# CONFIG_DVB_ZD1301_DEMOD is not set
CONFIG_DVB_ZL10353=y
# CONFIG_DVB_CXD2880 is not set

#
# DVB-C (cable) frontends
#
# CONFIG_DVB_STV0297 is not set
# CONFIG_DVB_TDA10021 is not set
# CONFIG_DVB_TDA10023 is not set
# CONFIG_DVB_VES1820 is not set

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
# CONFIG_DVB_AU8522_DTV is not set
# CONFIG_DVB_AU8522_V4L is not set
# CONFIG_DVB_BCM3510 is not set
# CONFIG_DVB_LG2160 is not set
# CONFIG_DVB_LGDT3305 is not set
# CONFIG_DVB_LGDT3306A is not set
# CONFIG_DVB_LGDT330X is not set
# CONFIG_DVB_MXL692 is not set
# CONFIG_DVB_NXT200X is not set
# CONFIG_DVB_OR51132 is not set
# CONFIG_DVB_OR51211 is not set
# CONFIG_DVB_S5H1409 is not set
# CONFIG_DVB_S5H1411 is not set

#
# ISDB-T (terrestrial) frontends
#
# CONFIG_DVB_DIB8000 is not set
# CONFIG_DVB_MB86A20S is not set
# CONFIG_DVB_S921 is not set

#
# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
#
# CONFIG_DVB_MN88443X is not set
# CONFIG_DVB_TC90522 is not set

#
# Digital terrestrial only tuners/PLL
#
# CONFIG_DVB_PLL is not set
# CONFIG_DVB_TUNER_DIB0070 is not set
# CONFIG_DVB_TUNER_DIB0090 is not set

#
# SEC control devices for DVB-S
#
# CONFIG_DVB_A8293 is not set
CONFIG_DVB_AF9033=y
# CONFIG_DVB_ASCOT2E is not set
# CONFIG_DVB_ATBM8830 is not set
# CONFIG_DVB_HELENE is not set
# CONFIG_DVB_HORUS3A is not set
# CONFIG_DVB_ISL6405 is not set
# CONFIG_DVB_ISL6421 is not set
# CONFIG_DVB_ISL6423 is not set
# CONFIG_DVB_IX2505V is not set
# CONFIG_DVB_LGS8GL5 is not set
# CONFIG_DVB_LGS8GXX is not set
# CONFIG_DVB_LNBH25 is not set
# CONFIG_DVB_LNBH29 is not set
# CONFIG_DVB_LNBP21 is not set
# CONFIG_DVB_LNBP22 is not set
# CONFIG_DVB_M88RS2000 is not set
# CONFIG_DVB_TDA665x is not set
# CONFIG_DVB_DRX39XYJ is not set

#
# Common Interface (EN50221) controller drivers
#
# CONFIG_DVB_CXD2099 is not set
# CONFIG_DVB_SP2 is not set
# end of Customise DVB Frontends

#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set
# end of Media ancillary drivers

#
# Graphics support
#
CONFIG_APERTURE_HELPERS=y
CONFIG_SCREEN_INFO=y
CONFIG_VIDEO=y
# CONFIG_AUXDISPLAY is not set
# CONFIG_PANEL is not set
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_VIA is not set
CONFIG_INTEL_GTT=y
# CONFIG_VGA_SWITCHEROO is not set
CONFIG_DRM=y
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_DEBUG_MM=y
CONFIG_DRM_KMS_HELPER=y
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
# CONFIG_DRM_DEBUG_MODESET_LOCK is not set
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_DP_AUX_BUS=y
CONFIG_DRM_DISPLAY_HELPER=y
CONFIG_DRM_DISPLAY_DP_HELPER=y
CONFIG_DRM_DISPLAY_DP_TUNNEL=y
# CONFIG_DRM_DISPLAY_DEBUG_DP_TUNNEL_STATE is not set
CONFIG_DRM_DISPLAY_HDCP_HELPER=y
CONFIG_DRM_DISPLAY_HDMI_HELPER=y
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_TTM=y
CONFIG_DRM_BUDDY=y
CONFIG_DRM_VRAM_HELPER=y
CONFIG_DRM_TTM_HELPER=y
CONFIG_DRM_GEM_SHMEM_HELPER=y

#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
# end of I2C encoder or helper chips

#
# ARM devices
#
# CONFIG_DRM_KOMEDA is not set
# end of ARM devices

# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_AMDGPU is not set
# CONFIG_DRM_NOUVEAU is not set
CONFIG_DRM_I915=y
CONFIG_DRM_I915_FORCE_PROBE=""
CONFIG_DRM_I915_CAPTURE_ERROR=y
CONFIG_DRM_I915_COMPRESS_ERROR=y
CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_I915_GVT_KVMGT is not set
CONFIG_DRM_I915_DP_TUNNEL=y

#
# drm/i915 Debugging
#
# CONFIG_DRM_I915_WERROR is not set
# CONFIG_DRM_I915_DEBUG is not set
# CONFIG_DRM_I915_DEBUG_MMIO is not set
# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set
# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set
# CONFIG_DRM_I915_DEBUG_GUC is not set
# CONFIG_DRM_I915_SELFTEST is not set
# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set
# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set
# CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set
# CONFIG_DRM_I915_DEBUG_WAKEREF is not set
# end of drm/i915 Debugging

#
# drm/i915 Profile Guided Optimisation
#
CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
CONFIG_DRM_I915_PREEMPT_TIMEOUT_COMPUTE=7500
CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000
CONFIG_DRM_I915_STOP_TIMEOUT=100
CONFIG_DRM_I915_TIMESLICE_DURATION=1
# end of drm/i915 Profile Guided Optimisation

# CONFIG_DRM_XE is not set
CONFIG_DRM_VGEM=y
CONFIG_DRM_VKMS=y
CONFIG_DRM_VMWGFX=y
# CONFIG_DRM_VMWGFX_MKSSTATS is not set
# CONFIG_DRM_GMA500 is not set
CONFIG_DRM_UDL=y
# CONFIG_DRM_AST is not set
# CONFIG_DRM_MGAG200 is not set
# CONFIG_DRM_QXL is not set
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_DRM_VIRTIO_GPU_KMS=y
CONFIG_DRM_PANEL=y

#
# Display Panels
#
# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
# CONFIG_DRM_PANEL_AUO_A030JTN01 is not set
# CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0 is not set
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
# CONFIG_DRM_PANEL_BOE_TH101MB31UIG002_28A is not set
# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
# CONFIG_DRM_PANEL_EBBG_FT8719 is not set
# CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set
# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
# CONFIG_DRM_PANEL_DSI_CM is not set
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_HIMAX_HX83112A is not set
# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9805 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9882T is not set
# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JADARD_JD9365DA_H3 is not set
# CONFIG_DRM_PANEL_JDI_LPM102A188A is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_JDI_R63452 is not set
# CONFIG_DRM_PANEL_KHADAS_TS050 is not set
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966 is not set
# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
# CONFIG_DRM_PANEL_NEWVISION_NV3051D is not set
# CONFIG_DRM_PANEL_NEWVISION_NV3052C is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT36523 is not set
# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
# CONFIG_DRM_PANEL_NOVATEK_NT36672E is not set
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
# CONFIG_DRM_PANEL_ORISETECH_OTA5601A is not set
# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM692E5 is not set
# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set
# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set
# CONFIG_DRM_PANEL_STARTEK_KD070FHFID015 is not set
CONFIG_DRM_PANEL_EDP=y
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SYNAPTICS_R63353 is not set
# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
# CONFIG_DRM_PANEL_VISIONOX_R66451 is not set
# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
# end of Display Panels

CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y

#
# Display Interface Bridges
#
# CONFIG_DRM_CHIPONE_ICN6211 is not set
# CONFIG_DRM_CHRONTEL_CH7033 is not set
# CONFIG_DRM_DISPLAY_CONNECTOR is not set
# CONFIG_DRM_ITE_IT6505 is not set
# CONFIG_DRM_LONTIUM_LT8912B is not set
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
# CONFIG_DRM_ITE_IT66121 is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
# CONFIG_DRM_NWL_MIPI_DSI is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PARADE_PS8622 is not set
# CONFIG_DRM_PARADE_PS8640 is not set
# CONFIG_DRM_SAMSUNG_DSIM is not set
# CONFIG_DRM_SIL_SII8620 is not set
# CONFIG_DRM_SII902X is not set
# CONFIG_DRM_SII9234 is not set
# CONFIG_DRM_SIMPLE_BRIDGE is not set
# CONFIG_DRM_THINE_THC63LVD1024 is not set
# CONFIG_DRM_TOSHIBA_TC358762 is not set
# CONFIG_DRM_TOSHIBA_TC358764 is not set
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
# CONFIG_DRM_TI_DLPC3433 is not set
# CONFIG_DRM_TI_TFP410 is not set
# CONFIG_DRM_TI_SN65DSI83 is not set
# CONFIG_DRM_TI_SN65DSI86 is not set
# CONFIG_DRM_TI_TPD12S015 is not set
# CONFIG_DRM_ANALOGIX_ANX6345 is not set
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# CONFIG_DRM_ANALOGIX_ANX7625 is not set
# CONFIG_DRM_I2C_ADV7511 is not set
# CONFIG_DRM_CDNS_DSI is not set
# CONFIG_DRM_CDNS_MHDP8546 is not set
# end of Display Interface Bridges

# CONFIG_DRM_ETNAVIV is not set
# CONFIG_DRM_LOGICVC is not set
# CONFIG_DRM_ARCPGU is not set
CONFIG_DRM_BOCHS=y
CONFIG_DRM_CIRRUS_QEMU=y
# CONFIG_DRM_GM12U320 is not set
# CONFIG_DRM_PANEL_MIPI_DBI is not set
CONFIG_DRM_SIMPLEDRM=y
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9163 is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
# CONFIG_TINYDRM_ILI9486 is not set
# CONFIG_TINYDRM_MI0283QT is not set
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
# CONFIG_TINYDRM_ST7735R is not set
# CONFIG_DRM_VBOXVIDEO is not set
# CONFIG_DRM_GUD is not set
# CONFIG_DRM_SSD130X is not set
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y

#
# Frame buffer Devices
#
CONFIG_FB=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
CONFIG_FB_VGA16=y
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_OPENCORES is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_VIA is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_IBM_GXT4500 is not set
CONFIG_FB_VIRTUAL=y
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_SSD1307 is not set
# CONFIG_FB_SM712 is not set
CONFIG_FB_CORE=y
CONFIG_FB_NOTIFY=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DEVICE is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYSMEM_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_IOMEM_FOPS=y
CONFIG_FB_IOMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
# CONFIG_FB_MODE_HELPERS is not set
CONFIG_FB_TILEBLITTING=y
# end of Frame buffer Devices

#
# Backlight & LCD device support
#
CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_LCD_L4F00242T03 is not set
# CONFIG_LCD_LMS283GF05 is not set
# CONFIG_LCD_LTV350QV is not set
# CONFIG_LCD_ILI922X is not set
# CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_TDO24M is not set
# CONFIG_LCD_VGG2432A4 is not set
# CONFIG_LCD_PLATFORM is not set
# CONFIG_LCD_AMS369FG06 is not set
# CONFIG_LCD_LMS501KF03 is not set
# CONFIG_LCD_HX8357 is not set
# CONFIG_LCD_OTM3225A is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_KTD253 is not set
# CONFIG_BACKLIGHT_KTD2801 is not set
# CONFIG_BACKLIGHT_KTZ8866 is not set
# CONFIG_BACKLIGHT_APPLE is not set
# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3639 is not set
# CONFIG_BACKLIGHT_PANDORA is not set
# CONFIG_BACKLIGHT_GPIO is not set
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
# CONFIG_BACKLIGHT_ARCXCNN is not set
# CONFIG_BACKLIGHT_LED is not set
# end of Backlight & LCD device support

CONFIG_VGASTATE=y
CONFIG_VIDEOMODE_HELPERS=y
CONFIG_HDMI=y

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
# end of Console display driver support

CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
# CONFIG_LOGO_LINUX_CLUT224 is not set
# end of Graphics support

# CONFIG_DRM_ACCEL is not set
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_SEQ_DEVICE=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_JACK=y
CONFIG_SND_JACK_INPUT_DEV=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_PCM_TIMER=y
CONFIG_SND_HRTIMER=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MAX_CARDS=32
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_PROC_FS=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
CONFIG_SND_CTL_FAST_LOOKUP=y
CONFIG_SND_DEBUG=y
# CONFIG_SND_DEBUG_VERBOSE is not set
CONFIG_SND_PCM_XRUN_DEBUG=y
# CONFIG_SND_CTL_INPUT_VALIDATION is not set
# CONFIG_SND_CTL_DEBUG is not set
# CONFIG_SND_JACK_INJECTION_DEBUG is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_CTL_LED=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_SEQ_MIDI_EVENT=y
CONFIG_SND_SEQ_MIDI=y
CONFIG_SND_SEQ_VIRMIDI=y
# CONFIG_SND_SEQ_UMP is not set
CONFIG_SND_DRIVERS=y
# CONFIG_SND_PCSP is not set
CONFIG_SND_DUMMY=y
CONFIG_SND_ALOOP=y
# CONFIG_SND_PCMTEST is not set
CONFIG_SND_VIRMIDI=y
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_MTS64 is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_SERIAL_GENERIC is not set
# CONFIG_SND_MPU401 is not set
# CONFIG_SND_PORTMAN2X4 is not set
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ASIHPI is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_OXYGEN is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CTXFI is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_INDIGOIOX is not set
# CONFIG_SND_INDIGODJX is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_LOLA is not set
# CONFIG_SND_LX6464ES is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SE6X is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set

#
# HD-Audio
#
CONFIG_SND_HDA=y
CONFIG_SND_HDA_GENERIC_LEDS=y
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_SCODEC_COMPONENT=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_HDMI=y
CONFIG_SND_HDA_CODEC_CIRRUS=y
# CONFIG_SND_HDA_CODEC_CS8409 is not set
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CA0132=y
# CONFIG_SND_HDA_CODEC_CA0132_DSP is not set
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
# CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set
# CONFIG_SND_HDA_CTL_DEV_ID is not set
# end of HD-Audio

CONFIG_SND_HDA_CORE=y
CONFIG_SND_HDA_COMPONENT=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_INTEL_NHLT=y
CONFIG_SND_INTEL_DSP_CONFIG=y
CONFIG_SND_INTEL_SOUNDWIRE_ACPI=y
# CONFIG_SND_SPI is not set
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
# CONFIG_SND_USB_AUDIO_MIDI_V2 is not set
CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
CONFIG_SND_USB_UA101=y
CONFIG_SND_USB_USX2Y=y
CONFIG_SND_USB_CAIAQ=y
CONFIG_SND_USB_CAIAQ_INPUT=y
CONFIG_SND_USB_US122L=y
CONFIG_SND_USB_6FIRE=y
CONFIG_SND_USB_HIFACE=y
CONFIG_SND_BCD2000=y
CONFIG_SND_USB_LINE6=y
CONFIG_SND_USB_POD=y
CONFIG_SND_USB_PODHD=y
CONFIG_SND_USB_TONEPORT=y
CONFIG_SND_USB_VARIAX=y
# CONFIG_SND_FIREWIRE is not set
CONFIG_SND_PCMCIA=y
# CONFIG_SND_VXPOCKET is not set
# CONFIG_SND_PDAUDIOCF is not set
# CONFIG_SND_SOC is not set
CONFIG_SND_X86=y
# CONFIG_HDMI_LPE_AUDIO is not set
CONFIG_SND_VIRTIO=y
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=y
CONFIG_HID_GENERIC=y

#
# Special HID drivers
#
CONFIG_HID_A4TECH=y
CONFIG_HID_ACCUTOUCH=y
CONFIG_HID_ACRUX=y
CONFIG_HID_ACRUX_FF=y
CONFIG_HID_APPLE=y
CONFIG_HID_APPLEIR=y
CONFIG_HID_ASUS=y
CONFIG_HID_AUREAL=y
CONFIG_HID_BELKIN=y
CONFIG_HID_BETOP_FF=y
# CONFIG_HID_BIGBEN_FF is not set
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CORSAIR=y
# CONFIG_HID_COUGAR is not set
# CONFIG_HID_MACALLY is not set
CONFIG_HID_PRODIKEYS=y
CONFIG_HID_CMEDIA=y
CONFIG_HID_CP2112=y
# CONFIG_HID_CREATIVE_SB0540 is not set
CONFIG_HID_CYPRESS=y
CONFIG_HID_DRAGONRISE=y
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=y
# CONFIG_HID_ELAN is not set
CONFIG_HID_ELECOM=y
CONFIG_HID_ELO=y
# CONFIG_HID_EVISION is not set
CONFIG_HID_EZKEY=y
# CONFIG_HID_FT260 is not set
CONFIG_HID_GEMBIRD=y
CONFIG_HID_GFRM=y
# CONFIG_HID_GLORIOUS is not set
CONFIG_HID_HOLTEK=y
CONFIG_HOLTEK_FF=y
# CONFIG_HID_GOOGLE_STADIA_FF is not set
# CONFIG_HID_VIVALDI is not set
CONFIG_HID_GT683R=y
CONFIG_HID_KEYTOUCH=y
CONFIG_HID_KYE=y
CONFIG_HID_UCLOGIC=y
CONFIG_HID_WALTOP=y
# CONFIG_HID_VIEWSONIC is not set
# CONFIG_HID_VRC2 is not set
# CONFIG_HID_XIAOMI is not set
CONFIG_HID_GYRATION=y
CONFIG_HID_ICADE=y
CONFIG_HID_ITE=y
# CONFIG_HID_JABRA is not set
CONFIG_HID_TWINHAN=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LCPOWER=y
CONFIG_HID_LED=y
CONFIG_HID_LENOVO=y
# CONFIG_HID_LETSKETCH is not set
CONFIG_HID_LOGITECH=y
CONFIG_HID_LOGITECH_DJ=y
CONFIG_HID_LOGITECH_HIDPP=y
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MAGICMOUSE=y
# CONFIG_HID_MALTRON is not set
CONFIG_HID_MAYFLASH=y
# CONFIG_HID_MEGAWORLD_FF is not set
CONFIG_HID_REDRAGON=y
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_MULTITOUCH=y
# CONFIG_HID_NINTENDO is not set
CONFIG_HID_NTI=y
CONFIG_HID_NTRIG=y
# CONFIG_HID_NVIDIA_SHIELD is not set
CONFIG_HID_ORTEK=y
CONFIG_HID_PANTHERLORD=y
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PENMOUNT=y
CONFIG_HID_PETALYNX=y
CONFIG_HID_PICOLCD=y
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PICOLCD_CIR=y
CONFIG_HID_PLANTRONICS=y
# CONFIG_HID_PXRC is not set
# CONFIG_HID_RAZER is not set
CONFIG_HID_PRIMAX=y
CONFIG_HID_RETRODE=y
CONFIG_HID_ROCCAT=y
CONFIG_HID_SAITEK=y
CONFIG_HID_SAMSUNG=y
# CONFIG_HID_SEMITEK is not set
# CONFIG_HID_SIGMAMICRO is not set
CONFIG_HID_SONY=y
CONFIG_SONY_FF=y
CONFIG_HID_SPEEDLINK=y
# CONFIG_HID_STEAM is not set
CONFIG_HID_STEELSERIES=y
CONFIG_HID_SUNPLUS=y
CONFIG_HID_RMI=y
CONFIG_HID_GREENASIA=y
CONFIG_GREENASIA_FF=y
CONFIG_HID_SMARTJOYPLUS=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_HID_TIVO=y
CONFIG_HID_TOPSEED=y
# CONFIG_HID_TOPRE is not set
CONFIG_HID_THINGM=y
CONFIG_HID_THRUSTMASTER=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_HID_UDRAW_PS3=y
# CONFIG_HID_U2FZERO is not set
CONFIG_HID_WACOM=y
CONFIG_HID_WIIMOTE=y
CONFIG_HID_XINMO=y
CONFIG_HID_ZEROPLUS=y
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=y
CONFIG_HID_SENSOR_HUB=y
CONFIG_HID_SENSOR_CUSTOM_SENSOR=y
CONFIG_HID_ALPS=y
# CONFIG_HID_MCP2200 is not set
# CONFIG_HID_MCP2221 is not set
# end of Special HID drivers

#
# HID-BPF support
#
# end of HID-BPF support

#
# USB HID support
#
CONFIG_USB_HID=y
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y
# end of USB HID support

CONFIG_I2C_HID=y
# CONFIG_I2C_HID_ACPI is not set
# CONFIG_I2C_HID_OF is not set
# CONFIG_I2C_HID_OF_ELAN is not set
# CONFIG_I2C_HID_OF_GOODIX is not set

#
# Intel ISH HID support
#
CONFIG_INTEL_ISH_HID=y
# CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER is not set
# end of Intel ISH HID support

#
# AMD SFH HID Support
#
# CONFIG_AMD_SFH_HID is not set
# end of AMD SFH HID Support

CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_LED_TRIG=y
CONFIG_USB_ULPI_BUS=y
# CONFIG_USB_CONN_GPIO is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
CONFIG_USB_PCI=y
CONFIG_USB_PCI_AMD=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_FEW_INIT_RETRIES=y
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_OTG=y
# CONFIG_USB_OTG_PRODUCTLIST is not set
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
CONFIG_USB_OTG_FSM=y
CONFIG_USB_LEDS_TRIGGER_USBPORT=y
CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_DEFAULT_AUTHORIZATION_MODE=1
CONFIG_USB_MON=y

#
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_PCI=y
# CONFIG_USB_XHCI_PCI_RENESAS is not set
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_PCI=y
# CONFIG_USB_EHCI_FSL is not set
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_OXU210HP_HCD=y
CONFIG_USB_ISP116X_HCD=y
CONFIG_USB_MAX3421_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PCI=y
# CONFIG_USB_OHCI_HCD_SSB is not set
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_SL811_HCD=y
CONFIG_USB_SL811_HCD_ISO=y
CONFIG_USB_SL811_CS=y
CONFIG_USB_R8A66597_HCD=y
CONFIG_USB_HCD_BCMA=y
CONFIG_USB_HCD_SSB=y
# CONFIG_USB_HCD_TEST_MODE is not set

#
# USB Device Class drivers
#
CONFIG_USB_ACM=y
CONFIG_USB_PRINTER=y
CONFIG_USB_WDM=y
CONFIG_USB_TMC=y

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_REALTEK=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
CONFIG_USB_STORAGE_ONETOUCH=y
CONFIG_USB_STORAGE_KARMA=y
CONFIG_USB_STORAGE_CYPRESS_ATACB=y
CONFIG_USB_STORAGE_ENE_UB6250=y
CONFIG_USB_UAS=y

#
# USB Imaging devices
#
CONFIG_USB_MDC800=y
CONFIG_USB_MICROTEK=y
CONFIG_USBIP_CORE=y
CONFIG_USBIP_VHCI_HCD=y
CONFIG_USBIP_VHCI_HC_PORTS=8
CONFIG_USBIP_VHCI_NR_HCS=16
CONFIG_USBIP_HOST=y
CONFIG_USBIP_VUDC=y
# CONFIG_USBIP_DEBUG is not set

#
# USB dual-mode controller drivers
#
# CONFIG_USB_CDNS_SUPPORT is not set
CONFIG_USB_MUSB_HDRC=y
# CONFIG_USB_MUSB_HOST is not set
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_DUAL_ROLE=y

#
# Platform Glue Layer
#

#
# MUSB DMA mode
#
CONFIG_MUSB_PIO_ONLY=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_ULPI=y
# CONFIG_USB_DWC3_HOST is not set
CONFIG_USB_DWC3_GADGET=y
# CONFIG_USB_DWC3_DUAL_ROLE is not set

#
# Platform Glue Driver Support
#
CONFIG_USB_DWC3_PCI=y
# CONFIG_USB_DWC3_HAPS is not set
CONFIG_USB_DWC3_OF_SIMPLE=y
CONFIG_USB_DWC2=y
CONFIG_USB_DWC2_HOST=y

#
# Gadget/Dual-role mode requires USB Gadget support to be enabled
#
# CONFIG_USB_DWC2_PERIPHERAL is not set
# CONFIG_USB_DWC2_DUAL_ROLE is not set
CONFIG_USB_DWC2_PCI=y
# CONFIG_USB_DWC2_DEBUG is not set
# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_CHIPIDEA_PCI=y
# CONFIG_USB_CHIPIDEA_MSM is not set
# CONFIG_USB_CHIPIDEA_NPCM is not set
# CONFIG_USB_CHIPIDEA_IMX is not set
# CONFIG_USB_CHIPIDEA_GENERIC is not set
# CONFIG_USB_CHIPIDEA_TEGRA is not set
CONFIG_USB_ISP1760=y
CONFIG_USB_ISP1760_HCD=y
CONFIG_USB_ISP1761_UDC=y
# CONFIG_USB_ISP1760_HOST_ROLE is not set
# CONFIG_USB_ISP1760_GADGET_ROLE is not set
CONFIG_USB_ISP1760_DUAL_ROLE=y

#
# USB port drivers
#
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_SIMPLE=y
CONFIG_USB_SERIAL_AIRCABLE=y
CONFIG_USB_SERIAL_ARK3116=y
CONFIG_USB_SERIAL_BELKIN=y
CONFIG_USB_SERIAL_CH341=y
CONFIG_USB_SERIAL_WHITEHEAT=y
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=y
CONFIG_USB_SERIAL_CP210X=y
CONFIG_USB_SERIAL_CYPRESS_M8=y
CONFIG_USB_SERIAL_EMPEG=y
CONFIG_USB_SERIAL_FTDI_SIO=y
CONFIG_USB_SERIAL_VISOR=y
CONFIG_USB_SERIAL_IPAQ=y
CONFIG_USB_SERIAL_IR=y
CONFIG_USB_SERIAL_EDGEPORT=y
CONFIG_USB_SERIAL_EDGEPORT_TI=y
CONFIG_USB_SERIAL_F81232=y
CONFIG_USB_SERIAL_F8153X=y
CONFIG_USB_SERIAL_GARMIN=y
CONFIG_USB_SERIAL_IPW=y
CONFIG_USB_SERIAL_IUU=y
CONFIG_USB_SERIAL_KEYSPAN_PDA=y
CONFIG_USB_SERIAL_KEYSPAN=y
CONFIG_USB_SERIAL_KLSI=y
CONFIG_USB_SERIAL_KOBIL_SCT=y
CONFIG_USB_SERIAL_MCT_U232=y
CONFIG_USB_SERIAL_METRO=y
CONFIG_USB_SERIAL_MOS7720=y
CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7840=y
CONFIG_USB_SERIAL_MXUPORT=y
CONFIG_USB_SERIAL_NAVMAN=y
CONFIG_USB_SERIAL_PL2303=y
CONFIG_USB_SERIAL_OTI6858=y
CONFIG_USB_SERIAL_QCAUX=y
CONFIG_USB_SERIAL_QUALCOMM=y
CONFIG_USB_SERIAL_SPCP8X5=y
CONFIG_USB_SERIAL_SAFE=y
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
CONFIG_USB_SERIAL_SIERRAWIRELESS=y
CONFIG_USB_SERIAL_SYMBOL=y
CONFIG_USB_SERIAL_TI=y
CONFIG_USB_SERIAL_CYBERJACK=y
CONFIG_USB_SERIAL_WWAN=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_USB_SERIAL_OMNINET=y
CONFIG_USB_SERIAL_OPTICON=y
CONFIG_USB_SERIAL_XSENS_MT=y
CONFIG_USB_SERIAL_WISHBONE=y
CONFIG_USB_SERIAL_SSU100=y
CONFIG_USB_SERIAL_QT2=y
CONFIG_USB_SERIAL_UPD78F0730=y
CONFIG_USB_SERIAL_XR=y
CONFIG_USB_SERIAL_DEBUG=y

#
# USB Miscellaneous drivers
#
CONFIG_USB_USS720=y
CONFIG_USB_EMI62=y
CONFIG_USB_EMI26=y
CONFIG_USB_ADUTUX=y
CONFIG_USB_SEVSEG=y
CONFIG_USB_LEGOTOWER=y
CONFIG_USB_LCD=y
CONFIG_USB_CYPRESS_CY7C63=y
CONFIG_USB_CYTHERM=y
CONFIG_USB_IDMOUSE=y
CONFIG_USB_APPLEDISPLAY=y
# CONFIG_APPLE_MFI_FASTCHARGE is not set
# CONFIG_USB_LJCA is not set
CONFIG_USB_SISUSBVGA=y
CONFIG_USB_LD=y
CONFIG_USB_TRANCEVIBRATOR=y
CONFIG_USB_IOWARRIOR=y
CONFIG_USB_TEST=y
CONFIG_USB_EHSET_TEST_FIXTURE=y
CONFIG_USB_ISIGHTFW=y
CONFIG_USB_YUREX=y
CONFIG_USB_EZUSB_FX2=y
CONFIG_USB_HUB_USB251XB=y
CONFIG_USB_HSIC_USB3503=y
CONFIG_USB_HSIC_USB4604=y
CONFIG_USB_LINK_LAYER_TEST=y
CONFIG_USB_CHAOSKEY=y
# CONFIG_USB_ONBOARD_HUB is not set
CONFIG_USB_ATM=y
CONFIG_USB_SPEEDTOUCH=y
CONFIG_USB_CXACRU=y
CONFIG_USB_UEAGLEATM=y
CONFIG_USB_XUSBATM=y

#
# USB Physical Layer drivers
#
CONFIG_USB_PHY=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_GPIO_VBUS=y
CONFIG_TAHVO_USB=y
CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y
CONFIG_USB_ISP1301=y
# end of USB Physical Layer drivers

CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
CONFIG_USB_GADGET_DEBUG_FILES=y
CONFIG_USB_GADGET_DEBUG_FS=y
CONFIG_USB_GADGET_VBUS_DRAW=500
CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
CONFIG_U_SERIAL_CONSOLE=y

#
# USB Peripheral Controller
#
CONFIG_USB_GR_UDC=y
CONFIG_USB_R8A66597=y
CONFIG_USB_PXA27X=y
CONFIG_USB_MV_UDC=y
CONFIG_USB_MV_U3D=y
CONFIG_USB_SNP_CORE=y
# CONFIG_USB_SNP_UDC_PLAT is not set
# CONFIG_USB_M66592 is not set
CONFIG_USB_BDC_UDC=y
CONFIG_USB_AMD5536UDC=y
CONFIG_USB_NET2272=y
CONFIG_USB_NET2272_DMA=y
CONFIG_USB_NET2280=y
CONFIG_USB_GOKU=y
CONFIG_USB_EG20T=y
# CONFIG_USB_GADGET_XILINX is not set
# CONFIG_USB_MAX3420_UDC is not set
# CONFIG_USB_CDNS2_UDC is not set
CONFIG_USB_DUMMY_HCD=y
# end of USB Peripheral Controller

CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_F_ACM=y
CONFIG_USB_F_SS_LB=y
CONFIG_USB_U_SERIAL=y
CONFIG_USB_U_ETHER=y
CONFIG_USB_U_AUDIO=y
CONFIG_USB_F_SERIAL=y
CONFIG_USB_F_OBEX=y
CONFIG_USB_F_NCM=y
CONFIG_USB_F_ECM=y
CONFIG_USB_F_PHONET=y
CONFIG_USB_F_EEM=y
CONFIG_USB_F_SUBSET=y
CONFIG_USB_F_RNDIS=y
CONFIG_USB_F_MASS_STORAGE=y
CONFIG_USB_F_FS=y
CONFIG_USB_F_UAC1=y
CONFIG_USB_F_UAC1_LEGACY=y
CONFIG_USB_F_UAC2=y
CONFIG_USB_F_UVC=y
CONFIG_USB_F_MIDI=y
CONFIG_USB_F_HID=y
CONFIG_USB_F_PRINTER=y
CONFIG_USB_F_TCM=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_OBEX=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_ECM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_EEM=y
CONFIG_USB_CONFIGFS_PHONET=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_LB_SS=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_UAC1=y
CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y
CONFIG_USB_CONFIGFS_F_UAC2=y
CONFIG_USB_CONFIGFS_F_MIDI=y
# CONFIG_USB_CONFIGFS_F_MIDI2 is not set
CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_CONFIGFS_F_UVC=y
CONFIG_USB_CONFIGFS_F_PRINTER=y
CONFIG_USB_CONFIGFS_F_TCM=y

#
# USB Gadget precomposed configurations
#
# CONFIG_USB_ZERO is not set
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_ETH is not set
# CONFIG_USB_G_NCM is not set
CONFIG_USB_GADGETFS=y
# CONFIG_USB_FUNCTIONFS is not set
# CONFIG_USB_MASS_STORAGE is not set
# CONFIG_USB_GADGET_TARGET is not set
# CONFIG_USB_G_SERIAL is not set
# CONFIG_USB_MIDI_GADGET is not set
# CONFIG_USB_G_PRINTER is not set
# CONFIG_USB_CDC_COMPOSITE is not set
# CONFIG_USB_G_NOKIA is not set
# CONFIG_USB_G_ACM_MS is not set
# CONFIG_USB_G_MULTI is not set
# CONFIG_USB_G_HID is not set
# CONFIG_USB_G_DBGP is not set
# CONFIG_USB_G_WEBCAM is not set
CONFIG_USB_RAW_GADGET=y
# end of USB Gadget precomposed configurations

CONFIG_TYPEC=y
CONFIG_TYPEC_TCPM=y
CONFIG_TYPEC_TCPCI=y
# CONFIG_TYPEC_RT1711H is not set
# CONFIG_TYPEC_TCPCI_MAXIM is not set
CONFIG_TYPEC_FUSB302=y
CONFIG_TYPEC_UCSI=y
# CONFIG_UCSI_CCG is not set
CONFIG_UCSI_ACPI=y
# CONFIG_UCSI_STM32G0 is not set
CONFIG_TYPEC_TPS6598X=y
# CONFIG_TYPEC_ANX7411 is not set
# CONFIG_TYPEC_RT1719 is not set
# CONFIG_TYPEC_HD3SS3220 is not set
# CONFIG_TYPEC_STUSB160X is not set
# CONFIG_TYPEC_WUSB3801 is not set

#
# USB Type-C Multiplexer/DeMultiplexer Switch support
#
# CONFIG_TYPEC_MUX_FSA4480 is not set
# CONFIG_TYPEC_MUX_GPIO_SBU is not set
# CONFIG_TYPEC_MUX_PI3USB30532 is not set
# CONFIG_TYPEC_MUX_IT5205 is not set
# CONFIG_TYPEC_MUX_NB7VPQ904M is not set
# CONFIG_TYPEC_MUX_PTN36502 is not set
# CONFIG_TYPEC_MUX_WCD939X_USBSS is not set
# end of USB Type-C Multiplexer/DeMultiplexer Switch support

#
# USB Type-C Alternate Mode drivers
#
# CONFIG_TYPEC_DP_ALTMODE is not set
# end of USB Type-C Alternate Mode drivers

CONFIG_USB_ROLE_SWITCH=y
# CONFIG_USB_ROLES_INTEL_XHCI is not set
CONFIG_MMC=y
# CONFIG_PWRSEQ_EMMC is not set
# CONFIG_PWRSEQ_SIMPLE is not set
# CONFIG_MMC_BLOCK is not set
# CONFIG_SDIO_UART is not set
# CONFIG_MMC_TEST is not set
# CONFIG_MMC_CRYPTO is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_SDHCI is not set
# CONFIG_MMC_WBSD is not set
# CONFIG_MMC_TIFM_SD is not set
# CONFIG_MMC_SPI is not set
# CONFIG_MMC_SDRICOH_CS is not set
# CONFIG_MMC_CB710 is not set
# CONFIG_MMC_VIA_SDMMC is not set
CONFIG_MMC_VUB300=y
CONFIG_MMC_USHC=y
# CONFIG_MMC_USDHI6ROL0 is not set
CONFIG_MMC_REALTEK_USB=y
# CONFIG_MMC_CQHCI is not set
# CONFIG_MMC_HSQ is not set
# CONFIG_MMC_TOSHIBA_PCI is not set
# CONFIG_MMC_MTK is not set
# CONFIG_SCSI_UFSHCD is not set
CONFIG_MEMSTICK=y
# CONFIG_MEMSTICK_DEBUG is not set

#
# MemoryStick drivers
#
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MSPRO_BLOCK is not set
# CONFIG_MS_BLOCK is not set

#
# MemoryStick Host Controller Drivers
#
# CONFIG_MEMSTICK_TIFM_MS is not set
# CONFIG_MEMSTICK_JMICRON_38X is not set
# CONFIG_MEMSTICK_R592 is not set
CONFIG_MEMSTICK_REALTEK_USB=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
# CONFIG_LEDS_CLASS_FLASH is not set
# CONFIG_LEDS_CLASS_MULTICOLOR is not set
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set

#
# LED drivers
#
# CONFIG_LEDS_AN30259A is not set
# CONFIG_LEDS_APU is not set
# CONFIG_LEDS_AW200XX is not set
# CONFIG_LEDS_AW2013 is not set
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_CHT_WCOVE is not set
# CONFIG_LEDS_CR0014114 is not set
# CONFIG_LEDS_EL15203000 is not set
# CONFIG_LEDS_LM3530 is not set
# CONFIG_LEDS_LM3532 is not set
# CONFIG_LEDS_LM3642 is not set
# CONFIG_LEDS_LM3692X is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_GPIO is not set
# CONFIG_LEDS_LP3944 is not set
# CONFIG_LEDS_LP3952 is not set
# CONFIG_LEDS_LP8860 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_BD2606MVV is not set
# CONFIG_LEDS_BD2802 is not set
# CONFIG_LEDS_INTEL_SS4200 is not set
# CONFIG_LEDS_LT3593 is not set
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set

#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
# CONFIG_LEDS_BLINKM is not set
# CONFIG_LEDS_SYSCON is not set
# CONFIG_LEDS_MLXCPLD is not set
# CONFIG_LEDS_MLXREG is not set
# CONFIG_LEDS_USER is not set
# CONFIG_LEDS_NIC78BX is not set
# CONFIG_LEDS_SPI_BYTE is not set
# CONFIG_LEDS_LM3697 is not set
# CONFIG_LEDS_LGM is not set

#
# Flash and Torch LED drivers
#

#
# RGB LED drivers
#

#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
# CONFIG_LEDS_TRIGGER_TIMER is not set
# CONFIG_LEDS_TRIGGER_ONESHOT is not set
# CONFIG_LEDS_TRIGGER_DISK is not set
# CONFIG_LEDS_TRIGGER_MTD is not set
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
# CONFIG_LEDS_TRIGGER_CPU is not set
# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
# CONFIG_LEDS_TRIGGER_GPIO is not set
# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set

#
# iptables trigger is under Netfilter config (LED target)
#
# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
# CONFIG_LEDS_TRIGGER_CAMERA is not set
# CONFIG_LEDS_TRIGGER_PANIC is not set
# CONFIG_LEDS_TRIGGER_NETDEV is not set
# CONFIG_LEDS_TRIGGER_PATTERN is not set
CONFIG_LEDS_TRIGGER_AUDIO=y
# CONFIG_LEDS_TRIGGER_TTY is not set

#
# Simple LED drivers
#
# CONFIG_ACCESSIBILITY is not set
CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_USER_MAD=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y
CONFIG_INFINIBAND_VIRT_DMA=y
# CONFIG_INFINIBAND_EFA is not set
# CONFIG_INFINIBAND_ERDMA is not set
CONFIG_MLX4_INFINIBAND=y
# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_OCRDMA is not set
# CONFIG_INFINIBAND_USNIC is not set
# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
# CONFIG_INFINIBAND_RDMAVT is not set
CONFIG_RDMA_RXE=y
CONFIG_RDMA_SIW=y
CONFIG_INFINIBAND_IPOIB=y
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG=y
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
CONFIG_INFINIBAND_SRP=y
# CONFIG_INFINIBAND_SRPT is not set
CONFIG_INFINIBAND_ISER=y
CONFIG_INFINIBAND_RTRS=y
CONFIG_INFINIBAND_RTRS_CLIENT=y
# CONFIG_INFINIBAND_RTRS_SERVER is not set
# CONFIG_INFINIBAND_OPA_VNIC is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
# CONFIG_EDAC_LEGACY_SYSFS is not set
# CONFIG_EDAC_DEBUG is not set
# CONFIG_EDAC_DECODE_MCE is not set
# CONFIG_EDAC_E752X is not set
# CONFIG_EDAC_I82975X is not set
# CONFIG_EDAC_I3000 is not set
# CONFIG_EDAC_I3200 is not set
# CONFIG_EDAC_IE31200 is not set
# CONFIG_EDAC_X38 is not set
# CONFIG_EDAC_I5400 is not set
# CONFIG_EDAC_I7CORE is not set
# CONFIG_EDAC_I5100 is not set
# CONFIG_EDAC_I7300 is not set
# CONFIG_EDAC_SBRIDGE is not set
# CONFIG_EDAC_SKX is not set
# CONFIG_EDAC_I10NM is not set
# CONFIG_EDAC_PND2 is not set
# CONFIG_EDAC_IGEN6 is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
# CONFIG_RTC_HCTOSYS is not set
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
# CONFIG_RTC_NVMEM is not set

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_ABB5ZES3 is not set
# CONFIG_RTC_DRV_ABEOZ9 is not set
# CONFIG_RTC_DRV_ABX80X is not set
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_HYM8563 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_MAX31335 is not set
# CONFIG_RTC_DRV_NCT3018Y is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_ISL12026 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8523 is not set
# CONFIG_RTC_DRV_PCF85063 is not set
# CONFIG_RTC_DRV_PCF85363 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_TWL4030 is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8010 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3028 is not set
# CONFIG_RTC_DRV_RV3032 is not set
# CONFIG_RTC_DRV_RV8803 is not set
# CONFIG_RTC_DRV_SD3078 is not set

#
# SPI RTC drivers
#
# CONFIG_RTC_DRV_M41T93 is not set
# CONFIG_RTC_DRV_M41T94 is not set
# CONFIG_RTC_DRV_DS1302 is not set
# CONFIG_RTC_DRV_DS1305 is not set
# CONFIG_RTC_DRV_DS1343 is not set
# CONFIG_RTC_DRV_DS1347 is not set
# CONFIG_RTC_DRV_DS1390 is not set
# CONFIG_RTC_DRV_MAX6916 is not set
# CONFIG_RTC_DRV_R9701 is not set
# CONFIG_RTC_DRV_RX4581 is not set
# CONFIG_RTC_DRV_RS5C348 is not set
# CONFIG_RTC_DRV_MAX6902 is not set
# CONFIG_RTC_DRV_PCF2123 is not set
# CONFIG_RTC_DRV_MCP795 is not set
CONFIG_RTC_I2C_AND_SPI=y

#
# SPI and I2C RTC drivers
#
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_PCF2127 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set
# CONFIG_RTC_DRV_RX6110 is not set

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1685_FAMILY is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_DS2404 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_ZYNQMP is not set

#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_CADENCE is not set
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_R7301 is not set

#
# HID Sensor RTC drivers
#
CONFIG_RTC_DRV_HID_SENSOR_TIME=y
# CONFIG_RTC_DRV_GOLDFISH is not set
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set

#
# DMA Devices
#
CONFIG_DMA_ENGINE=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_ACPI=y
CONFIG_DMA_OF=y
# CONFIG_ALTERA_MSGDMA is not set
# CONFIG_DW_AXI_DMAC is not set
# CONFIG_FSL_EDMA is not set
CONFIG_INTEL_IDMA64=y
# CONFIG_INTEL_IDXD is not set
# CONFIG_INTEL_IDXD_COMPAT is not set
CONFIG_INTEL_IOATDMA=y
# CONFIG_PLX_DMA is not set
# CONFIG_XILINX_DMA is not set
# CONFIG_XILINX_XDMA is not set
# CONFIG_XILINX_ZYNQMP_DPDMA is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_HIDMA is not set
CONFIG_DW_DMAC_CORE=y
# CONFIG_DW_DMAC is not set
# CONFIG_DW_DMAC_PCI is not set
# CONFIG_DW_EDMA is not set
CONFIG_HSU_DMA=y
# CONFIG_SF_PDMA is not set
# CONFIG_INTEL_LDMA is not set

#
# DMA Clients
#
CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DMA_ENGINE_RAID=y

#
# DMABUF options
#
CONFIG_SYNC_FILE=y
CONFIG_SW_SYNC=y
CONFIG_UDMABUF=y
CONFIG_DMABUF_MOVE_NOTIFY=y
# CONFIG_DMABUF_DEBUG is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMABUF_HEAPS=y
# CONFIG_DMABUF_SYSFS_STATS is not set
CONFIG_DMABUF_HEAPS_SYSTEM=y
CONFIG_DMABUF_HEAPS_CMA=y
# end of DMABUF options

CONFIG_DCA=y
# CONFIG_UIO is not set
CONFIG_VFIO=y
CONFIG_VFIO_DEVICE_CDEV=y
# CONFIG_VFIO_GROUP is not set
CONFIG_VFIO_VIRQFD=y
# CONFIG_VFIO_DEBUGFS is not set

#
# VFIO support for PCI devices
#
CONFIG_VFIO_PCI_CORE=y
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_VFIO_PCI=y
# CONFIG_VFIO_PCI_VGA is not set
# CONFIG_VFIO_PCI_IGD is not set
# CONFIG_VIRTIO_VFIO_PCI is not set
# end of VFIO support for PCI devices

CONFIG_IRQ_BYPASS_MANAGER=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_ANCHOR=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI_LIB=y
CONFIG_VIRTIO_PCI_LIB_LEGACY=y
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_ADMIN_LEGACY=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_VDPA=y
CONFIG_VIRTIO_PMEM=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_MEM=y
CONFIG_VIRTIO_INPUT=y
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_VIRTIO_DMA_SHARED_BUFFER=y
CONFIG_VDPA=y
CONFIG_VDPA_SIM=y
CONFIG_VDPA_SIM_NET=y
CONFIG_VDPA_SIM_BLOCK=y
CONFIG_VDPA_USER=y
# CONFIG_IFCVF is not set
# CONFIG_MLX5_VDPA_STEERING_DEBUG is not set
CONFIG_VP_VDPA=y
# CONFIG_ALIBABA_ENI_VDPA is not set
# CONFIG_SNET_VDPA is not set
CONFIG_VHOST_IOTLB=y
CONFIG_VHOST_RING=y
CONFIG_VHOST_TASK=y
CONFIG_VHOST=y
CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=y
# CONFIG_VHOST_SCSI is not set
CONFIG_VHOST_VSOCK=y
CONFIG_VHOST_VDPA=y
CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y

#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV is not set
# end of Microsoft Hyper-V guest support

CONFIG_GREYBUS=y
# CONFIG_GREYBUS_BEAGLEPLAY is not set
CONFIG_GREYBUS_ES2=y
CONFIG_COMEDI=y
# CONFIG_COMEDI_DEBUG is not set
CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
# CONFIG_COMEDI_MISC_DRIVERS is not set
# CONFIG_COMEDI_PCI_DRIVERS is not set
# CONFIG_COMEDI_PCMCIA_DRIVERS is not set
CONFIG_COMEDI_USB_DRIVERS=y
CONFIG_COMEDI_DT9812=y
CONFIG_COMEDI_NI_USB6501=y
CONFIG_COMEDI_USBDUX=y
CONFIG_COMEDI_USBDUXFAST=y
CONFIG_COMEDI_USBDUXSIGMA=y
CONFIG_COMEDI_VMK80XX=y
# CONFIG_COMEDI_8255_SA is not set
# CONFIG_COMEDI_KCOMEDILIB is not set
# CONFIG_COMEDI_TESTS is not set
CONFIG_STAGING=y
CONFIG_PRISM2_USB=y
# CONFIG_RTLLIB is not set
# CONFIG_RTL8723BS is not set
CONFIG_R8712U=y
# CONFIG_RTS5208 is not set
# CONFIG_VT6655 is not set
# CONFIG_VT6656 is not set

#
# IIO staging drivers
#

#
# Accelerometers
#
# CONFIG_ADIS16203 is not set
# CONFIG_ADIS16240 is not set
# end of Accelerometers

#
# Analog to digital converters
#
# CONFIG_AD7816 is not set
# end of Analog to digital converters

#
# Analog digital bi-direction converters
#
# CONFIG_ADT7316 is not set
# end of Analog digital bi-direction converters

#
# Direct Digital Synthesis
#
# CONFIG_AD9832 is not set
# CONFIG_AD9834 is not set
# end of Direct Digital Synthesis

#
# Network Analyzer, Impedance Converters
#
# CONFIG_AD5933 is not set
# end of Network Analyzer, Impedance Converters
# end of IIO staging drivers

# CONFIG_FB_SM750 is not set
# CONFIG_STAGING_MEDIA is not set
# CONFIG_LTE_GDM724X is not set
# CONFIG_MOST_COMPONENTS is not set
# CONFIG_KS7010 is not set
# CONFIG_GREYBUS_BOOTROM is not set
# CONFIG_GREYBUS_FIRMWARE is not set
CONFIG_GREYBUS_HID=y
# CONFIG_GREYBUS_LOG is not set
# CONFIG_GREYBUS_LOOPBACK is not set
# CONFIG_GREYBUS_POWER is not set
# CONFIG_GREYBUS_RAW is not set
# CONFIG_GREYBUS_VIBRATOR is not set
CONFIG_GREYBUS_BRIDGED_PHY=y
# CONFIG_GREYBUS_GPIO is not set
# CONFIG_GREYBUS_I2C is not set
# CONFIG_GREYBUS_SDIO is not set
# CONFIG_GREYBUS_SPI is not set
# CONFIG_GREYBUS_UART is not set
CONFIG_GREYBUS_USB=y
# CONFIG_PI433 is not set
# CONFIG_XIL_AXIS_FIFO is not set
# CONFIG_FIELDBUS_DEV is not set
# CONFIG_VME_BUS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_CHROME_PLATFORMS is not set
# CONFIG_MELLANOX_PLATFORM is not set
CONFIG_SURFACE_PLATFORMS=y
# CONFIG_SURFACE3_WMI is not set
# CONFIG_SURFACE_3_POWER_OPREGION is not set
# CONFIG_SURFACE_GPE is not set
# CONFIG_SURFACE_HOTPLUG is not set
# CONFIG_SURFACE_PRO3_BUTTON is not set
# CONFIG_SURFACE_AGGREGATOR is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACPI_WMI=y
CONFIG_WMI_BMOF=y
# CONFIG_HUAWEI_WMI is not set
# CONFIG_MXM_WMI is not set
# CONFIG_NVIDIA_WMI_EC_BACKLIGHT is not set
# CONFIG_XIAOMI_WMI is not set
# CONFIG_GIGABYTE_WMI is not set
# CONFIG_YOGABOOK is not set
# CONFIG_ACERHDF is not set
# CONFIG_ACER_WIRELESS is not set
# CONFIG_ACER_WMI is not set
# CONFIG_AMD_PMC is not set
# CONFIG_AMD_HSMP is not set
# CONFIG_AMD_WBRF is not set
# CONFIG_ADV_SWBUTTON is not set
# CONFIG_APPLE_GMUX is not set
# CONFIG_ASUS_LAPTOP is not set
# CONFIG_ASUS_WIRELESS is not set
CONFIG_ASUS_WMI=y
# CONFIG_ASUS_NB_WMI is not set
# CONFIG_ASUS_TF103C_DOCK is not set
CONFIG_EEEPC_LAPTOP=y
# CONFIG_EEEPC_WMI is not set
# CONFIG_X86_PLATFORM_DRIVERS_DELL is not set
# CONFIG_AMILO_RFKILL is not set
# CONFIG_FUJITSU_LAPTOP is not set
# CONFIG_FUJITSU_TABLET is not set
# CONFIG_GPD_POCKET_FAN is not set
# CONFIG_X86_PLATFORM_DRIVERS_HP is not set
# CONFIG_WIRELESS_HOTKEY is not set
# CONFIG_IBM_RTL is not set
# CONFIG_IDEAPAD_LAPTOP is not set
# CONFIG_LENOVO_YMC is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_THINKPAD_LMI is not set
# CONFIG_INTEL_ATOMISP2_PM is not set
# CONFIG_INTEL_IFS is not set
# CONFIG_INTEL_SAR_INT1092 is not set
# CONFIG_INTEL_SKL_INT3472 is not set

#
# Intel Speed Select Technology interface support
#
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
# end of Intel Speed Select Technology interface support

# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
# CONFIG_INTEL_WMI_THUNDERBOLT is not set

#
# Intel Uncore Frequency Control
#
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
# end of Intel Uncore Frequency Control

# CONFIG_INTEL_HID_EVENT is not set
# CONFIG_INTEL_VBTN is not set
# CONFIG_INTEL_INT0002_VGPIO is not set
# CONFIG_INTEL_OAKTRAIL is not set
# CONFIG_INTEL_ISHTP_ECLITE is not set
# CONFIG_INTEL_PUNIT_IPC is not set
# CONFIG_INTEL_RST is not set
# CONFIG_INTEL_SMARTCONNECT is not set
# CONFIG_INTEL_TURBO_MAX_3 is not set
# CONFIG_INTEL_VSEC is not set
# CONFIG_MSI_EC is not set
# CONFIG_MSI_LAPTOP is not set
# CONFIG_MSI_WMI is not set
# CONFIG_PCENGINES_APU2 is not set
# CONFIG_BARCO_P50_GPIO is not set
# CONFIG_SAMSUNG_LAPTOP is not set
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_TOSHIBA_HAPS is not set
# CONFIG_TOSHIBA_WMI is not set
# CONFIG_ACPI_CMPC is not set
# CONFIG_COMPAL_LAPTOP is not set
# CONFIG_LG_LAPTOP is not set
# CONFIG_PANASONIC_LAPTOP is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_SYSTEM76_ACPI is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_SERIAL_MULTI_INSTANTIATE is not set
# CONFIG_MLX_PLATFORM is not set
# CONFIG_INSPUR_PLATFORM_PROFILE is not set
# CONFIG_INTEL_IPS is not set
# CONFIG_INTEL_SCU_PCI is not set
# CONFIG_INTEL_SCU_PLATFORM is not set
# CONFIG_SIEMENS_SIMATIC_IPC is not set
# CONFIG_WINMATE_FM07_KEYS is not set
CONFIG_P2SB=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
# CONFIG_LMK04832 is not set
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_SI5341 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_CLK_TWL is not set
# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
# CONFIG_COMMON_CLK_RS9_PCIE is not set
# CONFIG_COMMON_CLK_SI521XX is not set
# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
# CONFIG_CLK_LGM_CGU is not set
# CONFIG_XILINX_VCU is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
# CONFIG_HWSPINLOCK is not set

#
# Clock Source drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
# end of Clock Source drivers

CONFIG_MAILBOX=y
# CONFIG_PLATFORM_MHU is not set
CONFIG_PCC=y
# CONFIG_ALTERA_MBOX is not set
# CONFIG_MAILBOX_TEST is not set
CONFIG_IOMMU_IOVA=y
CONFIG_IOMMU_API=y
CONFIG_IOMMUFD_DRIVER=y
CONFIG_IOMMU_SUPPORT=y

#
# Generic IOMMU Pagetable Support
#
# end of Generic IOMMU Pagetable Support

# CONFIG_IOMMU_DEBUGFS is not set
# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
CONFIG_OF_IOMMU=y
CONFIG_IOMMU_DMA=y
CONFIG_IOMMU_SVA=y
CONFIG_IOMMU_IOPF=y
# CONFIG_AMD_IOMMU is not set
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_PERF_EVENTS=y
CONFIG_IOMMUFD=y
CONFIG_IOMMUFD_TEST=y
CONFIG_IRQ_REMAP=y
# CONFIG_VIRTIO_IOMMU is not set

#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set
# end of Remoteproc drivers

#
# Rpmsg drivers
#
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
# CONFIG_RPMSG_VIRTIO is not set
# end of Rpmsg drivers

# CONFIG_SOUNDWIRE is not set

#
# SOC (System On Chip) specific Drivers
#

#
# Amlogic SoC drivers
#
# end of Amlogic SoC drivers

#
# Broadcom SoC drivers
#
# end of Broadcom SoC drivers

#
# NXP/Freescale QorIQ SoC drivers
#
# end of NXP/Freescale QorIQ SoC drivers

#
# fujitsu SoC drivers
#
# end of fujitsu SoC drivers

#
# i.MX SoC drivers
#
# end of i.MX SoC drivers

#
# Enable LiteX SoC Builder specific drivers
#
# CONFIG_LITEX_SOC_CONTROLLER is not set
# end of Enable LiteX SoC Builder specific drivers

# CONFIG_WPCM450_SOC is not set

#
# Qualcomm SoC drivers
#
CONFIG_QCOM_QMI_HELPERS=y
# end of Qualcomm SoC drivers

# CONFIG_SOC_TI is not set

#
# Xilinx SoC drivers
#
# end of Xilinx SoC drivers
# end of SOC (System On Chip) specific Drivers

#
# PM Domains
#

#
# Amlogic PM Domains
#
# end of Amlogic PM Domains

#
# Broadcom PM Domains
#
# end of Broadcom PM Domains

#
# i.MX PM Domains
#
# end of i.MX PM Domains

#
# Qualcomm PM Domains
#
# end of Qualcomm PM Domains
# end of PM Domains

# CONFIG_PM_DEVFREQ is not set
CONFIG_EXTCON=y

#
# Extcon Device Drivers
#
# CONFIG_EXTCON_ADC_JACK is not set
# CONFIG_EXTCON_FSA9480 is not set
# CONFIG_EXTCON_GPIO is not set
# CONFIG_EXTCON_INTEL_INT3496 is not set
CONFIG_EXTCON_INTEL_CHT_WC=y
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_PTN5150 is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
# CONFIG_EXTCON_USB_GPIO is not set
# CONFIG_EXTCON_USBC_TUSB320 is not set
# CONFIG_MEMORY is not set
CONFIG_IIO=y
CONFIG_IIO_BUFFER=y
# CONFIG_IIO_BUFFER_CB is not set
# CONFIG_IIO_BUFFER_DMA is not set
# CONFIG_IIO_BUFFER_DMAENGINE is not set
# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
CONFIG_IIO_KFIFO_BUF=y
CONFIG_IIO_TRIGGERED_BUFFER=y
# CONFIG_IIO_CONFIGFS is not set
CONFIG_IIO_TRIGGER=y
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
# CONFIG_IIO_SW_DEVICE is not set
# CONFIG_IIO_SW_TRIGGER is not set
# CONFIG_IIO_TRIGGERED_EVENT is not set

#
# Accelerometers
#
# CONFIG_ADIS16201 is not set
# CONFIG_ADIS16209 is not set
# CONFIG_ADXL313_I2C is not set
# CONFIG_ADXL313_SPI is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
# CONFIG_ADXL355_I2C is not set
# CONFIG_ADXL355_SPI is not set
# CONFIG_ADXL367_SPI is not set
# CONFIG_ADXL367_I2C is not set
# CONFIG_ADXL372_SPI is not set
# CONFIG_ADXL372_I2C is not set
# CONFIG_BMA180 is not set
# CONFIG_BMA220 is not set
# CONFIG_BMA400 is not set
# CONFIG_BMC150_ACCEL is not set
# CONFIG_BMI088_ACCEL is not set
# CONFIG_DA280 is not set
# CONFIG_DA311 is not set
# CONFIG_DMARD06 is not set
# CONFIG_DMARD09 is not set
# CONFIG_DMARD10 is not set
# CONFIG_FXLS8962AF_I2C is not set
# CONFIG_FXLS8962AF_SPI is not set
CONFIG_HID_SENSOR_ACCEL_3D=y
# CONFIG_IIO_ST_ACCEL_3AXIS is not set
# CONFIG_IIO_KX022A_SPI is not set
# CONFIG_IIO_KX022A_I2C is not set
# CONFIG_KXSD9 is not set
# CONFIG_KXCJK1013 is not set
# CONFIG_MC3230 is not set
# CONFIG_MMA7455_I2C is not set
# CONFIG_MMA7455_SPI is not set
# CONFIG_MMA7660 is not set
# CONFIG_MMA8452 is not set
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MSA311 is not set
# CONFIG_MXC4005 is not set
# CONFIG_MXC6255 is not set
# CONFIG_SCA3000 is not set
# CONFIG_SCA3300 is not set
# CONFIG_STK8312 is not set
# CONFIG_STK8BA50 is not set
# end of Accelerometers

#
# Analog to digital converters
#
# CONFIG_AD4130 is not set
# CONFIG_AD7091R5 is not set
# CONFIG_AD7091R8 is not set
# CONFIG_AD7124 is not set
# CONFIG_AD7192 is not set
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
# CONFIG_AD7292 is not set
# CONFIG_AD7298 is not set
# CONFIG_AD7476 is not set
# CONFIG_AD7606_IFACE_PARALLEL is not set
# CONFIG_AD7606_IFACE_SPI is not set
# CONFIG_AD7766 is not set
# CONFIG_AD7768_1 is not set
# CONFIG_AD7780 is not set
# CONFIG_AD7791 is not set
# CONFIG_AD7793 is not set
# CONFIG_AD7887 is not set
# CONFIG_AD7923 is not set
# CONFIG_AD7949 is not set
# CONFIG_AD799X is not set
# CONFIG_AD9467 is not set
# CONFIG_ADI_AXI_ADC is not set
# CONFIG_CC10001_ADC is not set
CONFIG_DLN2_ADC=y
# CONFIG_ENVELOPE_DETECTOR is not set
# CONFIG_HI8435 is not set
# CONFIG_HX711 is not set
# CONFIG_INA2XX_ADC is not set
# CONFIG_LTC2309 is not set
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
# CONFIG_MAX1118 is not set
# CONFIG_MAX11205 is not set
# CONFIG_MAX11410 is not set
# CONFIG_MAX1241 is not set
# CONFIG_MAX1363 is not set
# CONFIG_MAX34408 is not set
# CONFIG_MAX9611 is not set
# CONFIG_MCP320X is not set
# CONFIG_MCP3422 is not set
# CONFIG_MCP3564 is not set
# CONFIG_MCP3911 is not set
# CONFIG_NAU7802 is not set
# CONFIG_PAC1934 is not set
# CONFIG_RICHTEK_RTQ6056 is not set
# CONFIG_SD_ADC_MODULATOR is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC108S102 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
# CONFIG_TI_ADS7924 is not set
# CONFIG_TI_ADS1100 is not set
# CONFIG_TI_ADS1298 is not set
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8344 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_ADS124S08 is not set
# CONFIG_TI_ADS131E08 is not set
# CONFIG_TI_LMP92064 is not set
# CONFIG_TI_TLC4541 is not set
# CONFIG_TI_TSC2046 is not set
# CONFIG_TWL4030_MADC is not set
# CONFIG_TWL6030_GPADC is not set
# CONFIG_VF610_ADC is not set
CONFIG_VIPERBOARD_ADC=y
# CONFIG_XILINX_XADC is not set
# end of Analog to digital converters

#
# Analog to digital and digital to analog converters
#
# CONFIG_AD74115 is not set
# CONFIG_AD74413R is not set
# end of Analog to digital and digital to analog converters

#
# Analog Front Ends
#
# CONFIG_IIO_RESCALE is not set
# end of Analog Front Ends

#
# Amplifiers
#
# CONFIG_AD8366 is not set
# CONFIG_ADA4250 is not set
# CONFIG_HMC425 is not set
# end of Amplifiers

#
# Capacitance to digital converters
#
# CONFIG_AD7150 is not set
# CONFIG_AD7746 is not set
# end of Capacitance to digital converters

#
# Chemical Sensors
#
# CONFIG_AOSONG_AGS02MA is not set
# CONFIG_ATLAS_PH_SENSOR is not set
# CONFIG_ATLAS_EZO_SENSOR is not set
# CONFIG_BME680 is not set
# CONFIG_CCS811 is not set
# CONFIG_IAQCORE is not set
# CONFIG_PMS7003 is not set
# CONFIG_SCD30_CORE is not set
# CONFIG_SCD4X is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
# CONFIG_SPS30_I2C is not set
# CONFIG_SPS30_SERIAL is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_VZ89X is not set
# end of Chemical Sensors

#
# Hid Sensor IIO Common
#
CONFIG_HID_SENSOR_IIO_COMMON=y
CONFIG_HID_SENSOR_IIO_TRIGGER=y
# end of Hid Sensor IIO Common

#
# IIO SCMI Sensors
#
# end of IIO SCMI Sensors

#
# SSP Sensor Common
#
# CONFIG_IIO_SSP_SENSORHUB is not set
# end of SSP Sensor Common

#
# Digital to analog converters
#
# CONFIG_AD3552R is not set
# CONFIG_AD5064 is not set
# CONFIG_AD5360 is not set
# CONFIG_AD5380 is not set
# CONFIG_AD5421 is not set
# CONFIG_AD5446 is not set
# CONFIG_AD5449 is not set
# CONFIG_AD5592R is not set
# CONFIG_AD5593R is not set
# CONFIG_AD5504 is not set
# CONFIG_AD5624R_SPI is not set
# CONFIG_LTC2688 is not set
# CONFIG_AD5686_SPI is not set
# CONFIG_AD5696_I2C is not set
# CONFIG_AD5755 is not set
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
# CONFIG_AD5766 is not set
# CONFIG_AD5770R is not set
# CONFIG_AD5791 is not set
# CONFIG_AD7293 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD8801 is not set
# CONFIG_DPOT_DAC is not set
# CONFIG_DS4424 is not set
# CONFIG_LTC1660 is not set
# CONFIG_LTC2632 is not set
# CONFIG_M62332 is not set
# CONFIG_MAX517 is not set
# CONFIG_MAX5522 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MCP4725 is not set
# CONFIG_MCP4728 is not set
# CONFIG_MCP4821 is not set
# CONFIG_MCP4922 is not set
# CONFIG_TI_DAC082S085 is not set
# CONFIG_TI_DAC5571 is not set
# CONFIG_TI_DAC7311 is not set
# CONFIG_TI_DAC7612 is not set
# CONFIG_VF610_DAC is not set
# end of Digital to analog converters

#
# IIO dummy driver
#
# end of IIO dummy driver

#
# Filters
#
# CONFIG_ADMV8818 is not set
# end of Filters

#
# Frequency Synthesizers DDS/PLL
#

#
# Clock Generator/Distribution
#
# CONFIG_AD9523 is not set
# end of Clock Generator/Distribution

#
# Phase-Locked Loop (PLL) frequency synthesizers
#
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
# CONFIG_ADF4377 is not set
# CONFIG_ADMFM2000 is not set
# CONFIG_ADMV1013 is not set
# CONFIG_ADMV1014 is not set
# CONFIG_ADMV4420 is not set
# CONFIG_ADRF6780 is not set
# end of Phase-Locked Loop (PLL) frequency synthesizers
# end of Frequency Synthesizers DDS/PLL

#
# Digital gyroscope sensors
#
# CONFIG_ADIS16080 is not set
# CONFIG_ADIS16130 is not set
# CONFIG_ADIS16136 is not set
# CONFIG_ADIS16260 is not set
# CONFIG_ADXRS290 is not set
# CONFIG_ADXRS450 is not set
# CONFIG_BMG160 is not set
# CONFIG_FXAS21002C is not set
CONFIG_HID_SENSOR_GYRO_3D=y
# CONFIG_MPU3050_I2C is not set
# CONFIG_IIO_ST_GYRO_3AXIS is not set
# CONFIG_ITG3200 is not set
# end of Digital gyroscope sensors

#
# Health Sensors
#

#
# Heart Rate Monitors
#
# CONFIG_AFE4403 is not set
# CONFIG_AFE4404 is not set
# CONFIG_MAX30100 is not set
# CONFIG_MAX30102 is not set
# end of Heart Rate Monitors
# end of Health Sensors

#
# Humidity sensors
#
# CONFIG_AM2315 is not set
# CONFIG_DHT11 is not set
# CONFIG_HDC100X is not set
# CONFIG_HDC2010 is not set
# CONFIG_HDC3020 is not set
CONFIG_HID_SENSOR_HUMIDITY=y
# CONFIG_HTS221 is not set
# CONFIG_HTU21 is not set
# CONFIG_SI7005 is not set
# CONFIG_SI7020 is not set
# end of Humidity sensors

#
# Inertial measurement units
#
# CONFIG_ADIS16400 is not set
# CONFIG_ADIS16460 is not set
# CONFIG_ADIS16475 is not set
# CONFIG_ADIS16480 is not set
# CONFIG_BMI160_I2C is not set
# CONFIG_BMI160_SPI is not set
# CONFIG_BMI323_I2C is not set
# CONFIG_BMI323_SPI is not set
# CONFIG_BOSCH_BNO055_SERIAL is not set
# CONFIG_BOSCH_BNO055_I2C is not set
# CONFIG_FXOS8700_I2C is not set
# CONFIG_FXOS8700_SPI is not set
# CONFIG_KMX61 is not set
# CONFIG_INV_ICM42600_I2C is not set
# CONFIG_INV_ICM42600_SPI is not set
# CONFIG_INV_MPU6050_I2C is not set
# CONFIG_INV_MPU6050_SPI is not set
# CONFIG_IIO_ST_LSM6DSX is not set
# CONFIG_IIO_ST_LSM9DS0 is not set
# end of Inertial measurement units

#
# Light sensors
#
# CONFIG_ACPI_ALS is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADUX1020 is not set
# CONFIG_AL3010 is not set
# CONFIG_AL3320A is not set
# CONFIG_APDS9300 is not set
# CONFIG_APDS9960 is not set
# CONFIG_AS73211 is not set
# CONFIG_BH1750 is not set
# CONFIG_BH1780 is not set
# CONFIG_CM32181 is not set
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
# CONFIG_CM3605 is not set
# CONFIG_CM36651 is not set
# CONFIG_GP2AP002 is not set
# CONFIG_GP2AP020A00F is not set
# CONFIG_SENSORS_ISL29018 is not set
# CONFIG_SENSORS_ISL29028 is not set
# CONFIG_ISL29125 is not set
# CONFIG_ISL76682 is not set
CONFIG_HID_SENSOR_ALS=y
CONFIG_HID_SENSOR_PROX=y
# CONFIG_JSA1212 is not set
# CONFIG_ROHM_BU27008 is not set
# CONFIG_ROHM_BU27034 is not set
# CONFIG_RPR0521 is not set
# CONFIG_LTR390 is not set
# CONFIG_LTR501 is not set
# CONFIG_LTRF216A is not set
# CONFIG_LV0104CS is not set
# CONFIG_MAX44000 is not set
# CONFIG_MAX44009 is not set
# CONFIG_NOA1305 is not set
# CONFIG_OPT3001 is not set
# CONFIG_OPT4001 is not set
# CONFIG_PA12203001 is not set
# CONFIG_SI1133 is not set
# CONFIG_SI1145 is not set
# CONFIG_STK3310 is not set
# CONFIG_ST_UVIS25 is not set
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
# CONFIG_SENSORS_TSL2563 is not set
# CONFIG_TSL2583 is not set
# CONFIG_TSL2591 is not set
# CONFIG_TSL2772 is not set
# CONFIG_TSL4531 is not set
# CONFIG_US5182D is not set
# CONFIG_VCNL4000 is not set
# CONFIG_VCNL4035 is not set
# CONFIG_VEML6030 is not set
# CONFIG_VEML6070 is not set
# CONFIG_VEML6075 is not set
# CONFIG_VL6180 is not set
# CONFIG_ZOPT2201 is not set
# end of Light sensors

#
# Magnetometer sensors
#
# CONFIG_AF8133J is not set
# CONFIG_AK8974 is not set
# CONFIG_AK8975 is not set
# CONFIG_AK09911 is not set
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN_SPI is not set
# CONFIG_MAG3110 is not set
CONFIG_HID_SENSOR_MAGNETOMETER_3D=y
# CONFIG_MMC35240 is not set
# CONFIG_IIO_ST_MAGN_3AXIS is not set
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_RM3100_I2C is not set
# CONFIG_SENSORS_RM3100_SPI is not set
# CONFIG_TI_TMAG5273 is not set
# CONFIG_YAMAHA_YAS530 is not set
# end of Magnetometer sensors

#
# Multiplexers
#
# CONFIG_IIO_MUX is not set
# end of Multiplexers

#
# Inclinometer sensors
#
CONFIG_HID_SENSOR_INCLINOMETER_3D=y
CONFIG_HID_SENSOR_DEVICE_ROTATION=y
# end of Inclinometer sensors

#
# Triggers - standalone
#
# CONFIG_IIO_INTERRUPT_TRIGGER is not set
# CONFIG_IIO_SYSFS_TRIGGER is not set
# end of Triggers - standalone

#
# Linear and angular position sensors
#
# CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE is not set
# end of Linear and angular position sensors

#
# Digital potentiometers
#
# CONFIG_AD5110 is not set
# CONFIG_AD5272 is not set
# CONFIG_DS1803 is not set
# CONFIG_MAX5432 is not set
# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MCP4018 is not set
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP41010 is not set
# CONFIG_TPL0102 is not set
# CONFIG_X9250 is not set
# end of Digital potentiometers

#
# Digital potentiostats
#
# CONFIG_LMP91000 is not set
# end of Digital potentiostats

#
# Pressure sensors
#
# CONFIG_ABP060MG is not set
# CONFIG_ROHM_BM1390 is not set
# CONFIG_BMP280 is not set
# CONFIG_DLHL60D is not set
# CONFIG_DPS310 is not set
CONFIG_HID_SENSOR_PRESS=y
# CONFIG_HP03 is not set
# CONFIG_HSC030PA is not set
# CONFIG_ICP10100 is not set
# CONFIG_MPL115_I2C is not set
# CONFIG_MPL115_SPI is not set
# CONFIG_MPL3115 is not set
# CONFIG_MPRLS0025PA is not set
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_IIO_ST_PRESS is not set
# CONFIG_T5403 is not set
# CONFIG_HP206C is not set
# CONFIG_ZPA2326 is not set
# end of Pressure sensors

#
# Lightning sensors
#
# CONFIG_AS3935 is not set
# end of Lightning sensors

#
# Proximity and distance sensors
#
# CONFIG_IRSD200 is not set
# CONFIG_ISL29501 is not set
# CONFIG_LIDAR_LITE_V2 is not set
# CONFIG_MB1232 is not set
# CONFIG_PING is not set
# CONFIG_RFD77402 is not set
# CONFIG_SRF04 is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
# CONFIG_SX9360 is not set
# CONFIG_SX9500 is not set
# CONFIG_SRF08 is not set
# CONFIG_VCNL3020 is not set
# CONFIG_VL53L0X_I2C is not set
# end of Proximity and distance sensors

#
# Resolver to digital converters
#
# CONFIG_AD2S90 is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
# end of Resolver to digital converters

#
# Temperature sensors
#
# CONFIG_LTC2983 is not set
# CONFIG_MAXIM_THERMOCOUPLE is not set
CONFIG_HID_SENSOR_TEMP=y
# CONFIG_MLX90614 is not set
# CONFIG_MLX90632 is not set
# CONFIG_MLX90635 is not set
# CONFIG_TMP006 is not set
# CONFIG_TMP007 is not set
# CONFIG_TMP117 is not set
# CONFIG_TSYS01 is not set
# CONFIG_TSYS02D is not set
# CONFIG_MAX30208 is not set
# CONFIG_MAX31856 is not set
# CONFIG_MAX31865 is not set
# CONFIG_MCP9600 is not set
# end of Temperature sensors

# CONFIG_NTB is not set
# CONFIG_PWM is not set

#
# IRQ chip support
#
CONFIG_IRQCHIP=y
# CONFIG_AL_FIC is not set
# CONFIG_XILINX_INTC is not set
# end of IRQ chip support

# CONFIG_IPACK_BUS is not set
CONFIG_RESET_CONTROLLER=y
# CONFIG_RESET_GPIO is not set
# CONFIG_RESET_INTEL_GW is not set
# CONFIG_RESET_SIMPLE is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RESET_TI_TPS380X is not set

#
# PHY Subsystem
#
CONFIG_GENERIC_PHY=y
# CONFIG_USB_LGM_PHY is not set
# CONFIG_PHY_CAN_TRANSCEIVER is not set

#
# PHY drivers for Broadcom platforms
#
# CONFIG_BCM_KONA_USB2_PHY is not set
# end of PHY drivers for Broadcom platforms

# CONFIG_PHY_CADENCE_TORRENT is not set
# CONFIG_PHY_CADENCE_DPHY is not set
# CONFIG_PHY_CADENCE_DPHY_RX is not set
# CONFIG_PHY_CADENCE_SIERRA is not set
# CONFIG_PHY_CADENCE_SALVO is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_LAN966X_SERDES is not set
CONFIG_PHY_CPCAP_USB=y
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
# CONFIG_PHY_OCELOT_SERDES is not set
CONFIG_PHY_QCOM_USB_HS=y
CONFIG_PHY_QCOM_USB_HSIC=y
CONFIG_PHY_SAMSUNG_USB2=y
CONFIG_PHY_TUSB1210=y
# CONFIG_PHY_INTEL_LGM_COMBO is not set
# CONFIG_PHY_INTEL_LGM_EMMC is not set
# end of PHY Subsystem

# CONFIG_POWERCAP is not set
# CONFIG_MCB is not set

#
# Performance monitor support
#
# CONFIG_DWC_PCIE_PMU is not set
# end of Performance monitor support

CONFIG_RAS=y
CONFIG_USB4=y
# CONFIG_USB4_DEBUGFS_WRITE is not set
# CONFIG_USB4_DMA_TEST is not set

#
# Android
#
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES="binder0,binder1"
# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set
# end of Android

CONFIG_LIBNVDIMM=y
CONFIG_BLK_DEV_PMEM=y
CONFIG_ND_CLAIM=y
CONFIG_ND_BTT=y
CONFIG_BTT=y
CONFIG_ND_PFN=y
CONFIG_NVDIMM_PFN=y
CONFIG_NVDIMM_DAX=y
CONFIG_OF_PMEM=y
CONFIG_NVDIMM_KEYS=y
# CONFIG_NVDIMM_SECURITY_TEST is not set
CONFIG_DAX=y
CONFIG_DEV_DAX=y
# CONFIG_DEV_DAX_PMEM is not set
# CONFIG_DEV_DAX_KMEM is not set
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
CONFIG_NVMEM_LAYOUTS=y

#
# Layout Types
#
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# end of Layout Types

# CONFIG_NVMEM_RMEM is not set
# CONFIG_NVMEM_U_BOOT_ENV is not set

#
# HW tracing support
#
# CONFIG_STM is not set
# CONFIG_INTEL_TH is not set
# end of HW tracing support

# CONFIG_FPGA is not set
# CONFIG_FSI is not set
# CONFIG_TEE is not set
# CONFIG_SIOX is not set
# CONFIG_SLIMBUS is not set
# CONFIG_INTERCONNECT is not set
CONFIG_COUNTER=y
# CONFIG_INTEL_QEP is not set
# CONFIG_INTERRUPT_CNT is not set
CONFIG_MOST=y
# CONFIG_MOST_USB_HDM is not set
# CONFIG_MOST_CDEV is not set
# CONFIG_MOST_SND is not set
# CONFIG_PECI is not set
# CONFIG_HTE is not set
# end of Device Drivers

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_VALIDATE_FS_PARSER=y
CONFIG_FS_IOMAP=y
CONFIG_FS_STACK=y
CONFIG_BUFFER_HEAD=y
CONFIG_LEGACY_DIRECT_IO=y
# CONFIG_EXT2_FS is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
CONFIG_JFS_DEBUG=y
# CONFIG_JFS_STATISTICS is not set
CONFIG_XFS_FS=y
# CONFIG_XFS_SUPPORT_V4 is not set
# CONFIG_XFS_SUPPORT_ASCII_CI is not set
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_ONLINE_SCRUB is not set
# CONFIG_XFS_WARN is not set
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=y
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=y
CONFIG_OCFS2_FS_O2CB=y
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=y
CONFIG_OCFS2_FS_STATS=y
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
CONFIG_OCFS2_DEBUG_FS=y
CONFIG_BTRFS_FS=y
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
# CONFIG_BTRFS_DEBUG is not set
CONFIG_BTRFS_ASSERT=y
CONFIG_BTRFS_FS_REF_VERIFY=y
CONFIG_NILFS2_FS=y
CONFIG_F2FS_FS=y
CONFIG_F2FS_STAT_FS=y
CONFIG_F2FS_FS_XATTR=y
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_CHECK_FS=y
CONFIG_F2FS_FAULT_INJECTION=y
CONFIG_F2FS_FS_COMPRESSION=y
CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS_LZORLE=y
CONFIG_F2FS_FS_LZ4=y
CONFIG_F2FS_FS_LZ4HC=y
CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IOSTAT is not set
# CONFIG_F2FS_UNFAIR_RWSEM is not set
CONFIG_BCACHEFS_FS=y
CONFIG_BCACHEFS_QUOTA=y
# CONFIG_BCACHEFS_ERASURE_CODING is not set
# CONFIG_BCACHEFS_POSIX_ACL is not set
CONFIG_BCACHEFS_DEBUG=y
# CONFIG_BCACHEFS_TESTS is not set
# CONFIG_BCACHEFS_LOCK_TIME_STATS is not set
# CONFIG_BCACHEFS_NO_LATENCY_ACCT is not set
CONFIG_BCACHEFS_SIX_OPTIMISTIC_SPIN=y
CONFIG_ZONEFS_FS=y
CONFIG_FS_DAX=y
CONFIG_FS_DAX_PMD=y
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_EXPORTFS_BLOCK_OPS=y
CONFIG_FILE_LOCKING=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FS_ENCRYPTION_ALGS=y
# CONFIG_FS_ENCRYPTION_INLINE_CRYPT is not set
CONFIG_FS_VERITY=y
CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=y
CONFIG_CUSE=y
CONFIG_VIRTIO_FS=y
CONFIG_FUSE_DAX=y
CONFIG_FUSE_PASSTHROUGH=y
CONFIG_OVERLAY_FS=y
CONFIG_OVERLAY_FS_REDIRECT_DIR=y
CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
CONFIG_OVERLAY_FS_INDEX=y
# CONFIG_OVERLAY_FS_NFS_EXPORT is not set
# CONFIG_OVERLAY_FS_XINO_AUTO is not set
# CONFIG_OVERLAY_FS_METACOPY is not set
CONFIG_OVERLAY_FS_DEBUG=y

#
# Caches
#
CONFIG_NETFS_SUPPORT=y
# CONFIG_NETFS_STATS is not set
CONFIG_FSCACHE=y
# CONFIG_FSCACHE_STATS is not set
# CONFIG_FSCACHE_DEBUG is not set
CONFIG_CACHEFILES=y
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_ERROR_INJECTION is not set
# CONFIG_CACHEFILES_ONDEMAND is not set
# end of Caches

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
# end of CD-ROM/DVD Filesystems

#
# DOS/FAT/EXFAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_FAT_DEFAULT_UTF8 is not set
CONFIG_EXFAT_FS=y
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
CONFIG_NTFS3_FS=y
# CONFIG_NTFS3_64BIT_CLUSTER is not set
CONFIG_NTFS3_LZX_XPRESS=y
CONFIG_NTFS3_FS_POSIX_ACL=y
# end of DOS/FAT/EXFAT/NT Filesystems

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
# CONFIG_PROC_VMCORE_DEVICE_DUMP is not set
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PROC_CHILDREN=y
CONFIG_PROC_PID_ARCH_STATUS=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_TMPFS_INODE64 is not set
CONFIG_TMPFS_QUOTA=y
CONFIG_HUGETLBFS=y
# CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set
CONFIG_HUGETLB_PAGE=y
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
CONFIG_CONFIGFS_FS=y
# end of Pseudo filesystems

CONFIG_MISC_FILESYSTEMS=y
CONFIG_ORANGEFS_FS=y
CONFIG_ADFS_FS=y
# CONFIG_ADFS_FS_RW is not set
CONFIG_AFFS_FS=y
CONFIG_ECRYPT_FS=y
CONFIG_ECRYPT_FS_MESSAGING=y
CONFIG_HFS_FS=y
CONFIG_HFSPLUS_FS=y
CONFIG_BEFS_FS=y
# CONFIG_BEFS_DEBUG is not set
CONFIG_BFS_FS=y
CONFIG_EFS_FS=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
CONFIG_JFFS2_SUMMARY=y
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
# CONFIG_JFFS2_CMODE_NONE is not set
CONFIG_JFFS2_CMODE_PRIORITY=y
# CONFIG_JFFS2_CMODE_SIZE is not set
# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
CONFIG_UBIFS_FS_ZSTD=y
CONFIG_UBIFS_ATIME_SUPPORT=y
CONFIG_UBIFS_FS_XATTR=y
CONFIG_UBIFS_FS_SECURITY=y
# CONFIG_UBIFS_FS_AUTHENTICATION is not set
CONFIG_CRAMFS=y
CONFIG_CRAMFS_BLOCKDEV=y
CONFIG_CRAMFS_MTD=y
CONFIG_SQUASHFS=y
# CONFIG_SQUASHFS_FILE_CACHE is not set
CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZSTD=y
CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
CONFIG_VXFS_FS=y
CONFIG_MINIX_FS=y
CONFIG_OMFS_FS=y
CONFIG_HPFS_FS=y
CONFIG_QNX4FS_FS=y
CONFIG_QNX6FS_FS=y
# CONFIG_QNX6FS_DEBUG is not set
CONFIG_ROMFS_FS=y
# CONFIG_ROMFS_BACKED_BY_BLOCK is not set
# CONFIG_ROMFS_BACKED_BY_MTD is not set
CONFIG_ROMFS_BACKED_BY_BOTH=y
CONFIG_ROMFS_ON_BLOCK=y
CONFIG_ROMFS_ON_MTD=y
CONFIG_PSTORE=y
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_PMSG is not set
# CONFIG_PSTORE_RAM is not set
# CONFIG_PSTORE_BLK is not set
CONFIG_SYSV_FS=y
CONFIG_UFS_FS=y
CONFIG_UFS_FS_WRITE=y
# CONFIG_UFS_DEBUG is not set
CONFIG_EROFS_FS=y
# CONFIG_EROFS_FS_DEBUG is not set
CONFIG_EROFS_FS_XATTR=y
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_ZIP=y
# CONFIG_EROFS_FS_ZIP_LZMA is not set
# CONFIG_EROFS_FS_ZIP_DEFLATE is not set
# CONFIG_EROFS_FS_ONDEMAND is not set
# CONFIG_EROFS_FS_PCPU_KTHREAD is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
# CONFIG_NFS_SWAP is not set
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_PNFS_FILE_LAYOUT=y
CONFIG_PNFS_BLOCK=y
CONFIG_PNFS_FLEXFILE_LAYOUT=y
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
# CONFIG_NFS_V4_1_MIGRATION is not set
CONFIG_NFS_V4_SECURITY_LABEL=y
CONFIG_ROOT_NFS=y
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFS_V4_2_READ_PLUS=y
CONFIG_NFSD=y
# CONFIG_NFSD_V2 is not set
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_FLEXFILELAYOUT=y
CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
# CONFIG_NFSD_LEGACY_CLIENT_TRACKING is not set
CONFIG_GRACE_PERIOD=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_NFS_V4_2_SSC_HELPER=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1 is not set
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA is not set
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set
# CONFIG_SUNRPC_DEBUG is not set
# CONFIG_SUNRPC_XPRT_RDMA is not set
CONFIG_CEPH_FS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS_POSIX_ACL=y
# CONFIG_CEPH_FS_SECURITY_LABEL is not set
CONFIG_CIFS=y
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_SWN_UPCALL=y
CONFIG_CIFS_SMB_DIRECT=y
CONFIG_CIFS_FSCACHE=y
# CONFIG_CIFS_ROOT is not set
# CONFIG_SMB_SERVER is not set
CONFIG_SMBFS=y
# CONFIG_CODA_FS is not set
CONFIG_AFS_FS=y
# CONFIG_AFS_DEBUG is not set
CONFIG_AFS_FSCACHE=y
# CONFIG_AFS_DEBUG_CURSOR is not set
CONFIG_9P_FS=y
CONFIG_9P_FSCACHE=y
CONFIG_9P_FS_POSIX_ACL=y
CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=y
CONFIG_NLS_CODEPAGE_775=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=y
CONFIG_NLS_CODEPAGE_855=y
CONFIG_NLS_CODEPAGE_857=y
CONFIG_NLS_CODEPAGE_860=y
CONFIG_NLS_CODEPAGE_861=y
CONFIG_NLS_CODEPAGE_862=y
CONFIG_NLS_CODEPAGE_863=y
CONFIG_NLS_CODEPAGE_864=y
CONFIG_NLS_CODEPAGE_865=y
CONFIG_NLS_CODEPAGE_866=y
CONFIG_NLS_CODEPAGE_869=y
CONFIG_NLS_CODEPAGE_936=y
CONFIG_NLS_CODEPAGE_950=y
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
CONFIG_NLS_CODEPAGE_874=y
CONFIG_NLS_ISO8859_8=y
CONFIG_NLS_CODEPAGE_1250=y
CONFIG_NLS_CODEPAGE_1251=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_3=y
CONFIG_NLS_ISO8859_4=y
CONFIG_NLS_ISO8859_5=y
CONFIG_NLS_ISO8859_6=y
CONFIG_NLS_ISO8859_7=y
CONFIG_NLS_ISO8859_9=y
CONFIG_NLS_ISO8859_13=y
CONFIG_NLS_ISO8859_14=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=y
CONFIG_NLS_KOI8_U=y
CONFIG_NLS_MAC_ROMAN=y
CONFIG_NLS_MAC_CELTIC=y
CONFIG_NLS_MAC_CENTEURO=y
CONFIG_NLS_MAC_CROATIAN=y
CONFIG_NLS_MAC_CYRILLIC=y
CONFIG_NLS_MAC_GAELIC=y
CONFIG_NLS_MAC_GREEK=y
CONFIG_NLS_MAC_ICELAND=y
CONFIG_NLS_MAC_INUIT=y
CONFIG_NLS_MAC_ROMANIAN=y
CONFIG_NLS_MAC_TURKISH=y
CONFIG_NLS_UTF8=y
CONFIG_NLS_UCS2_UTILS=y
CONFIG_DLM=y
# CONFIG_DLM_DEBUG is not set
CONFIG_UNICODE=y
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
CONFIG_IO_WQ=y
# end of File systems

#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_REQUEST_CACHE=y
CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_BIG_KEYS=y
CONFIG_TRUSTED_KEYS=y
# CONFIG_TRUSTED_KEYS_TPM is not set

#
# No trust source selected!
#
CONFIG_ENCRYPTED_KEYS=y
# CONFIG_USER_DECRYPTED_DATA is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEY_NOTIFICATIONS=y
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_INFINIBAND=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
# CONFIG_INTEL_TXT is not set
CONFIG_LSM_MMAP_MIN_ADDR=65536
CONFIG_HARDENED_USERCOPY=y
CONFIG_FORTIFY_SOURCE=y
# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
# CONFIG_SECURITY_SELINUX_DEBUG is not set
# CONFIG_SECURITY_SMACK is not set
CONFIG_SECURITY_TOMOYO=y
CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=64
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=32
CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER=y
CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING=y
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_LOADPIN is not set
CONFIG_SECURITY_YAMA=y
CONFIG_SECURITY_SAFESETID=y
CONFIG_SECURITY_LOCKDOWN_LSM=y
CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y
CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y
# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set
# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set
CONFIG_SECURITY_LANDLOCK=y
CONFIG_INTEGRITY=y
CONFIG_INTEGRITY_SIGNATURE=y
CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
CONFIG_INTEGRITY_TRUSTED_KEYRING=y
CONFIG_INTEGRITY_AUDIT=y
CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_LSM_RULES=y
CONFIG_IMA_NG_TEMPLATE=y
# CONFIG_IMA_SIG_TEMPLATE is not set
CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng"
# CONFIG_IMA_DEFAULT_HASH_SHA1 is not set
CONFIG_IMA_DEFAULT_HASH_SHA256=y
# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set
# CONFIG_IMA_DEFAULT_HASH_WP512 is not set
CONFIG_IMA_DEFAULT_HASH="sha256"
CONFIG_IMA_WRITE_POLICY=y
CONFIG_IMA_READ_POLICY=y
CONFIG_IMA_APPRAISE=y
# CONFIG_IMA_ARCH_POLICY is not set
# CONFIG_IMA_APPRAISE_BUILD_POLICY is not set
# CONFIG_IMA_APPRAISE_BOOTPARAM is not set
CONFIG_IMA_APPRAISE_MODSIG=y
# CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY is not set
# CONFIG_IMA_BLACKLIST_KEYRING is not set
# CONFIG_IMA_LOAD_X509 is not set
CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y
CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y
# CONFIG_IMA_DISABLE_HTABLE is not set
CONFIG_EVM=y
CONFIG_EVM_ATTR_FSUUID=y
CONFIG_EVM_ADD_XATTRS=y
# CONFIG_EVM_LOAD_X509 is not set
CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_LSM="landlock,lockdown,yama,safesetid,integrity,tomoyo,selinux,bpf"

#
# Kernel hardening options
#

#
# Memory initialization
#
CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
CONFIG_INIT_STACK_NONE=y
# CONFIG_INIT_STACK_ALL_PATTERN is not set
# CONFIG_INIT_STACK_ALL_ZERO is not set
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
# end of Memory initialization

#
# Hardening of kernel data structures
#
CONFIG_LIST_HARDENED=y
CONFIG_BUG_ON_DATA_CORRUPTION=y
# end of Hardening of kernel data structures

CONFIG_RANDSTRUCT_NONE=y
# end of Kernel hardening options
# end of Security options

CONFIG_XOR_BLOCKS=y
CONFIG_ASYNC_CORE=y
CONFIG_ASYNC_MEMCPY=y
CONFIG_ASYNC_XOR=y
CONFIG_ASYNC_PQ=y
CONFIG_ASYNC_RAID6_RECOV=y
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SIG2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_RNG_DEFAULT=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_AKCIPHER=y
CONFIG_CRYPTO_KPP2=y
CONFIG_CRYPTO_KPP=y
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=y
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=y
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_TEST is not set
CONFIG_CRYPTO_SIMD=y
CONFIG_CRYPTO_ENGINE=y
# end of Crypto core or helper

#
# Public-key cryptography
#
CONFIG_CRYPTO_RSA=y
CONFIG_CRYPTO_DH=y
# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set
CONFIG_CRYPTO_ECC=y
CONFIG_CRYPTO_ECDH=y
# CONFIG_CRYPTO_ECDSA is not set
CONFIG_CRYPTO_ECRDSA=y
CONFIG_CRYPTO_SM2=y
CONFIG_CRYPTO_CURVE25519=y
# end of Public-key cryptography

#
# Block ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_TI=y
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_ARIA=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_BLOWFISH_COMMON=y
CONFIG_CRYPTO_CAMELLIA=y
CONFIG_CRYPTO_CAST_COMMON=y
CONFIG_CRYPTO_CAST5=y
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_FCRYPT=y
CONFIG_CRYPTO_KHAZAD=y
CONFIG_CRYPTO_SEED=y
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_SM4=y
CONFIG_CRYPTO_SM4_GENERIC=y
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
# end of Block ciphers

#
# Length-preserving ciphers and modes
#
CONFIG_CRYPTO_ADIANTUM=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_CHACHA20=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_HCTR2=y
CONFIG_CRYPTO_KEYWRAP=y
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_XCTR=y
CONFIG_CRYPTO_XTS=y
CONFIG_CRYPTO_NHPOLY1305=y
# end of Length-preserving ciphers and modes

#
# AEAD (authenticated encryption with associated data) ciphers
#
CONFIG_CRYPTO_AEGIS128=y
CONFIG_CRYPTO_CHACHA20POLY1305=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_GENIV=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ECHAINIV=y
CONFIG_CRYPTO_ESSIV=y
# end of AEAD (authenticated encryption with associated data) ciphers

#
# Hashes, digests, and MACs
#
CONFIG_CRYPTO_BLAKE2B=y
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_POLYVAL=y
CONFIG_CRYPTO_POLY1305=y
CONFIG_CRYPTO_RMD160=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=y
CONFIG_CRYPTO_SM3=y
# CONFIG_CRYPTO_SM3_GENERIC is not set
CONFIG_CRYPTO_STREEBOG=y
CONFIG_CRYPTO_VMAC=y
CONFIG_CRYPTO_WP512=y
CONFIG_CRYPTO_XCBC=y
CONFIG_CRYPTO_XXHASH=y
# end of Hashes, digests, and MACs

#
# CRCs (cyclic redundancy checks)
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=y
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRC64_ROCKSOFT=y
# end of CRCs (cyclic redundancy checks)

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_LZ4=y
CONFIG_CRYPTO_LZ4HC=y
CONFIG_CRYPTO_ZSTD=y
# end of Compression

#
# Random number generation
#
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_CRYPTO_DRBG_MENU=y
CONFIG_CRYPTO_DRBG_HMAC=y
CONFIG_CRYPTO_DRBG_HASH=y
CONFIG_CRYPTO_DRBG_CTR=y
CONFIG_CRYPTO_DRBG=y
CONFIG_CRYPTO_JITTERENTROPY=y
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKS=64
CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32
CONFIG_CRYPTO_JITTERENTROPY_OSR=1
CONFIG_CRYPTO_KDF800108_CTR=y
# end of Random number generation

#
# Userspace interface
#
CONFIG_CRYPTO_USER_API=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_USER_API_SKCIPHER=y
CONFIG_CRYPTO_USER_API_RNG=y
# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
CONFIG_CRYPTO_USER_API_AEAD=y
CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
# CONFIG_CRYPTO_STATS is not set
# end of Userspace interface

CONFIG_CRYPTO_HASH_INFO=y

#
# Accelerated Cryptographic Algorithms for CPU (x86)
#
CONFIG_CRYPTO_CURVE25519_X86=y
CONFIG_CRYPTO_AES_NI_INTEL=y
CONFIG_CRYPTO_BLOWFISH_X86_64=y
CONFIG_CRYPTO_CAMELLIA_X86_64=y
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=y
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=y
CONFIG_CRYPTO_CAST5_AVX_X86_64=y
CONFIG_CRYPTO_CAST6_AVX_X86_64=y
CONFIG_CRYPTO_DES3_EDE_X86_64=y
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=y
CONFIG_CRYPTO_SERPENT_AVX_X86_64=y
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=y
CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64=y
CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64=y
CONFIG_CRYPTO_TWOFISH_X86_64=y
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=y
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=y
CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64=y
# CONFIG_CRYPTO_ARIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_ARIA_GFNI_AVX512_X86_64 is not set
CONFIG_CRYPTO_CHACHA20_X86_64=y
CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=y
CONFIG_CRYPTO_NHPOLY1305_SSE2=y
CONFIG_CRYPTO_NHPOLY1305_AVX2=y
CONFIG_CRYPTO_BLAKE2S_X86=y
CONFIG_CRYPTO_POLYVAL_CLMUL_NI=y
CONFIG_CRYPTO_POLY1305_X86_64=y
CONFIG_CRYPTO_SHA1_SSSE3=y
CONFIG_CRYPTO_SHA256_SSSE3=y
CONFIG_CRYPTO_SHA512_SSSE3=y
CONFIG_CRYPTO_SM3_AVX_X86_64=y
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=y
CONFIG_CRYPTO_CRC32C_INTEL=y
CONFIG_CRYPTO_CRC32_PCLMUL=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=y
# end of Accelerated Cryptographic Algorithms for CPU (x86)

CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=y
CONFIG_CRYPTO_DEV_PADLOCK_AES=y
CONFIG_CRYPTO_DEV_PADLOCK_SHA=y
# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
CONFIG_CRYPTO_DEV_CCP=y
CONFIG_CRYPTO_DEV_CCP_DD=y
# CONFIG_CRYPTO_DEV_SP_CCP is not set
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
CONFIG_CRYPTO_DEV_QAT=y
CONFIG_CRYPTO_DEV_QAT_DH895xCC=y
CONFIG_CRYPTO_DEV_QAT_C3XXX=y
CONFIG_CRYPTO_DEV_QAT_C62X=y
# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
# CONFIG_CRYPTO_DEV_QAT_420XX is not set
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=y
CONFIG_CRYPTO_DEV_QAT_C3XXXVF=y
CONFIG_CRYPTO_DEV_QAT_C62XVF=y
# CONFIG_CRYPTO_DEV_QAT_ERROR_INJECTION is not set
CONFIG_CRYPTO_DEV_VIRTIO=y
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_CCREE is not set
# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_PKCS8_PRIVATE_KEY_PARSER=y
CONFIG_PKCS7_MESSAGE_PARSER=y
CONFIG_PKCS7_TEST_KEY=y
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
# CONFIG_FIPS_SIGNATURE_SELFTEST is not set

#
# Certificates for signature checking
#
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
CONFIG_SECONDARY_TRUSTED_KEYRING=y
# CONFIG_SECONDARY_TRUSTED_KEYRING_SIGNED_BY_BUILTIN is not set
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
# end of Certificates for signature checking

CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=y
# CONFIG_RAID6_PQ_BENCHMARK is not set
CONFIG_LINEAR_RANGES=y
# CONFIG_PACKING is not set
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
# CONFIG_CORDIC is not set
# CONFIG_PRIME_NUMBERS is not set
CONFIG_RATIONAL=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_ARCH_USE_SYM_ANNOTATIONS=y

#
# Crypto library routines
#
CONFIG_CRYPTO_LIB_UTILS=y
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_ARC4=y
CONFIG_CRYPTO_LIB_GF128MUL=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y
CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y
CONFIG_CRYPTO_LIB_CHACHA=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=y
CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=y
CONFIG_CRYPTO_LIB_CURVE25519=y
CONFIG_CRYPTO_LIB_DES=y
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=y
CONFIG_CRYPTO_LIB_POLY1305_GENERIC=y
CONFIG_CRYPTO_LIB_POLY1305=y
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=y
CONFIG_CRYPTO_LIB_SHA1=y
CONFIG_CRYPTO_LIB_SHA256=y
# end of Crypto library routines

CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC64_ROCKSOFT=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
CONFIG_CRC64=y
CONFIG_CRC4=y
CONFIG_CRC7=y
CONFIG_LIBCRC32C=y
CONFIG_CRC8=y
CONFIG_XXHASH=y
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_842_COMPRESS=y
CONFIG_842_DECOMPRESS=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_COMPRESS=y
CONFIG_LZ4HC_COMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMMON=y
CONFIG_ZSTD_COMPRESS=y
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
# CONFIG_XZ_DEC_MICROLZMA is not set
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=y
CONFIG_REED_SOLOMON_DEC8=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=y
CONFIG_TEXTSEARCH_BM=y
CONFIG_TEXTSEARCH_FSM=y
CONFIG_INTERVAL_TREE=y
CONFIG_INTERVAL_TREE_SPAN_ITER=y
CONFIG_XARRAY_MULTI=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_CLOSURES=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS=y
CONFIG_NEED_SG_DMA_FLAGS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DMA_DECLARE_COHERENT=y
CONFIG_SWIOTLB=y
# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_DMA_RESTRICTED_POOL is not set
CONFIG_DMA_CMA=y
# CONFIG_DMA_NUMA_CMA is not set

#
# Default contiguous memory area size:
#
CONFIG_CMA_SIZE_MBYTES=0
CONFIG_CMA_SIZE_SEL_MBYTES=y
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
# CONFIG_CMA_SIZE_SEL_MIN is not set
# CONFIG_CMA_SIZE_SEL_MAX is not set
CONFIG_CMA_ALIGNMENT=8
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
CONFIG_SGL_ALLOC=y
CONFIG_CHECK_SIGNATURE=y
# CONFIG_CPUMASK_OFFSTACK is not set
# CONFIG_FORCE_NR_CPUS is not set
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_GLOB=y
# CONFIG_GLOB_SELFTEST is not set
CONFIG_NLATTR=y
CONFIG_CLZ_TAB=y
CONFIG_IRQ_POLL=y
CONFIG_MPILIB=y
CONFIG_SIGNATURE=y
CONFIG_DIMLIB=y
CONFIG_LIBFDT=y
CONFIG_OID_REGISTRY=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_TIME_NS=y
CONFIG_FONT_SUPPORT=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_MEMREGION=y
CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_ARCH_HAS_COPY_MC=y
CONFIG_ARCH_STACKWALK=y
CONFIG_STACKDEPOT=y
CONFIG_STACKDEPOT_ALWAYS_INIT=y
CONFIG_STACKDEPOT_MAX_FRAMES=64
CONFIG_REF_TRACKER=y
CONFIG_SBITMAP=y
# CONFIG_LWQ_TEST is not set
# end of Library routines

CONFIG_FIRMWARE_TABLE=y

#
# Kernel hacking
#

#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
CONFIG_PRINTK_CALLER=y
# CONFIG_STACKTRACE_BUILD_ID is not set
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_BOOT_PRINTK_DELAY is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_DEBUG_CORE=y
CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_DEBUG_BUGVERBOSE=y
# end of printk and dmesg options

CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_MISC=y

#
# Compile-time checks and compiler options
#
CONFIG_DEBUG_INFO=y
CONFIG_AS_HAS_NON_CONST_ULEB128=y
# CONFIG_DEBUG_INFO_NONE is not set
# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
CONFIG_DEBUG_INFO_DWARF4=y
# CONFIG_DEBUG_INFO_DWARF5 is not set
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_DEBUG_INFO_COMPRESSED_NONE=y
# CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set
# CONFIG_DEBUG_INFO_SPLIT is not set
# CONFIG_DEBUG_INFO_BTF is not set
CONFIG_PAHOLE_HAS_SPLIT_BTF=y
CONFIG_GDB_SCRIPTS=y
CONFIG_FRAME_WARN=2048
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_HEADERS_INSTALL is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set
CONFIG_OBJTOOL=y
CONFIG_NOINSTR_VALIDATION=y
# CONFIG_VMLINUX_MAP is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# end of Compile-time checks and compiler options

#
# Generic Kernel Debugging Instruments
#
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_ARCH_HAS_UBSAN=y
CONFIG_UBSAN=y
# CONFIG_UBSAN_TRAP is not set
CONFIG_CC_HAS_UBSAN_ARRAY_BOUNDS=y
CONFIG_UBSAN_BOUNDS=y
CONFIG_UBSAN_ARRAY_BOUNDS=y
CONFIG_UBSAN_SHIFT=y
CONFIG_UBSAN_SIGNED_WRAP=y
# CONFIG_UBSAN_BOOL is not set
# CONFIG_UBSAN_ENUM is not set
# CONFIG_UBSAN_ALIGNMENT is not set
# CONFIG_TEST_UBSAN is not set
CONFIG_HAVE_ARCH_KCSAN=y
CONFIG_HAVE_KCSAN_COMPILER=y
# end of Generic Kernel Debugging Instruments

#
# Networking Debugging
#
CONFIG_NET_DEV_REFCNT_TRACKER=y
CONFIG_NET_NS_REFCNT_TRACKER=y
CONFIG_DEBUG_NET=y
# end of Networking Debugging

#
# Memory Debugging
#
CONFIG_PAGE_EXTENSION=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_SLUB_DEBUG=y
# CONFIG_SLUB_DEBUG_ON is not set
CONFIG_PAGE_OWNER=y
CONFIG_PAGE_TABLE_CHECK=y
CONFIG_PAGE_TABLE_CHECK_ENFORCED=y
CONFIG_PAGE_POISONING=y
# CONFIG_DEBUG_PAGE_REF is not set
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_ARCH_HAS_DEBUG_WX=y
CONFIG_DEBUG_WX=y
CONFIG_GENERIC_PTDUMP=y
CONFIG_PTDUMP_CORE=y
CONFIG_PTDUMP_DEBUGFS=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_PER_VMA_LOCK_STATS is not set
CONFIG_DEBUG_OBJECTS=y
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
CONFIG_DEBUG_OBJECTS_FREE=y
CONFIG_DEBUG_OBJECTS_TIMERS=y
CONFIG_DEBUG_OBJECTS_WORK=y
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_SHRINKER_DEBUG is not set
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_SCHED_STACK_END_CHECK=y
CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
CONFIG_DEBUG_VM_IRQSOFF=y
CONFIG_DEBUG_VM=y
CONFIG_DEBUG_VM_MAPLE_TREE=y
CONFIG_DEBUG_VM_RB=y
CONFIG_DEBUG_VM_PGFLAGS=y
CONFIG_DEBUG_VM_PGTABLE=y
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
CONFIG_DEBUG_VIRTUAL=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_DEBUG_KMAP_LOCAL=y
CONFIG_ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP=y
CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP=y
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_KASAN_SW_TAGS=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
CONFIG_KASAN=y
CONFIG_KASAN_GENERIC=y
# CONFIG_KASAN_OUTLINE is not set
CONFIG_KASAN_INLINE=y
CONFIG_KASAN_STACK=y
CONFIG_KASAN_VMALLOC=y
# CONFIG_KASAN_MODULE_TEST is not set
# CONFIG_KASAN_EXTRA_INFO is not set
CONFIG_HAVE_ARCH_KFENCE=y
CONFIG_KFENCE=y
CONFIG_KFENCE_SAMPLE_INTERVAL=100
CONFIG_KFENCE_NUM_OBJECTS=255
# CONFIG_KFENCE_DEFERRABLE is not set
CONFIG_KFENCE_STATIC_KEYS=y
CONFIG_KFENCE_STRESS_TEST_FAULTS=0
CONFIG_HAVE_ARCH_KMSAN=y
CONFIG_HAVE_KMSAN_COMPILER=y
# end of Memory Debugging

# CONFIG_DEBUG_SHIRQ is not set

#
# Debug Oops, Lockups and Hangs
#
CONFIG_PANIC_ON_OOPS=y
CONFIG_PANIC_ON_OOPS_VALUE=1
CONFIG_PANIC_TIMEOUT=86400
CONFIG_LOCKUP_DETECTOR=y
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_HARDLOCKUP_DETECTOR_PREFER_BUDDY is not set
CONFIG_HARDLOCKUP_DETECTOR_PERF=y
# CONFIG_HARDLOCKUP_DETECTOR_BUDDY is not set
# CONFIG_HARDLOCKUP_DETECTOR_ARCH is not set
CONFIG_HARDLOCKUP_DETECTOR_COUNTS_HRTIMER=y
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=140
CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
CONFIG_WQ_WATCHDOG=y
# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set
# CONFIG_TEST_LOCKUP is not set
# end of Debug Oops, Lockups and Hangs

#
# Scheduler Debugging
#
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
# end of Scheduler Debugging

CONFIG_DEBUG_TIMEKEEPING=y
CONFIG_DEBUG_PREEMPT=y

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RAW_LOCK_NESTING is not set
# CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
CONFIG_DEBUG_RWSEMS=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_LOCKDEP=y
CONFIG_LOCKDEP_BITS=17
CONFIG_LOCKDEP_CHAINS_BITS=18
CONFIG_LOCKDEP_STACK_TRACE_BITS=20
CONFIG_LOCKDEP_STACK_TRACE_HASH_BITS=14
CONFIG_LOCKDEP_CIRCULAR_QUEUE_BITS=12
# CONFIG_DEBUG_LOCKDEP is not set
CONFIG_DEBUG_ATOMIC_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_LOCK_TORTURE_TEST is not set
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_SCF_TORTURE_TEST is not set
CONFIG_CSD_LOCK_WAIT_DEBUG=y
# CONFIG_CSD_LOCK_WAIT_DEBUG_DEFAULT is not set
# end of Lock Debugging (spinlocks, mutexes, etc...)

CONFIG_TRACE_IRQFLAGS=y
CONFIG_TRACE_IRQFLAGS_NMI=y
CONFIG_NMI_CHECK_CPU=y
CONFIG_DEBUG_IRQFLAGS=y
CONFIG_STACKTRACE=y
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_KOBJECT_RELEASE is not set

#
# Debug kernel data structures
#
CONFIG_DEBUG_LIST=y
CONFIG_DEBUG_PLIST=y
CONFIG_DEBUG_SG=y
CONFIG_DEBUG_NOTIFIERS=y
# CONFIG_DEBUG_CLOSURES is not set
CONFIG_DEBUG_MAPLE_TREE=y
# end of Debug kernel data structures

#
# RCU Debugging
#
CONFIG_PROVE_RCU=y
# CONFIG_RCU_SCALE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=100
CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=21000
# CONFIG_RCU_CPU_STALL_CPUTIME is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_EQS_DEBUG=y
# end of RCU Debugging

# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_LATENCYTOP is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_RETHOOK=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_OBJTOOL_MCOUNT=y
CONFIG_HAVE_OBJTOOL_NOP_MCOUNT=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_PREEMPTIRQ_TRACEPOINTS=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_BOOTTIME_TRACING is not set
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_STACK_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_HWLAT_TRACER is not set
# CONFIG_OSNOISE_TRACER is not set
# CONFIG_TIMERLAT_TRACER is not set
# CONFIG_MMIOTRACE is not set
# CONFIG_FTRACE_SYSCALLS is not set
# CONFIG_TRACER_SNAPSHOT is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y
# CONFIG_SYNTH_EVENTS is not set
# CONFIG_USER_EVENTS is not set
# CONFIG_HIST_TRIGGERS is not set
CONFIG_TRACE_EVENT_INJECT=y
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_TRACE_EVAL_MAP_FILE is not set
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS=y
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
# CONFIG_RV is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
# CONFIG_SAMPLES is not set
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
# CONFIG_STRICT_DEVMEM is not set

#
# x86 Debugging
#
CONFIG_EARLY_PRINTK_USB=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
# CONFIG_EARLY_PRINTK_USB_XDBC is not set
# CONFIG_DEBUG_TLBFLUSH is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
CONFIG_DEBUG_ENTRY=y
# CONFIG_DEBUG_NMI_SELFTEST is not set
CONFIG_X86_DEBUG_FPU=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_UNWINDER_ORC=y
# CONFIG_UNWINDER_FRAME_POINTER is not set
# end of x86 Debugging

#
# Kernel Testing and Coverage
#
# CONFIG_KUNIT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
CONFIG_FAULT_INJECTION=y
CONFIG_FAILSLAB=y
CONFIG_FAIL_PAGE_ALLOC=y
CONFIG_FAULT_INJECTION_USERCOPY=y
CONFIG_FAIL_MAKE_REQUEST=y
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_FUTEX=y
CONFIG_FAULT_INJECTION_DEBUG_FS=y
# CONFIG_FAIL_MMC_REQUEST is not set
CONFIG_FAULT_INJECTION_CONFIGFS=y
# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
CONFIG_ARCH_HAS_KCOV=y
CONFIG_CC_HAS_SANCOV_TRACE_PC=y
CONFIG_KCOV=y
CONFIG_KCOV_ENABLE_COMPARISONS=y
CONFIG_KCOV_INSTRUMENT_ALL=y
CONFIG_KCOV_IRQ_AREA_SIZE=0x40000
CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_TEST_DHRY is not set
# CONFIG_LKDTM is not set
# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_DIV64 is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_TEST_REF_TRACKER is not set
# CONFIG_RBTREE_TEST is not set
# CONFIG_REED_SOLOMON_TEST is not set
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_PERCPU_TEST is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_TEST_HEXDUMP is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_SCANF is not set
# CONFIG_TEST_BITMAP is not set
# CONFIG_TEST_UUID is not set
# CONFIG_TEST_XARRAY is not set
# CONFIG_TEST_MAPLE_TREE is not set
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_TEST_IDA is not set
# CONFIG_TEST_LKM is not set
# CONFIG_TEST_BITOPS is not set
# CONFIG_TEST_VMALLOC is not set
# CONFIG_TEST_USER_COPY is not set
# CONFIG_TEST_BPF is not set
# CONFIG_TEST_BLACKHOLE_DEV is not set
# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_TEST_FIRMWARE is not set
# CONFIG_TEST_SYSCTL is not set
# CONFIG_TEST_UDELAY is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_DYNAMIC_DEBUG is not set
# CONFIG_TEST_KMOD is not set
# CONFIG_TEST_DEBUG_VIRTUAL is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
# CONFIG_TEST_HMM is not set
# CONFIG_TEST_FREE_PAGES is not set
# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set
# CONFIG_TEST_OBJPOOL is not set
CONFIG_ARCH_USE_MEMTEST=y
# CONFIG_MEMTEST is not set
# end of Kernel Testing and Coverage

#
# Rust hacking
#
# end of Rust hacking
# end of Kernel hacking

^ permalink raw reply	[relevance 2%]

* [bug report] drm/amdkfd: mark GFX12 system and peer GPU memory mappings as MTYPE_NC
@ 2024-05-04 19:35 64% Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-04 19:35 UTC (permalink / raw)
  To: sreekant.somasekharan; +Cc: amd-gfx

Hello Sreekant Somasekharan,

This is a semi-automatic email about new static checker warnings.

Commit 628e1ace2379 ("drm/amdkfd: mark GFX12 system and peer GPU
memory mappings as MTYPE_NC") from Mar 26, 2024, leads to the
following Smatch complaint:

    drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c:518 gmc_v12_0_get_vm_pte()
    warn: variable dereferenced before check 'bo' (see line 500)

drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
   499		struct amdgpu_bo *bo = mapping->bo_va->base.bo;
   500		struct amdgpu_device *bo_adev = amdgpu_ttm_adev(bo->tbo.bdev);
                                                                ^^^^
   501		bool coherent = bo->flags & AMDGPU_GEM_CREATE_COHERENT;
                                ^^^^^^^^^
   502		bool is_system = bo->tbo.resource->mem_type == TTM_PL_SYSTEM;
                                 ^^^^^^^
The patch adds unchecked dereferences.

   503	
   504	
   505		*flags &= ~AMDGPU_PTE_EXECUTABLE;
   506		*flags |= mapping->flags & AMDGPU_PTE_EXECUTABLE;
   507	
   508		*flags &= ~AMDGPU_PTE_MTYPE_GFX12_MASK;
   509		*flags |= (mapping->flags & AMDGPU_PTE_MTYPE_GFX12_MASK);
   510	
   511		if (mapping->flags & AMDGPU_PTE_PRT_GFX12) {
   512			*flags |= AMDGPU_PTE_PRT_GFX12;
   513			*flags |= AMDGPU_PTE_SNOOPED;
   514			*flags |= AMDGPU_PTE_SYSTEM;
   515			*flags &= ~AMDGPU_PTE_VALID;
   516		}
   517	
   518		if (bo && bo->flags & (AMDGPU_GEM_CREATE_COHERENT |
                    ^^
But previously we assumed bo could be NULL.

   519				       AMDGPU_GEM_CREATE_UNCACHED))
   520			*flags = (*flags & ~AMDGPU_PTE_MTYPE_GFX12_MASK) |

regards,
dan carpenter

^ permalink raw reply	[relevance 64%]

* [bug report] drm/amd/display: Do cursor programming with rest of pipe
@ 2024-05-03 15:11 58% Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-03 15:11 UTC (permalink / raw)
  To: harry.wentland; +Cc: amd-gfx

Hello Harry Wentland,

Commit 66eba12a5482 ("drm/amd/display: Do cursor programming with
rest of pipe") from Mar 15, 2024 (linux-next), leads to the following
Smatch static checker warning:

	drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:8433 amdgpu_dm_update_cursor()
	error: we previously assumed 'afb' could be null (see line 8388)

drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c
    8379 static void amdgpu_dm_update_cursor(struct drm_plane *plane,
    8380                                     struct drm_plane_state *old_plane_state,
    8381                                     struct dc_stream_update *update)
    8382 {
    8383         struct amdgpu_device *adev = drm_to_adev(plane->dev);
    8384         struct amdgpu_framebuffer *afb = to_amdgpu_framebuffer(plane->state->fb);
    8385         struct drm_crtc *crtc = afb ? plane->state->crtc : old_plane_state->crtc;
                                         ^^^^^

    8386         struct dm_crtc_state *crtc_state = crtc ? to_dm_crtc_state(crtc->state) : NULL;
    8387         struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc);
    8388         uint64_t address = afb ? afb->address : 0;
                                    ^^^^^
Checks for NULL

    8389         struct dc_cursor_position position = {0};
    8390         struct dc_cursor_attributes attributes;
    8391         int ret;
    8392 
    8393         if (!plane->state->fb && !old_plane_state->fb)
    8394                 return;
    8395 
    8396         drm_dbg_atomic(plane->dev, "crtc_id=%d with size %d to %d\n",
    8397                        amdgpu_crtc->crtc_id, plane->state->crtc_w,
    8398                        plane->state->crtc_h);
    8399 
    8400         ret = amdgpu_dm_plane_get_cursor_position(plane, crtc, &position);
    8401         if (ret)
    8402                 return;
    8403 
    8404         if (!position.enable) {
    8405                 /* turn off cursor */
    8406                 if (crtc_state && crtc_state->stream) {
    8407                         dc_stream_set_cursor_position(crtc_state->stream,
    8408                                                       &position);
    8409                         update->cursor_position = &crtc_state->stream->cursor_position;
    8410                 }
    8411                 return;
    8412         }
    8413 
    8414         amdgpu_crtc->cursor_width = plane->state->crtc_w;
    8415         amdgpu_crtc->cursor_height = plane->state->crtc_h;
    8416 
    8417         memset(&attributes, 0, sizeof(attributes));
    8418         attributes.address.high_part = upper_32_bits(address);
    8419         attributes.address.low_part  = lower_32_bits(address);
    8420         attributes.width             = plane->state->crtc_w;
    8421         attributes.height            = plane->state->crtc_h;
    8422         attributes.color_format      = CURSOR_MODE_COLOR_PRE_MULTIPLIED_ALPHA;
    8423         attributes.rotation_angle    = 0;
    8424         attributes.attribute_flags.value = 0;
    8425 
    8426         /* Enable cursor degamma ROM on DCN3+ for implicit sRGB degamma in DRM
    8427          * legacy gamma setup.
    8428          */
    8429         if (crtc_state->cm_is_degamma_srgb &&
    8430             adev->dm.dc->caps.color.dpp.gamma_corr)
    8431                 attributes.attribute_flags.bits.ENABLE_CURSOR_DEGAMMA = 1;
    8432 
--> 8433         attributes.pitch = afb->base.pitches[0] / afb->base.format->cpp[0];
                                    ^^^^^                  ^^^^^
Unchecked dereferences

    8434 
    8435         if (crtc_state->stream) {
    8436                 if (!dc_stream_set_cursor_attributes(crtc_state->stream,
    8437                                                      &attributes))
    8438                         DRM_ERROR("DC failed to set cursor attributes\n");
    8439 
    8440                 update->cursor_attributes = &crtc_state->stream->cursor_attributes;
    8441 
    8442                 if (!dc_stream_set_cursor_position(crtc_state->stream,
    8443                                                    &position))
    8444                         DRM_ERROR("DC failed to set cursor position\n");
    8445 
    8446                 update->cursor_position = &crtc_state->stream->cursor_position;
    8447         }
    8448 }

regards,
dan carpenter

^ permalink raw reply	[relevance 58%]

* [bug report] drm/amdgpu: Add sdma v7_0 ip block support (v7)
@ 2024-05-03 15:10 64% Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-03 15:10 UTC (permalink / raw)
  To: Likun.Gao; +Cc: amd-gfx

Hello Likun Gao,

Commit b412351e91bd ("drm/amdgpu: Add sdma v7_0 ip block support
(v7)") from Jul 4, 2023 (linux-next), leads to the following Smatch
static checker warning:

	drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c:171 sdma_v7_0_ring_set_wptr()
	warn: duplicate check '*is_queue_unmap' (previous on line 161)

drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c
    140 static void sdma_v7_0_ring_set_wptr(struct amdgpu_ring *ring)
    141 {
    142         struct amdgpu_device *adev = ring->adev;
    143         uint32_t *wptr_saved;
    144         uint32_t *is_queue_unmap;
    145         uint64_t aggregated_db_index;
    146         uint32_t mqd_size = adev->mqds[AMDGPU_HW_IP_DMA].mqd_size;
    147 
    148         DRM_DEBUG("Setting write pointer\n");
    149 
    150         if (ring->is_mes_queue) {
    151                 wptr_saved = (uint32_t *)(ring->mqd_ptr + mqd_size);
    152                 is_queue_unmap = (uint32_t *)(ring->mqd_ptr + mqd_size +
                        ^^^^^^^^^^^^^^^^
Set here

    153                                               sizeof(uint32_t));
    154                 aggregated_db_index =
    155                         amdgpu_mes_get_aggregated_doorbell_index(adev,
    156                                                          ring->hw_prio);
    157 
    158                 atomic64_set((atomic64_t *)ring->wptr_cpu_addr,
    159                              ring->wptr << 2);
    160                 *wptr_saved = ring->wptr << 2;
    161                 if (*is_queue_unmap) {
                            ^^^^^^^^^^^^^^^
Checked here

    162                         WDOORBELL64(aggregated_db_index, ring->wptr << 2);
    163                         DRM_DEBUG("calling WDOORBELL64(0x%08x, 0x%016llx)\n",
    164                                         ring->doorbell_index, ring->wptr << 2);
    165                         WDOORBELL64(ring->doorbell_index, ring->wptr << 2);
    166                 } else {
    167                         DRM_DEBUG("calling WDOORBELL64(0x%08x, 0x%016llx)\n",
    168                                         ring->doorbell_index, ring->wptr << 2);
    169                         WDOORBELL64(ring->doorbell_index, ring->wptr << 2);
    170 
--> 171                         if (*is_queue_unmap)
                                    ^^^^^^^^^^^^^^^
This is dead code.  We know it's false.

    172                                 WDOORBELL64(aggregated_db_index,
    173                                             ring->wptr << 2);
    174                 }
    175         } else {
    176                 if (ring->use_doorbell) {
    177                         DRM_DEBUG("Using doorbell -- "
    178                                   "wptr_offs == 0x%08x "

regards,
dan carpenter

^ permalink raw reply	[relevance 64%]

* [bug report] drm/amd/display: Separate setting and programming of cursor
@ 2024-05-03 15:11 64% Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-03 15:11 UTC (permalink / raw)
  To: harry.wentland; +Cc: amd-gfx

Hello Harry Wentland,

Commit f63f86b5affc ("drm/amd/display: Separate setting and
programming of cursor") from Mar 15, 2024 (linux-next), leads to the
following Smatch static checker warning:

	drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_stream.c:398 dc_stream_program_cursor_position()
	error: we previously assumed 'stream' could be null (see line 397)

drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_stream.c
    389 bool dc_stream_program_cursor_position(
    390         struct dc_stream_state *stream,
    391         const struct dc_cursor_position *position)
    392 {
    393         struct dc *dc;
    394         bool reset_idle_optimizations = false;
    395         const struct dc_cursor_position *old_position;
    396 
    397         old_position = stream ? &stream->cursor_position : NULL;
                               ^^^^^^^^
The patch adds a NULL check

--> 398         dc = stream->ctx->dc;
                     ^^^^^^^^
The old code didn't check

    399 
    400         if (dc_stream_set_cursor_position(stream, position)) {
    401                 dc_z10_restore(dc);
    402 
    403                 /* disable idle optimizations if enabling cursor */
    404                 if (dc->idle_optimizations_allowed &&
    405                     (!old_position->enable || dc->debug.exit_idle_opt_for_cursor_updates) &&
    406                     position->enable) {
    407                         dc_allow_idle_optimizations(dc, false);

regards,
dan carpenter

^ permalink raw reply	[relevance 64%]

* Re: [PATCH RESEND] virtio-net: fix bug 1451 aka "assert(!virtio_net_get_subqueue(nc)->async_tx.elem); "
  @ 2024-05-06  9:20 64% ` Jason Wang
  0 siblings, 0 replies; 200+ results
From: Jason Wang @ 2024-05-06  9:20 UTC (permalink / raw)
  To: Alexey Dobriyan; +Cc: qemu-devel, adobriyan, mst, vsementsov

On Tue, Apr 30, 2024 at 6:54 PM Alexey Dobriyan
<adobriyan@yandex-team.ru> wrote:
>
> Reproducer from https://gitlab.com/qemu-project/qemu/-/issues/1451
> creates small packet (1 segment, len = 10 == n->guest_hdr_len),
> then destroys queue.
>
> "if (n->host_hdr_len != n->guest_hdr_len)" is triggered, if body creates
> zero length/zero segment packet as there is nothing after guest header.
>
> qemu_sendv_packet_async() tries to send it.
>
> slirp discards it because it is smaller than Ethernet header,
> but returns 0 because tx hooks are supposed to return total length of data.
>
> 0 is propagated upwards and is interpreted as "packet has been sent"
> which is terrible because queue is being destroyed, nobody is waiting for TX
> to complete and assert it triggered.
>
> Fix is discard such empty packets instead of sending them.
>
> Length 1 packets will go via different codepath:
>
>         virtqueue_push(q->tx_vq, elem, 0);
>         virtio_notify(vdev, q->tx_vq);
>         g_free(elem);
>
> and aren't problematic.
>
> Signed-off-by: Alexey Dobriyan <adobriyan@yandex-team.ru>
> ---
>
>         hopefully better changelog.
>         use "if (out_num < 1)" so that discard doesn't calculate iov length
>
>  hw/net/virtio-net.c | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
>

I tweak the title to "drop too short packets early".

And queued.

Thanks



^ permalink raw reply	[relevance 64%]

* [syzbot] [mm?] kernel BUG in __vma_reservation_common
@ 2024-05-06  9:18 48% syzbot
  0 siblings, 0 replies; 200+ results
From: syzbot @ 2024-05-06  9:18 UTC (permalink / raw)
  To: akpm, linux-kernel, linux-mm, muchun.song, netdev, syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    8953285d7bd6 rxrpc: Clients must accept conn from any addr..
git tree:       net
console output: https://syzkaller.appspot.com/x/log.txt?x=1347a228980000
kernel config:  https://syzkaller.appspot.com/x/.config?x=98d5a8e00ed1044a
dashboard link: https://syzkaller.appspot.com/bug?extid=d3fe2dc5ffe9380b714b
compiler:       Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/5b9c540d7f6b/disk-8953285d.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/831b091085cc/vmlinux-8953285d.xz
kernel image: https://storage.googleapis.com/syzbot-assets/97a6dd56102c/bzImage-8953285d.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+d3fe2dc5ffe9380b714b@syzkaller.appspotmail.com

 </TASK>
------------[ cut here ]------------
kernel BUG at mm/hugetlb.c:813!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
CPU: 1 PID: 9895 Comm: syz-executor.3 Not tainted 6.9.0-rc5-syzkaller-00192-g8953285d7bd6 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
RIP: 0010:region_abort mm/hugetlb.c:813 [inline]
RIP: 0010:__vma_reservation_common+0x795/0x7d0 mm/hugetlb.c:2856
Code: f1 f2 89 09 e8 0c e6 9f ff 90 0f 0b e8 04 e6 9f ff 90 0f 0b e8 fc e5 9f ff 90 0f 0b e8 f4 e5 9f ff 90 0f 0b e8 ec e5 9f ff 90 <0f> 0b e8 e4 e5 9f ff 90 0f 0b e8 dc e5 9f ff 90 0f 0b e8 d4 e5 9f
RSP: 0018:ffffc90009c17240 EFLAGS: 00010293
RAX: ffffffff81f61a14 RBX: 0000000000000000 RCX: ffff88806eaf1e00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90009c17310 R08: ffffffff81f61526 R09: fffff52001382e38
R10: dffffc0000000000 R11: fffff52001382e38 R12: 0000000000000000
R13: dffffc0000000000 R14: ffff888064f61408 R15: ffff888064f61400
FS:  00007fba641616c0(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055558b067788 CR3: 00000000762e8000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 vma_add_reservation mm/hugetlb.c:2919 [inline]
 __unmap_hugepage_range+0x1257/0x2340 mm/hugetlb.c:5791
 unmap_vmas+0x3cc/0x5f0 mm/memory.c:1883
 unmap_region+0x1ec/0x350 mm/mmap.c:2310
 do_vmi_align_munmap+0x11bf/0x1930 mm/mmap.c:2628
 do_vmi_munmap+0x24e/0x2d0 mm/mmap.c:2696
 mmap_region+0x6af/0x1e50 mm/mmap.c:2747
 do_mmap+0x7af/0xe60 mm/mmap.c:1385
 vm_mmap_pgoff+0x1e3/0x420 mm/util.c:573
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fba6347dea9
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fba641610c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000009
RAX: ffffffffffffffda RBX: 00007fba635abf80 RCX: 00007fba6347dea9
RDX: 0000000000000000 RSI: 00000000001fffff RDI: 0000000020000000
RBP: 00007fba64161120 R08: ffffffffffffffff R09: 0000000000000000
R10: 0000000000028031 R11: 0000000000000246 R12: 0000000000000001
R13: 000000000000000b R14: 00007fba635abf80 R15: 00007ffc5b82e2c8
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:region_abort mm/hugetlb.c:813 [inline]
RIP: 0010:__vma_reservation_common+0x795/0x7d0 mm/hugetlb.c:2856
Code: f1 f2 89 09 e8 0c e6 9f ff 90 0f 0b e8 04 e6 9f ff 90 0f 0b e8 fc e5 9f ff 90 0f 0b e8 f4 e5 9f ff 90 0f 0b e8 ec e5 9f ff 90 <0f> 0b e8 e4 e5 9f ff 90 0f 0b e8 dc e5 9f ff 90 0f 0b e8 d4 e5 9f
RSP: 0018:ffffc90009c17240 EFLAGS: 00010293
RAX: ffffffff81f61a14 RBX: 0000000000000000 RCX: ffff88806eaf1e00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90009c17310 R08: ffffffff81f61526 R09: fffff52001382e38
R10: dffffc0000000000 R11: fffff52001382e38 R12: 0000000000000000
R13: dffffc0000000000 R14: ffff888064f61408 R15: ffff888064f61400
FS:  00007fba641616c0(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055558b067788 CR3: 00000000762e8000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

^ permalink raw reply	[relevance 48%]

* [DPDK/core Bug 1436] DPDK20.11.9 runs failure on intel atom cpu
  2024-05-06  1:23 62% [DPDK/core Bug 1436] DPDK20.11.9 runs failure on intel atom cpu bugzilla
@ 2024-05-06  8:38 64% ` bugzilla
  2024-05-07  9:17 64% ` bugzilla
  1 sibling, 0 replies; 200+ results
From: bugzilla @ 2024-05-06  8:38 UTC (permalink / raw)
  To: dev

[-- Attachment #1: Type: text/plain, Size: 607 bytes --]

https://bugs.dpdk.org/show_bug.cgi?id=1436

Luca Boccassi (luca.boccassi@gmail.com) changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |luca.boccassi@gmail.com
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |WONTFIX

--- Comment #2 from Luca Boccassi (luca.boccassi@gmail.com) ---
20.11 is EOL as per dpdk.org, closing

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #2: Type: text/html, Size: 2732 bytes --]

^ permalink raw reply	[relevance 64%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
  2024-05-06  7:29 64%     ` Maxime Ripard
@ 2024-05-06  7:35 64%       ` Laurent Pinchart
  -1 siblings, 0 replies; 200+ results
From: Laurent Pinchart @ 2024-05-06  7:35 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Sean Anderson, Tomi Valkeinen, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Michal Simek,
	dri-devel, linux-arm-kernel, linux-kernel

On Mon, May 06, 2024 at 09:29:36AM +0200, Maxime Ripard wrote:
> Hi Laurent, Sean,
> 
> On Sat, May 04, 2024 at 03:21:18PM GMT, Laurent Pinchart wrote:
> > On Fri, May 03, 2024 at 05:54:32PM -0400, Sean Anderson wrote:
> > > I have discovered a bug in the displayport driver on drm-misc-next. To
> > > trigger it, run
> > > 
> > > echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
> > > 
> > > The system will become unresponsive and (after a bit) splat with a hard
> > > LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
> > > zynqmp_dp_bridge_detect.
> > > 
> > > I believe the issue is due the registers being unmapped and the block
> > > put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release.
> > 
> > That is on purpose. Drivers are not allowed to access the device at all
> > after .remove() returns.
> 
> It's not "on purpose" no. Drivers indeed are not allowed to access the
> device after remove, but the kernel shouldn't crash. This is exactly
> why we have drm_dev_enter / drm_dev_exit.

I didn't mean the crash was on purpose :-) It's the registers being
unmapped that is, as nothing should touch those registers after
.remove() returns.

-- 
Regards,

Laurent Pinchart

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[relevance 64%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
@ 2024-05-06  7:35 64%       ` Laurent Pinchart
  0 siblings, 0 replies; 200+ results
From: Laurent Pinchart @ 2024-05-06  7:35 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Sean Anderson, Tomi Valkeinen, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Michal Simek,
	dri-devel, linux-arm-kernel, linux-kernel

On Mon, May 06, 2024 at 09:29:36AM +0200, Maxime Ripard wrote:
> Hi Laurent, Sean,
> 
> On Sat, May 04, 2024 at 03:21:18PM GMT, Laurent Pinchart wrote:
> > On Fri, May 03, 2024 at 05:54:32PM -0400, Sean Anderson wrote:
> > > I have discovered a bug in the displayport driver on drm-misc-next. To
> > > trigger it, run
> > > 
> > > echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
> > > 
> > > The system will become unresponsive and (after a bit) splat with a hard
> > > LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
> > > zynqmp_dp_bridge_detect.
> > > 
> > > I believe the issue is due the registers being unmapped and the block
> > > put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release.
> > 
> > That is on purpose. Drivers are not allowed to access the device at all
> > after .remove() returns.
> 
> It's not "on purpose" no. Drivers indeed are not allowed to access the
> device after remove, but the kernel shouldn't crash. This is exactly
> why we have drm_dev_enter / drm_dev_exit.

I didn't mean the crash was on purpose :-) It's the registers being
unmapped that is, as nothing should touch those registers after
.remove() returns.

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[relevance 64%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
  2024-05-04 12:21 64%   ` Laurent Pinchart
@ 2024-05-06  7:29 64%     ` Maxime Ripard
  -1 siblings, 0 replies; 200+ results
From: Maxime Ripard @ 2024-05-06  7:29 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Sean Anderson, Tomi Valkeinen, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Michal Simek,
	dri-devel, linux-arm-kernel, linux-kernel


[-- Attachment #1.1: Type: text/plain, Size: 975 bytes --]

Hi Laurent, Sean,

On Sat, May 04, 2024 at 03:21:18PM GMT, Laurent Pinchart wrote:
> On Fri, May 03, 2024 at 05:54:32PM -0400, Sean Anderson wrote:
> > I have discovered a bug in the displayport driver on drm-misc-next. To
> > trigger it, run
> > 
> > echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
> > 
> > The system will become unresponsive and (after a bit) splat with a hard
> > LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
> > zynqmp_dp_bridge_detect.
> > 
> > I believe the issue is due the registers being unmapped and the block
> > put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release.
> 
> That is on purpose. Drivers are not allowed to access the device at all
> after .remove() returns.

It's not "on purpose" no. Drivers indeed are not allowed to access the
device after remove, but the kernel shouldn't crash. This is exactly
why we have drm_dev_enter / drm_dev_exit.

Maxime

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 273 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[relevance 64%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
@ 2024-05-06  7:29 64%     ` Maxime Ripard
  0 siblings, 0 replies; 200+ results
From: Maxime Ripard @ 2024-05-06  7:29 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Sean Anderson, Tomi Valkeinen, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Michal Simek,
	dri-devel, linux-arm-kernel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 975 bytes --]

Hi Laurent, Sean,

On Sat, May 04, 2024 at 03:21:18PM GMT, Laurent Pinchart wrote:
> On Fri, May 03, 2024 at 05:54:32PM -0400, Sean Anderson wrote:
> > I have discovered a bug in the displayport driver on drm-misc-next. To
> > trigger it, run
> > 
> > echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
> > 
> > The system will become unresponsive and (after a bit) splat with a hard
> > LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
> > zynqmp_dp_bridge_detect.
> > 
> > I believe the issue is due the registers being unmapped and the block
> > put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release.
> 
> That is on purpose. Drivers are not allowed to access the device at all
> after .remove() returns.

It's not "on purpose" no. Drivers indeed are not allowed to access the
device after remove, but the kernel shouldn't crash. This is exactly
why we have drm_dev_enter / drm_dev_exit.

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 273 bytes --]

^ permalink raw reply	[relevance 64%]

* Re: [bug report] [PATCH] dvb: b2c2/flexcop driver refactoring part 2: add modular Flexcop driver
  2024-05-04 20:24 64% ` Johannes Stezenbach
@ 2024-05-06  5:56 64%   ` Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-06  5:56 UTC (permalink / raw)
  To: Johannes Stezenbach; +Cc: linux-media

On Sat, May 04, 2024 at 10:24:47PM +0200, Johannes Stezenbach wrote:
> Hi Dan,
> 
> On Sat, May 04, 2024 at 02:24:21PM +0300, Dan Carpenter wrote:
> > [ This patch is 19 years old now...  :P  Sorry!  - dan ]
> > 
> > Commit 2add87a95068 ("[PATCH] dvb: b2c2/flexcop driver refactoring
> > part 2: add modular Flexcop driver") from May 16, 2005 (linux-next),
> > leads to the following Smatch static checker warning:
> 
> I think the patches were from Patrick and misattributed because
> I was too stupid to operate git correctly at the time.
> 
> > 	drivers/media/usb/b2c2/flexcop-usb.c:199 flexcop_usb_memory_req()
> > 	warn: iterator 'i' not incremented
> 
> > --> 199         for (i = 0; i < len;) {
> > 
> > No i++.
> 
> >     208                 ret = flexcop_usb_v8_memory_req(fc_usb, req,
> >     209                         page_start + (addr / V8_MEMORY_PAGE_SIZE),
> >     210                         (addr & V8_MEMORY_PAGE_MASK) |
> >     211                                 (V8_MEMORY_EXTENDED*extended),
> >     212                         &buf[i], pagechunk);
> >                                 ^^^^^^^^
> > I think adding an i++ doesn't make sense.  Are we really writing a byte
> > at a time?
> C> 
> >     213 
> >     214                 if (ret < 0)
> >     215                         return ret;
> >     216                 addr += pagechunk;
> >     217                 len -= pagechunk;
> >     218         }
> 
> The loop is weird, but I guess it worked because the len -= pagechunk
> would have terminated the loop and supposedly there was only one
> iteration ever. I doubt anyone has hardware to test it, so don't
> change it. Well, I certainly won't touch it, you can do it if you want.

Nah.  It's fine.  If you don't know, then I for sure don't know.

regards,
dan carpenter


^ permalink raw reply	[relevance 64%]

* [BUG REPORT] Deadlock when executing xfs/708 on xfs-linux's for-next
@ 2024-05-06  4:17 58% Chandan Babu R
  2024-05-07 22:20 64% ` Darrick J. Wong
  0 siblings, 1 reply; 200+ results
From: Chandan Babu R @ 2024-05-06  4:17 UTC (permalink / raw)
  To: Linux-XFS mailing list; +Cc: Darrick J. Wong

Hi,

Executing xfs/708 on xfs-linux's current for-next (commit
25576c5420e61dea4c2b52942460f2221b8e46e8) causes the following hung task
timeout to be printed,

[ 6328.415475] run fstests xfs/708 at 2024-05-04 15:35:29
[ 6328.964720] XFS (loop16): EXPERIMENTAL online scrub feature in use. Use at your own risk!
[ 6329.258411] XFS (loop5): Mounting V5 Filesystem e96086f0-a2f9-4424-a1d5-c75d53d823be
[ 6329.265694] XFS (loop5): Ending clean mount
[ 6329.267899] XFS (loop5): Quotacheck needed: Please wait.
[ 6329.280141] XFS (loop5): Quotacheck: Done.
[ 6329.291589] XFS (loop5): EXPERIMENTAL online scrub feature in use. Use at your own risk!
[ 7865.474615] INFO: task xfs_io:143725 blocked for more than 122 seconds.
[ 7865.476744]       Not tainted 6.9.0-rc4+ #1
[ 7865.478109] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 7865.479827] task:xfs_io          state:D stack:0     pid:143725 tgid:143725 ppid:117661 flags:0x00004006
[ 7865.481685] Call Trace:
[ 7865.482761]  <TASK>
[ 7865.483801]  __schedule+0x69c/0x17a0
[ 7865.485053]  ? __pfx___schedule+0x10/0x10
[ 7865.486372]  ? _raw_spin_lock_irq+0x8b/0xe0
[ 7865.487576]  schedule+0x74/0x1b0
[ 7865.488749]  io_schedule+0xc4/0x140
[ 7865.489943]  folio_wait_bit_common+0x254/0x650
[ 7865.491308]  ? __pfx_folio_wait_bit_common+0x10/0x10
[ 7865.492596]  ? __pfx_find_get_entries+0x10/0x10
[ 7865.493875]  ? __pfx_wake_page_function+0x10/0x10
[ 7865.495222]  ? lru_add_drain_cpu+0x1dd/0x2e0
[ 7865.496399]  shmem_undo_range+0x9d5/0xb40
[ 7865.497558]  ? __pfx_shmem_undo_range+0x10/0x10
[ 7865.498757]  ? poison_slab_object+0x106/0x190
[ 7865.500003]  ? kfree+0xfc/0x300
[ 7865.501107]  ? xfs_scrub_metadata+0x84e/0xdf0 [xfs]
[ 7865.502466]  ? xfs_ioc_scrub_metadata+0x9e/0x120 [xfs]
[ 7865.503900]  ? wakeup_preempt+0x161/0x260
[ 7865.505105]  ? _raw_spin_lock+0x85/0xe0
[ 7865.506214]  ? __pfx__raw_spin_lock+0x10/0x10
[ 7865.507334]  ? _raw_spin_lock+0x85/0xe0
[ 7865.508410]  ? __pfx__raw_spin_lock+0x10/0x10
[ 7865.509524]  ? __pfx__raw_spin_lock+0x10/0x10
[ 7865.510638]  ? _raw_spin_lock+0x85/0xe0
[ 7865.511677]  ? kasan_save_track+0x14/0x30
[ 7865.512754]  ? kasan_save_free_info+0x3b/0x60
[ 7865.513872]  ? poison_slab_object+0x106/0x190
[ 7865.515084]  ? xfs_scrub_metadata+0x84e/0xdf0 [xfs]
[ 7865.516326]  ? kfree+0xfc/0x300
[ 7865.517302]  ? xfs_scrub_metadata+0x84e/0xdf0 [xfs]
[ 7865.518578]  shmem_evict_inode+0x322/0x8f0
[ 7865.519626]  ? __inode_wait_for_writeback+0xcf/0x1a0
[ 7865.520801]  ? __pfx_shmem_evict_inode+0x10/0x10
[ 7865.521951]  ? __pfx___inode_wait_for_writeback+0x10/0x10
[ 7865.523136]  ? __pfx_wake_bit_function+0x10/0x10
[ 7865.524207]  ? __pfx__raw_spin_lock+0x10/0x10
[ 7865.525243]  ? __pfx__raw_spin_lock+0x10/0x10
[ 7865.526236]  evict+0x24e/0x560
[ 7865.527091]  __dentry_kill+0x17d/0x4d0
[ 7865.528107]  dput+0x263/0x430
[ 7865.529006]  __fput+0x2fc/0xaa0
[ 7865.529927]  task_work_run+0x132/0x210
[ 7865.530891]  ? __pfx_task_work_run+0x10/0x10
[ 7865.531910]  get_signal+0x1a8/0x1910
[ 7865.532917]  ? kasan_save_track+0x14/0x30
[ 7865.533885]  ? kasan_save_free_info+0x3b/0x60
[ 7865.534880]  ? __pfx_get_signal+0x10/0x10
[ 7865.535793]  ? poison_slab_object+0xbe/0x190
[ 7865.536784]  ? __pfx_ioctl_has_perm.constprop.0.isra.0+0x10/0x10
[ 7865.537952]  arch_do_signal_or_restart+0x7b/0x2f0
[ 7865.539014]  ? __pfx_arch_do_signal_or_restart+0x10/0x10
[ 7865.540091]  ? restore_fpregs_from_fpstate+0x96/0x150
[ 7865.541123]  ? __pfx_restore_fpregs_from_fpstate+0x10/0x10
[ 7865.542209]  ? security_file_ioctl+0x51/0x90
[ 7865.543153]  syscall_exit_to_user_mode+0x1c2/0x200
[ 7865.544165]  do_syscall_64+0x72/0x170
[ 7865.545033]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
[ 7865.546095] RIP: 0033:0x7f4d18c3ec6b
[ 7865.547033] RSP: 002b:00007ffe2056f878 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[ 7865.548407] RAX: fffffffffffffffc RBX: 0000000000000001 RCX: 00007f4d18c3ec6b
[ 7865.549757] RDX: 00007ffe2056f880 RSI: 00000000c040583c RDI: 0000000000000003
[ 7865.551047] RBP: 000000001bd46c40 R08: 0000000000000002 R09: 0000000000000000
[ 7865.552317] R10: 00007f4d18d9eac0 R11: 0000000000000246 R12: 0000000000000000
[ 7865.553619] R13: 000000001bd46bc0 R14: 000000001bd46520 R15: 0000000000000004
[ 7865.555005]  </TASK>

The following is the contents from fstests config file,

FSTYP=xfs
TEST_DIR=/media/test
SCRATCH_MNT=/media/scratch
DUMP_CORRUPT_FS=1
SOAK_DURATION=1320

TEST_DEV=/dev/loop16
SCRATCH_DEV_POOL="/dev/loop5 /dev/loop6 /dev/loop7 /dev/loop8 /dev/loop9 /dev/loop10 /dev/loop11 /dev/loop12"
MKFS_OPTIONS='-f -m reflink=1,rmapbt=1, -i sparse=1,'
MOUNT_OPTIONS='-o usrquota,grpquota,prjquota'
TEST_FS_MOUNT_OPTS="$TEST_FS_MOUNT_OPTS -o usrquota,grpquota,prjquota"
USE_EXTERNAL=no
LOGWRITES_DEV=/dev/loop15

-- 
Chandan

^ permalink raw reply	[relevance 58%]

* [DPDK/core Bug 1436] DPDK20.11.9 runs failure on intel atom cpu
@ 2024-05-06  1:23 62% bugzilla
  2024-05-06  8:38 64% ` bugzilla
  2024-05-07  9:17 64% ` bugzilla
  0 siblings, 2 replies; 200+ results
From: bugzilla @ 2024-05-06  1:23 UTC (permalink / raw)
  To: dev

[-- Attachment #1: Type: text/plain, Size: 1974 bytes --]

https://bugs.dpdk.org/show_bug.cgi?id=1436

            Bug ID: 1436
           Summary: DPDK20.11.9 runs failure on intel atom cpu
           Product: DPDK
           Version: 20.11
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: critical
          Priority: Normal
         Component: core
          Assignee: dev@dpdk.org
          Reporter: lgl_hust@sina.com
  Target Milestone: ---

system info: ubuntu-18.04.6-desktop-amd64

cpu info:(cat /proc/cpuinfo)

processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 55
model name : Intel(R) Celeron(R) CPU J1900 @ 1.99GHz
stepping : 9
microcode : 0x90d
cpu MHz : 1333.435
cache size : 1024 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
apicid : 6
initial apicid : 6
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm
constant_tsc arch_perfmon pebs bts rep_good nopl xtopology tsc_reliable
nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl
vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer
rdrand lahf_lm 3dnowprefetch epb pti ibrs ibpb stibp tpr_shadow vnmi
flexpriority ept vpid tsc_adjust smep erms dtherm ida arat md_clear
bugs : cpu_meltdown spectre_v1 spectre_v2 mds msbds_only mmio_unknown
bogomips : 4000.00
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

The error info:
 received signal SIGILL, Illegal instruction.
0x000055555e94ac6d in _mm_loadu_si128 (__P=0x1011b9c56) at
/usr/lib/gcc/x86_64-linux-gnu/11/include/emmintrin.h:703
703       return *__P;


And the error is same with running on Intel(R) Celeron(R) J6412.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #2: Type: text/html, Size: 3848 bytes --]

^ permalink raw reply	[relevance 62%]

* [merged mm-stable] memcg-fix-data-race-kcsan-bug-in-rstats.patch removed from -mm tree
@ 2024-05-06  0:58 52% Andrew Morton
  0 siblings, 0 replies; 200+ results
From: Andrew Morton @ 2024-05-06  0:58 UTC (permalink / raw)
  To: mm-commits, yosryahmed, songmuchun, shakeel.butt, roman.gushchin,
	mhocko, hannes, leitao, akpm


The quilt patch titled
     Subject: memcg: fix data-race KCSAN bug in rstats
has been removed from the -mm tree.  Its filename was
     memcg-fix-data-race-kcsan-bug-in-rstats.patch

This patch was dropped because it was merged into the mm-stable branch
of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

------------------------------------------------------
From: Breno Leitao <leitao@debian.org>
Subject: memcg: fix data-race KCSAN bug in rstats
Date: Wed, 24 Apr 2024 05:59:39 -0700

A data-race issue in memcg rstat occurs when two distinct code paths
access the same 4-byte region concurrently.  KCSAN detection triggers the
following BUG as a result.

	BUG: KCSAN: data-race in __count_memcg_events / mem_cgroup_css_rstat_flush

	write to 0xffffe8ffff98e300 of 4 bytes by task 5274 on cpu 17:
	mem_cgroup_css_rstat_flush (mm/memcontrol.c:5850)
	cgroup_rstat_flush_locked (kernel/cgroup/rstat.c:243 (discriminator 7))
	cgroup_rstat_flush (./include/linux/spinlock.h:401 kernel/cgroup/rstat.c:278)
	mem_cgroup_flush_stats.part.0 (mm/memcontrol.c:767)
	memory_numa_stat_show (mm/memcontrol.c:6911)
<snip>

	read to 0xffffe8ffff98e300 of 4 bytes by task 410848 on cpu 27:
	__count_memcg_events (mm/memcontrol.c:725 mm/memcontrol.c:962)
	count_memcg_event_mm.part.0 (./include/linux/memcontrol.h:1097 ./include/linux/memcontrol.h:1120)
	handle_mm_fault (mm/memory.c:5483 mm/memory.c:5622)
<snip>

	value changed: 0x00000029 -> 0x00000000

The race occurs because two code paths access the same "stats_updates"
location.  Although "stats_updates" is a per-CPU variable, it is remotely
accessed by another CPU at
cgroup_rstat_flush_locked()->mem_cgroup_css_rstat_flush(), leading to the
data race mentioned.

Considering that memcg_rstat_updated() is in the hot code path, adding a
lock to protect it may not be desirable, especially since this variable
pertains solely to statistics.

Therefore, annotating accesses to stats_updates with READ/WRITE_ONCE() can
prevent KCSAN splats and potential partial reads/writes.

Link: https://lkml.kernel.org/r/20240424125940.2410718-1-leitao@debian.org
Fixes: 9cee7e8ef3e3 ("mm: memcg: optimize parent iteration in memcg_rstat_updated()")
Signed-off-by: Breno Leitao <leitao@debian.org>
Suggested-by: Shakeel Butt <shakeel.butt@linux.dev>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Shakeel Butt <shakeel.butt@linux.dev>
Reviewed-by: Yosry Ahmed <yosryahmed@google.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Roman Gushchin <roman.gushchin@linux.dev>
Cc: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 mm/memcontrol.c |   12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

--- a/mm/memcontrol.c~memcg-fix-data-race-kcsan-bug-in-rstats
+++ a/mm/memcontrol.c
@@ -715,6 +715,7 @@ static inline void memcg_rstat_updated(s
 {
 	struct memcg_vmstats_percpu *statc;
 	int cpu = smp_processor_id();
+	unsigned int stats_updates;
 
 	if (!val)
 		return;
@@ -722,8 +723,9 @@ static inline void memcg_rstat_updated(s
 	cgroup_rstat_updated(memcg->css.cgroup, cpu);
 	statc = this_cpu_ptr(memcg->vmstats_percpu);
 	for (; statc; statc = statc->parent) {
-		statc->stats_updates += abs(val);
-		if (statc->stats_updates < MEMCG_CHARGE_BATCH)
+		stats_updates = READ_ONCE(statc->stats_updates) + abs(val);
+		WRITE_ONCE(statc->stats_updates, stats_updates);
+		if (stats_updates < MEMCG_CHARGE_BATCH)
 			continue;
 
 		/*
@@ -731,9 +733,9 @@ static inline void memcg_rstat_updated(s
 		 * redundant. Avoid the overhead of the atomic update.
 		 */
 		if (!memcg_vmstats_needs_flush(statc->vmstats))
-			atomic64_add(statc->stats_updates,
+			atomic64_add(stats_updates,
 				     &statc->vmstats->stats_updates);
-		statc->stats_updates = 0;
+		WRITE_ONCE(statc->stats_updates, 0);
 	}
 }
 
@@ -5887,7 +5889,7 @@ static void mem_cgroup_css_rstat_flush(s
 			}
 		}
 	}
-	statc->stats_updates = 0;
+	WRITE_ONCE(statc->stats_updates, 0);
 	/* We are in a per-cpu loop here, only do the atomic write once */
 	if (atomic64_read(&memcg->vmstats->stats_updates))
 		atomic64_set(&memcg->vmstats->stats_updates, 0);
_

Patches currently in -mm which might be from leitao@debian.org are



^ permalink raw reply	[relevance 52%]

* [syzbot] [bcachefs?] kernel BUG in bch2_sort_keys
@ 2024-05-05 18:25 44% syzbot
  0 siblings, 0 replies; 200+ results
From: syzbot @ 2024-05-05 18:25 UTC (permalink / raw)
  To: bfoster, kent.overstreet, linux-bcachefs, linux-fsdevel,
	linux-kernel, syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    9221b2819b8a Add linux-next specific files for 20240503
git tree:       linux-next
console+strace: https://syzkaller.appspot.com/x/log.txt?x=14dc9a4c980000
kernel config:  https://syzkaller.appspot.com/x/.config?x=8ab537f51a6a0d98
dashboard link: https://syzkaller.appspot.com/bug?extid=300755e8da6fa5e5edec
compiler:       Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=12118a70980000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=16722a4c980000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/3e67dbdc3c37/disk-9221b281.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/ade618fa19f8/vmlinux-9221b281.xz
kernel image: https://storage.googleapis.com/syzbot-assets/df12e5073c97/bzImage-9221b281.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/de11adcb4745/mount_0.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+300755e8da6fa5e5edec@syzkaller.appspotmail.com

bcachefs (loop0): mounting version 1.7: mi_btree_bitmap opts=compression=lz4,nojournal_transaction_names
bcachefs (loop0): recovering from clean shutdown, journal seq 7
bcachefs (loop0): alloc_read... done
bcachefs (loop0): stripes_read... done
bcachefs (loop0): snapshots_read... done
bcachefs (loop0): going read-write
bcachefs (loop0): journal_replay...
------------[ cut here ]------------
kernel BUG at fs/bcachefs/bkey_sort.c:185!
Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
CPU: 0 PID: 5093 Comm: syz-executor254 Not tainted 6.9.0-rc6-next-20240503-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
RIP: 0010:bch2_sort_keys+0x1a62/0x1a90 fs/bcachefs/bkey_sort.c:184
Code: e1 07 80 c1 03 38 c1 0f 8c 47 ea ff ff 48 8b 7c 24 20 e8 a1 3d f0 fd e9 38 ea ff ff e8 d7 8e 8a fd 90 0f 0b e8 cf 8e 8a fd 90 <0f> 0b e8 c7 8e 8a fd 90 0f 0b e8 bf 8e 8a fd 90 0f 0b e8 b7 8e 8a
RSP: 0018:ffffc9000375e8a0 EFLAGS: 00010293
RAX: ffffffff840b8711 RBX: 0000000000000080 RCX: ffff88802889bc00
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 0000000000000000
RBP: ffffc9000375ea30 R08: ffffffff840b768c R09: 0000000000000000
R10: ffffc9000375e7a0 R11: fffff520006ebcf6 R12: ffffc9000375eb20
R13: 0000000000000001 R14: ffff888079100901 R15: ffff8880791008b9
FS:  00005555567cf380(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055d90bd11f18 CR3: 0000000079808000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 btree_node_sort+0x6ad/0x1840 fs/bcachefs/btree_io.c:335
 bch2_btree_post_write_cleanup+0x120/0xa70 fs/bcachefs/btree_io.c:2273
 bch2_btree_node_write+0x169/0x1f0 fs/bcachefs/btree_io.c:2314
 btree_node_write_if_need fs/bcachefs/btree_io.h:153 [inline]
 __btree_node_flush+0x2ac/0x350 fs/bcachefs/btree_trans_commit.c:250
 bch2_btree_node_flush0+0x27/0x40 fs/bcachefs/btree_trans_commit.c:259
 journal_flush_pins+0x5f7/0xb20 fs/bcachefs/journal_reclaim.c:553
 journal_flush_done+0xbc/0x260 fs/bcachefs/journal_reclaim.c:809
 bch2_journal_flush_pins+0x102/0x3a0 fs/bcachefs/journal_reclaim.c:839
 bch2_journal_flush_all_pins fs/bcachefs/journal_reclaim.h:76 [inline]
 bch2_journal_replay+0x1094/0x1360 fs/bcachefs/recovery.c:301
 bch2_run_recovery_pass+0xf0/0x1e0 fs/bcachefs/recovery_passes.c:182
 bch2_run_recovery_passes+0x19e/0x820 fs/bcachefs/recovery_passes.c:225
 bch2_fs_recovery+0x235e/0x36e0 fs/bcachefs/recovery.c:804
 bch2_fs_start+0x356/0x5b0 fs/bcachefs/super.c:1030
 bch2_fs_open+0xa8d/0xdf0 fs/bcachefs/super.c:2105
 bch2_mount+0x71d/0x1320 fs/bcachefs/fs.c:1917
 legacy_get_tree+0xee/0x190 fs/fs_context.c:662
 vfs_get_tree+0x90/0x2a0 fs/super.c:1780
 do_new_mount+0x2be/0xb40 fs/namespace.c:3352
 do_mount fs/namespace.c:3692 [inline]
 __do_sys_mount fs/namespace.c:3898 [inline]
 __se_sys_mount+0x2d9/0x3c0 fs/namespace.c:3875
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f2bec06b8ba
Code: d8 64 89 02 48 c7 c0 ff ff ff ff eb a6 e8 5e 04 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffc4937aec8 EFLAGS: 00000282 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007ffc4937aee0 RCX: 00007f2bec06b8ba
RDX: 0000000020005d80 RSI: 0000000020000000 RDI: 00007ffc4937aee0
RBP: 0000000000000004 R08: 00007ffc4937af20 R09: 0000000000005d7f
R10: 0000000000000002 R11: 0000000000000282 R12: 0000000000000002
R13: 00007ffc4937af20 R14: 0000000000000003 R15: 0000000001000000
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:bch2_sort_keys+0x1a62/0x1a90 fs/bcachefs/bkey_sort.c:184
Code: e1 07 80 c1 03 38 c1 0f 8c 47 ea ff ff 48 8b 7c 24 20 e8 a1 3d f0 fd e9 38 ea ff ff e8 d7 8e 8a fd 90 0f 0b e8 cf 8e 8a fd 90 <0f> 0b e8 c7 8e 8a fd 90 0f 0b e8 bf 8e 8a fd 90 0f 0b e8 b7 8e 8a
RSP: 0018:ffffc9000375e8a0 EFLAGS: 00010293
RAX: ffffffff840b8711 RBX: 0000000000000080 RCX: ffff88802889bc00
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 0000000000000000
RBP: ffffc9000375ea30 R08: ffffffff840b768c R09: 0000000000000000
R10: ffffc9000375e7a0 R11: fffff520006ebcf6 R12: ffffc9000375eb20
R13: 0000000000000001 R14: ffff888079100901 R15: ffff8880791008b9
FS:  00005555567cf380(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055d90bd11f18 CR3: 0000000079808000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

^ permalink raw reply	[relevance 44%]

* [syzbot] [bcachefs?] kernel BUG in bch2_alloc_v4_invalid
@ 2024-05-05 16:25 45% syzbot
  0 siblings, 0 replies; 200+ results
From: syzbot @ 2024-05-05 16:25 UTC (permalink / raw)
  To: bfoster, kent.overstreet, linux-bcachefs, linux-fsdevel,
	linux-kernel, syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    9221b2819b8a Add linux-next specific files for 20240503
git tree:       linux-next
console+strace: https://syzkaller.appspot.com/x/log.txt?x=13187c70980000
kernel config:  https://syzkaller.appspot.com/x/.config?x=8ab537f51a6a0d98
dashboard link: https://syzkaller.appspot.com/bug?extid=10827fa6b176e1acf1d0
compiler:       Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=1250b9ff180000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=117ea590980000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/3e67dbdc3c37/disk-9221b281.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/ade618fa19f8/vmlinux-9221b281.xz
kernel image: https://storage.googleapis.com/syzbot-assets/df12e5073c97/bzImage-9221b281.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/54baa53b5879/mount_0.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+10827fa6b176e1acf1d0@syzkaller.appspotmail.com

loop0: detected capacity change from 0 to 32768
bcachefs (loop0): mounting version 1.7: mi_btree_bitmap opts=metadata_checksum=none,data_checksum=xxhash,str_hash=crc32c,nojournal_transaction_names
bcachefs (loop0): recovering from clean shutdown, journal seq 10
------------[ cut here ]------------
kernel BUG at fs/bcachefs/alloc_background.h:166!
Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
CPU: 0 PID: 5088 Comm: syz-executor107 Not tainted 6.9.0-rc6-next-20240503-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
RIP: 0010:alloc_v4_u64s fs/bcachefs/alloc_background.h:166 [inline]
RIP: 0010:bch2_alloc_v4_invalid+0x9af/0x9c0 fs/bcachefs/alloc_background.c:247
Code: 47 cf f6 fd e9 d7 fb ff ff 44 89 e9 80 e1 07 38 c1 0f 8c 23 fc ff ff 4c 89 ef e8 cc ce f6 fd e9 16 fc ff ff e8 62 20 91 fd 90 <0f> 0b e8 5a 20 91 fd 90 0f 0b 0f 1f 80 00 00 00 00 90 90 90 90 90
RSP: 0018:ffffc900035be618 EFLAGS: 00010293
RAX: ffffffff8404f57e RBX: 00000000000000fd RCX: ffff88807c78bc00
RDX: 0000000000000000 RSI: 00000000000000fd RDI: 00000000000000fa
RBP: 000000000000002d R08: ffffffff8404eca5 R09: 0000000000000000
R10: 0000000000000000 R11: ffffffff8404ebd0 R12: 000000005770f4b6
R13: ffffc900035beaa0 R14: ffff8880778c06e8 R15: 1ffff920006b7d45
FS:  000055559514f380(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffd24b68da8 CR3: 000000002de70000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 bch2_btree_node_read_done+0x3e7d/0x5ed0 fs/bcachefs/btree_io.c:1234
 btree_node_read_work+0x665/0x1300 fs/bcachefs/btree_io.c:1345
 bch2_btree_node_read+0x2637/0x2c80 fs/bcachefs/btree_io.c:1730
 __bch2_btree_root_read fs/bcachefs/btree_io.c:1769 [inline]
 bch2_btree_root_read+0x61e/0x970 fs/bcachefs/btree_io.c:1793
 read_btree_roots+0x22d/0x7b0 fs/bcachefs/recovery.c:472
 bch2_fs_recovery+0x2334/0x36e0 fs/bcachefs/recovery.c:800
 bch2_fs_start+0x356/0x5b0 fs/bcachefs/super.c:1030
 bch2_fs_open+0xa8d/0xdf0 fs/bcachefs/super.c:2105
 bch2_mount+0x71d/0x1320 fs/bcachefs/fs.c:1917
 legacy_get_tree+0xee/0x190 fs/fs_context.c:662
 vfs_get_tree+0x90/0x2a0 fs/super.c:1780
 do_new_mount+0x2be/0xb40 fs/namespace.c:3352
 do_mount fs/namespace.c:3692 [inline]
 __do_sys_mount fs/namespace.c:3898 [inline]
 __se_sys_mount+0x2d9/0x3c0 fs/namespace.c:3875
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7ff34d527a3a
Code: d8 64 89 02 48 c7 c0 ff ff ff ff eb a6 e8 5e 04 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffd7ed56fe8 EFLAGS: 00000282 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007ffd7ed57000 RCX: 00007ff34d527a3a
RDX: 0000000020011a00 RSI: 0000000020011a40 RDI: 00007ffd7ed57000
RBP: 0000000000000004 R08: 00007ffd7ed57040 R09: 00000000000119ee
R10: 0000000000200014 R11: 0000000000000282 R12: 0000000000200014
R13: 00007ffd7ed57040 R14: 0000000000000003 R15: 0000000001000000
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:alloc_v4_u64s fs/bcachefs/alloc_background.h:166 [inline]
RIP: 0010:bch2_alloc_v4_invalid+0x9af/0x9c0 fs/bcachefs/alloc_background.c:247
Code: 47 cf f6 fd e9 d7 fb ff ff 44 89 e9 80 e1 07 38 c1 0f 8c 23 fc ff ff 4c 89 ef e8 cc ce f6 fd e9 16 fc ff ff e8 62 20 91 fd 90 <0f> 0b e8 5a 20 91 fd 90 0f 0b 0f 1f 80 00 00 00 00 90 90 90 90 90
RSP: 0018:ffffc900035be618 EFLAGS: 00010293
RAX: ffffffff8404f57e RBX: 00000000000000fd RCX: ffff88807c78bc00
RDX: 0000000000000000 RSI: 00000000000000fd RDI: 00000000000000fa
RBP: 000000000000002d R08: ffffffff8404eca5 R09: 0000000000000000
R10: 0000000000000000 R11: ffffffff8404ebd0 R12: 000000005770f4b6
R13: ffffc900035beaa0 R14: ffff8880778c06e8 R15: 1ffff920006b7d45
FS:  000055559514f380(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffd24b68da8 CR3: 000000002de70000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

^ permalink raw reply	[relevance 45%]

* Re: Possible git-diff bug when using exit-code with diff filters
  @ 2024-05-05 10:19 64%     ` René Scharfe
  2024-05-06 17:22 64%       ` Junio C Hamano
  0 siblings, 1 reply; 200+ results
From: René Scharfe @ 2024-05-05 10:19 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: German Lashevich, git

Am 21.04.24 um 20:17 schrieb Junio C Hamano:
> A much simpler fix may be to declare that these two features are
> imcompatible and fail the execution upfront, instead of just
> silently ignoring one of the two options.

It would not be *that* simple -- if we want to error out upfront we'd
have to evaluate the attributes of all files (or all changed files)
first to see whether they require an external diff.

Reporting the incompatibility in the middle of a diff would be easier,
but I don't see why we shouldn't support that combination.  It takes
some effort, sure, but not prohibitively much.

René


^ permalink raw reply	[relevance 64%]

* [Bug 218805] CPU stuck to low frequency after resume from sleep
    2024-05-04  9:04 64% ` [Bug 218805] " bugzilla-daemon
  2024-05-04 13:26 64% ` bugzilla-daemon
@ 2024-05-05  8:48 64% ` bugzilla-daemon
  2 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-05  8:48 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218805

Artem S. Tashkinov (aros@gmx.com) changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |OBSOLETE

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* Re: bug in may_dedupe_file allows to deduplicate files we aren't allowed to write to
  2024-05-04 20:50 64%   ` Hugo Valtier
@ 2024-05-05  6:57 59%     ` Amir Goldstein
  2024-05-07 22:14 61%       ` Darrick J. Wong
  0 siblings, 1 reply; 200+ results
From: Amir Goldstein @ 2024-05-05  6:57 UTC (permalink / raw)
  To: Hugo Valtier
  Cc: viro, linux-fsdevel, linux-kernel, Christian Brauner, Mark Fasheh,
	Darrick J. Wong

[change email for Mark Fashe]

On Sat, May 4, 2024 at 11:51 PM Hugo Valtier <hugo@valtier.fr> wrote:
>
> > My guess is that not many users try to dedupe other users' files,
> > so this feature was never used and nobody complained.
>
> +1
>
> Thx for the answer, I'm new to this to be sure I understood what you meant:
> > You should add an xfstest for this and include a
> > _fixed_by_kernel_commit and that will signal all the distros that
> > care to backport the fix.
>
> So right now I wait for 6.9 to be released soon enough then
> I then submit my patch which invert the condition.

There is no need to wait for the 6.9 release.
Fixes can and should be posted at any time.

> Once that is merged in some tree (fsdevel I guess ?) I submit a patch for

Yes, this is a good candidate for Christian Brauner's vfs tree.
Please CC the VFS maintainers (from MAINTAINERS file) and fsdevel.

A note about backporting to stable kernels.
stable maintainer bots would do best effort to auto backport
patches marked with a Fixes: commit to the supported LTS kernel,
once the fix is merged to master,
but if the fix does not apply cleanly, you will need to post the
backport yourself (if you want the fix backported).

For your case, the fix will not apply cleanly before
4609e1f18e19 ("fs: port ->permission() to pass mnt_idmap")
so at lease from 6.1.y and backwards, you will need to post
manual backports if you want the fix in LTS kernels or you can
let the distros that find the new xfstest failure take care of that...

> xfstest which adds a regression test and has _fixed_by_kernel_commit
> mentioning the commit just merged in the fsdevel linux tree.

Correct.
You may take inspiration from existing dedupe tests
[CC Darrick who wrote most of them]
but I did not find any test coverage for may_dedupe_file() among them.

There is one test that is dealing with permissions that you can
use as a template:

$ git grep -w _begin_fstest.*dedupe tests/generic/|grep perms
tests/generic/674:_begin_fstest auto clone quick perms dedupe

Hint: use $XFS_IO_PROG -r to open the destination file read only.

Because there is currently no test coverage for read-only dest
for the admin and user owned files, I suggest that you start with
writing this test, making sure that your fix does not regress it and
then add the other writable file case.

Thanks,
Amir.

^ permalink raw reply	[relevance 59%]

* Re: [bug report] [PATCH] dvb: b2c2/flexcop driver refactoring part 2: add modular Flexcop driver
  2024-05-04 11:24 64% [bug report] [PATCH] dvb: b2c2/flexcop driver refactoring part 2: add modular Flexcop driver Dan Carpenter
@ 2024-05-04 20:24 64% ` Johannes Stezenbach
  2024-05-06  5:56 64%   ` Dan Carpenter
  0 siblings, 1 reply; 200+ results
From: Johannes Stezenbach @ 2024-05-04 20:24 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: linux-media

Hi Dan,

On Sat, May 04, 2024 at 02:24:21PM +0300, Dan Carpenter wrote:
> [ This patch is 19 years old now...  :P  Sorry!  - dan ]
> 
> Commit 2add87a95068 ("[PATCH] dvb: b2c2/flexcop driver refactoring
> part 2: add modular Flexcop driver") from May 16, 2005 (linux-next),
> leads to the following Smatch static checker warning:

I think the patches were from Patrick and misattributed because
I was too stupid to operate git correctly at the time.

> 	drivers/media/usb/b2c2/flexcop-usb.c:199 flexcop_usb_memory_req()
> 	warn: iterator 'i' not incremented

> --> 199         for (i = 0; i < len;) {
> 
> No i++.

>     208                 ret = flexcop_usb_v8_memory_req(fc_usb, req,
>     209                         page_start + (addr / V8_MEMORY_PAGE_SIZE),
>     210                         (addr & V8_MEMORY_PAGE_MASK) |
>     211                                 (V8_MEMORY_EXTENDED*extended),
>     212                         &buf[i], pagechunk);
>                                 ^^^^^^^^
> I think adding an i++ doesn't make sense.  Are we really writing a byte
> at a time?
C> 
>     213 
>     214                 if (ret < 0)
>     215                         return ret;
>     216                 addr += pagechunk;
>     217                 len -= pagechunk;
>     218         }

The loop is weird, but I guess it worked because the len -= pagechunk
would have terminated the loop and supposedly there was only one
iteration ever. I doubt anyone has hardware to test it, so don't
change it. Well, I certainly won't touch it, you can do it if you want.


Johannes

^ permalink raw reply	[relevance 64%]

* Re: bug in may_dedupe_file allows to deduplicate files we aren't allowed to write to
  2024-05-04  9:43 64% ` Amir Goldstein
@ 2024-05-04 20:50 64%   ` Hugo Valtier
  2024-05-05  6:57 59%     ` Amir Goldstein
  0 siblings, 1 reply; 200+ results
From: Hugo Valtier @ 2024-05-04 20:50 UTC (permalink / raw)
  To: Amir Goldstein
  Cc: mfasheh, viro, linux-fsdevel, linux-kernel, Christian Brauner

> My guess is that not many users try to dedupe other users' files,
> so this feature was never used and nobody complained.

+1

Thx for the answer, I'm new to this to be sure I understood what you meant:
> You should add an xfstest for this and include a
> _fixed_by_kernel_commit and that will signal all the distros that
> care to backport the fix.

So right now I wait for 6.9 to be released soon enough then
I then submit my patch which invert the condition.
Once that is merged in some tree (fsdevel I guess ?) I submit a patch for
xfstest which adds a regression test and has _fixed_by_kernel_commit
mentioning the commit just merged in the fsdevel linux tree.

Le sam. 4 mai 2024 à 11:43, Amir Goldstein <amir73il@gmail.com> a écrit :
>
> On Sat, May 4, 2024 at 7:49 AM Hugo Valtier <hugo@valtier.fr> wrote:
> >
> > For context I am making a file based deduplication tool.
> >
> > I found that in this commit
> > 5de4480ae7f8 ("vfs: allow dedupe of user owned read-only files")
> > it states:
> > > - the process could get write access
> >
> > However the behavior added in allow_file_dedupe now may_dedupe_file is opposite:
> > > +       if (!inode_permission(file_inode(file), MAY_WRITE))
> > > +               return true
> >
> > I've tested that I can create an other readonly file as root and have
> > my unprivileged user deduplicate it however if I then make the file
> > other writeable I cannot anymore*.
> > It doesn't make sense to me why giving write permissions on a file
> > should remove the permission to deduplicate*.
>
> True. Here is the discussion about adding "could have been opened w"
> to allow dedupe:
> https://lore.kernel.org/linux-fsdevel/20180517230150.GA28045@wotan.suse.de/
>
> >
> > I'm not sure on how to fix this, flipping the condition would work but
> > that is a breaking change and idk if this is ok here.
> > Adding a check to also users who have write access to the file would
> > remove all the logic here since you would always be allowed to dedup
> > FDs you managed to get your hands on.
> >
> > Any input on this welcome, thx
>
> My guess is that not many users try to dedupe other users' files,
> so this feature was never used and nobody complained.
> What use case do you think flipping the condition could break?
> breaking uapi is not about theoretical use cases and in any
> case this needs to be marked with Fixes: and can be backported
> as far as anyone who cares wants to backport.
>
> You should add an xfstest for this and include a
> _fixed_by_kernel_commit and that will signal all the distros that
> care to backport the fix.
>
> Thanks,
> Amir.

^ permalink raw reply	[relevance 64%]

* [bug report] [media] v4l: vsp1: Add histogram support
@ 2024-05-04 20:13 64% Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-04 20:13 UTC (permalink / raw)
  To: laurent.pinchart+renesas; +Cc: linux-renesas-soc

Hello Laurent Pinchart,

Commit 99362e32332b ("[media] v4l: vsp1: Add histogram support") from
Sep 7, 2016 (linux-next), leads to the following Smatch static
checker warning:

	drivers/media/platform/renesas/vsp1/vsp1_histo.c:153 histo_stop_streaming()
	warn: mixing irqsave and irq

drivers/media/platform/renesas/vsp1/vsp1_histo.c
    139 static void histo_stop_streaming(struct vb2_queue *vq)
    140 {
    141         struct vsp1_histogram *histo = vb2_get_drv_priv(vq);
    142         struct vsp1_histogram_buffer *buffer;
    143         unsigned long flags;
    144 
    145         spin_lock_irqsave(&histo->irqlock, flags);

_irqsave() means that perhaps the caller already has IRQs disabled.

    146 
    147         /* Remove all buffers from the IRQ queue. */
    148         list_for_each_entry(buffer, &histo->irqqueue, queue)
    149                 vb2_buffer_done(&buffer->buf.vb2_buf, VB2_BUF_STATE_ERROR);
    150         INIT_LIST_HEAD(&histo->irqqueue);
    151 
    152         /* Wait for the buffer being read out (if any) to complete. */
--> 153         wait_event_lock_irq(histo->wait_queue, !histo->readout, histo->irqlock);
                               ^^^^
This briefly enables IRQs

    154 
    155         spin_unlock_irqrestore(&histo->irqlock, flags);
                           ^^^^^^^^^^^
This resets it back to what we want.

    156 }

regards,
dan carpenter

^ permalink raw reply	[relevance 64%]

* Re: [syzbot] [nilfs?] kernel BUG in __block_write_begin_int (2)
  2024-05-04 10:20 47% [syzbot] [nilfs?] kernel BUG in __block_write_begin_int (2) syzbot
@ 2024-05-04 18:26 64% ` Ryusuke Konishi
  0 siblings, 0 replies; 200+ results
From: Ryusuke Konishi @ 2024-05-04 18:26 UTC (permalink / raw)
  To: syzbot; +Cc: linux-fsdevel, linux-kernel, linux-nilfs, syzkaller-bugs

On Sat, May 4, 2024 at 7:20 PM syzbot wrote:
>
> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit:    9e4bc4bcae01 Merge tag 'nfs-for-6.9-2' of git://git.linux-..
> git tree:       upstream
> console+strace: https://syzkaller.appspot.com/x/log.txt?x=12f2ae87180000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=3714fc09f933e505
> dashboard link: https://syzkaller.appspot.com/bug?extid=d3abed1ad3d367fa2627
> compiler:       Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
> syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=150c697f180000
> C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=140de537180000
>
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/b98a742ff5ed/disk-9e4bc4bc.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/207a8191df7c/vmlinux-9e4bc4bc.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/7dd86c3ad0ba/bzImage-9e4bc4bc.xz
> mounted in repro: https://storage.googleapis.com/syzbot-assets/d35001c4b748/mount_0.gz
>
> Bisection is inconclusive: the issue happens on the oldest tested release.
>
> bisection log:  https://syzkaller.appspot.com/x/bisect.txt?x=15526d37180000
> final oops:     https://syzkaller.appspot.com/x/report.txt?x=17526d37180000
> console output: https://syzkaller.appspot.com/x/log.txt?x=13526d37180000
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+d3abed1ad3d367fa2627@syzkaller.appspotmail.com
>
> ------------[ cut here ]------------
> kernel BUG at fs/buffer.c:2083!
> invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI
> CPU: 0 PID: 5084 Comm: syz-executor283 Not tainted 6.9.0-rc6-syzkaller-00012-g9e4bc4bcae01 #0
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
> RIP: 0010:__block_write_begin_int+0x19a7/0x1a70 fs/buffer.c:2083
> Code: 31 ff e8 ac 35 78 ff 48 89 d8 48 25 ff 0f 00 00 74 27 e8 bc 30 78 ff e9 c6 e7 ff ff e8 b2 30 78 ff 90 0f 0b e8 aa 30 78 ff 90 <0f> 0b e8 a2 30 78 ff 90 0f 0b e8 ca 5d 62 09 48 8b 5c 24 08 48 89
> RSP: 0018:ffffc90003327760 EFLAGS: 00010293
> RAX: ffffffff821ddf06 RBX: 0000000000007b54 RCX: ffff88802eff3c00
> RDX: 0000000000000000 RSI: 0000000000001000 RDI: 0000000000007b54
> RBP: ffffc900033278c8 R08: ffffffff821dc733 R09: 1ffffd400006f810
> R10: dffffc0000000000 R11: fffff9400006f811 R12: 00fff0000000920d
> R13: 0000000000000000 R14: 0000000000001000 R15: 0000000000007b54
> FS:  000055556494d480(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 000055838a10d7f0 CR3: 0000000078508000 CR4: 0000000000350ef0
> Call Trace:
>  <TASK>
>  nilfs_prepare_chunk fs/nilfs2/dir.c:86 [inline]
>  nilfs_set_link+0xc5/0x2a0 fs/nilfs2/dir.c:411
>  nilfs_rename+0x5b2/0xaf0 fs/nilfs2/namei.c:416
>  vfs_rename+0xbdd/0xf00 fs/namei.c:4880
>  do_renameat2+0xd94/0x13f0 fs/namei.c:5037
>  __do_sys_rename fs/namei.c:5084 [inline]
>  __se_sys_rename fs/namei.c:5082 [inline]
>  __x64_sys_rename+0x86/0xa0 fs/namei.c:5082
>  do_syscall_x64 arch/x86/entry/common.c:52 [inline]
>  do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
>  entry_SYSCALL_64_after_hwframe+0x77/0x7f
> RIP: 0033:0x7fa292c67f99
> Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 f1 17 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
> RSP: 002b:00007ffd9d3b0198 EFLAGS: 00000246 ORIG_RAX: 0000000000000052
> RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fa292c67f99
> RDX: 00007fa292c67f99 RSI: 0000000020000040 RDI: 0000000020000180
> RBP: 0000000000000000 R08: 00007ffd9d3b01d0 R09: 00007ffd9d3b01d0
> R10: 0000000000000f69 R11: 0000000000000246 R12: 00007ffd9d3b01d0
> R13: 00007ffd9d3b0458 R14: 431bde82d7b634db R15: 00007fa292cb103b
>  </TASK>
> Modules linked in:
> ---[ end trace 0000000000000000 ]---
> RIP: 0010:__block_write_begin_int+0x19a7/0x1a70 fs/buffer.c:2083
> Code: 31 ff e8 ac 35 78 ff 48 89 d8 48 25 ff 0f 00 00 74 27 e8 bc 30 78 ff e9 c6 e7 ff ff e8 b2 30 78 ff 90 0f 0b e8 aa 30 78 ff 90 <0f> 0b e8 a2 30 78 ff 90 0f 0b e8 ca 5d 62 09 48 8b 5c 24 08 48 89
> RSP: 0018:ffffc90003327760 EFLAGS: 00010293
> RAX: ffffffff821ddf06 RBX: 0000000000007b54 RCX: ffff88802eff3c00
> RDX: 0000000000000000 RSI: 0000000000001000 RDI: 0000000000007b54
> RBP: ffffc900033278c8 R08: ffffffff821dc733 R09: 1ffffd400006f810
> R10: dffffc0000000000 R11: fffff9400006f811 R12: 00fff0000000920d
> R13: 0000000000000000 R14: 0000000000001000 R15: 0000000000007b54
> FS:  000055556494d480(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 000055838a039e38 CR3: 0000000078508000 CR4: 0000000000350ef0
>
>
> ---
> This report is generated by a bot. It may contain errors.
> See https://goo.gl/tpsmEJ for more information about syzbot.
> syzbot engineers can be reached at syzkaller@googlegroups.com.
>
> syzbot will keep track of this issue. See:
> https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
> For information about bisection process see: https://goo.gl/tpsmEJ#bisection
>
> If the report is already addressed, let syzbot know by replying with:
> #syz fix: exact-commit-title
>
> If you want syzbot to run the reproducer, reply with:
> #syz test: git://repo/address.git branch-or-commit-hash
> If you attach or paste a git patch, syzbot will apply it before testing.
>
> If you want to overwrite report's subsystems, reply with:
> #syz set subsystems: new-subsystem
> (See the list of subsystem names on the web dashboard)
>
> If the report is a duplicate of another one, reply with:
> #syz dup: exact-subject-of-another-report
>
> If you want to undo deduplication, reply with:
> #syz undup

This appears to be an issue with the same cause as the automatically
obsoleted issue below:

https://syzkaller.appspot.com/bug?extid=4936b06b07f365af31cc

I would like to take a closer look.

Ryusuke Konishi

^ permalink raw reply	[relevance 64%]

* Re: [bug report] SUNRPC: Fix svcauth_gss_proxy_init()
  2024-05-04 11:23 64% [bug report] SUNRPC: Fix svcauth_gss_proxy_init() Dan Carpenter
@ 2024-05-04 15:18 64% ` Chuck Lever
  0 siblings, 0 replies; 200+ results
From: Chuck Lever @ 2024-05-04 15:18 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: linux-nfs

On Sat, May 04, 2024 at 02:23:23PM +0300, Dan Carpenter wrote:
> Hello Chuck Lever,
> 
> Commit 5866efa8cbfb ("SUNRPC: Fix svcauth_gss_proxy_init()") from Oct
> 24, 2019 (linux-next), leads to the following Smatch static checker
> warning:
> 
> 	net/sunrpc/auth_gss/svcauth_gss.c:1039 gss_free_in_token_pages()
> 	warn: iterator 'i' not incremented

We haven't seen a problem in practice, thus it's likely that
->page_len is rarely if ever larger than a page. I will post a fix
in a day or two. Thanks, Dan!


> net/sunrpc/auth_gss/svcauth_gss.c
>     1034 static void gss_free_in_token_pages(struct gssp_in_token *in_token)
>     1035 {
>     1036         u32 inlen;
>     1037         int i;
>     1038 
> --> 1039         i = 0;
>     1040         inlen = in_token->page_len;
>     1041         while (inlen) {
>     1042                 if (in_token->pages[i])
>     1043                         put_page(in_token->pages[i]);
>                                                           ^
> This puts page zero over and over.
> 
>     1044                 inlen -= inlen > PAGE_SIZE ? PAGE_SIZE : inlen;
>     1045         }
>     1046 
>     1047         kfree(in_token->pages);
>     1048         in_token->pages = NULL;
>     1049 }
> 
> regards,
> dan carpenter
> 

-- 
Chuck Lever

^ permalink raw reply	[relevance 64%]

* Re: Bug report: Deriving zeroable doesn't work with const generics
  @ 2024-05-04 14:17 64% ` Benno Lossin
  0 siblings, 0 replies; 200+ results
From: Benno Lossin @ 2024-05-04 14:17 UTC (permalink / raw)
  To: Alice Ryhl, rust-for-linux

On 03.05.24 17:03, Alice Ryhl wrote:
> Hi list,
> 
> I noticed that the #[derive(Zeroable)] macro doesn't work on const
> generics. I get this error:
> 
> error[E0404]: expected trait, found builtin type `u64`
>     --> rust/kernel/list.rs:105:32
>      |
>  105 | pub struct ListLinks<const ID: u64 = 0> {
>      |                                ^^^ not a trait
> 
> Anyone up for fixing it?

I already have a fix for this, but I haven't had the time to put it on
the list. Will try to do so soon.

Also I wouldn't count this as a bug, it only is a missing feature :)

-- 
Cheers,
Benno


^ permalink raw reply	[relevance 64%]

* [Bug 218805] CPU stuck to low frequency after resume from sleep
    2024-05-04  9:04 64% ` [Bug 218805] " bugzilla-daemon
@ 2024-05-04 13:26 64% ` bugzilla-daemon
  2024-05-05  8:48 64% ` bugzilla-daemon
  2 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-04 13:26 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218805

--- Comment #2 from Artem S. Tashkinov (aros@gmx.com) ---
Could you try disabling/enabling turbo boost? I've seen bug reports where
people say it helped them.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
  2024-05-03 21:54 59% [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound Sean Anderson
@ 2024-05-04 12:21 64%   ` Laurent Pinchart
  2024-05-06 11:16 64%   ` Tomi Valkeinen
  1 sibling, 0 replies; 200+ results
From: Laurent Pinchart @ 2024-05-04 12:21 UTC (permalink / raw)
  To: Sean Anderson
  Cc: Tomi Valkeinen, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Michal Simek,
	dri-devel, linux-arm-kernel, linux-kernel

Hi Sean,

On Fri, May 03, 2024 at 05:54:32PM -0400, Sean Anderson wrote:
> Hi,
> 
> I have discovered a bug in the displayport driver on drm-misc-next. To
> trigger it, run
> 
> echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
> 
> The system will become unresponsive and (after a bit) splat with a hard
> LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
> zynqmp_dp_bridge_detect.
> 
> I believe the issue is due the registers being unmapped and the block
> put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release.

That is on purpose. Drivers are not allowed to access the device at all
after .remove() returns.

> This
> could be resolved by deferring things until zynqmp_dpsub_release
> (requiring us to skip devm_*), or by adding a flag to struct zynqmp_dp
> and checking it before each callback. A subsystem-level implementation
> might be better for the latter.
> 
> For a better traceback, try applying the below patch and running the
> following commands before triggering the lockup:
> 
> echo 4 > /sys/module/drm/parameters/debug
> echo 8 > /proc/sys/kernel/printk
> 
> diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp.c b/drivers/gpu/drm/xlnx/zynqmp_dp.c
> index 9df068a413f3..17b477b14ab5 100644
> --- a/drivers/gpu/drm/xlnx/zynqmp_dp.c
> +++ b/drivers/gpu/drm/xlnx/zynqmp_dp.c
> @@ -296,6 +296,7 @@ struct zynqmp_dp_config {
>   * @train_set: set of training data
>   */
>  struct zynqmp_dp {
> +       unsigned long long magic;
>         struct device *dev;
>         struct zynqmp_dpsub *dpsub;
>         void __iomem *iomem;
> @@ -1533,6 +1534,8 @@ static enum drm_connector_status zynqmp_dp_bridge_detect(struct drm_bridge *brid
>         u32 state, i;
>         int ret;
>  
> +       WARN_ON(dp->magic != 0x0123456789abcdefULL);
> +
>         /*
>          * This is from heuristic. It takes some delay (ex, 100 ~ 500 msec) to
>          * get the HPD signal with some monitors.
> @@ -1723,6 +1726,7 @@ int zynqmp_dp_probe(struct zynqmp_dpsub *dpsub)
>         if (!dp)
>                 return -ENOMEM;
>  
> +       dp->magic = 0x0123456789abcdefULL;
>         dp->dev = &pdev->dev;
>         dp->dpsub = dpsub;
>         dp->status = connector_status_disconnected;
> @@ -1839,4 +1843,5 @@ void zynqmp_dp_remove(struct zynqmp_dpsub *dpsub)
>  
>         zynqmp_dp_phy_exit(dp);
>         zynqmp_dp_reset(dp, true);
> +       dp->magic = 0xdeadbeefdeadbeefULL;
>  }

-- 
Regards,

Laurent Pinchart

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[relevance 64%]

* Re: [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
@ 2024-05-04 12:21 64%   ` Laurent Pinchart
  0 siblings, 0 replies; 200+ results
From: Laurent Pinchart @ 2024-05-04 12:21 UTC (permalink / raw)
  To: Sean Anderson
  Cc: Tomi Valkeinen, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Michal Simek,
	dri-devel, linux-arm-kernel, linux-kernel

Hi Sean,

On Fri, May 03, 2024 at 05:54:32PM -0400, Sean Anderson wrote:
> Hi,
> 
> I have discovered a bug in the displayport driver on drm-misc-next. To
> trigger it, run
> 
> echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind
> 
> The system will become unresponsive and (after a bit) splat with a hard
> LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
> zynqmp_dp_bridge_detect.
> 
> I believe the issue is due the registers being unmapped and the block
> put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release.

That is on purpose. Drivers are not allowed to access the device at all
after .remove() returns.

> This
> could be resolved by deferring things until zynqmp_dpsub_release
> (requiring us to skip devm_*), or by adding a flag to struct zynqmp_dp
> and checking it before each callback. A subsystem-level implementation
> might be better for the latter.
> 
> For a better traceback, try applying the below patch and running the
> following commands before triggering the lockup:
> 
> echo 4 > /sys/module/drm/parameters/debug
> echo 8 > /proc/sys/kernel/printk
> 
> diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp.c b/drivers/gpu/drm/xlnx/zynqmp_dp.c
> index 9df068a413f3..17b477b14ab5 100644
> --- a/drivers/gpu/drm/xlnx/zynqmp_dp.c
> +++ b/drivers/gpu/drm/xlnx/zynqmp_dp.c
> @@ -296,6 +296,7 @@ struct zynqmp_dp_config {
>   * @train_set: set of training data
>   */
>  struct zynqmp_dp {
> +       unsigned long long magic;
>         struct device *dev;
>         struct zynqmp_dpsub *dpsub;
>         void __iomem *iomem;
> @@ -1533,6 +1534,8 @@ static enum drm_connector_status zynqmp_dp_bridge_detect(struct drm_bridge *brid
>         u32 state, i;
>         int ret;
>  
> +       WARN_ON(dp->magic != 0x0123456789abcdefULL);
> +
>         /*
>          * This is from heuristic. It takes some delay (ex, 100 ~ 500 msec) to
>          * get the HPD signal with some monitors.
> @@ -1723,6 +1726,7 @@ int zynqmp_dp_probe(struct zynqmp_dpsub *dpsub)
>         if (!dp)
>                 return -ENOMEM;
>  
> +       dp->magic = 0x0123456789abcdefULL;
>         dp->dev = &pdev->dev;
>         dp->dpsub = dpsub;
>         dp->status = connector_status_disconnected;
> @@ -1839,4 +1843,5 @@ void zynqmp_dp_remove(struct zynqmp_dpsub *dpsub)
>  
>         zynqmp_dp_phy_exit(dp);
>         zynqmp_dp_reset(dp, true);
> +       dp->magic = 0xdeadbeefdeadbeefULL;
>  }

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[relevance 64%]

* [bug report] [PATCH] dvb: b2c2/flexcop driver refactoring part 2: add modular Flexcop driver
@ 2024-05-04 11:24 64% Dan Carpenter
  2024-05-04 20:24 64% ` Johannes Stezenbach
  0 siblings, 1 reply; 200+ results
From: Dan Carpenter @ 2024-05-04 11:24 UTC (permalink / raw)
  To: Johannes Stezenbach; +Cc: linux-media

[ This patch is 19 years old now...  :P  Sorry!  - dan ]

Hello Johannes Stezenbach,

Commit 2add87a95068 ("[PATCH] dvb: b2c2/flexcop driver refactoring
part 2: add modular Flexcop driver") from May 16, 2005 (linux-next),
leads to the following Smatch static checker warning:

	drivers/media/usb/b2c2/flexcop-usb.c:199 flexcop_usb_memory_req()
	warn: iterator 'i' not incremented

drivers/media/usb/b2c2/flexcop-usb.c
    178 static int flexcop_usb_memory_req(struct flexcop_usb *fc_usb,
    179                 flexcop_usb_request_t req, flexcop_usb_mem_page_t page_start,
    180                 u32 addr, int extended, u8 *buf, u32 len)
    181 {
    182         int i, ret = 0;
    183         u16 wMax;
    184         u32 pagechunk = 0;
    185 
    186         switch (req) {
    187         case B2C2_USB_READ_V8_MEM:
    188                 wMax = USB_MEM_READ_MAX;
    189                 break;
    190         case B2C2_USB_WRITE_V8_MEM:
    191                 wMax = USB_MEM_WRITE_MAX;
    192                 break;
    193         case B2C2_USB_FLASH_BLOCK:
    194                 wMax = USB_FLASH_MAX;
    195                 break;
    196         default:
    197                 return -EINVAL;
    198         }
--> 199         for (i = 0; i < len;) {

No i++.

    200                 pagechunk =
    201                         wMax < bytes_left_to_read_on_page(addr, len) ?
    202                                 wMax :
    203                                 bytes_left_to_read_on_page(addr, len);
    204                 deb_info("%x\n",
    205                         (addr & V8_MEMORY_PAGE_MASK) |
    206                                 (V8_MEMORY_EXTENDED*extended));
    207 
    208                 ret = flexcop_usb_v8_memory_req(fc_usb, req,
    209                         page_start + (addr / V8_MEMORY_PAGE_SIZE),
    210                         (addr & V8_MEMORY_PAGE_MASK) |
    211                                 (V8_MEMORY_EXTENDED*extended),
    212                         &buf[i], pagechunk);
                                ^^^^^^^^
I think adding an i++ doesn't make sense.  Are we really writing a byte
at a time?

    213 
    214                 if (ret < 0)
    215                         return ret;
    216                 addr += pagechunk;
    217                 len -= pagechunk;
    218         }
    219         return 0;
    220 }

regards,
dan carpenter

^ permalink raw reply	[relevance 64%]

* [bug report] md: Remove deprecated CONFIG_MD_MULTIPATH
@ 2024-05-04 11:23 64% Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-04 11:23 UTC (permalink / raw)
  To: song; +Cc: linux-raid

Hello Song Liu,

Commit d8730f0cf4ef ("md: Remove deprecated CONFIG_MD_MULTIPATH")
from Dec 14, 2023 (linux-next), leads to the following Smatch static
checker warning:

	drivers/md/md.c:3862 analyze_sbs()
	warn: iterator 'i' not incremented

drivers/md/md.c
    3861 
--> 3862         i = 0;
    3863         rdev_for_each_safe(rdev, tmp, mddev) {
    3864                 if (mddev->max_disks &&
    3865                     (rdev->desc_nr >= mddev->max_disks ||
    3866                      i > mddev->max_disks)) {
                              ^
There used to be an i++ but that patch deleted it.  Should i just be
deleted?

    3867                         pr_warn("md: %s: %pg: only %d devices permitted\n",
    3868                                 mdname(mddev), rdev->bdev,
    3869                                 mddev->max_disks);
    3870                         md_kick_rdev_from_array(rdev);
    3871                         continue;
    3872                 }
    3873                 if (rdev != freshest) {
    3874                         if (super_types[mddev->major_version].
    3875                             validate_super(mddev, freshest, rdev)) {
    3876                                 pr_warn("md: kicking non-fresh %pg from array!\n",
    3877                                         rdev->bdev);
    3878                                 md_kick_rdev_from_array(rdev);
    3879                                 continue;
    3880                         }
    3881                 }
    3882                 if (rdev->raid_disk >= (mddev->raid_disks - min(0, mddev->delta_disks)) &&
    3883                     !test_bit(Journal, &rdev->flags)) {
    3884                         rdev->raid_disk = -1;
    3885                         clear_bit(In_sync, &rdev->flags);
    3886                 }
    3887         }
    3888 
    3889         return 0;
    3890 }

regards,
dan carpenter

^ permalink raw reply	[relevance 64%]

* [bug report] SUNRPC: Fix svcauth_gss_proxy_init()
@ 2024-05-04 11:23 64% Dan Carpenter
  2024-05-04 15:18 64% ` Chuck Lever
  0 siblings, 1 reply; 200+ results
From: Dan Carpenter @ 2024-05-04 11:23 UTC (permalink / raw)
  To: chuck.lever; +Cc: linux-nfs

Hello Chuck Lever,

Commit 5866efa8cbfb ("SUNRPC: Fix svcauth_gss_proxy_init()") from Oct
24, 2019 (linux-next), leads to the following Smatch static checker
warning:

	net/sunrpc/auth_gss/svcauth_gss.c:1039 gss_free_in_token_pages()
	warn: iterator 'i' not incremented

net/sunrpc/auth_gss/svcauth_gss.c
    1034 static void gss_free_in_token_pages(struct gssp_in_token *in_token)
    1035 {
    1036         u32 inlen;
    1037         int i;
    1038 
--> 1039         i = 0;
    1040         inlen = in_token->page_len;
    1041         while (inlen) {
    1042                 if (in_token->pages[i])
    1043                         put_page(in_token->pages[i]);
                                                          ^
This puts page zero over and over.

    1044                 inlen -= inlen > PAGE_SIZE ? PAGE_SIZE : inlen;
    1045         }
    1046 
    1047         kfree(in_token->pages);
    1048         in_token->pages = NULL;
    1049 }

regards,
dan carpenter

^ permalink raw reply	[relevance 64%]

* [bug report] crush: remove forcefeed functionality
@ 2024-05-04 11:23 60% Dan Carpenter
  0 siblings, 0 replies; 200+ results
From: Dan Carpenter @ 2024-05-04 11:23 UTC (permalink / raw)
  To: sage; +Cc: ceph-devel

Hello Sage Weil,

Commit 41ebcc0907c5 ("crush: remove forcefeed functionality") from
May 7, 2012 (linux-next), leads to the following Smatch static
checker warning:

	net/ceph/crush/mapper.c:1012 crush_do_rule()
	warn: iterator 'j' not incremented

net/ceph/crush/mapper.c
    1004                         for (i = 0; i < wsize; i++) {
    1005                                 int bno;
    1006                                 numrep = curstep->arg1;
    1007                                 if (numrep <= 0) {
    1008                                         numrep += result_max;
    1009                                         if (numrep <= 0)
    1010                                                 continue;
    1011                                 }
--> 1012                                 j = 0;
                                         ^^^^^^
The 2012 commit removed the j++ so now j is always 0.

    1013                                 /* make sure bucket id is valid */
    1014                                 bno = -1 - w[i];
    1015                                 if (bno < 0 || bno >= map->max_buckets) {
    1016                                         /* w[i] is probably CRUSH_ITEM_NONE */
    1017                                         dprintk("  bad w[i] %d\n", w[i]);
    1018                                         continue;
    1019                                 }
    1020                                 if (firstn) {
    1021                                         int recurse_tries;
    1022                                         if (choose_leaf_tries)
    1023                                                 recurse_tries =
    1024                                                         choose_leaf_tries;
    1025                                         else if (map->chooseleaf_descend_once)
    1026                                                 recurse_tries = 1;
    1027                                         else
    1028                                                 recurse_tries = choose_tries;
    1029                                         osize += crush_choose_firstn(
    1030                                                 map,
    1031                                                 cw,
    1032                                                 map->buckets[bno],
    1033                                                 weight, weight_max,
    1034                                                 x, numrep,
    1035                                                 curstep->arg2,
    1036                                                 o+osize, j,
    1037                                                 result_max-osize,
    1038                                                 choose_tries,
    1039                                                 recurse_tries,
    1040                                                 choose_local_retries,
    1041                                                 choose_local_fallback_retries,
    1042                                                 recurse_to_leaf,
    1043                                                 vary_r,
    1044                                                 stable,
    1045                                                 c+osize,
    1046                                                 0,
    1047                                                 choose_args);
    1048                                 } else {
    1049                                         out_size = ((numrep < (result_max-osize)) ?
    1050                                                     numrep : (result_max-osize));
    1051                                         crush_choose_indep(
    1052                                                 map,
    1053                                                 cw,
    1054                                                 map->buckets[bno],
    1055                                                 weight, weight_max,
    1056                                                 x, out_size, numrep,
    1057                                                 curstep->arg2,
    1058                                                 o+osize, j,
    1059                                                 choose_tries,
    1060                                                 choose_leaf_tries ?
    1061                                                    choose_leaf_tries : 1,
    1062                                                 recurse_to_leaf,
    1063                                                 c+osize,
    1064                                                 0,
    1065                                                 choose_args);
    1066                                         osize += out_size;
    1067                                 }
    1068                         }
    1069 
    1070                         if (recurse_to_leaf)
    1071                                 /* copy final _leaf_ values to output set */
    1072                                 memcpy(o, c, osize*sizeof(*o));
    1073 
    1074                         /* swap o and w arrays */
    1075                         swap(o, w);
    1076                         wsize = osize;
    1077                         break;
    1078 
    1079 
    1080                 case CRUSH_RULE_EMIT:
    1081                         for (i = 0; i < wsize && result_len < result_max; i++) {
    1082                                 result[result_len] = w[i];
    1083                                 result_len++;
    1084                         }
    1085                         wsize = 0;
    1086                         break;
    1087 
    1088                 default:
    1089                         dprintk(" unknown op %d at step %d\n",
    1090                                 curstep->op, step);
    1091                         break;
    1092                 }
    1093         }
    1094 
    1095         return result_len;
    1096 }

regards,
dan carpenter

^ permalink raw reply	[relevance 60%]

* [syzbot] [nilfs?] kernel BUG in __block_write_begin_int (2)
@ 2024-05-04 10:20 47% syzbot
  2024-05-04 18:26 64% ` Ryusuke Konishi
  0 siblings, 1 reply; 200+ results
From: syzbot @ 2024-05-04 10:20 UTC (permalink / raw)
  To: konishi.ryusuke, linux-fsdevel, linux-kernel, linux-nilfs,
	syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    9e4bc4bcae01 Merge tag 'nfs-for-6.9-2' of git://git.linux-..
git tree:       upstream
console+strace: https://syzkaller.appspot.com/x/log.txt?x=12f2ae87180000
kernel config:  https://syzkaller.appspot.com/x/.config?x=3714fc09f933e505
dashboard link: https://syzkaller.appspot.com/bug?extid=d3abed1ad3d367fa2627
compiler:       Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=150c697f180000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=140de537180000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/b98a742ff5ed/disk-9e4bc4bc.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/207a8191df7c/vmlinux-9e4bc4bc.xz
kernel image: https://storage.googleapis.com/syzbot-assets/7dd86c3ad0ba/bzImage-9e4bc4bc.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/d35001c4b748/mount_0.gz

Bisection is inconclusive: the issue happens on the oldest tested release.

bisection log:  https://syzkaller.appspot.com/x/bisect.txt?x=15526d37180000
final oops:     https://syzkaller.appspot.com/x/report.txt?x=17526d37180000
console output: https://syzkaller.appspot.com/x/log.txt?x=13526d37180000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+d3abed1ad3d367fa2627@syzkaller.appspotmail.com

------------[ cut here ]------------
kernel BUG at fs/buffer.c:2083!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI
CPU: 0 PID: 5084 Comm: syz-executor283 Not tainted 6.9.0-rc6-syzkaller-00012-g9e4bc4bcae01 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
RIP: 0010:__block_write_begin_int+0x19a7/0x1a70 fs/buffer.c:2083
Code: 31 ff e8 ac 35 78 ff 48 89 d8 48 25 ff 0f 00 00 74 27 e8 bc 30 78 ff e9 c6 e7 ff ff e8 b2 30 78 ff 90 0f 0b e8 aa 30 78 ff 90 <0f> 0b e8 a2 30 78 ff 90 0f 0b e8 ca 5d 62 09 48 8b 5c 24 08 48 89
RSP: 0018:ffffc90003327760 EFLAGS: 00010293
RAX: ffffffff821ddf06 RBX: 0000000000007b54 RCX: ffff88802eff3c00
RDX: 0000000000000000 RSI: 0000000000001000 RDI: 0000000000007b54
RBP: ffffc900033278c8 R08: ffffffff821dc733 R09: 1ffffd400006f810
R10: dffffc0000000000 R11: fffff9400006f811 R12: 00fff0000000920d
R13: 0000000000000000 R14: 0000000000001000 R15: 0000000000007b54
FS:  000055556494d480(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055838a10d7f0 CR3: 0000000078508000 CR4: 0000000000350ef0
Call Trace:
 <TASK>
 nilfs_prepare_chunk fs/nilfs2/dir.c:86 [inline]
 nilfs_set_link+0xc5/0x2a0 fs/nilfs2/dir.c:411
 nilfs_rename+0x5b2/0xaf0 fs/nilfs2/namei.c:416
 vfs_rename+0xbdd/0xf00 fs/namei.c:4880
 do_renameat2+0xd94/0x13f0 fs/namei.c:5037
 __do_sys_rename fs/namei.c:5084 [inline]
 __se_sys_rename fs/namei.c:5082 [inline]
 __x64_sys_rename+0x86/0xa0 fs/namei.c:5082
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fa292c67f99
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 f1 17 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffd9d3b0198 EFLAGS: 00000246 ORIG_RAX: 0000000000000052
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fa292c67f99
RDX: 00007fa292c67f99 RSI: 0000000020000040 RDI: 0000000020000180
RBP: 0000000000000000 R08: 00007ffd9d3b01d0 R09: 00007ffd9d3b01d0
R10: 0000000000000f69 R11: 0000000000000246 R12: 00007ffd9d3b01d0
R13: 00007ffd9d3b0458 R14: 431bde82d7b634db R15: 00007fa292cb103b
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:__block_write_begin_int+0x19a7/0x1a70 fs/buffer.c:2083
Code: 31 ff e8 ac 35 78 ff 48 89 d8 48 25 ff 0f 00 00 74 27 e8 bc 30 78 ff e9 c6 e7 ff ff e8 b2 30 78 ff 90 0f 0b e8 aa 30 78 ff 90 <0f> 0b e8 a2 30 78 ff 90 0f 0b e8 ca 5d 62 09 48 8b 5c 24 08 48 89
RSP: 0018:ffffc90003327760 EFLAGS: 00010293
RAX: ffffffff821ddf06 RBX: 0000000000007b54 RCX: ffff88802eff3c00
RDX: 0000000000000000 RSI: 0000000000001000 RDI: 0000000000007b54
RBP: ffffc900033278c8 R08: ffffffff821dc733 R09: 1ffffd400006f810
R10: dffffc0000000000 R11: fffff9400006f811 R12: 00fff0000000920d
R13: 0000000000000000 R14: 0000000000001000 R15: 0000000000007b54
FS:  000055556494d480(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055838a039e38 CR3: 0000000078508000 CR4: 0000000000350ef0


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
For information about bisection process see: https://goo.gl/tpsmEJ#bisection

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

^ permalink raw reply	[relevance 47%]

* [syzbot] [bcachefs?] WARNING: kmalloc bug in bch2_dev_buckets_resize
@ 2024-05-04 10:09 49% syzbot
  0 siblings, 0 replies; 200+ results
From: syzbot @ 2024-05-04 10:09 UTC (permalink / raw)
  To: bfoster, kent.overstreet, linux-bcachefs, linux-fsdevel,
	linux-kernel, syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    ddb4c3f25b7b Merge tag 'for-linus-6.9a-rc7-tag' of git://g..
git tree:       upstream
console+strace: https://syzkaller.appspot.com/x/log.txt?x=135a6250980000
kernel config:  https://syzkaller.appspot.com/x/.config?x=d2f00edef461175
dashboard link: https://syzkaller.appspot.com/bug?extid=b29f436493184ea42e2b
compiler:       Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=16ae8a70980000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=137cd2c0980000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/e5f22d23f04c/disk-ddb4c3f2.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/316aad0f5d86/vmlinux-ddb4c3f2.xz
kernel image: https://storage.googleapis.com/syzbot-assets/5427a7af4284/bzImage-ddb4c3f2.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/8fe84d3b6e38/mount_0.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+b29f436493184ea42e2b@syzkaller.appspotmail.com

loop0: detected capacity change from 0 to 32768
------------[ cut here ]------------
WARNING: CPU: 1 PID: 5073 at mm/util.c:649 kvmalloc_node+0x17a/0x190 mm/util.c:649
Modules linked in:
CPU: 1 PID: 5073 Comm: syz-executor199 Not tainted 6.9.0-rc6-syzkaller-00232-gddb4c3f25b7b #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
RIP: 0010:kvmalloc_node+0x17a/0x190 mm/util.c:649
Code: cc 44 89 fe 81 e6 00 20 00 00 31 ff e8 ef b9 be ff 41 81 e7 00 20 00 00 74 0a e8 a1 b5 be ff e9 3b ff ff ff e8 97 b5 be ff 90 <0f> 0b 90 e9 2d ff ff ff 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00
RSP: 0018:ffffc90003ccf0a8 EFLAGS: 00010293
RAX: ffffffff81d75a39 RBX: 00e60000000000a0 RCX: ffff888029583c00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000000000 R08: ffffffff81d75a21 R09: 00000000ffffffff
R10: ffffc90003ccef20 R11: fffff52000799de9 R12: dffffc0000000000
R13: ffff888076880000 R14: 00000000ffffffff R15: 0000000000000000
FS:  0000555583854380(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffee0b71c24 CR3: 000000007acca000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 kvmalloc include/linux/slab.h:766 [inline]
 bch2_dev_buckets_resize+0x71/0x410 fs/bcachefs/buckets.c:1349
 __bch2_dev_alloc+0x7b4/0xa80 fs/bcachefs/super.c:1321
 bch2_dev_alloc+0xda/0x180 fs/bcachefs/super.c:1356
 bch2_fs_alloc+0x21fa/0x2330 fs/bcachefs/super.c:944
 bch2_fs_open+0x8cc/0xdf0 fs/bcachefs/super.c:2081
 bch2_mount+0x71d/0x1320 fs/bcachefs/fs.c:1903
 legacy_get_tree+0xee/0x190 fs/fs_context.c:662
 vfs_get_tree+0x90/0x2a0 fs/super.c:1779
 do_new_mount+0x2be/0xb40 fs/namespace.c:3352
 do_mount fs/namespace.c:3692 [inline]
 __do_sys_mount fs/namespace.c:3898 [inline]
 __se_sys_mount+0x2d9/0x3c0 fs/namespace.c:3875
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f7fb2d50d7a
Code: d8 64 89 02 48 c7 c0 ff ff ff ff eb a6 e8 5e 04 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffe44855818 EFLAGS: 00000282 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007ffe44855830 RCX: 00007f7fb2d50d7a
RDX: 0000000020011a00 RSI: 0000000020011a40 RDI: 00007ffe44855830
RBP: 0000000000000004 R08: 00007ffe44855870 R09: 00000000000119fa
R10: 0000000000000000 R11: 0000000000000282 R12: 0000000000000000
R13: 00007ffe44855870 R14: 0000000000000003 R15: 0000000001000000
 </TASK>


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

^ permalink raw reply	[relevance 49%]

* Re: bug in may_dedupe_file allows to deduplicate files we aren't allowed to write to
  2024-05-04  4:49 63% bug in may_dedupe_file allows to deduplicate files we aren't allowed to write to Hugo Valtier
@ 2024-05-04  9:43 64% ` Amir Goldstein
  2024-05-04 20:50 64%   ` Hugo Valtier
  0 siblings, 1 reply; 200+ results
From: Amir Goldstein @ 2024-05-04  9:43 UTC (permalink / raw)
  To: Hugo Valtier
  Cc: mfasheh, viro, linux-fsdevel, linux-kernel, Christian Brauner

On Sat, May 4, 2024 at 7:49 AM Hugo Valtier <hugo@valtier.fr> wrote:
>
> For context I am making a file based deduplication tool.
>
> I found that in this commit
> 5de4480ae7f8 ("vfs: allow dedupe of user owned read-only files")
> it states:
> > - the process could get write access
>
> However the behavior added in allow_file_dedupe now may_dedupe_file is opposite:
> > +       if (!inode_permission(file_inode(file), MAY_WRITE))
> > +               return true
>
> I've tested that I can create an other readonly file as root and have
> my unprivileged user deduplicate it however if I then make the file
> other writeable I cannot anymore*.
> It doesn't make sense to me why giving write permissions on a file
> should remove the permission to deduplicate*.

True. Here is the discussion about adding "could have been opened w"
to allow dedupe:
https://lore.kernel.org/linux-fsdevel/20180517230150.GA28045@wotan.suse.de/

>
> I'm not sure on how to fix this, flipping the condition would work but
> that is a breaking change and idk if this is ok here.
> Adding a check to also users who have write access to the file would
> remove all the logic here since you would always be allowed to dedup
> FDs you managed to get your hands on.
>
> Any input on this welcome, thx

My guess is that not many users try to dedupe other users' files,
so this feature was never used and nobody complained.
What use case do you think flipping the condition could break?
breaking uapi is not about theoretical use cases and in any
case this needs to be marked with Fixes: and can be backported
as far as anyone who cares wants to backport.

You should add an xfstest for this and include a
_fixed_by_kernel_commit and that will signal all the distros that
care to backport the fix.

Thanks,
Amir.

^ permalink raw reply	[relevance 64%]

* [Bug 218805] CPU stuck to low frequency after resume from sleep
  @ 2024-05-04  9:04 64% ` bugzilla-daemon
  2024-05-04 13:26 64% ` bugzilla-daemon
  2024-05-05  8:48 64% ` bugzilla-daemon
  2 siblings, 0 replies; 200+ results
From: bugzilla-daemon @ 2024-05-04  9:04 UTC (permalink / raw)
  To: linux-pm

https://bugzilla.kernel.org/show_bug.cgi?id=218805

--- Comment #1 from Artem S. Tashkinov (aros@gmx.com) ---
What's your CPU precisely?

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[relevance 64%]

* [PATCH v2 1/5] vvfat: Fix bug in writing to middle of file
  @ 2024-05-04  8:44 64% ` Amjad Alsharafi
  0 siblings, 0 replies; 200+ results
From: Amjad Alsharafi @ 2024-05-04  8:44 UTC (permalink / raw)
  To: qemu-devel; +Cc: Hanna Reitz, Kevin Wolf, open list:vvfat, Amjad Alsharafi

Before this commit, the behavior when calling `commit_one_file` for
example with `offset=0x2000` (second cluster), what will happen is that
we won't fetch the next cluster from the fat, and instead use the first
cluster for the read operation.

This is due to off-by-one error here, where `i=0x2000 !< offset=0x2000`,
thus not fetching the next cluster.

Signed-off-by: Amjad Alsharafi <amjadsharafi10@gmail.com>
---
 block/vvfat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/vvfat.c b/block/vvfat.c
index 9d050ba3ae..ab342f0743 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -2525,7 +2525,7 @@ commit_one_file(BDRVVVFATState* s, int dir_index, uint32_t offset)
         return -1;
     }
 
-    for (i = s->cluster_size; i < offset; i += s->cluster_size)
+    for (i = s->cluster_size; i <= offset; i += s->cluster_size)
         c = modified_fat_get(s, c);
 
     fd = qemu_open_old(mapping->path, O_RDWR | O_CREAT | O_BINARY, 0666);
-- 
2.44.0



^ permalink raw reply related	[relevance 64%]

* Re: [BUG][v6.9-rc6] Deadlock with: Revert "drm/qxl: simplify qxl_fence_wait"
  @ 2024-05-04  8:39 64% ` Steven Rostedt
  2024-05-06 12:45 64%   ` Maxime Ripard
  0 siblings, 1 reply; 200+ results
From: Steven Rostedt @ 2024-05-04  8:39 UTC (permalink / raw)
  To: LKML
  Cc: Linus Torvalds, Alex Constantino, Maxime Ripard, Timo Lindfors,
	Dave Airlie, Gerd Hoffmann, Maarten Lankhorst, Thomas Zimmermann,
	Daniel Vetter


Did anyone see this?

-- Steve


On Thu, 2 May 2024 08:16:41 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> I went to run my tests on my VMs and the tests hung on boot up.
> Unfortunately, the most I ever got out was:
> 
> [   93.607888] Testing event system initcall: OK
> [   93.667730] Running tests on all trace events:
> [   93.669757] Testing all events: OK
> [   95.631064] ------------[ cut here ]------------
> Timed out after 60 seconds
> 
> I ran a bisect and it came up with:
> 
>  # first bad commit: [07ed11afb68d94eadd4ffc082b97c2331307c5ea] Revert "drm/qxl: simplify qxl_fence_wait"
> 
> I checked out 07ed11afb68d94eadd4ffc082b97c2331307c5ea~1 and it booted
> fine. Added back that commit, it failed to boot. I did this twice, and got
> the same results.
> 
> But the last time I ran it, it did trigger this:
> 
>  ------------[ cut here ]------------
>  
>  ======================================================
>  WARNING: possible circular locking dependency detected
>  6.9.0-rc1-test-00021-g07ed11afb68d #5 Not tainted
>  ------------------------------------------------------
>  kworker/u24:3/119 is trying to acquire lock:
>  ffffffff95aa4600 (console_owner){....}-{0:0}, at: console_flush_all+0x1f5/0x530
>  
>  but task is already holding lock:
>  ffff93c4bbd37218 (&pool->lock){-.-.}-{2:2}, at: __flush_work+0xc1/0x440
>  
>  which lock already depends on the new lock.
>  
>  
>  the existing dependency chain (in reverse order) is:
>  
>  -> #1 (&pool->lock){-.-.}-{2:2}:  
>         _raw_spin_lock+0x33/0x40
>         __queue_work+0xd6/0x610
>         queue_work_on+0x8a/0x90
>         soft_cursor+0x1a0/0x230
>         bit_cursor+0x386/0x5f0
>         hide_cursor+0x27/0xb0
>         vt_console_print+0x474/0x490
>         console_flush_all+0x22e/0x530
>         console_unlock+0x56/0x160
>         vprintk_emit+0x160/0x390
>         dev_printk_emit+0xa5/0xd0
>         _dev_info+0x79/0xa0
>         __drm_fb_helper_initial_config_and_unlock+0x3a9/0x5f0
>         drm_fbdev_generic_client_hotplug+0x69/0xc0
>         drm_client_register+0x7b/0xc0
>         qxl_pci_probe+0x107/0x1a0
>         local_pci_probe+0x45/0xa0
>         pci_device_probe+0xc7/0x240
>         really_probe+0xd6/0x390
>         __driver_probe_device+0x78/0x150
>         driver_probe_device+0x1f/0x90
>         __driver_attach+0xd6/0x1d0
>         bus_for_each_dev+0x8f/0xe0
>         bus_add_driver+0x119/0x220
>         driver_register+0x59/0x100
>         do_one_initcall+0x76/0x3c0
>         kernel_init_freeable+0x3a5/0x5b0
>         kernel_init+0x1a/0x1c0
>         ret_from_fork+0x34/0x50
>         ret_from_fork_asm+0x1a/0x30
>  
>  -> #0 (console_owner){....}-{0:0}:  
>         __lock_acquire+0x13e7/0x2180
>         lock_acquire+0xd9/0x300
>         console_flush_all+0x212/0x530
>         console_unlock+0x56/0x160
>         vprintk_emit+0x160/0x390
>         _printk+0x64/0x80
>         __warn_printk+0x8e/0x180
>         check_flush_dependency+0xfd/0x120
>         __flush_work+0xfa/0x440
>         qxl_queue_garbage_collect+0x83/0x90
>         qxl_fence_wait+0xa4/0x1a0
>         dma_fence_wait_timeout+0x98/0x1e0
>         dma_resv_wait_timeout+0x7f/0xe0
>         ttm_bo_delayed_delete+0x2b/0x90
>         process_one_work+0x228/0x740
>         worker_thread+0x1dc/0x3c0
>         kthread+0xf2/0x120
>         ret_from_fork+0x34/0x50
>         ret_from_fork_asm+0x1a/0x30
>  
>  other info that might help us debug this:
>  
>   Possible unsafe locking scenario:
>  
>         CPU0                    CPU1
>         ----                    ----
>    lock(&pool->lock);
>                                 lock(console_owner);
>                                 lock(&pool->lock);
>    lock(console_owner);
>  
>   *** DEADLOCK ***
>  
>  6 locks held by kworker/u24:3/119:
>   #0: ffff93c440245948 ((wq_completion)ttm){+.+.}-{0:0}, at: process_one_work+0x43a/0x740
>   #1: ffffa01380d83e60 ((work_completion)(&bo->delayed_delete)){+.+.}-{0:0}, at: process_one_work+0x1e2/0x740
>   #2: ffffffff95b17880 (rcu_read_lock){....}-{1:2}, at: __flush_work+0x86/0x440
>   #3: ffff93c4bbd37218 (&pool->lock){-.-.}-{2:2}, at: __flush_work+0xc1/0x440
>   #4: ffffffff95b149c0 (console_lock){+.+.}-{0:0}, at: _printk+0x64/0x80
>   #5: ffffffff95b14a10 (console_srcu){....}-{0:0}, at: console_flush_all+0x7b/0x530
>  
>  stack backtrace:
>  CPU: 2 PID: 119 Comm: kworker/u24:3 Not tainted 6.9.0-rc1-test-00021-g07ed11afb68d #5
>  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
>  Workqueue: ttm ttm_bo_delayed_delete
>  Call Trace:
>   <TASK>
>   dump_stack_lvl+0x77/0xb0
>   check_noncircular+0x148/0x160
>   __lock_acquire+0x13e7/0x2180
>   lock_acquire+0xd9/0x300
>   ? console_flush_all+0x1f5/0x530
>   ? lock_release+0x147/0x2c0
>   ? console_flush_all+0x1f5/0x530
>   console_flush_all+0x212/0x530
>   ? console_flush_all+0x1f5/0x530
>   console_unlock+0x56/0x160
>   vprintk_emit+0x160/0x390
>   _printk+0x64/0x80
>   ? __pfx_ttm_bo_delayed_delete+0x10/0x10
>   ? __pfx_qxl_gc_work+0x10/0x10
>   __warn_printk+0x8e/0x180
>   ? __pfx_ttm_bo_delayed_delete+0x10/0x10
>   ? __pfx_qxl_gc_work+0x10/0x10
>   ? __pfx_qxl_gc_work+0x10/0x10
>   check_flush_dependency+0xfd/0x120
>   __flush_work+0xfa/0x440
>   qxl_queue_garbage_collect+0x83/0x90
>   qxl_fence_wait+0xa4/0x1a0
>   dma_fence_wait_timeout+0x98/0x1e0
>   dma_resv_wait_timeout+0x7f/0xe0
>   ttm_bo_delayed_delete+0x2b/0x90
>   process_one_work+0x228/0x740
>   worker_thread+0x1dc/0x3c0
>   ? __pfx_worker_thread+0x10/0x10
>   kthread+0xf2/0x120
>   ? __pfx_kthread+0x10/0x10
>   ret_from_fork+0x34/0x50
>   ? __pfx_kthread+0x10/0x10
>   ret_from_fork_asm+0x1a/0x30
>   </TASK>
>  workqueue: WQ_MEM_RECLAIM ttm:ttm_bo_delayed_delete is flushing !WQ_MEM_RECLAIM events:qxl_gc_work
>  WARNING: CPU: 2 PID: 119 at kernel/workqueue.c:3728 check_flush_dependency+0xfd/0x120
>  Modules linked in:
>  CPU: 2 PID: 119 Comm: kworker/u24:3 Not tainted 6.9.0-rc1-test-00021-g07ed11afb68d #5
>  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
>  Workqueue: ttm ttm_bo_delayed_delete
>  RIP: 0010:check_flush_dependency+0xfd/0x120
>  Code: 8b 45 18 48 8d b2 70 01 00 00 49 89 e8 48 8d 8b 70 01 00 00 48 c7 c7 60 46 7b 95 c6 05 48 67 d2 01 01 48 89 c2 e8 63 40 fd ff <0f> 0b e9 1e ff ff ff 80 3d 33 67 d2 01 00 75 93 e9 4a ff ff ff 66
>  RSP: 0000:ffffa01380d83c28 EFLAGS: 00010086
>  RAX: 0000000000000000 RBX: ffff93c44004ee00 RCX: 0000000000000000
>  RDX: 0000000080000003 RSI: 00000000ffffefff RDI: 0000000000000001
>  RBP: ffffffff9497b100 R08: 0000000000000000 R09: 0000000000000003
>  R10: ffffa01380d83ab8 R11: ffffffff95b14828 R12: ffff93c443980000
>  R13: ffff93c440fbe300 R14: 0000000000000001 R15: ffff93c44004ee00
>  FS:  0000000000000000(0000) GS:ffff93c4bbd00000(0000) knlGS:0000000000000000
>  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>  CR2: 0000000000000000 CR3: 000000007c864001 CR4: 0000000000170ef0
>  Call Trace:
>   <TASK>
>   ? __warn+0x8c/0x180
>   ? check_flush_dependency+0xfd/0x120
>   ? report_bug+0x191/0x1c0
>   ? prb_read_valid+0x1b/0x30
>   ? handle_bug+0x3c/0x80
>   ? exc_invalid_op+0x17/0x70
>   ? asm_exc_invalid_op+0x1a/0x20
>   ? __pfx_qxl_gc_work+0x10/0x10
>   ? check_flush_dependency+0xfd/0x120
>   ? check_flush_dependency+0xfd/0x120
>   __flush_work+0xfa/0x440
>   qxl_queue_garbage_collect+0x83/0x90
>   qxl_fence_wait+0xa4/0x1a0
>   dma_fence_wait_timeout+0x98/0x1e0
>   dma_resv_wait_timeout+0x7f/0xe0
>   ttm_bo_delayed_delete+0x2b/0x90
>   process_one_work+0x228/0x740
>   worker_thread+0x1dc/0x3c0
>   ? __pfx_worker_thread+0x10/0x10
>   kthread+0xf2/0x120
>   ? __pfx_kthread+0x10/0x10
>   ret_from_fork+0x34/0x50
>   ? __pfx_kthread+0x10/0x10
>   ret_from_fork_asm+0x1a/0x30
>   </TASK>
>  irq event stamp: 58
>  hardirqs last  enabled at (57): [<ffffffff93fede30>] queue_work_on+0x60/0x90
>  hardirqs last disabled at (58): [<ffffffff94ea7f66>] _raw_spin_lock_irq+0x56/0x60
>  softirqs last  enabled at (0): [<ffffffff93fbae27>] copy_process+0xc07/0x2c60
>  softirqs last disabled at (0): [<0000000000000000>] 0x0
>  ---[ end trace 0000000000000000 ]---
> 
> So there's an issue with dma_fence and a workqueue.
> 
> -- Steve
> 


^ permalink raw reply	[relevance 64%]

* [PATCH] Bug fix: ensure P4 "err" is displayed when exception is raised.
@ 2024-05-04  5:57 56% Fahad Alrashed via GitGitGadget
  2024-05-06 12:01 64% ` Karthik Nayak
  2024-05-08 11:46 51% ` [PATCH v2] " Fahad Alrashed via GitGitGadget
  0 siblings, 2 replies; 200+ results
From: Fahad Alrashed via GitGitGadget @ 2024-05-04  5:57 UTC (permalink / raw)
  To: git; +Cc: Fahad Alrashed, Fahad Alrashed

From: Fahad Alrashed <fahad@keylock.net>

Bug fix: During "git p4 clone" if p4 process returns
an error from the server, it will store it in variable
"err". The it will send a text command "die-now" to
git-fast-import. However, git-fast-import raises an
exception: "fatal: Unsupported command: die-now"
and err is never displayed. This patch ensures that
err is dispayed using "finally:"

Signed-off-by: Fahad Alrashed <fahad@keylock.net>
---
    In git p4, git fast-import fails from die-now command and err (from
    Perforce) is not shown
    
    When importing from Perforce using git p4 clone <depot location>,
    cloning works fine until Perforce command p4 raises an error. This error
    message is stored in err variable then git-fast-import is sent a die-now
    command to kill it. An exception is raised fatal: Unsupported command:
    die-now.
    
    This patch forces python to call die() with the err message returned
    from Perforce.
    
    This commit fixes the root cause of a bug that took me hours to find.
    I'm sure many faced the cryptic error and declared that git-p4 is not
    working for them.

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1668%2Falrashedf%2Fmaster-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1668/alrashedf/master-v1
Pull-Request: https://github.com/git/git/pull/1668

 git-p4.py | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/git-p4.py b/git-p4.py
index 28ab12c72b6..f1ab31d5403 100755
--- a/git-p4.py
+++ b/git-p4.py
@@ -3253,17 +3253,19 @@ def streamP4FilesCb(self, marshalled):
             if self.stream_have_file_info:
                 if "depotFile" in self.stream_file:
                     f = self.stream_file["depotFile"]
-            # force a failure in fast-import, else an empty
-            # commit will be made
-            self.gitStream.write("\n")
-            self.gitStream.write("die-now\n")
-            self.gitStream.close()
-            # ignore errors, but make sure it exits first
-            self.importProcess.wait()
-            if f:
-                die("Error from p4 print for %s: %s" % (f, err))
-            else:
-                die("Error from p4 print: %s" % err)
+            try:
+                # force a failure in fast-import, else an empty
+                # commit will be made
+                self.gitStream.write("\n")
+                self.gitStream.write("die-now\n")
+                self.gitStream.close()
+                # ignore errors, but make sure it exits first
+                self.importProcess.wait()
+            finally:
+                if f:
+                    die("Error from p4 print for %s: %s" % (f, err))
+                else:
+                    die("Error from p4 print: %s" % err)
 
         if 'depotFile' in marshalled and self.stream_have_file_info:
             # start of a new file - output the old one first

base-commit: 235986be822c9f8689be2e9a0b7804d0b1b6d821
-- 
gitgitgadget

^ permalink raw reply related	[relevance 56%]

* bug in may_dedupe_file allows to deduplicate files we aren't allowed to write to
@ 2024-05-04  4:49 63% Hugo Valtier
  2024-05-04  9:43 64% ` Amir Goldstein
  0 siblings, 1 reply; 200+ results
From: Hugo Valtier @ 2024-05-04  4:49 UTC (permalink / raw)
  To: mfasheh, viro, linux-fsdevel, linux-kernel

For context I am making a file based deduplication tool.

I found that in this commit
5de4480ae7f8 ("vfs: allow dedupe of user owned read-only files")
it states:
> - the process could get write access

However the behavior added in allow_file_dedupe now may_dedupe_file is opposite:
> +       if (!inode_permission(file_inode(file), MAY_WRITE))
> +               return true

I've tested that I can create an other readonly file as root and have
my unprivileged user deduplicate it however if I then make the file
other writeable I cannot anymore*.
It doesn't make sense to me why giving write permissions on a file
should remove the permission to deduplicate*.

I'm not sure on how to fix this, flipping the condition would work but
that is a breaking change and idk if this is ok here.
Adding a check to also users who have write access to the file would
remove all the logic here since you would always be allowed to dedup
FDs you managed to get your hands on.

Any input on this welcome, thx

*without opening the file in write mode which I don't want to do
because it can prevent execution of files which is the exact thing is
5de4480ae7f8 were trying to address in the first place

^ permalink raw reply	[relevance 63%]

* Re: [Bug Report] git config includeIf not traversing symlink subdirectories
       [not found]       ` <B240544D-1695-4627-B7EC-5C9CA7716265@gmail.com>
@ 2024-05-04  1:06 62%     ` brian m. carlson
  0 siblings, 0 replies; 200+ results
From: brian m. carlson @ 2024-05-04  1:06 UTC (permalink / raw)
  To: Simon Thurston; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 3097 bytes --]

[Please keep the list in CC so others can chime in.]

On 2024-05-03 at 23:41:14, Simon Thurston wrote:
> Thanks Brian. The issue I'm having is that I have two main development directories, for "home" and for "work". I have includeIf statements in my primary .gitconfig that sources different public/private keys for each subdirectory. Under the "work" subdirectory, I have folders for projects, and then a "Deploy" folder that contains symlinks to folders over the network, so I can quickly cd and git clone/pull to deploy things manually, as well as use with some CD powershell scripts I have. The important thing to note is that the directories that are symlinked to repositories.
> 
> In short, if I have an includeIf that encompasses a parent directory, any subdirectory symlink that points to a repository on a local server does not properly resolve to include the settings from the includeIf.
> 
> /work/Project/.git can be detected, but /work/Deploy/ProjectSymlink/.git cannot, and thus any includeIf statement that checks for repositories under /work/** does not properly detect the repositories that are symlinked.

Yes, I think this is intentional.  Git doesn't consider the repositories
which are on the UNC drive to be under /work/Deploy, because the
canonical path is not in that location.

> I have tried to get around this by adding an extra includeIf statement to include //the/direct/unc/path/** but that was not able to resolve properly either. Mapped network drives with drive letters also don't resolve, and the only workaround I had was to blanket apply the config file to every directory, which is not ideal for the environment I work in.

Yes, the mapped network drives will be resolved to the UNC path with
`GetPathNameByHandle`, which is why that syntax doesn't work.

> If the behavior around symlinks is intentional, then that is fine and can be worked around, but not being able to specify UNC style paths in the configs is something that makes it difficult to work on SMB shares with specific configs needed.

As I said, I don't use Windows except extremely incidentally, so it's
difficult for me to speak with any authority on UNC paths.  It's
possible that they are supported using a syntax I don't know about, or
it's possible that they simply don't work at all.  If it's the latter,
I'm sure we'd accept a patch to fix it.

What I might suggest is switching into one of the symlinked directories
and running `git rev-parse --absolute-git-dir`, which should show you
what Git thinks the directory is.  You can then write that path directly
in the configuration file, nothing that inside the double quotes,
backslashes must be escaped (so if the path is \\the\direct\unc\path,
you'd write '[includeIf "\\\\the\\direct\\unc\\path"]').  You may also
want to use gitdir/i if you're not already, since my guess is that your
paths are actually case-insensitive.

If that doesn't work, hopefully someone else more familiar than me with
Windows can speak more to this.
-- 
brian m. carlson (they/them or he/him)
Toronto, Ontario, CA

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 262 bytes --]

^ permalink raw reply	[relevance 62%]

* Re: [Bug Report] git config includeIf not traversing symlink subdirectories
  @ 2024-05-03 23:06 61% ` brian m. carlson
       [not found]       ` <B240544D-1695-4627-B7EC-5C9CA7716265@gmail.com>
  0 siblings, 1 reply; 200+ results
From: brian m. carlson @ 2024-05-03 23:06 UTC (permalink / raw)
  To: Simon Thurston; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 2662 bytes --]

On 2024-05-03 at 21:31:59, Simon Thurston wrote:
> Thank you for filling out a Git bug report!
> Please answer the following questions to help us understand your issue.
> 
> What did you do before the bug happened? (Steps to reproduce your issue)
> On Windows. Create a directory. Configre a gitconfig file to includeIf
> gitdir that directory. Add any configuration you wish to the gitconfig
> file pointed to by the includeif path. Inside the created directory,
> create a symlink to a UNC Path/Network location. Change directory into
> the symlinked directory. Run git config --show-origin on a configured
> value.

I've included a shell script below that tries to provide a testcase for
your reproduction steps.  Since I'm on Linux, I don't have a UNC drive,
but I created a different location outside of the repository called
other-dir that simulates the same behaviour:

----
#!/bin/sh

tempdir=$(mktemp -d)
cd "$tempdir"
cat >config <<EOM
[includeIf "gitdir:$tempdir/dir/"]
    path = "$tempdir/other-config"
EOM
cat >other-config <<EOM
[user]
    name = "Foo Bar"
EOM

export GIT_CONFIG_GLOBAL="$tempdir/config"
mkdir "$tempdir/dir"
mkdir "$tempdir/other-dir"
cd "$tempdir/dir"
git init -b dev
echo "In dir ($PWD):"
git config -l --show-origin
ln -s ../other-dir other-dir
cd other-dir
echo "In symlink ($PWD):"
git config -l --show-origin
----

> What did you expect to happen? (Expected behavior)
> The value configured in the includeIf path to be found.
> 
> What happened instead? (Actual behavior)
> No configuration data found.
> 
> What's different between what you expected and what actually happened?
> Git seems to be unable to traverse subdirectories that are symlinks to
> include any git repositories stored inside them.

Assuming my reproduction steps are correct, this is expected.  Git
always determines the Git directory by resolving it to an absolute path
containing no symlinks with the equivalent of `realpath` on Linux or
`GetFinalPathNameByHandle` on Windows.  The fact that your working
directory contains a symlink doesn't mean that the destination of the
symlink is part of your repository.  In fact, if the destination of your
symlink is on another drive, it cannot be in your repository at all,
since Git cannot handle cross-drive repositories at all.  Since it's not
in the repository, the gitdir pattern won't match.

If I've misunderstood, could you help me understand better by providing
a small shell script that can reproduce the problem you're seeing, so
I can provide a better answer?
-- 
brian m. carlson (they/them or he/him)
Toronto, Ontario, CA

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 262 bytes --]

^ permalink raw reply	[relevance 61%]

* [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound
@ 2024-05-03 21:54 59% Sean Anderson
  2024-05-04 12:21 64%   ` Laurent Pinchart
  2024-05-06 11:16 64%   ` Tomi Valkeinen
  0 siblings, 2 replies; 200+ results
From: Sean Anderson @ 2024-05-03 21:54 UTC (permalink / raw)
  To: Laurent Pinchart, Tomi Valkeinen
  Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Daniel Vetter, Michal Simek, dri-devel, linux-arm-kernel,
	linux-kernel

Hi,

I have discovered a bug in the displayport driver on drm-misc-next. To
trigger it, run

echo fd4a0000.display > /sys/bus/platform/drivers/zynqmp-dpsub/unbind

The system will become unresponsive and (after a bit) splat with a hard
LOCKUP. One core will be unresponsive at the first zynqmp_dp_read in
zynqmp_dp_bridge_detect.

I believe the issue is due the registers being unmapped and the block
put into reset in zynqmp_dp_remove instead of zynqmp_dpsub_release. This
could be resolved by deferring things until zynqmp_dpsub_release
(requiring us to skip devm_*), or by adding a flag to struct zynqmp_dp
and checking it before each callback. A subsystem-level implementation
might be better for the latter.

For a better traceback, try applying the below patch and running the
following commands before triggering the lockup:

echo 4 > /sys/module/drm/parameters/debug
echo 8 > /proc/sys/kernel/printk

diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp.c b/drivers/gpu/drm/xlnx/zynqmp_dp.c
index 9df068a413f3..17b477b14ab5 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_dp.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_dp.c
@@ -296,6 +296,7 @@ struct zynqmp_dp_config {
  * @train_set: set of training data
  */
 struct zynqmp_dp {
+       unsigned long long magic;
        struct device *dev;
        struct zynqmp_dpsub *dpsub;
        void __iomem *iomem;
@@ -1533,6 +1534,8 @@ static enum drm_connector_status zynqmp_dp_bridge_detect(struct drm_bridge *brid
        u32 state, i;
        int ret;
 
+       WARN_ON(dp->magic != 0x0123456789abcdefULL);
+
        /*
         * This is from heuristic. It takes some delay (ex, 100 ~ 500 msec) to
         * get the HPD signal with some monitors.
@@ -1723,6 +1726,7 @@ int zynqmp_dp_probe(struct zynqmp_dpsub *dpsub)
        if (!dp)
                return -ENOMEM;
 
+       dp->magic = 0x0123456789abcdefULL;
        dp->dev = &pdev->dev;
        dp->dpsub = dpsub;
        dp->status = connector_status_disconnected;
@@ -1839,4 +1843,5 @@ void zynqmp_dp_remove(struct zynqmp_dpsub *dpsub)
 
        zynqmp_dp_phy_exit(dp);
        zynqmp_dp_reset(dp, true);
+       dp->magic = 0xdeadbeefdeadbeefULL;
 }

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[relevance 59%]

Results 401-600 of ~385775   |  | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2023-12-24  7:21     [Bug 218305] New: Ryzen 7 7840HS gets stuck at 544MHz frequency after a random number of suspend/resume cycles bugzilla-daemon
2024-05-06 14:20 64% ` [Bug 218305] Ryzen 7 7840HS gets stuck at 544MHz frequency after resuming after unplugging the power cord during sleep bugzilla-daemon
2024-05-06 14:23 64% ` bugzilla-daemon
2024-05-06 14:52 64% ` bugzilla-daemon
2024-05-06 14:55 64% ` bugzilla-daemon
2024-05-06 15:16 64% ` bugzilla-daemon
2024-05-06 17:26 64% ` bugzilla-daemon
2024-05-07  8:24 64% ` bugzilla-daemon
2024-05-08  7:39 64% ` bugzilla-daemon
2024-05-08 11:14 64% ` bugzilla-daemon
2024-05-08 11:21 64% ` bugzilla-daemon
2024-05-08 11:42 64% ` bugzilla-daemon
2024-05-08 22:38 64% ` bugzilla-daemon
2024-05-09  7:49 64% ` bugzilla-daemon
2024-05-09  8:46 64% ` bugzilla-daemon
2024-05-09 13:31 59% ` bugzilla-daemon
2024-03-06 14:36     mtd: nand: raw: Possible bug in nand_onfi_detect()? Alexander Dahl
2024-05-07 16:08 64% ` Miquel Raynal
2024-05-07 16:08 64%   ` Miquel Raynal
2024-03-15 10:05     [PATCH 0/3] qedf misc bug fixes Saurav Kashyap
2024-05-01 22:28     ` Lee Duncan
2024-05-08 10:15 64%   ` Martin Wilck
2024-05-08 12:32 64%     ` Martin K. Petersen
2024-03-18  9:55     6.9/BUG: Bad page state in process kswapd0 pfn:d6e840 Mikhail Gavrilov
2024-05-08 10:16 64% ` Mikhail Gavrilov
2024-05-08 17:45 64%   ` David Hildenbrand
2024-05-09 11:59 64%     ` Mikhail Gavrilov
2024-05-09 17:50 64%       ` David Hildenbrand
2024-04-03  8:23     bug #61620: Grub2 fails to detect LVM volumes with: error: disk `lvmid/*/*' not found Horst Prote
2024-04-26 23:27     ` Glenn Washburn
2024-05-02 16:40       ` Horst Prote
2024-05-06 20:17 64%     ` Glenn Washburn
2024-04-08  6:03     [bug report] kmemleak in rdma_core observed during blktests nvme/rdma use siw Yi Zhang
2024-04-24 13:28     ` Guoqing Jiang
2024-04-26  5:56       ` Yi Zhang
2024-04-26  8:44         ` Yi Zhang
2024-04-28  2:54           ` Guoqing Jiang
2024-04-28 12:42             ` Yi Zhang
2024-04-29  0:53               ` Guoqing Jiang
2024-04-30 11:51                 ` Yi Zhang
2024-05-08 13:08 64%               ` [bug report][bisected] " Yi Zhang
2024-05-08 14:37 64%                 ` Zhu Yanjun
2024-05-08 15:31 64%                 ` Zhu Yanjun
2024-05-08 15:56 64%                   ` Jason Gunthorpe
2024-05-08 16:19 64%                     ` Chuck Lever
2024-04-08 19:32     [Bug 218696] New: DYTC frequency scaling deterioration bugzilla-daemon
2024-05-08  4:20 64% ` [Bug 218696] DYTC frequency scaling deterioration and event spam bugzilla-daemon
2024-04-10 16:52     [Bug 218705] New: amd_pstate fails to load on AMD 5950x with Asus ROG CROSSHAIR VIII DARK HERO x570 bugzilla-daemon
2024-05-07  8:40 64% ` [Bug 218705] " bugzilla-daemon
2024-04-12 13:54     [PATCH] bug: Improve comment Thorsten Blum
2024-05-07 10:17 64% ` Thorsten Blum
2024-05-07 12:22 64%   ` Arnd Bergmann
2024-04-13  7:49     [Buildroot] [PATCH] toolchain: remove gcc bug 90620 Giulio Benetti
2024-04-28 17:18     ` Arnout Vandecappelle via buildroot
2024-04-28 18:35       ` Giulio Benetti
2024-05-09 15:48 64%     ` Thomas Petazzoni via buildroot
2024-04-19  9:51     [PATCH 00/11] Stop relying on SHA1 fallback for `the_hash_algo` Patrick Steinhardt
2024-05-07  4:52     ` [PATCH v4 00/13] " Patrick Steinhardt
2024-05-07  4:53 61%   ` [PATCH v4 05/13] attr: fix BUG() when parsing attrs outside of repo Patrick Steinhardt
2024-04-20  1:13     Possible git-diff bug when using exit-code with diff filters German Lashevich
2024-04-21 10:42     ` René Scharfe
2024-04-21 18:17       ` Junio C Hamano
2024-05-05 10:19 64%     ` René Scharfe
2024-05-06 17:22 64%       ` Junio C Hamano
2024-04-22  6:50     [Bug 218759] New: 6.9-rc kernels - with Ryzen 7840HS CPU single core never boosts to max frequency bugzilla-daemon
2024-05-07  8:41 64% ` [Bug 218759] " bugzilla-daemon
2024-05-07  9:13 64% ` bugzilla-daemon
2024-05-07  9:14 64% ` bugzilla-daemon
2024-05-07 10:29 64% ` bugzilla-daemon
2024-05-07 10:30 64% ` bugzilla-daemon
2024-05-07 12:19 64% ` bugzilla-daemon
2024-05-07 12:21 64% ` bugzilla-daemon
2024-05-07 12:22 64% ` bugzilla-daemon
2024-05-07 13:00 64% ` bugzilla-daemon
2024-05-07 13:20 64% ` bugzilla-daemon
2024-05-07 13:23 64% ` bugzilla-daemon
2024-05-07 13:24 64% ` bugzilla-daemon
2024-05-07 17:48 64% ` bugzilla-daemon
2024-05-07 17:57 64% ` bugzilla-daemon
2024-05-07 18:50 64% ` bugzilla-daemon
2024-05-07 18:57 64% ` bugzilla-daemon
2024-05-07 19:01 64% ` bugzilla-daemon
2024-04-23 13:17     [bug report] RIP: 0010:blk_flush_complete_seq+0x450/0x1060 observed during blktests nvme/tcp nvme/012 Yi Zhang
2024-04-29 14:35     ` Johannes Thumshirn
2024-04-29 22:18       ` Chaitanya Kulkarni
2024-04-30  6:16         ` Johannes Thumshirn
2024-04-30 14:17           ` Yi Zhang
2024-05-03  7:59             ` Sagi Grimberg
2024-05-03 10:32               ` Johannes Thumshirn
2024-05-03 11:01                 ` Sagi Grimberg
2024-05-03 21:14                   ` Chaitanya Kulkarni
2024-05-09  6:15 64%                 ` Yi Zhang
2024-04-24 12:59     [PATCH] memcg: Fix data-race KCSAN bug in rstats Breno Leitao
2024-05-03 11:27     ` Michal Hocko
2024-05-07 16:03 64%   ` Breno Leitao
2024-04-30 10:53     [PATCH RESEND] virtio-net: fix bug 1451 aka "assert(!virtio_net_get_subqueue(nc)->async_tx.elem); " Alexey Dobriyan
2024-05-06  9:20 64% ` Jason Wang
2024-05-02 12:16     [BUG][v6.9-rc6] Deadlock with: Revert "drm/qxl: simplify qxl_fence_wait" Steven Rostedt
2024-05-04  8:39 64% ` Steven Rostedt
2024-05-06 12:45 64%   ` Maxime Ripard
2024-05-06 20:28 64%     ` Linus Torvalds
2024-05-07  5:54 64%       ` David Airlie
2024-05-07  6:38 64%         ` Timo Lindfors
2024-05-07 10:21 59%           ` Gerd Hoffmann
2024-05-07 15:46 64%             ` Timo Lindfors
2024-05-08  9:56 64%               ` Gerd Hoffmann
2024-05-07  9:03 64%         ` Steven Rostedt
2024-05-08 12:42 64%           ` Anders Blomdell
2024-05-03  0:23     [PATCH] power: Remove arch specific module bug stuff linux
2024-05-08 13:39 64% ` Michael Ellerman
2024-05-03 15:03     Bug report: Deriving zeroable doesn't work with const generics Alice Ryhl
2024-05-04 14:17 64% ` Benno Lossin
2024-05-03 15:10 64% [bug report] drm/amdgpu: Add sdma v7_0 ip block support (v7) Dan Carpenter
2024-05-03 15:11 64% [bug report] drm/amd/display: Separate setting and programming of cursor Dan Carpenter
2024-05-03 15:11 58% [bug report] drm/amd/display: Do cursor programming with rest of pipe Dan Carpenter
2024-05-03 15:24     [bug report] remoteproc: k3-r5: Do not allow core1 to power up before core0 via sysfs Dan Carpenter
2024-05-06 14:26 64% ` Beleswar Prasad Padhi
2024-05-03 19:31     [Bug 218805] New: CPU stuck to low frequency after resume from sleep bugzilla-daemon
2024-05-04  9:04 64% ` [Bug 218805] " bugzilla-daemon
2024-05-04 13:26 64% ` bugzilla-daemon
2024-05-05  8:48 64% ` bugzilla-daemon
2024-05-03 21:23     [syzbot] [bcachefs?] kernel BUG in bch2_fs_recovery syzbot
2024-05-08  4:59 64% ` syzbot
2024-05-03 21:31     [Bug Report] git config includeIf not traversing symlink subdirectories Simon Thurston
2024-05-03 23:06 61% ` brian m. carlson
     [not found]       ` <B240544D-1695-4627-B7EC-5C9CA7716265@gmail.com>
2024-05-04  1:06 62%     ` brian m. carlson
2024-05-03 21:54 59% [BUG] drm: zynqmp_dp: Lockup in zynqmp_dp_bridge_detect when device is unbound Sean Anderson
2024-05-04 12:21 64% ` Laurent Pinchart
2024-05-04 12:21 64%   ` Laurent Pinchart
2024-05-06  7:29 64%   ` Maxime Ripard
2024-05-06  7:29 64%     ` Maxime Ripard
2024-05-06  7:35 64%     ` Laurent Pinchart
2024-05-06  7:35 64%       ` Laurent Pinchart
2024-05-06 14:57 64%       ` Sean Anderson
2024-05-06 14:57 64%         ` Sean Anderson
2024-05-06 16:50 64%         ` Laurent Pinchart
2024-05-06 16:50 64%           ` Laurent Pinchart
2024-05-07  7:58 64%           ` Maxime Ripard
2024-05-07  7:58 64%             ` Maxime Ripard
2024-05-06 11:16 64% ` Tomi Valkeinen
2024-05-06 11:16 64%   ` Tomi Valkeinen
2024-05-06 14:46 43%   ` Sean Anderson
2024-05-06 14:46 43%     ` Sean Anderson
2024-05-04  4:49 63% bug in may_dedupe_file allows to deduplicate files we aren't allowed to write to Hugo Valtier
2024-05-04  9:43 64% ` Amir Goldstein
2024-05-04 20:50 64%   ` Hugo Valtier
2024-05-05  6:57 59%     ` Amir Goldstein
2024-05-07 22:14 61%       ` Darrick J. Wong
2024-05-04  5:57 56% [PATCH] Bug fix: ensure P4 "err" is displayed when exception is raised Fahad Alrashed via GitGitGadget
2024-05-06 12:01 64% ` Karthik Nayak
2024-05-08 11:46 51% ` [PATCH v2] " Fahad Alrashed via GitGitGadget
2024-05-08 16:53 61%   ` Junio C Hamano
2024-05-04  8:44     [PATCH v2 0/5] vvfat: Fix write bugs for large files and add iotests Amjad Alsharafi
2024-05-04  8:44 64% ` [PATCH v2 1/5] vvfat: Fix bug in writing to middle of file Amjad Alsharafi
2024-05-04 10:09 49% [syzbot] [bcachefs?] WARNING: kmalloc bug in bch2_dev_buckets_resize syzbot
2024-05-04 10:20 47% [syzbot] [nilfs?] kernel BUG in __block_write_begin_int (2) syzbot
2024-05-04 18:26 64% ` Ryusuke Konishi
2024-05-04 11:23 60% [bug report] crush: remove forcefeed functionality Dan Carpenter
2024-05-04 11:23 64% [bug report] SUNRPC: Fix svcauth_gss_proxy_init() Dan Carpenter
2024-05-04 15:18 64% ` Chuck Lever
2024-05-04 11:23 64% [bug report] md: Remove deprecated CONFIG_MD_MULTIPATH Dan Carpenter
2024-05-04 11:24 64% [bug report] [PATCH] dvb: b2c2/flexcop driver refactoring part 2: add modular Flexcop driver Dan Carpenter
2024-05-04 20:24 64% ` Johannes Stezenbach
2024-05-06  5:56 64%   ` Dan Carpenter
2024-05-04 19:35 64% [bug report] drm/amdkfd: mark GFX12 system and peer GPU memory mappings as MTYPE_NC Dan Carpenter
2024-05-04 20:13 64% [bug report] [media] v4l: vsp1: Add histogram support Dan Carpenter
2024-05-05 16:25 45% [syzbot] [bcachefs?] kernel BUG in bch2_alloc_v4_invalid syzbot
2024-05-05 18:25 44% [syzbot] [bcachefs?] kernel BUG in bch2_sort_keys syzbot
2024-05-06  0:58 52% [merged mm-stable] memcg-fix-data-race-kcsan-bug-in-rstats.patch removed from -mm tree Andrew Morton
2024-05-06  1:23 62% [DPDK/core Bug 1436] DPDK20.11.9 runs failure on intel atom cpu bugzilla
2024-05-06  8:38 64% ` bugzilla
2024-05-07  9:17 64% ` bugzilla
2024-05-06  4:17 58% [BUG REPORT] Deadlock when executing xfs/708 on xfs-linux's for-next Chandan Babu R
2024-05-07 22:20 64% ` Darrick J. Wong
2024-05-08 16:09 64%   ` Darrick J. Wong
2024-05-09  4:56 64%     ` Christoph Hellwig
2024-05-06  9:18 48% [syzbot] [mm?] kernel BUG in __vma_reservation_common syzbot
2024-05-06 10:45  2% [Linux kernel bug] KASAN: out-of-bounds Read in irq_work_single Sam Sun
2024-05-07  2:03 63% Current high bug count owners for Yocto Project 5.1 Stephen K Jolley
2024-05-07  6:14  3% [Linux kernel bug] KASAN: user-memory-access Read in __fput Sam Sun
2024-05-07  6:32  2% [Linux kernel bug] general protection fault in alloc_object Sam Sun
2024-05-08 14:20 62% ` Thomas Gleixner
2024-05-09 15:45 64%   ` David Sterba
2024-05-07  6:49  1% [Linux kernel bug] general protection fault in mac80211_hwsim_tx_frame_no_nl Sam Sun
2024-05-07  7:00  2% [Linux kernel bug] general protection fault in nexthop_is_blackhole Sam Sun
2024-05-07  7:31 64% ` Eric Dumazet
2024-05-07  7:39 64%   ` Sam Sun
2024-05-07  8:41     [Stable-8.2.4 00/16] Patch Round-up for stable 8.2.4 (planned for 2024-05-12) Michael Tokarev
2024-05-07  8:42 63% ` [Stable-8.2.4 12/16] hw/ufs: Fix buffer overflow bug Michael Tokarev
2024-05-07 10:27 55% [DPDK/testpmd Bug 1437] [dpdk-24.07] DPDK should adapt ICE DDP package search path on ubuntu24.04? bugzilla
2024-05-07 14:27 31% [linux-next:master] [rcu/nocb] 4c66bc7cac: BUG:using_smp_processor_id()in_preemptible kernel test robot
2024-05-08  4:55 64% ` Z qiang
2024-05-08  9:01 64%   ` Oliver Sang
2024-05-08 16:14 64%   ` Frederic Weisbecker
2024-05-09  7:23 64%     ` Z qiang
2024-05-07 14:53 61% [bug report] drm/xe: Introduce a new DRM driver for Intel GPUs Dan Carpenter
2024-05-07 20:25 37% [BUG selftests/pidfd] pidfd_setns_test HANG Mirsad Todorovac
2024-05-07 21:53 46% [syzbot] [block?] WARNING: locking bug in mempool_init_node syzbot
2024-05-08  7:27 32% [syzbot] [bcachefs?] BUG: MAX_LOCK_DEPTH too low! (4) syzbot
2024-05-08  7:39 62% [bug report] nvmet: implement unique discovery NQN Dan Carpenter
2024-05-08  7:53 64% [bug report] usb: typec: ucsi: Only enable supported notifications Dan Carpenter
2024-05-08 14:22 64% ` Diogo Ivo
2024-05-08 14:34 64%   ` Dan Carpenter
2024-05-08 14:45 64%     ` Diogo Ivo
2024-05-08  9:01 55% [BUG REPORT] generic/561 fails when testing xfs on next-20240506 kernel Chandan Babu R
2024-05-08 12:29 46% [bug report] rcu: Kill rnp->ofl_seq and use only rcu_state.ofl_lock for exclusion Dan Carpenter
2024-05-08 14:33 64% ` Paul E. McKenney
2024-05-08 14:55 64%   ` Dan Carpenter
2024-05-08 17:32 64%     ` Paul E. McKenney
2024-05-08 17:38 64%       ` Dan Carpenter
2024-05-08 23:50 63%         ` Paul E. McKenney
2024-05-09  6:46 64%           ` Dan Carpenter
2024-05-08 12:29 64% [bug report] wifi: ath12k: flush all packets before suspend Dan Carpenter
2024-05-08 16:51 64% ` Jeff Johnson
2024-05-08 17:31 64%   ` Dan Carpenter
2024-05-08 12:29 64% [bug report] drm/amd/display: Introduce DML2 Dan Carpenter
2024-05-08 13:33 57% [Bug 218820] New: The empty file occupies incorrect blocks bugzilla-daemon
2024-05-09  3:35 54% ` Theodore Ts'o
2024-05-09  3:35 53% ` [Bug 218820] " bugzilla-daemon
2024-05-09  6:35 64% ` bugzilla-daemon
2024-05-08 14:43 60% [bug report] nvme-fc: fix io timeout to abort I/O Dan Carpenter
2024-05-08 14:49 60% [bug report] soc: qcom: rpmh-rsc: Sleep waiting for tcs slots to be free Dan Carpenter
2024-05-08 21:01 64% ` Stephen Boyd
2024-05-09  6:41 64%   ` Dan Carpenter
2024-05-08 15:14 63% [bug report] ASoC: audio-graph-card2: add Codec2Codec support Dan Carpenter
2024-05-09  0:13 64% ` Kuninori Morimoto
2024-05-09  6:49 64%   ` Dan Carpenter
2024-05-08 17:36 61% [PATCH V5 0/6] bug fixes and enhancements to 6 GHz band support Pradeep Kumar Chitrapu
2024-05-08 21:57 64% kernel bug? glenn
2024-05-08 23:45 53% [BUG] fetch error when arbitrary branch changes a submodule url Martin Veilleux
2024-05-09  0:53  1% kernel BUG in bch2_bkey_durability_safe Ubisectech Sirius
2024-05-09  2:13 64% bug: git config --global --unset doesn't unset configs in corner case Mike Hommey
2024-05-09 16:23 64% ` Junio C Hamano
2024-05-09  2:29 54% [PATCH 4.19.y 00/13] fix double-free bug causing by destroy_hist_field(data->onmax.var, 0) George Guo
2024-05-09  6:14 63% [Bug 218822] New: Delete the file from the upper layer directly, the file will become "Stale" bugzilla-daemon
2024-05-09  9:05 64% ` [Bug 218822] " bugzilla-daemon
2024-05-09 18:57 64% ` bugzilla-daemon
2024-05-09  6:26  1% kernel BUG in ptr_stale Ubisectech Sirius
2024-05-09  6:56  1% kernel BUG in bch2_fs_journal_stop Ubisectech Sirius
2024-05-09  8:04 49% [syzbot] [bcachefs?] kernel BUG in __journal_res_get syzbot
2024-05-09  8:14 43% [syzbot] [audit?] BUG: unable to handle kernel NULL pointer dereference in kauditd_hold_skb syzbot
     [not found]     <6127852.nNyiNAGI2d@nimes>
2024-04-13 16:39     ` bug#70214: 'install' fails to copy regular file to autofs/cifs, due to ACL or xattr handling Pádraig Brady
     [not found]       ` <57792d8c-59d1-efbe-067a-886239cc3a4e@draigBrady.com>
2024-05-09 12:16 64%     ` Pádraig Brady
2024-05-09 13:24 64% [bug report] wifi: wilc1000: convert list management to RCU Dan Carpenter
2024-05-09 13:33 64% ` Dan Carpenter
2024-05-09 13:36 64% [bug report] vfio/mlx5: Let firmware knows upon leaving PRE_COPY back to RUNNING Dan Carpenter
2024-05-09 14:04 64% ` Yishai Hadas
2024-05-09 14:43 64%   ` Dan Carpenter
     [not found]     <87jzk3qngi.fsf@hands.com>
2024-05-09 10:51     ` Processed: your mail Debian Bug Tracking System
2024-05-09 14:40       ` Darrick J. Wong
     [not found]         ` <171524693891.215341.12611976307409148291.reportbug@nimble>
2024-05-09 14:42           ` Bug#1070795: " Darrick J. Wong
2024-05-09 14:42 64%         ` Darrick J. Wong
2024-05-09 15:45 60% [BUG REPORT] fsmonitor and core.untrackedCache combination causes inaccurate git status Joni Lameter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.