]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Merge pull request #5131 from keszybz/environment-generators
authorLennart Poettering <lennart@poettering.net>
Tue, 21 Feb 2017 10:11:44 +0000 (11:11 +0100)
committerGitHub <noreply@github.com>
Tue, 21 Feb 2017 10:11:44 +0000 (11:11 +0100)
Environment generators

193 files changed:
.gitignore
DISTRO_PORTING
ENVIRONMENT.md
HACKING
Makefile-man.am
Makefile.am
NEWS
README
configure.ac
hwdb/20-OUI.hwdb
hwdb/20-acpi-vendor.hwdb
hwdb/20-pci-vendor-model.hwdb
hwdb/20-usb-vendor-model.hwdb
hwdb/60-keyboard.hwdb
man/busctl.xml
man/coredump.conf.xml
man/coredumpctl.xml
man/machinectl.xml
man/sd-id128.xml
man/systemd-coredump.xml
man/systemd-detect-virt.xml
man/systemd-nspawn.xml
man/systemd-resolve.xml
man/systemd.journal-fields.xml
man/systemd.mount.xml
man/systemd.network.xml
man/systemd.special.xml
man/systemd.unit.xml
rules/60-drm.rules
rules/60-evdev.rules
rules/60-persistent-storage.rules
shell-completion/bash/coredumpctl
shell-completion/zsh/_coredumpctl
src/analyze/analyze.c
src/basic/architecture.c
src/basic/architecture.h
src/basic/btrfs-util.c
src/basic/calendarspec.c
src/basic/copy.c
src/basic/copy.h
src/basic/hostname-util.c
src/basic/journal-importer.c [new file with mode: 0644]
src/basic/journal-importer.h [new file with mode: 0644]
src/basic/log.c
src/basic/log.h
src/basic/missing_syscall.h
src/basic/virt.c
src/core/dbus-manager.c
src/core/dbus-unit.c
src/core/dbus.c
src/core/execute.c
src/core/hostname-setup.c
src/core/job.c
src/core/killall.c
src/core/manager.c
src/core/socket.c
src/core/unit.c
src/coredump/coredump.c
src/coredump/coredumpctl.c
src/firstboot/firstboot.c
src/fstab-generator/fstab-generator.c
src/hostname/hostnamectl.c
src/import/importd.c
src/import/pull-raw.c
src/import/pull-tar.c
src/journal-remote/journal-remote-parse.c
src/journal-remote/journal-remote-parse.h
src/journal-remote/journal-remote-write.c
src/journal-remote/journal-remote-write.h
src/journal-remote/journal-remote.c
src/journal/journalctl.c
src/journal/journald-kmsg.c
src/journal/journald-native.c
src/journal/journald-native.h
src/journal/journald-server.c
src/journal/journald-server.h
src/journal/journald-syslog.c
src/journal/journald.c
src/libsystemd-network/sd-dhcp-client.c
src/libsystemd-network/sd-ipv4acd.c
src/libsystemd/sd-device/sd-device.c
src/locale/localectl.c
src/login/loginctl.c
src/login/logind-button.c
src/login/logind-dbus.c
src/login/logind-seat.c
src/login/logind-session.c
src/machine/image-dbus.c
src/machine/machine-dbus.c
src/machine/machine-dbus.h
src/machine/machine.c
src/machine/machine.h
src/machine/machinectl.c
src/machine/machined-dbus.c
src/machine/operation.c
src/machine/org.freedesktop.machine1.conf
src/network/networkd-address.c
src/network/networkd-address.h
src/network/networkd-ipv6-proxy-ndp.c [new file with mode: 0644]
src/network/networkd-ipv6-proxy-ndp.h [new file with mode: 0644]
src/network/networkd-link.c
src/network/networkd-network-gperf.gperf
src/network/networkd-network.c
src/network/networkd-network.h
src/network/networkd-route.c
src/network/networkd-route.h
src/nspawn/nspawn.c
src/nss-myhostname/nss-myhostname.c
src/nss-mymachines/nss-mymachines.c
src/nss-resolve/nss-resolve.c
src/nss-systemd/nss-systemd.c
src/resolve/resolve-tool.c
src/resolve/resolved-bus.c
src/resolve/resolved-dns-answer.h
src/resolve/resolved-dns-cache.c
src/resolve/resolved-dns-dnssec.c
src/resolve/resolved-dns-packet.c
src/resolve/resolved-dns-packet.h
src/resolve/resolved-dns-query.c
src/resolve/resolved-dns-query.h
src/resolve/resolved-dns-rr.c
src/resolve/resolved-dns-scope.c
src/resolve/resolved-dns-scope.h
src/resolve/resolved-dns-server.c
src/resolve/resolved-dns-server.h
src/resolve/resolved-dns-stub.c
src/resolve/resolved-dns-transaction.c
src/resolve/resolved-dns-transaction.h
src/resolve/resolved-dns-trust-anchor.c
src/resolve/resolved-dns-zone.c
src/resolve/resolved-dns-zone.h
src/resolve/resolved-link.c
src/resolve/resolved-link.h
src/resolve/resolved-manager.c
src/resolve/resolved-manager.h
src/resolve/resolved-mdns.c
src/resolve/resolved-mdns.h
src/resolve/resolved-resolv-conf.c
src/resolve/test-dns-packet.c
src/run/run.c
src/shared/bus-unit-util.c
src/shared/bus-util.c
src/shared/bus-util.h
src/shared/firewall-util.c
src/shared/install.c
src/shared/machine-image.c
src/shared/pager.c
src/shared/path-lookup.c
src/shared/seccomp-util.c
src/shared/seccomp-util.h
src/shared/tests.c
src/shared/tests.h
src/sleep/sleep.c
src/systemctl/systemctl.c
src/systemd/sd-bus-vtable.h
src/systemd/sd-id128.h
src/systemd/sd-messages.h
src/sysusers/sysusers.c
src/test/test-calendarspec.c
src/test/test-cgroup-mask.c
src/test/test-copy.c
src/test/test-engine.c
src/test/test-execute.c
src/test/test-ipcrm.c
src/test/test-journal-importer.c [new file with mode: 0644]
src/test/test-path.c
src/test/test-sched-prio.c
src/test/test-stat-util.c
src/timedate/timedatectl.c
src/timedate/timedated.c
src/tmpfiles/tmpfiles.c
src/udev/udev-builtin-net_id.c
src/udev/udevd.c
src/update-done/update-done.c
test/create-sys-script.py [new file with mode: 0755]
test/journal-data/journal-1.txt [new file with mode: 0644]
test/journal-data/journal-2.txt [new file with mode: 0644]
test/sys-script.py [new file with mode: 0755]
test/sys.tar.xz [deleted file]
test/test-execute/exec-read-only-path-succeed.service [new file with mode: 0644]
test/test-resolve/_443._tcp.fedoraproject.org.pkts [moved from src/resolve/test-data/_443._tcp.fedoraproject.org.pkts with 100% similarity]
test/test-resolve/_openpgpkey.fedoraproject.org.pkts [moved from src/resolve/test-data/_openpgpkey.fedoraproject.org.pkts with 100% similarity]
test/test-resolve/fake-caa.pkts [moved from src/resolve/test-data/fake-caa.pkts with 100% similarity]
test/test-resolve/fedoraproject.org.pkts [moved from src/resolve/test-data/fedoraproject.org.pkts with 100% similarity]
test/test-resolve/gandi.net.pkts [moved from src/resolve/test-data/gandi.net.pkts with 100% similarity]
test/test-resolve/google.com.pkts [moved from src/resolve/test-data/google.com.pkts with 100% similarity]
test/test-resolve/kyhwana.org.pkts [moved from src/resolve/test-data/kyhwana.org.pkts with 100% similarity]
test/test-resolve/root.pkts [moved from src/resolve/test-data/root.pkts with 100% similarity]
test/test-resolve/sw1a1aa-sw1a2aa-sw1a2ab-sw1a2ac.find.me.uk.pkts [moved from src/resolve/test-data/sw1a1aa-sw1a2aa-sw1a2ab-sw1a2ac.find.me.uk.pkts with 100% similarity]
test/test-resolve/teamits.com.pkts [moved from src/resolve/test-data/teamits.com.pkts with 100% similarity]
test/test-resolve/zbyszek@fedoraproject.org.pkts [moved from src/resolve/test-data/zbyszek@fedoraproject.org.pkts with 100% similarity]
units/systemd-nspawn@.service.in
units/systemd-resolved.service.m4.in

index e54c8fa591056136014e7be6a0df39976598e00b..01cb6e7db7ef6c0890cc558260be477d6161180b 100644 (file)
 /test-journal
 /test-journal-enum
 /test-journal-flush
+/test-journal-importer
 /test-journal-init
 /test-journal-interleaving
 /test-journal-match
index 51a244389dc036645993beb49fa1f3e89deb0699..68107e46c96a839df04b095979462b614976baab 100644 (file)
@@ -25,21 +25,19 @@ HOWTO:
 
 NTP POOL:
 
-        By default, timesyncd uses the Google NTP servers
-        time[1-4].google.com. They serve time that is not standards
-        compliant, and can be up to .5s off. Google does not
-        officially support these servers for the broader
-        audience. Distributions and vendors really should not ship
-        OSes or devices with these NTP servers configured. Instead,
-        please register your own vendor pool at ntp.org and make it
-        the built-in default by passing --with-ntp-servers= to
-        configure. Registering vendor pools is free:
+        By default, timesyncd uses the Google Public NTP servers
+        time[1-4].google.com. They serve time that uses a leap second
+        smear, and can be up to .5s off from servers that use stepped
+        leap seconds.
 
-        http://www.pool.ntp.org/en/vendors.html
+        https://developers.google.com/time/smear
+
+        If you prefer to use leap second steps, please register your own
+        vendor pool at ntp.org and make it the built-in default by
+        passing --with-ntp-servers= to configure. Registering vendor
+        pools is free:
 
-        Again, if you ship your software or device with the default
-        NTP servers, then you will get served wrong time, and will
-        rely on services that might not be supported for long.
+        http://www.pool.ntp.org/en/vendors.html
 
 PAM:
         The default PAM config shipped by systemd is really bare bones.
index 1ad2addfeefd2bbcdb1608d51f19390c7d86177b..e542d4ec6fda3bd4f07b3e1cdb81992e83e75aa0 100644 (file)
@@ -59,3 +59,8 @@ systemd-logind:
 * `$SYSTEMD_BYPASS_HIBERNATION_MEMORY_CHECK=1` â€” if set, report that
   hibernation is available even if the swap devices do not provide enough room
   for it.
+
+installed systemd tests:
+
+* `$SYSTEMD_TEST_DATA` â€” override the location of test data. This is useful if
+  a test executable is moved to an arbitrary location.
diff --git a/HACKING b/HACKING
index 3ee1c7e340a8297e7063b89c42400b79bfea0360..0d1a93e2111b4069ea5f0e96f81e7f9497337860 100644 (file)
--- a/HACKING
+++ b/HACKING
@@ -51,12 +51,14 @@ systemd's build dependencies:
 Putting this all together, here's a series of commands for preparing a patch
 for systemd (this example is for Fedora):
 
+        $ sudo dnf builddep systemd            # install build dependencies
+        $ sudo dnf install mkosi               # install tool to quickly build images
         $ git clone https://github.com/systemd/systemd.git
         $ cd systemd
         $ vim src/core/main.c                  # or wherever you'd like to make your changes
-        $ dnf builddep systemd                 # install build dependencies
         $ ./autogen.sh c                       # configure the source tree
         $ make -j `nproc`                      # build it locally, see if everything compiles fine
+        $ make -j `nproc` check                # run some simple regression tests
         $ sudo mkosi                           # build a test image
         $ sudo systemd-nspawn -bi image.raw    # boot up the test image
         $ git add -p                           # interactively put together your patch
index 4249e13ec348659164e4497a7aed92e44b27c7a9..d5626411a530a9dafb1dfb00c6159602efd8fef8 100644 (file)
@@ -244,6 +244,7 @@ MANPAGES_ALIAS += \
        man/SD_ID128_FORMAT_STR.3 \
        man/SD_ID128_FORMAT_VAL.3 \
        man/SD_ID128_MAKE.3 \
+       man/SD_ID128_MAKE_STR.3 \
        man/SD_ID128_NULL.3 \
        man/SD_INFO.3 \
        man/SD_JOURNAL_APPEND.3 \
@@ -602,6 +603,7 @@ man/SD_ID128_CONST_STR.3: man/sd-id128.3
 man/SD_ID128_FORMAT_STR.3: man/sd-id128.3
 man/SD_ID128_FORMAT_VAL.3: man/sd-id128.3
 man/SD_ID128_MAKE.3: man/sd-id128.3
+man/SD_ID128_MAKE_STR.3: man/sd-id128.3
 man/SD_ID128_NULL.3: man/sd-id128.3
 man/SD_INFO.3: man/sd-daemon.3
 man/SD_JOURNAL_APPEND.3: man/sd_journal_get_fd.3
@@ -1074,6 +1076,9 @@ man/SD_ID128_FORMAT_VAL.html: man/sd-id128.html
 man/SD_ID128_MAKE.html: man/sd-id128.html
        $(html-alias)
 
+man/SD_ID128_MAKE_STR.html: man/sd-id128.html
+       $(html-alias)
+
 man/SD_ID128_NULL.html: man/sd-id128.html
        $(html-alias)
 
index 96382baffa9da02b4978241136a4b8ca0b6271ff..2f53ae8b2245f21605c433c5d5343d3e56a20319 100644 (file)
@@ -96,6 +96,7 @@ kernelinstalldir = $(prefix)/lib/kernel/install.d
 factory_etcdir = $(datadir)/factory/etc
 factory_pamdir = $(datadir)/factory/etc/pam.d
 bootlibdir = $(prefix)/lib/systemd/boot/efi
+testsdir = $(prefix)/lib/systemd/tests
 
 # And these are the special ones for /
 rootprefix=@rootprefix@
@@ -136,6 +137,7 @@ check_DATA =
 dist_rootlibexec_DATA =
 tests=
 manual_tests =
+TEST_DATA_FILES =
 TEST_EXTENSIONS = .py
 PY_LOG_COMPILER = $(PYTHON)
 DISABLE_HARD_ERRORS = yes
@@ -223,7 +225,6 @@ AM_CPPFLAGS = \
        -DLIBDIR=\"$(libdir)\" \
        -DROOTLIBDIR=\"$(rootlibdir)\" \
        -DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \
-       -DTEST_DIR=\"$(abs_top_srcdir)/test\" \
        -I $(top_srcdir)/src \
        -I $(top_builddir)/src/basic \
        -I $(top_srcdir)/src/basic \
@@ -255,6 +256,8 @@ AM_CPPFLAGS = \
        -I $(top_srcdir)/src/libsystemd/sd-device \
        -I $(top_srcdir)/src/libsystemd/sd-id128 \
        -I $(top_srcdir)/src/libsystemd-network \
+       -DABS_SRC_DIR=\"$(abs_top_srcdir)\" \
+       -DABS_BUILD_DIR=\"$(abs_top_builddir)\" \
        $(OUR_CPPFLAGS)
 
 AM_CFLAGS = $(OUR_CFLAGS)
@@ -979,7 +982,9 @@ libbasic_la_SOURCES = \
        src/basic/format-util.h \
        src/basic/nss-util.h \
        src/basic/khash.h \
-       src/basic/khash.c
+       src/basic/khash.c \
+       src/basic/journal-importer.h \
+       src/basic/journal-importer.c
 
 nodist_libbasic_la_SOURCES = \
        src/basic/errno-from-name.h \
@@ -1616,7 +1621,8 @@ tests += \
        test-rlimit-util \
        test-signal-util \
        test-selinux \
-       test-sizeof
+       test-sizeof \
+       test-journal-importer
 
 if HAVE_ACL
 tests += \
@@ -1628,7 +1634,7 @@ tests += \
        test-seccomp
 endif
 
-EXTRA_DIST += \
+TEST_DATA_FILES += \
        test/a.service \
        test/basic.target \
        test/b.service \
@@ -1752,6 +1758,9 @@ EXTRA_DIST += \
        test/test-execute/exec-restrict-namespaces-yes.service \
        test/test-execute/exec-restrict-namespaces-mnt.service \
        test/test-execute/exec-restrict-namespaces-mnt-blacklist.service \
+       test/test-execute/exec-read-only-path-succeed.service \
+       test/test-execute/exec-privatedevices-yes-capability-sys-rawio.service \
+       test/test-execute/exec-privatedevices-no-capability-sys-rawio.service \
        test/bus-policy/hello.conf \
        test/bus-policy/methods.conf \
        test/bus-policy/ownerships.conf \
@@ -2485,6 +2494,16 @@ test_arphrd_list_SOURCES = \
 test_arphrd_list_LDADD = \
        libsystemd-shared.la
 
+test_journal_importer_SOURCES = \
+       src/test/test-journal-importer.c
+
+test_journal_importer_LDADD = \
+       libsystemd-shared.la
+
+TEST_DATA_FILES += \
+       test/journal-data/journal-1.txt \
+       test/journal-data/journal-2.txt
+
 # ------------------------------------------------------------------------------
 ## .PHONY so it always rebuilds it
 .PHONY: coverage lcov-run lcov-report coverage-sync
@@ -4046,19 +4065,19 @@ check_DATA += \
        test/sys
 endif
 
-# packed sysfs test tree
-test/sys: test/sys.tar.xz
-       -rm -rf test/sys
+# sysfs test tree
+test/sys: test/sys-script.py
+       -rm -rf $@
        $(AM_V_at)$(MKDIR_P) $(dir $@)
-       $(AM_V_GEN)tar -C test/ -xJf $(top_srcdir)/test/sys.tar.xz
-       -touch test/sys
+       $(AM_V_GEN)$(top_srcdir)/test/sys-script.py $(dir $@)
+       -touch $@
 
 test-sys-distclean:
        -rm -rf test/sys
 DISTCLEAN_LOCAL_HOOKS += test-sys-distclean
 
 EXTRA_DIST += \
-       test/sys.tar.xz \
+       test/sys-script.py \
        test/udev-test.pl \
        test/hwdb-test.sh \
        test/rule-syntax-check.py \
@@ -5581,14 +5600,12 @@ dist_dbuspolicy_DATA += \
 dist_dbussystemservice_DATA += \
        src/resolve/org.freedesktop.resolve1.service
 
-SYSTEM_UNIT_ALIASES += \
-       systemd-resolved.service dbus-org.freedesktop.resolve1.service
-
 BUSNAMES_TARGET_WANTS += \
        org.freedesktop.resolve1.busname
 
 GENERAL_ALIASES += \
-       $(systemunitdir)/systemd-resolved.service $(pkgsysconfdir)/system/multi-user.target.wants/systemd-resolved.service
+       $(systemunitdir)/systemd-resolved.service $(pkgsysconfdir)/system/multi-user.target.wants/systemd-resolved.service \
+       $(systemunitdir)/systemd-resolved.service $(pkgsysconfdir)/system/dbus-org.freedesktop.resolve1.service
 
 nodist_pkgsysconf_DATA += \
        src/resolve/resolved.conf
@@ -5672,7 +5689,7 @@ test_dns_packet_SOURCES = \
 
 test_dns_packet_CPPFLAGS = \
        $(AM_CPPFLAGS) \
-       -DRESOLVE_TEST_DIR=\"$(abs_top_srcdir)/src/resolve/test-data\"
+       -I $(top_srcdir)/src/test
 
 test_dns_packet_CFLAGS = \
        $(AM_CFLAGS) \
@@ -5683,18 +5700,20 @@ test_dns_packet_LDADD = \
        $(GCRYPT_LIBS) \
        -lm
 
-EXTRA_DIST += \
-       src/resolve/test-data/_openpgpkey.fedoraproject.org.pkts \
-       src/resolve/test-data/fedoraproject.org.pkts \
-       src/resolve/test-data/gandi.net.pkts \
-       src/resolve/test-data/google.com.pkts \
-       src/resolve/test-data/root.pkts \
-       src/resolve/test-data/sw1a1aa-sw1a2aa-sw1a2ab-sw1a2ac.find.me.uk.pkts \
-       src/resolve/test-data/teamits.com.pkts \
-       src/resolve/test-data/zbyszek@fedoraproject.org.pkts \
-       src/resolve/test-data/_443._tcp.fedoraproject.org.pkts \
-       src/resolve/test-data/kyhwana.org.pkts \
-       src/resolve/test-data/fake-caa.pkts
+TEST_DATA_FILES += \
+       test/test-resolve/_openpgpkey.fedoraproject.org.pkts \
+       test/test-resolve/fedoraproject.org.pkts \
+       test/test-resolve/gandi.net.pkts \
+       test/test-resolve/google.com.pkts \
+       test/test-resolve/root.pkts \
+       test/test-resolve/sw1a1aa-sw1a2aa-sw1a2ab-sw1a2ac.find.me.uk.pkts \
+       test/test-resolve/teamits.com.pkts \
+       test/test-resolve/zbyszek@fedoraproject.org.pkts \
+       test/test-resolve/_443._tcp.fedoraproject.org.pkts \
+       test/test-resolve/kyhwana.org.pkts \
+       test/test-resolve/fake-caa.pkts
+
+EXTRA_DIST += $(TEST_DATA_FILES)
 
 test_dnssec_SOURCES = \
        src/resolve/test-dnssec.c \
@@ -5791,6 +5810,8 @@ libnetworkd_core_la_SOURCES = \
        src/network/networkd-link.c \
        src/network/networkd-link-bus.c \
        src/network/networkd-ipv4ll.c \
+       src/network/networkd-ipv6-proxy-ndp.h \
+       src/network/networkd-ipv6-proxy-ndp.c \
        src/network/networkd-dhcp4.c \
        src/network/networkd-dhcp6.c \
        src/network/networkd-ndisc.h \
@@ -6631,7 +6652,7 @@ valgrind-tests: $(TESTS)
                if $(LIBTOOL) --mode=execute file $$f | grep -q shell; then \
                echo -e "$${x}Skipping non-binary $$f"; else \
                echo -e "$${x}Running $$f"; \
-               $(LIBTOOL) --mode=execute valgrind -q --leak-check=full --max-stackframe=5242880 --error-exitcode=55 $(builddir)/$$f ; fi; \
+               $(AM_TESTS_ENVIRONMENT) $(LIBTOOL) --mode=execute valgrind -q --leak-check=full --max-stackframe=5242880 --error-exitcode=55 $(builddir)/$$f ; fi; \
                x="\n\n"; \
        done
 
@@ -6729,6 +6750,20 @@ tests += \
        test-libsystemd-sym \
        test-libudev-sym
 
+.PHONY: install-tests
+install-tests: $(tests) $(TEST_DATA_FILES)
+       for f in $(tests); do \
+           if [ -x $(top_builddir)/.libs/$$f ]; then \
+               install -D -m 755 $(top_builddir)/.libs/$$f $(DESTDIR)/$(testsdir)/$$f; \
+           else \
+               install -D -m 755 $(top_builddir)/$$f $(DESTDIR)/$(testsdir)/$$f; \
+           fi; \
+       done
+       for f in $(TEST_DATA_FILES); do \
+           install -D -m 644 $(top_srcdir)/$$f $(DESTDIR)/$(testsdir)/testdata/$${f#test/}; \
+       done
+
+
 .PHONY: cppcheck
 cppcheck:
        cppcheck --enable=all -q $(top_srcdir)
diff --git a/NEWS b/NEWS
index 540f4231a132d57f8dc2204d6f742ab2a6e4f4a5..23f555fc53fef8d0f29a2aa07709a804c9809563 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -30,6 +30,15 @@ CHANGES WITH 233 in spe
           during startup. If no such message is sent, the service now fails,
           even if the main process exited with a successful exit code.
 
+        * The option MulticastDNS= of network configuration files has got
+          actual implementation. With MulticastDNS=yes a host can resolve
+          names of remote hosts and to reply to mDNS's A and AAAA requests
+          from the hosts.
+
+        * When units are about to be started an additional check is now done to
+          ensure that all dependencies of type BindsTo= (when used in
+          combination with After=) have been started.
+
 CHANGES WITH 232:
 
         * The new RemoveIPC= option can be used to remove IPC objects owned by
diff --git a/README b/README
index 0de69a33830423c6272ceeb94cc35a6d2aacf7b4..dc88d5b2610907fa198692bd4226e0850fb79d53 100644 (file)
--- a/README
+++ b/README
@@ -180,6 +180,7 @@ REQUIREMENTS:
         - python3-pyparsing
         - python3-evdev      (used by hwdb parsing tests)
         - strace             (used by test/test-functions)
+        - capsh              (optional, used by test-execute)
 
 USERS AND GROUPS:
         Default udev rules use the following standard system group
@@ -275,11 +276,6 @@ WARNINGS:
         false positives will be triggered by code which violates
         some rules but is actually safe.
 
-        Currently, systemd-timesyncd defaults to use the Google NTP
-        servers if not specified otherwise at configure time. You
-        really should not ship an OS or device with this default
-        setting. See DISTRO_PORTING for details.
-
 ENGINEERING AND CONSULTING SERVICES:
         Kinvolk (https://kinvolk.io) offers professional engineering
         and consulting services for systemd. Please contact Chris Kühl
index 01bbf9938280861d0d0fd39e5415999a54cb4209..b55d7d9f3b62b2d0734186e00f3af190629a0165 100644 (file)
@@ -1154,10 +1154,7 @@ AC_ARG_WITH(ntp-servers,
         AS_HELP_STRING([--with-ntp-servers=NTPSERVERS],
                 [space-separated list of default NTP servers]),
         [NTP_SERVERS="$withval"],
-        [NTP_SERVERS="time1.google.com time2.google.com time3.google.com time4.google.com"
-        AC_MSG_WARN([*** Using Google NTP servers.
-                        Do not ship OSes or devices with these default settings.
-                        See DISTRO_PORTING for details!])])
+        [NTP_SERVERS="time1.google.com time2.google.com time3.google.com time4.google.com"])
 
 AC_DEFINE_UNQUOTED(NTP_SERVERS, ["$NTP_SERVERS"], [Default NTP Servers])
 AC_SUBST(NTP_SERVERS)
index 6bce57305d5cb54e69e5874eadf36d92530702e1..f638b0dc34e04d94b379e71b59e03253ad3a9a78 100644 (file)
@@ -356,9 +356,6 @@ OUI:70B3D5660*
 OUI:70B3D5EFE*
  ID_OUI_FROM_DATABASE=MEIDEN SYSTEM SOLUTIONS
 
-OUI:70B3D5C60*
- ID_OUI_FROM_DATABASE=Aircell Inc
-
 OUI:70B3D5C03*
  ID_OUI_FROM_DATABASE=XAVi Technologies Corp.
 
@@ -1100,6 +1097,105 @@ OUI:70B3D55D3*
 OUI:70B3D52AD*
  ID_OUI_FROM_DATABASE=Opgal Optronic Industries
 
+OUI:70B3D58EC*
+ ID_OUI_FROM_DATABASE=Rudy Tellert
+
+OUI:70B3D5CF5*
+ ID_OUI_FROM_DATABASE=Petring Energietechnik GmbH
+
+OUI:70B3D5269*
+ ID_OUI_FROM_DATABASE=Gilbarco Veeder-Root  â€Ž
+
+OUI:70B3D5FF7*
+ ID_OUI_FROM_DATABASE=Cybercom AB
+
+OUI:70B3D5DCC*
+ ID_OUI_FROM_DATABASE=Eutron SPA
+
+OUI:70B3D515C*
+ ID_OUI_FROM_DATABASE=Woods Hole Oceanographic Institution
+
+OUI:70B3D5173*
+ ID_OUI_FROM_DATABASE=National TeleConsultants LLC
+
+OUI:70B3D5CAE*
+ ID_OUI_FROM_DATABASE=THEMA
+
+OUI:70B3D55BC*
+ ID_OUI_FROM_DATABASE=LAMTEC Meß- und Regeltechnik für Feuerungen GmbH & Co. KG
+
+OUI:70B3D51B8*
+ ID_OUI_FROM_DATABASE=OES Inc.
+
+OUI:70B3D585A*
+ ID_OUI_FROM_DATABASE=BRUSHIES
+
+OUI:70B3D5FAF*
+ ID_OUI_FROM_DATABASE=Radig Hard & Software
+
+OUI:70B3D50BC*
+ ID_OUI_FROM_DATABASE=Practical Software Studio LLC
+
+OUI:70B3D57A2*
+ ID_OUI_FROM_DATABASE=Alpha ESS Co., Ltd.
+
+OUI:70B3D5724*
+ ID_OUI_FROM_DATABASE=Quan International Co., Ltd.
+
+OUI:70B3D553B*
+ ID_OUI_FROM_DATABASE=Mr.Loop
+
+OUI:70B3D5EBE*
+ ID_OUI_FROM_DATABASE=Sierra Pacific Innovations Corp
+
+OUI:70B3D5103*
+ ID_OUI_FROM_DATABASE=HANYOUNG NUX CO.,LTD
+
+OUI:70B3D504A*
+ ID_OUI_FROM_DATABASE=Gecko Robotics Inc
+
+OUI:70B3D5040*
+ ID_OUI_FROM_DATABASE=Savari Inc
+
+OUI:70B3D592A*
+ ID_OUI_FROM_DATABASE=Miravue
+
+OUI:70B3D5063*
+ ID_OUI_FROM_DATABASE=PoolDigital GmbH & Co. KG
+
+OUI:70B3D5209*
+ ID_OUI_FROM_DATABASE=SmartNodes
+
+OUI:70B3D514C*
+ ID_OUI_FROM_DATABASE=CRDE
+
+OUI:70B3D5AB8*
+ ID_OUI_FROM_DATABASE=HORIBA MEDICAL
+
+OUI:70B3D5F9E*
+ ID_OUI_FROM_DATABASE=International Center for Elementary Particle Physics, The University of Tokyo
+
+OUI:70B3D59C6*
+ ID_OUI_FROM_DATABASE=Overspeed SARL
+
+OUI:70B3D507A*
+ ID_OUI_FROM_DATABASE=ZAO ZEO
+
+OUI:70B3D506B*
+ ID_OUI_FROM_DATABASE=U-Tech
+
+OUI:70B3D5F77*
+ ID_OUI_FROM_DATABASE=Satcube AB
+
+OUI:70B3D57A1*
+ ID_OUI_FROM_DATABASE=Excelfore Corporation
+
+OUI:70B3D590D*
+ ID_OUI_FROM_DATABASE=Modtronix Engineering
+
+OUI:70B3D5C60*
+ ID_OUI_FROM_DATABASE=Gogo BA
+
 OUI:70B3D5D60*
  ID_OUI_FROM_DATABASE=Flintab AB
 
@@ -2153,6 +2249,117 @@ OUI:70B3D57F4*
 OUI:70B3D5122*
  ID_OUI_FROM_DATABASE=Henri Systems Holland bv
 
+OUI:70B3D5767*
+ ID_OUI_FROM_DATABASE=FRANKLIN FRANCE
+
+OUI:70B3D5465*
+ ID_OUI_FROM_DATABASE=ENERGISME
+
+OUI:70B3D5E09*
+ ID_OUI_FROM_DATABASE=L-3 communications ComCept Division
+
+OUI:70B3D5A07*
+ ID_OUI_FROM_DATABASE=IoTrek Technology Private Limited
+
+OUI:70B3D521D*
+ ID_OUI_FROM_DATABASE=iRF - Intelligent RF Solutions, LLC
+
+OUI:70B3D5E9C*
+ ID_OUI_FROM_DATABASE=ATG UV Technology
+
+OUI:70B3D5267*
+ ID_OUI_FROM_DATABASE=Zehntner Testing Instruments
+
+OUI:70B3D539E*
+ ID_OUI_FROM_DATABASE=Lanmark Controls Inc.
+
+OUI:70B3D5C2E*
+ ID_OUI_FROM_DATABASE=Triax A/S
+
+OUI:70B3D50EF*
+ ID_OUI_FROM_DATABASE=Dextera Labs
+
+OUI:70B3D54C2*
+ ID_OUI_FROM_DATABASE=hera Laborsysteme GmbH
+
+OUI:70B3D50A1*
+ ID_OUI_FROM_DATABASE=PTN Electronics Limited
+
+OUI:70B3D5AA4*
+ ID_OUI_FROM_DATABASE=Pullnet Technology,S.L.
+
+OUI:70B3D5C68*
+ ID_OUI_FROM_DATABASE=Mini Solution Co. Ltd.
+
+OUI:70B3D581A*
+ ID_OUI_FROM_DATABASE=Joehl & Koeferli AG
+
+OUI:70B3D586E*
+ ID_OUI_FROM_DATABASE=Profcon AB
+
+OUI:70B3D50E8*
+ ID_OUI_FROM_DATABASE=Grossenbacher Systeme AG
+
+OUI:70B3D59D9*
+ ID_OUI_FROM_DATABASE=ATX Networks Corp
+
+OUI:70B3D5348*
+ ID_OUI_FROM_DATABASE=BÄR Bahnsicherung AG
+
+OUI:70B3D5A30*
+ ID_OUI_FROM_DATABASE=SHEN ZHEN HUAWANG TECHNOLOGY CO; LTD
+
+OUI:70B3D5DFD*
+ ID_OUI_FROM_DATABASE=Contiweb
+
+OUI:70B3D5B30*
+ ID_OUI_FROM_DATABASE=Systolé Hardware B.V.
+
+OUI:70B3D5745*
+ ID_OUI_FROM_DATABASE=TMSI LLC
+
+OUI:70B3D53BF*
+ ID_OUI_FROM_DATABASE=Star Electronics GmbH & Co. KG
+
+OUI:70B3D5D1C*
+ ID_OUI_FROM_DATABASE=Specialised Imaging Limited
+
+OUI:70B3D5E8E*
+ ID_OUI_FROM_DATABASE=Macnica Technology
+
+OUI:70B3D5ADF*
+ ID_OUI_FROM_DATABASE=Seraphim Optronics Ltd
+
+OUI:70B3D522C*
+ ID_OUI_FROM_DATABASE=Hiquel Elektronik- und Anlagenbau GmbH
+
+OUI:70B3D52A2*
+ ID_OUI_FROM_DATABASE=Visualware, Inc.
+
+OUI:70B3D5DCE*
+ ID_OUI_FROM_DATABASE=Stahl GmbH
+
+OUI:70B3D5D08*
+ ID_OUI_FROM_DATABASE=Veeco Instruments
+
+OUI:70B3D5630*
+ ID_OUI_FROM_DATABASE=LGE
+
+OUI:70B3D5873*
+ ID_OUI_FROM_DATABASE=Vishay Nobel AB
+
+OUI:70B3D5653*
+ ID_OUI_FROM_DATABASE=Luxar Tech, Inc.
+
+OUI:70B3D5F1F*
+ ID_OUI_FROM_DATABASE=HKC Limited
+
+OUI:70B3D5AF6*
+ ID_OUI_FROM_DATABASE=S.C.E. srl
+
+OUI:70B3D5F37*
+ ID_OUI_FROM_DATABASE=Mitsubishi Electric Micro-Computer Application Software Co.,Ltd.
+
 OUI:70B3D5494*
  ID_OUI_FROM_DATABASE=Schildknecht AG
 
@@ -2225,9 +2432,6 @@ OUI:70B3D5061*
 OUI:70B3D5383*
  ID_OUI_FROM_DATABASE=LPA Excil Electronics
 
-OUI:70B3D59F6*
- ID_OUI_FROM_DATABASE=Edgeware AB
-
 OUI:70B3D5504*
  ID_OUI_FROM_DATABASE=Xsight Systems Ltd.
 
@@ -3218,6 +3422,84 @@ OUI:70B3D5E98*
 OUI:70B3D5443*
  ID_OUI_FROM_DATABASE=Slot3 GmbH
 
+OUI:70B3D5952*
+ ID_OUI_FROM_DATABASE=REQUEA
+
+OUI:70B3D5BAA*
+ ID_OUI_FROM_DATABASE=Device Solutions Ltd
+
+OUI:70B3D5C5C*
+ ID_OUI_FROM_DATABASE=Layer Logic Inc
+
+OUI:70B3D5F3B*
+ ID_OUI_FROM_DATABASE=Epdm Pty Ltd
+
+OUI:70B3D59F6*
+ ID_OUI_FROM_DATABASE=Edgeware AB
+
+OUI:70B3D536F*
+ ID_OUI_FROM_DATABASE=BuddyGuard GmbH
+
+OUI:70B3D5222*
+ ID_OUI_FROM_DATABASE=Marioff Corporation Oy
+
+OUI:70B3D50E3*
+ ID_OUI_FROM_DATABASE=SinTau SrL
+
+OUI:70B3D52E5*
+ ID_OUI_FROM_DATABASE=Fläkt Woods AB
+
+OUI:70B3D588D*
+ ID_OUI_FROM_DATABASE=LG Electronics
+
+OUI:70B3D5A8B*
+ ID_OUI_FROM_DATABASE=Giant Power Technology Biomedical Corporation
+
+OUI:70B3D50F1*
+ ID_OUI_FROM_DATABASE=Beijing One City Science & Technology Co., LTD
+
+OUI:70B3D5F70*
+ ID_OUI_FROM_DATABASE=Honeywell
+
+OUI:70B3D59CE*
+ ID_OUI_FROM_DATABASE=Terragene S.A
+
+OUI:70B3D5CEA*
+ ID_OUI_FROM_DATABASE=Computerwise, Inc.
+
+OUI:70B3D5F1D*
+ ID_OUI_FROM_DATABASE=Critical Link LLC
+
+OUI:70B3D5F05*
+ ID_OUI_FROM_DATABASE=Motomuto Aps
+
+OUI:70B3D5FFC*
+ ID_OUI_FROM_DATABASE=Symetrics Industries d.b.a. Extant Aerospace
+
+OUI:70B3D530E*
+ ID_OUI_FROM_DATABASE=Private
+
+OUI:70B3D54F8*
+ ID_OUI_FROM_DATABASE=Private
+
+OUI:70B3D55E0*
+ ID_OUI_FROM_DATABASE=Hexagon Metrology SAS
+
+OUI:70B3D5B2B*
+ ID_OUI_FROM_DATABASE=Vtron Pty Ltd
+
+OUI:70B3D59D0*
+ ID_OUI_FROM_DATABASE=RJ45 Technologies
+
+OUI:70B3D5672*
+ ID_OUI_FROM_DATABASE=KLEIBER Infrared GmbH
+
+OUI:70B3D5572*
+ ID_OUI_FROM_DATABASE=CRDE
+
+OUI:70B3D5927*
+ ID_OUI_FROM_DATABASE=LG Electronics
+
 OUI:70B3D566B*
  ID_OUI_FROM_DATABASE=Innitive B.V.
 
@@ -3629,9 +3911,6 @@ OUI:70B3D5010*
 OUI:70B3D586D*
  ID_OUI_FROM_DATABASE=Census Digital Incorporated
 
-OUI:70B3D560B*
- ID_OUI_FROM_DATABASE=Edgeware AB
-
 OUI:70B3D5ADD*
  ID_OUI_FROM_DATABASE=GHL Systems Berhad
 
@@ -4247,11 +4526,146 @@ OUI:70B3D590B*
 OUI:70B3D5C4B*
  ID_OUI_FROM_DATABASE=ANKER-EAST
 
+OUI:70B3D568E*
+ ID_OUI_FROM_DATABASE=CEA Technologies Pty Ltd
+
 OUI:70B3D5542*
  ID_OUI_FROM_DATABASE=RTDS Technologies Inc.
 
-OUI:70B3D568E*
- ID_OUI_FROM_DATABASE=CEA Technologies Pty Ltd
+OUI:70B3D51E4*
+ ID_OUI_FROM_DATABASE=Tecnologix s.r.l.
+
+OUI:70B3D51C5*
+ ID_OUI_FROM_DATABASE=ELSAG
+
+OUI:70B3D5635*
+ ID_OUI_FROM_DATABASE=Cosylab d.d.
+
+OUI:70B3D5D84*
+ ID_OUI_FROM_DATABASE=Sentry360
+
+OUI:70B3D575A*
+ ID_OUI_FROM_DATABASE=Standard Backhaul Communications
+
+OUI:70B3D5482*
+ ID_OUI_FROM_DATABASE=Aeryon Labs Inc
+
+OUI:70B3D5FBF*
+ ID_OUI_FROM_DATABASE=SenSys (Design Electronics Ltd)
+
+OUI:70B3D5825*
+ ID_OUI_FROM_DATABASE=TATTILE SRL
+
+OUI:70B3D5D37*
+ ID_OUI_FROM_DATABASE=Sicon srl
+
+OUI:70B3D5039*
+ ID_OUI_FROM_DATABASE=DoWoo Digitech
+
+OUI:70B3D527E*
+ ID_OUI_FROM_DATABASE=Mettler Toledo Hi Speed
+
+OUI:70B3D5F83*
+ ID_OUI_FROM_DATABASE=Tata Communications Ltd.
+
+OUI:70B3D560B*
+ ID_OUI_FROM_DATABASE=Edgeware AB
+
+OUI:70B3D50D9*
+ ID_OUI_FROM_DATABASE=Brechbuehler AG
+
+OUI:70B3D537C*
+ ID_OUI_FROM_DATABASE=Merus Power Dynamics Ltd.
+
+OUI:70B3D5EF8*
+ ID_OUI_FROM_DATABASE=DKS Dienstl.ges. f. Komm.anl. d. Stadt- u. Reg.verk. mbH
+
+OUI:70B3D54CF*
+ ID_OUI_FROM_DATABASE=GREEN HOUSE CO., LTD.
+
+OUI:70B3D5D58*
+ ID_OUI_FROM_DATABASE=Idyllic Engineering Pte Ltd
+
+OUI:70B3D5954*
+ ID_OUI_FROM_DATABASE=Dot System S.r.l.
+
+OUI:70B3D5D40*
+ ID_OUI_FROM_DATABASE=CRDE
+
+OUI:70B3D5880*
+ ID_OUI_FROM_DATABASE=Skopei B.V.
+
+OUI:70B3D551C*
+ ID_OUI_FROM_DATABASE=ATX Networks Corp
+
+OUI:70B3D5FBD*
+ ID_OUI_FROM_DATABASE=MB connect line GmbH Fernwartungssysteme
+
+OUI:70B3D5511*
+ ID_OUI_FROM_DATABASE=Next Sight srl
+
+OUI:70B3D5FA7*
+ ID_OUI_FROM_DATABASE=Nordson Corporation
+
+OUI:70B3D585E*
+ ID_OUI_FROM_DATABASE=XLOGIC srl
+
+OUI:70B3D531C*
+ ID_OUI_FROM_DATABASE=FINANCIERE DE L'OMBREE (eolane)
+
+OUI:70B3D5C41*
+ ID_OUI_FROM_DATABASE=Merlin CSI
+
+OUI:70B3D5902*
+ ID_OUI_FROM_DATABASE=Unlimiterhear co.,ltd. taiwan branch
+
+OUI:70B3D5AD1*
+ ID_OUI_FROM_DATABASE=Sensile Technologies SA
+
+OUI:70B3D5397*
+ ID_OUI_FROM_DATABASE=Guangxi Hunter Information Industry Co.,Ltd
+
+OUI:70B3D5637*
+ ID_OUI_FROM_DATABASE=INEO-SENSE
+
+OUI:70B3D5378*
+ ID_OUI_FROM_DATABASE=synchrotron SOLEIL
+
+OUI:70B3D57B2*
+ ID_OUI_FROM_DATABASE=Rail Power Systems GmbH
+
+OUI:70B3D5F12*
+ ID_OUI_FROM_DATABASE=Incoil Induktion AB
+
+OUI:70B3D5997*
+ ID_OUI_FROM_DATABASE=ProTom International
+
+OUI:70B3D5288*
+ ID_OUI_FROM_DATABASE=Bresslergroup
+
+OUI:70B3D54BE*
+ ID_OUI_FROM_DATABASE=GY-FX SAS
+
+OUI:70B3D510F*
+ ID_OUI_FROM_DATABASE=neQis
+
+OUI:70B3D598C*
+ ID_OUI_FROM_DATABASE=University of Wisconsin Madison - Department of High Energy Physics
+
+OUI:70B3D5E04*
+ ID_OUI_FROM_DATABASE=Combilent
+
+OUI:70B3D5022*
+ ID_OUI_FROM_DATABASE=Ravelin Ltd
+
+OUI:70B3D5135*
+ ID_OUI_FROM_DATABASE=DORLET SAU
+
+OUI:70B3D5002*
+ ID_OUI_FROM_DATABASE=Gogo BA
+
+OUI:70B3D5FF1*
+ ID_OUI_FROM_DATABASE=Data Strategy Limited
 
 OUI:70B3D58AB*
  ID_OUI_FROM_DATABASE=EMAC, Inc.
@@ -5258,6 +5672,129 @@ OUI:70B3D5FF4*
 OUI:70B3D5760*
  ID_OUI_FROM_DATABASE=QUALITTEQ LLC
 
+OUI:70B3D5272*
+ ID_OUI_FROM_DATABASE=TELECOM SANTE
+
+OUI:70B3D520D*
+ ID_OUI_FROM_DATABASE=Engage Technologies
+
+OUI:70B3D5D55*
+ ID_OUI_FROM_DATABASE=WM Design s.r.o
+
+OUI:70B3D5E67*
+ ID_OUI_FROM_DATABASE=APPLIED PROCESSING
+
+OUI:70B3D5523*
+ ID_OUI_FROM_DATABASE=Tibit Communications
+
+OUI:70B3D5241*
+ ID_OUI_FROM_DATABASE=Bolide Technology Group, Inc.
+
+OUI:70B3D5D25*
+ ID_OUI_FROM_DATABASE=ENGenesis
+
+OUI:70B3D54A9*
+ ID_OUI_FROM_DATABASE=WARECUBE,INC
+
+OUI:70B3D52F8*
+ ID_OUI_FROM_DATABASE=Tunstall A/S
+
+OUI:70B3D50A3*
+ ID_OUI_FROM_DATABASE=Solace Systems Inc.
+
+OUI:70B3D5FC2*
+ ID_OUI_FROM_DATABASE=HUNTER LIBERTY CORPORATION
+
+OUI:70B3D561C*
+ ID_OUI_FROM_DATABASE=Earth Works
+
+OUI:70B3D56EA*
+ ID_OUI_FROM_DATABASE=Edgeware AB
+
+OUI:70B3D5A05*
+ ID_OUI_FROM_DATABASE=Transas Marine Limited
+
+OUI:70B3D5AA6*
+ ID_OUI_FROM_DATABASE=Proximus
+
+OUI:70B3D51D4*
+ ID_OUI_FROM_DATABASE=Brinkmann Audio GmbH
+
+OUI:70B3D55E5*
+ ID_OUI_FROM_DATABASE=HAIYANG OLIX CO.,LTD.
+
+OUI:70B3D5E2C*
+ ID_OUI_FROM_DATABASE=Fourth Frontier Technologies Private Limited
+
+OUI:70B3D55CA*
+ ID_OUI_FROM_DATABASE=ACD Elekronik GmbH
+
+OUI:70B3D5427*
+ ID_OUI_FROM_DATABASE=Key Chemical & Equipment Company
+
+OUI:70B3D5753*
+ ID_OUI_FROM_DATABASE=HCH. Kündig & CIE. AG
+
+OUI:70B3D5A18*
+ ID_OUI_FROM_DATABASE=Embedded Systems Lukasz Panasiuk
+
+OUI:70B3D50C2*
+ ID_OUI_FROM_DATABASE=LOOK EASY INTERNATIONAL LIMITED
+
+OUI:70B3D51DE*
+ ID_OUI_FROM_DATABASE=DYCEC, S.A.
+
+OUI:70B3D516C*
+ ID_OUI_FROM_DATABASE=OCEAN
+
+OUI:70B3D5778*
+ ID_OUI_FROM_DATABASE=Lumacron Technology Ltd.
+
+OUI:70B3D505D*
+ ID_OUI_FROM_DATABASE=KOMS Co.,Ltd.
+
+OUI:70B3D5EC8*
+ ID_OUI_FROM_DATABASE=Viko Elektrik-Elektronik A.Åž.
+
+OUI:70B3D53F0*
+ ID_OUI_FROM_DATABASE=Intervala
+
+OUI:70B3D5BD1*
+ ID_OUI_FROM_DATABASE=CableLabs
+
+OUI:70B3D5B1A*
+ ID_OUI_FROM_DATABASE=Aaronia AG
+
+OUI:70B3D5F0D*
+ ID_OUI_FROM_DATABASE=MeQ Inc.
+
+OUI:70B3D5215*
+ ID_OUI_FROM_DATABASE=Dataspeed Inc
+
+OUI:70B3D5115*
+ ID_OUI_FROM_DATABASE=Welltec Corp.
+
+OUI:70B3D5C45*
+ ID_OUI_FROM_DATABASE=Stiebel Eltron GmbH
+
+OUI:70B3D5B56*
+ ID_OUI_FROM_DATABASE=Power Electronics Espana, S.L.
+
+OUI:70B3D5911*
+ ID_OUI_FROM_DATABASE=Equatel
+
+OUI:70B3D5661*
+ ID_OUI_FROM_DATABASE=DesignA Electronics Limited
+
+OUI:70B3D5011*
+ ID_OUI_FROM_DATABASE=Sumer Data S.L
+
+OUI:70B3D52C2*
+ ID_OUI_FROM_DATABASE=Quantum Detectors
+
+OUI:70B3D5BF3*
+ ID_OUI_FROM_DATABASE=CG-WIRELESS
+
 OUI:1C8776D*
  ID_OUI_FROM_DATABASE=Qivivo
 
@@ -5690,9 +6227,6 @@ OUI:78CA83E*
 OUI:38B8EBB*
  ID_OUI_FROM_DATABASE=ExaScaler Inc.
 
-OUI:38FDFEC*
- ID_OUI_FROM_DATABASE=New Garden Co., Ltd.
-
 OUI:38FDFE5*
  ID_OUI_FROM_DATABASE=CaptiveAire Systems Inc.
 
@@ -6014,6 +6548,81 @@ OUI:8CC8F4C*
 OUI:40F385D*
  ID_OUI_FROM_DATABASE=Digital Bros S.p.A.
 
+OUI:40F3854*
+ ID_OUI_FROM_DATABASE=Embedded IQ
+
+OUI:40F3859*
+ ID_OUI_FROM_DATABASE=Fast Precision Technologies Co. Ltd.
+
+OUI:40F3850*
+ ID_OUI_FROM_DATABASE=SubPac
+
+OUI:1CA0D32*
+ ID_OUI_FROM_DATABASE=NovTech, Inc.
+
+OUI:38FDFEC*
+ ID_OUI_FROM_DATABASE=New Garden Co., Ltd.
+
+OUI:1CA0D3E*
+ ID_OUI_FROM_DATABASE=Exicom Tele-Systems Ltd.
+
+OUI:A411630*
+ ID_OUI_FROM_DATABASE=Adetel Equipment
+
+OUI:A411637*
+ ID_OUI_FROM_DATABASE=SHENZHEN YIWANJIA INFORMATION TECHNOLOGY CO.,LTD
+
+OUI:144FD72*
+ ID_OUI_FROM_DATABASE=FedEx Services OTI
+
+OUI:144FD79*
+ ID_OUI_FROM_DATABASE=Emerson Network Power (India) Pvt. Ltd.
+
+OUI:144FD7D*
+ ID_OUI_FROM_DATABASE=Shanghai B&A Technology Co., Ltd
+
+OUI:144FD73*
+ ID_OUI_FROM_DATABASE=Qingdao Wodatong Electronics Co., Ltd.
+
+OUI:98AAFC0*
+ ID_OUI_FROM_DATABASE=Dalian Eastern Display Co., Ltd.
+
+OUI:98AAFC9*
+ ID_OUI_FROM_DATABASE=BEAM Authentic
+
+OUI:98AAFCE*
+ ID_OUI_FROM_DATABASE=Comarch S.A.
+
+OUI:98AAFC8*
+ ID_OUI_FROM_DATABASE=Beijing Tiandi-Marco Electro-Hydraulic Control System Company Ltd.
+
+OUI:98AAFCC*
+ ID_OUI_FROM_DATABASE=dots Inc.
+
+OUI:08ED023*
+ ID_OUI_FROM_DATABASE=Jiangsu Logread Network Technology Co., LTD.
+
+OUI:08ED026*
+ ID_OUI_FROM_DATABASE=SANGO ELECTRONICS CO
+
+OUI:08ED024*
+ ID_OUI_FROM_DATABASE=Fio Corporation
+
+OUI:60D7E3D*
+ ID_OUI_FROM_DATABASE=Quantronix, Inc.
+
+OUI:60D7E36*
+ ID_OUI_FROM_DATABASE=Ameli s.r.l.
+
+OUI:60D7E3B*
+ ID_OUI_FROM_DATABASE=Nextivity
+
+OUI:60D7E30*
+ ID_OUI_FROM_DATABASE=Avalun
+
+OUI:F023B98*
+ ID_OUI_FROM_DATABASE=G3 TECHNOLOGIES< INC
+
 OUI:1C8776C*
  ID_OUI_FROM_DATABASE=Strone Technology
 
@@ -6785,6 +7394,66 @@ OUI:8CC8F4A*
 OUI:40F3856*
  ID_OUI_FROM_DATABASE=Lennox International Incorporated
 
+OUI:40F3855*
+ ID_OUI_FROM_DATABASE=KATO ENGINEERING INC.
+
+OUI:1CA0D35*
+ ID_OUI_FROM_DATABASE=Dynamic Connect (Suzhou) Hi-Tech Electronic Co.,Ltd.
+
+OUI:1CA0D37*
+ ID_OUI_FROM_DATABASE=Private
+
+OUI:A411634*
+ ID_OUI_FROM_DATABASE=AlterG, Inc.
+
+OUI:1CA0D33*
+ ID_OUI_FROM_DATABASE=SAVELEC
+
+OUI:A411631*
+ ID_OUI_FROM_DATABASE=INTER CONTROL Hermann Köhler Elektrik GmbH & Co.KG
+
+OUI:144FD77*
+ ID_OUI_FROM_DATABASE=Shenzhen V-Streaming Technology Co., Ltd.
+
+OUI:144FD7A*
+ ID_OUI_FROM_DATABASE=Unirobot Corporation
+
+OUI:98AAFC1*
+ ID_OUI_FROM_DATABASE=SURTEC
+
+OUI:08ED028*
+ ID_OUI_FROM_DATABASE=HANTAS CO., LTD.
+
+OUI:08ED027*
+ ID_OUI_FROM_DATABASE=Eleven Engineering Incorporated
+
+OUI:08ED022*
+ ID_OUI_FROM_DATABASE=TES Touch Embedded Solutions Inc.
+
+OUI:08ED02E*
+ ID_OUI_FROM_DATABASE=Telstra Corporation Limited
+
+OUI:60D7E3C*
+ ID_OUI_FROM_DATABASE=Zhejiang Send Intelligent Technology,Ltd
+
+OUI:60D7E38*
+ ID_OUI_FROM_DATABASE=HindlePower, Inc
+
+OUI:60D7E3A*
+ ID_OUI_FROM_DATABASE=Wilderness Labs Inc.
+
+OUI:60D7E31*
+ ID_OUI_FROM_DATABASE=Elap s.r.l.
+
+OUI:04714B1*
+ ID_OUI_FROM_DATABASE=uAvionix Corporation
+
+OUI:04714B2*
+ ID_OUI_FROM_DATABASE=Shenzhen WayOS Technology Crop., Ltd.
+
+OUI:04714B8*
+ ID_OUI_FROM_DATABASE=Energport Inc
+
 OUI:1C87765*
  ID_OUI_FROM_DATABASE=Zhuhai MYZR Technology Co.,Ltd
 
@@ -7505,9 +8174,6 @@ OUI:AC64DDD*
 OUI:AC64DD0*
  ID_OUI_FROM_DATABASE=Jia-Teng
 
-OUI:4CE1731*
- ID_OUI_FROM_DATABASE=Datastorm Technologies Inc.
-
 OUI:4CE1733*
  ID_OUI_FROM_DATABASE=outpaceIO
 
@@ -7580,6 +8246,93 @@ OUI:8CC8F48*
 OUI:8CC8F4E*
  ID_OUI_FROM_DATABASE=Evaporcool Solutions
 
+OUI:40F385B*
+ ID_OUI_FROM_DATABASE=URMET Home & Building Solutions Pty Ltd
+
+OUI:40F3858*
+ ID_OUI_FROM_DATABASE=Teleepoch Ltd
+
+OUI:1CA0D3B*
+ ID_OUI_FROM_DATABASE=Guang Dong He Zheng Network Technology Co.,Ltd
+
+OUI:1CA0D3D*
+ ID_OUI_FROM_DATABASE=ERATO (HK) Corporation Limited
+
+OUI:1CA0D3A*
+ ID_OUI_FROM_DATABASE=DSM Messtechnik GmbH
+
+OUI:1CA0D38*
+ ID_OUI_FROM_DATABASE=Desarrollos y Soluciones Guinea I+D S.L.
+
+OUI:A411638*
+ ID_OUI_FROM_DATABASE=Dspread Technology (Beijing) Inc.
+
+OUI:A411639*
+ ID_OUI_FROM_DATABASE=accesso Technology Group
+
+OUI:A41163A*
+ ID_OUI_FROM_DATABASE=ISE GmbH
+
+OUI:A411635*
+ ID_OUI_FROM_DATABASE=Carbon, Inc.
+
+OUI:4CE1731*
+ ID_OUI_FROM_DATABASE=Nexoforge Inc.
+
+OUI:144FD70*
+ ID_OUI_FROM_DATABASE=annapurnalabs
+
+OUI:144FD75*
+ ID_OUI_FROM_DATABASE=FLS FINLAND OY
+
+OUI:144FD74*
+ ID_OUI_FROM_DATABASE=Red Technology Limited
+
+OUI:98AAFCD*
+ ID_OUI_FROM_DATABASE=MCS Micronic Computer Systeme GmbH
+
+OUI:98AAFC7*
+ ID_OUI_FROM_DATABASE=Shenzhen Hubsan Technology Co.,LTD.
+
+OUI:08ED02C*
+ ID_OUI_FROM_DATABASE=Guard RFID Solutions
+
+OUI:08ED021*
+ ID_OUI_FROM_DATABASE=Imperx, Inc
+
+OUI:60D7E34*
+ ID_OUI_FROM_DATABASE=Hemisphere GNSS
+
+OUI:60D7E37*
+ ID_OUI_FROM_DATABASE=Phase One A/S
+
+OUI:60D7E33*
+ ID_OUI_FROM_DATABASE=SKS Automaatio oy
+
+OUI:60D7E3E*
+ ID_OUI_FROM_DATABASE=HuBDIC CO.,LTD
+
+OUI:04714BB*
+ ID_OUI_FROM_DATABASE=DIGIBEST TECHNOLOGY CO., LTD.
+
+OUI:04714B6*
+ ID_OUI_FROM_DATABASE=Armstrong Fluid Technology
+
+OUI:04714B4*
+ ID_OUI_FROM_DATABASE=Apparatebau Gauting GmbH
+
+OUI:04714BE*
+ ID_OUI_FROM_DATABASE=Gimso Mobile Ltd
+
+OUI:F023B90*
+ ID_OUI_FROM_DATABASE=Aquametro AG
+
+OUI:F023B99*
+ ID_OUI_FROM_DATABASE=Emu Technology
+
+OUI:F023B91*
+ ID_OUI_FROM_DATABASE=Ubiant
+
 OUI:1C8776B*
  ID_OUI_FROM_DATABASE=Hekatron Vertriebs GmbH
 
@@ -8420,6 +9173,78 @@ OUI:8CC8F45*
 OUI:8CC8F43*
  ID_OUI_FROM_DATABASE=TOHO DENKI IND.CO.,LTD
 
+OUI:40F385A*
+ ID_OUI_FROM_DATABASE=Creanord
+
+OUI:40F3857*
+ ID_OUI_FROM_DATABASE=PALAZZETTI LELIO SPA
+
+OUI:1CA0D34*
+ ID_OUI_FROM_DATABASE=NPO TELECOM JSC
+
+OUI:1CA0D30*
+ ID_OUI_FROM_DATABASE=OOO Tekhnotronika
+
+OUI:1CA0D3C*
+ ID_OUI_FROM_DATABASE=LYT inc.
+
+OUI:1CA0D39*
+ ID_OUI_FROM_DATABASE=Cirque Audio Technology Co., Ltd
+
+OUI:1CA0D31*
+ ID_OUI_FROM_DATABASE=Jabil circuit italia srl
+
+OUI:A41163B*
+ ID_OUI_FROM_DATABASE=Moog Music Inc.
+
+OUI:A41163D*
+ ID_OUI_FROM_DATABASE=SHENZHEN ZHISHI TECHNOLOGY CO., LTD.
+
+OUI:A411632*
+ ID_OUI_FROM_DATABASE=Allgo Tech. (Beijing) Co.,Ltd
+
+OUI:144FD7C*
+ ID_OUI_FROM_DATABASE=D&S Cable Industries (HK) Limited
+
+OUI:144FD7B*
+ ID_OUI_FROM_DATABASE=Arkus-ST Ltd
+
+OUI:98AAFCA*
+ ID_OUI_FROM_DATABASE=SENKO Co.,Ltd.
+
+OUI:98AAFC6*
+ ID_OUI_FROM_DATABASE=Mekotronics Co., Ltd
+
+OUI:08ED029*
+ ID_OUI_FROM_DATABASE=Savox Communications
+
+OUI:08ED02B*
+ ID_OUI_FROM_DATABASE=Szok Energy and Communication Co., Ltd.
+
+OUI:60D7E39*
+ ID_OUI_FROM_DATABASE=LongSung Technology (Shanghai) Co.,Ltd.
+
+OUI:04714BC*
+ ID_OUI_FROM_DATABASE=KittyHawk Corporation
+
+OUI:04714B7*
+ ID_OUI_FROM_DATABASE=Omylis Pte Ltd
+
+OUI:04714B5*
+ ID_OUI_FROM_DATABASE=Bureau Electronique Appliquee
+
+OUI:04714B0*
+ ID_OUI_FROM_DATABASE=Neurio Technology Inc.
+
+OUI:F023B9B*
+ ID_OUI_FROM_DATABASE=Q Core Medical Ltd
+
+OUI:F023B9D*
+ ID_OUI_FROM_DATABASE=Private
+
+OUI:F023B96*
+ ID_OUI_FROM_DATABASE=Xiamen Jinhaode Electronic Co.,Ltd
+
 OUI:1C87740*
  ID_OUI_FROM_DATABASE=Philips Personal Health Solutions
 
@@ -8861,9 +9686,6 @@ OUI:38FDFEB*
 OUI:38FDFE4*
  ID_OUI_FROM_DATABASE=New Telecom Solutions LLC
 
-OUI:38FDFE9*
- ID_OUI_FROM_DATABASE=OOO Group of Industrial Technologies
-
 OUI:5CF2860*
  ID_OUI_FROM_DATABASE=Hangzhou Signwei Electronics Technology Co., Ltd
 
@@ -9122,6 +9944,96 @@ OUI:8CC8F44*
 OUI:40F3852*
  ID_OUI_FROM_DATABASE=Beijing Zongheng Electro-Mechanical Technology Development Co.
 
+OUI:40F3853*
+ ID_OUI_FROM_DATABASE=IntelliDesign Pty Ltd
+
+OUI:40F3851*
+ ID_OUI_FROM_DATABASE=Johnson Matthey
+
+OUI:40F385C*
+ ID_OUI_FROM_DATABASE=Clixxo Broadband Private Limited
+
+OUI:40F385E*
+ ID_OUI_FROM_DATABASE=BBB Inc.
+
+OUI:1CA0D36*
+ ID_OUI_FROM_DATABASE=Intertecno SRL NISUTA
+
+OUI:A411636*
+ ID_OUI_FROM_DATABASE=Beijing XiaoRui Technology Co., Ltd
+
+OUI:A411633*
+ ID_OUI_FROM_DATABASE=Pax
+
+OUI:A41163C*
+ ID_OUI_FROM_DATABASE=Viloc
+
+OUI:A41163E*
+ ID_OUI_FROM_DATABASE=tinylogics
+
+OUI:144FD78*
+ ID_OUI_FROM_DATABASE=NPort Networks Inc.,
+
+OUI:144FD76*
+ ID_OUI_FROM_DATABASE=i-SENS, Inc.
+
+OUI:144FD71*
+ ID_OUI_FROM_DATABASE=Zehnder Group AG
+
+OUI:144FD7E*
+ ID_OUI_FROM_DATABASE=Edan Instruments, Inc.
+
+OUI:98AAFC5*
+ ID_OUI_FROM_DATABASE=SPM Instrument AB
+
+OUI:98AAFC2*
+ ID_OUI_FROM_DATABASE=Shenzhen UniStrong Science & Technology Co., Ltd
+
+OUI:38FDFE9*
+ ID_OUI_FROM_DATABASE=OOO Group of Industrial Technologies
+
+OUI:98AAFC4*
+ ID_OUI_FROM_DATABASE=RPE RADICO
+
+OUI:98AAFC3*
+ ID_OUI_FROM_DATABASE=Nexus Electrical(Jiaxing) Limited
+
+OUI:98AAFCB*
+ ID_OUI_FROM_DATABASE=Resonant Systems Inc.
+
+OUI:08ED025*
+ ID_OUI_FROM_DATABASE=Vigitron Inc.
+
+OUI:08ED02D*
+ ID_OUI_FROM_DATABASE=Origami Energy Ltd
+
+OUI:08ED020*
+ ID_OUI_FROM_DATABASE=D2SLink Systems
+
+OUI:08ED02A*
+ ID_OUI_FROM_DATABASE=Victiana SRL
+
+OUI:60D7E35*
+ ID_OUI_FROM_DATABASE=Revol Technologies inc
+
+OUI:60D7E32*
+ ID_OUI_FROM_DATABASE=Novo innovations Ltd
+
+OUI:04714B3*
+ ID_OUI_FROM_DATABASE=Griesser Electronic AG
+
+OUI:04714B9*
+ ID_OUI_FROM_DATABASE=Lighthouse AI, Inc
+
+OUI:04714BD*
+ ID_OUI_FROM_DATABASE=Shenzhen BoClouds Technology Co.,Ltd.
+
+OUI:04714BA*
+ ID_OUI_FROM_DATABASE=Observables, Inc.
+
+OUI:F023B97*
+ ID_OUI_FROM_DATABASE=Transcend Building Automation control network corporation
+
 OUI:E043DB*
  ID_OUI_FROM_DATABASE=Shenzhen ViewAt Technology Co.,Ltd.
 
@@ -9371,12 +10283,6 @@ OUI:BC7670*
 OUI:24DBAC*
  ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
 
-OUI:BC3AEA*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
-OUI:E8BBA8*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
 OUI:0021E8*
  ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd.
 
@@ -10577,9 +11483,6 @@ OUI:3C46D8*
 OUI:6C0273*
  ID_OUI_FROM_DATABASE=Shenzhen Jin Yun Video Equipment Co., Ltd.
 
-OUI:2CFAA2*
- ID_OUI_FROM_DATABASE=Alcatel-Lucent
-
 OUI:F0761C*
  ID_OUI_FROM_DATABASE=COMPAL INFORMATION (KUNSHAN) CO., LTD.
 
@@ -11369,9 +12272,6 @@ OUI:48F230*
 OUI:B0C95B*
  ID_OUI_FROM_DATABASE=Beijing Symtech CO.,LTD
 
-OUI:881544*
- ID_OUI_FROM_DATABASE=Meraki, Inc.
-
 OUI:DCA989*
  ID_OUI_FROM_DATABASE=MACANDC
 
@@ -17159,9 +18059,6 @@ OUI:00089D*
 OUI:000890*
  ID_OUI_FROM_DATABASE=AVILINKS SA
 
-OUI:000889*
- ID_OUI_FROM_DATABASE=Echostar Technologies Corp
-
 OUI:000884*
  ID_OUI_FROM_DATABASE=Index Braille AB
 
@@ -18509,9 +19406,6 @@ OUI:00D00E*
 OUI:00D055*
  ID_OUI_FROM_DATABASE=KATHREIN-WERKE KG
 
-OUI:00D095*
- ID_OUI_FROM_DATABASE=Alcatel-Lucent, Enterprise Business Group
-
 OUI:00D000*
  ID_OUI_FROM_DATABASE=FERRAN SCIENTIFIC, INC.
 
@@ -20363,9 +21257,6 @@ OUI:000FB0*
 OUI:1C7508*
  ID_OUI_FROM_DATABASE=COMPAL INFORMATION (KUNSHAN) CO., LTD.
 
-OUI:8C0EE3*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
 OUI:3829DD*
  ID_OUI_FROM_DATABASE=ONvocal Inc
 
@@ -20630,9 +21521,6 @@ OUI:6487D7*
 OUI:00E098*
  ID_OUI_FROM_DATABASE=AboCom
 
-OUI:F0A225*
- ID_OUI_FROM_DATABASE=Private
-
 OUI:0000B1*
  ID_OUI_FROM_DATABASE=Alpha Micro
 
@@ -20804,18 +21692,6 @@ OUI:E0CBEE*
 OUI:64B853*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
-OUI:988389*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
-OUI:244B03*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
-OUI:FC8F90*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
-OUI:1816C9*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:F4428F*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
@@ -20864,9 +21740,6 @@ OUI:D059E4*
 OUI:64B310*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
-OUI:78ABBB*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:000B3B*
  ID_OUI_FROM_DATABASE=devolo AG
 
@@ -20990,9 +21863,6 @@ OUI:246968*
 OUI:8CA2FD*
  ID_OUI_FROM_DATABASE=Starry, Inc.
 
-OUI:14BB6E*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:AC61EA*
  ID_OUI_FROM_DATABASE=Apple, Inc.
 
@@ -21065,9 +21935,6 @@ OUI:D8803C*
 OUI:703C03*
  ID_OUI_FROM_DATABASE=RadiAnt Co.,Ltd
 
-OUI:F0D2F1*
- ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
-
 OUI:583277*
  ID_OUI_FROM_DATABASE=Reliance Communications LLC
 
@@ -21137,9 +22004,6 @@ OUI:001706*
 OUI:30F6B9*
  ID_OUI_FROM_DATABASE=Ecocentric Energy
 
-OUI:1C3ADE*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:004268*
  ID_OUI_FROM_DATABASE=Cisco Systems, Inc
 
@@ -21839,156 +22703,9 @@ OUI:24E43F*
 OUI:A00460*
  ID_OUI_FROM_DATABASE=NETGEAR
 
-OUI:946269*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:D40598*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:78719C*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:E0B70A*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:C83FB4*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:207355*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:900DCB*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:14CFE2*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0015D0*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:E86D52*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:3C438E*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:90B134*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:20E564*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:40B7F3*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:94CCB9*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:00ACE0*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:3C36E4*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0000C5*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:D039B3*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:8C7F3B*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:903EAB*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:CCA462*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001DCD*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001DD4*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001DCE*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0050E3*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:00080E*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:00159A*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:00192C*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:D40AA9*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:384C90*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:44AAF5*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:7085C6*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:D0E54D*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:B4F2E8*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:FC8E7E*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:005094*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:002143*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0023EE*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:64ED57*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0023A3*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:F87B7A*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0025F1*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001A66*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0018C0*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001E46*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001ADE*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0023AF*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
 OUI:240AC4*
  ID_OUI_FROM_DATABASE=Espressif Inc.
 
-OUI:5856E8*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
 OUI:E4C1F1*
  ID_OUI_FROM_DATABASE=SHENZHEN SPOTMAU INFORMATION TECHNOLIGY CO., Ltd
 
@@ -22382,9 +23099,6 @@ OUI:A4D9A4*
 OUI:484D7E*
  ID_OUI_FROM_DATABASE=Dell Inc.
 
-OUI:8871E5*
- ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
-
 OUI:F4B549*
  ID_OUI_FROM_DATABASE=Xiamen Yeastar Information Technology Co., Ltd.
 
@@ -22427,9 +23141,6 @@ OUI:C413E2*
 OUI:F09CE9*
  ID_OUI_FROM_DATABASE=Aerohive Networks Inc.
 
-OUI:48D343*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
 OUI:CCC5EF*
  ID_OUI_FROM_DATABASE=Co-Comm Servicios Telecomunicaciones S.L.
 
@@ -22493,12 +23204,6 @@ OUI:1CEEC9*
 OUI:4CB81C*
  ID_OUI_FROM_DATABASE=SAM Electronics GmbH
 
-OUI:F83F51*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
-OUI:6C5C14*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
 OUI:2CDCAD*
  ID_OUI_FROM_DATABASE=Wistron Neweb Corporation
 
@@ -22568,9 +23273,6 @@ OUI:F015B9*
 OUI:70700D*
  ID_OUI_FROM_DATABASE=Apple, Inc.
 
-OUI:E02202*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
 OUI:24A7DC*
  ID_OUI_FROM_DATABASE=BSkyB Ltd
 
@@ -22634,9 +23336,6 @@ OUI:089E08*
 OUI:00014F*
  ID_OUI_FROM_DATABASE=Adtran Inc
 
-OUI:D8E0E1*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:045D4B*
  ID_OUI_FROM_DATABASE=Sony Corporation
 
@@ -22703,6 +23402,495 @@ OUI:6854C1*
 OUI:887873*
  ID_OUI_FROM_DATABASE=Intel Corporate
 
+OUI:6C750D*
+ ID_OUI_FROM_DATABASE=WiFiSONG
+
+OUI:E45D51*
+ ID_OUI_FROM_DATABASE=SFR
+
+OUI:346E9D*
+ ID_OUI_FROM_DATABASE=Ericsson AB
+
+OUI:B816DB*
+ ID_OUI_FROM_DATABASE=CHANT SINCERE CO.,LTD
+
+OUI:D461FE*
+ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited
+
+OUI:54E1AD*
+ ID_OUI_FROM_DATABASE=LCFC(HeFei) Electronics Technology co., ltd
+
+OUI:94F551*
+ ID_OUI_FROM_DATABASE=Cadi Scientific Pte Ltd
+
+OUI:BC452E*
+ ID_OUI_FROM_DATABASE=Knowledge Development for POF S.L.
+
+OUI:E8D11B*
+ ID_OUI_FROM_DATABASE=ASKEY COMPUTER CORP
+
+OUI:44032C*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+OUI:14987D*
+ ID_OUI_FROM_DATABASE=Technicolor CH USA Inc.
+
+OUI:D4CF37*
+ ID_OUI_FROM_DATABASE=Symbolic IO
+
+OUI:283F69*
+ ID_OUI_FROM_DATABASE=Sony Mobile Communications AB
+
+OUI:F0D2F1*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:8871E5*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:7C5049*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:F0A225*
+ ID_OUI_FROM_DATABASE=Private
+
+OUI:E048AF*
+ ID_OUI_FROM_DATABASE=Premietech Limited
+
+OUI:2C3311*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
+OUI:503A7D*
+ ID_OUI_FROM_DATABASE=AlphaTech PLC Int’l Co., Ltd.
+
+OUI:BC024A*
+ ID_OUI_FROM_DATABASE=HMD Global Oy
+
+OUI:9CFCD1*
+ ID_OUI_FROM_DATABASE=Aetheris Technology (Shanghai) Co., Ltd.
+
+OUI:949901*
+ ID_OUI_FROM_DATABASE=Shenzhen YITOA Digital Appliance CO.,LTD
+
+OUI:E89E0C*
+ ID_OUI_FROM_DATABASE=Private
+
+OUI:D8A105*
+ ID_OUI_FROM_DATABASE=Syslane, Co., Ltd.
+
+OUI:C4B9CD*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
+OUI:10954B*
+ ID_OUI_FROM_DATABASE=Megabyte Ltd.
+
+OUI:900628*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:C4700B*
+ ID_OUI_FROM_DATABASE=GUANGZHOU CHIP TECHNOLOGIES CO.,LTD
+
+OUI:D4AE05*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:3C0518*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:04946B*
+ ID_OUI_FROM_DATABASE=TECNO MOBILE LIMITED
+
+OUI:A04C5B*
+ ID_OUI_FROM_DATABASE=Shenzhen TINNO Mobile Technology Corp.
+
+OUI:98DDEA*
+ ID_OUI_FROM_DATABASE=Infinix mobility limited
+
+OUI:D4619D*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:B0481A*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:989E63*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:DCA904*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:48A195*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:6CAB31*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:503237*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:000889*
+ ID_OUI_FROM_DATABASE=Echostar Technologies Corp
+
+OUI:2C029F*
+ ID_OUI_FROM_DATABASE=3ALogics
+
+OUI:58D9D5*
+ ID_OUI_FROM_DATABASE=Tenda Technology Co.,Ltd.Dongguan branch
+
+OUI:60E78A*
+ ID_OUI_FROM_DATABASE=UNISEM
+
+OUI:6C5976*
+ ID_OUI_FROM_DATABASE=Shanghai Tricheer Technology Co.,Ltd.
+
+OUI:F4A739*
+ ID_OUI_FROM_DATABASE=Juniper Networks
+
+OUI:2CFAA2*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent Enterprise
+
+OUI:00D095*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent Enterprise
+
+OUI:4095BD*
+ ID_OUI_FROM_DATABASE=NTmore.Co.,Ltd
+
+OUI:2CABEB*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
+OUI:BC66DE*
+ ID_OUI_FROM_DATABASE=Shadow Creator Information Technology Co.,Ltd.
+
+OUI:A0086F*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:C4FF1F*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:7C7B8B*
+ ID_OUI_FROM_DATABASE=Control Concepts, Inc.
+
+OUI:C40BCB*
+ ID_OUI_FROM_DATABASE=Xiaomi Communications Co Ltd
+
+OUI:D8C06A*
+ ID_OUI_FROM_DATABASE=Hunantv.com Interactive Entertainment Media Co.,Ltd.
+
+OUI:9C32A9*
+ ID_OUI_FROM_DATABASE=SICHUAN TIANYI COMHEART TELECOMCO., LTD
+
+OUI:601466*
+ ID_OUI_FROM_DATABASE=zte corporation
+
+OUI:30D386*
+ ID_OUI_FROM_DATABASE=zte corporation
+
+OUI:900E83*
+ ID_OUI_FROM_DATABASE=Monico Monitoring, Inc.
+
+OUI:E8BBA8*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:BC3AEA*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:8C0EE3*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:6C5C14*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:F894C2*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+OUI:7CB960*
+ ID_OUI_FROM_DATABASE=Shanghai X-Cheng telecom LTD
+
+OUI:A8D579*
+ ID_OUI_FROM_DATABASE=Beijing Chushang Science and Technology Co.,Ltd
+
+OUI:28C63F*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+OUI:600837*
+ ID_OUI_FROM_DATABASE=ivvi Scientific(Nanchang)Co.Ltd
+
+OUI:D860B3*
+ ID_OUI_FROM_DATABASE=Guangdong Global Electronic Technology CO.,LTD
+
+OUI:3C9509*
+ ID_OUI_FROM_DATABASE=Liteon Technology Corporation
+
+OUI:44B412*
+ ID_OUI_FROM_DATABASE=SIUS AG
+
+OUI:3CA308*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
+OUI:00F82C*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
+OUI:00C1B1*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
+OUI:D0F88C*
+ ID_OUI_FROM_DATABASE=Motorola (Wuhan) Mobility Technologies Communication Co., Ltd.
+
+OUI:2CB115*
+ ID_OUI_FROM_DATABASE=Integrated Device Technology (Malaysia) Sdn. Bhd.
+
+OUI:78ABBB*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:1816C9*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:FC8F90*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:244B03*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:988389*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:14BB6E*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:1C3ADE*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:F83F51*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:D8E0E1*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:50FF20*
+ ID_OUI_FROM_DATABASE=Keenetic Limited
+
+OUI:ECF342*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:D4C1C8*
+ ID_OUI_FROM_DATABASE=zte corporation
+
+OUI:EC237B*
+ ID_OUI_FROM_DATABASE=zte corporation
+
+OUI:881544*
+ ID_OUI_FROM_DATABASE=Cisco Meraki
+
+OUI:F44156*
+ ID_OUI_FROM_DATABASE=Arrikto Inc.
+
+OUI:D4258B*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+OUI:B4F2E8*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:D0E54D*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:7085C6*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:44AAF5*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:005094*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:FC8E7E*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:00E18C*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+OUI:903EAB*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:14CFE2*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:900DCB*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:207355*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:C83FB4*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:E0B70A*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:78719C*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:D40598*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:946269*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:8C7F3B*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:40B7F3*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:20E564*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:90B134*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:3C438E*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:E86D52*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0015D0*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001DCE*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001DD4*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001DCD*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:CCA462*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:D039B3*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0000C5*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:3C36E4*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:00ACE0*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:384C90*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:D40AA9*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:48D343*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:E02202*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:2C1DB8*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:E45740*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0023A3*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:64ED57*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0023EE*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:002143*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0023AF*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001ADE*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:00159A*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:00080E*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0050E3*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:94CCB9*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001E46*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0018C0*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001A66*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:00192C*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0025F1*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:F87B7A*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:5856E8*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:145E45*
+ ID_OUI_FROM_DATABASE=Kaleao Limited
+
+OUI:88D7F6*
+ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
+
+OUI:1C1FD4*
+ ID_OUI_FROM_DATABASE=LifeBEAM Technologies LTD
+
+OUI:88BD78*
+ ID_OUI_FROM_DATABASE=Flaircomm Microelectronics,Inc.
+
+OUI:5092B9*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:B4BFF6*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:C8D7B0*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:60720B*
+ ID_OUI_FROM_DATABASE=BLU Products Inc
+
+OUI:F4A997*
+ ID_OUI_FROM_DATABASE=CANON INC.
+
+OUI:3C4CD0*
+ ID_OUI_FROM_DATABASE=CERAGON NETWORKS
+
+OUI:B04E26*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
+OUI:FC06ED*
+ ID_OUI_FROM_DATABASE=M2Motive Technology Inc.
+
+OUI:54C9DF*
+ ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED
+
+OUI:30C3D9*
+ ID_OUI_FROM_DATABASE=ALPS ELECTRIC CO.,LTD.
+
+OUI:FC4D8C*
+ ID_OUI_FROM_DATABASE=SHENZHEN PANTE ELECTRONICS TECHNOLOGY CO., LTD
+
 OUI:0C6F9C*
  ID_OUI_FROM_DATABASE=Shaw Communications Inc.
 
@@ -23021,12 +24209,6 @@ OUI:80717A*
 OUI:F49FF3*
  ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
 
-OUI:2C5BB8*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
-OUI:B0AA36*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
 OUI:784B87*
  ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd.
 
@@ -23582,9 +24764,6 @@ OUI:84100D*
 OUI:D88B4C*
  ID_OUI_FROM_DATABASE=KingTing Tech.
 
-OUI:E81363*
- ID_OUI_FROM_DATABASE=Comstock RD, Inc.
-
 OUI:6C9354*
  ID_OUI_FROM_DATABASE=Yaojin Technology (Shenzhen) Co., LTD.
 
@@ -23852,9 +25031,6 @@ OUI:E03560*
 OUI:0CB5DE*
  ID_OUI_FROM_DATABASE=Alcatel Lucent
 
-OUI:04C9D9*
- ID_OUI_FROM_DATABASE=EchoStar Technologies Corp
-
 OUI:E4CE70*
  ID_OUI_FROM_DATABASE=Health & Life co., Ltd.
 
@@ -24086,9 +25262,6 @@ OUI:68F06D*
 OUI:54F876*
  ID_OUI_FROM_DATABASE=ABB AG
 
-OUI:4857DD*
- ID_OUI_FROM_DATABASE=Facebook
-
 OUI:84930C*
  ID_OUI_FROM_DATABASE=InCoax Networks Europe AB
 
@@ -24215,9 +25388,6 @@ OUI:18D5B6*
 OUI:C8FF77*
  ID_OUI_FROM_DATABASE=Dyson Limited
 
-OUI:C03D46*
- ID_OUI_FROM_DATABASE=Shanghai Mochui Network Technology Co., Ltd
-
 OUI:DCF110*
  ID_OUI_FROM_DATABASE=Nokia Corporation
 
@@ -24521,9 +25691,6 @@ OUI:284430*
 OUI:9843DA*
  ID_OUI_FROM_DATABASE=INTERTECH
 
-OUI:285767*
- ID_OUI_FROM_DATABASE=Echostar Technologies Corp
-
 OUI:B07908*
  ID_OUI_FROM_DATABASE=Cummings Engineering
 
@@ -24803,9 +25970,6 @@ OUI:148692*
 OUI:1832A2*
  ID_OUI_FROM_DATABASE=LAON TECHNOLOGY CO., LTD.
 
-OUI:6854ED*
- ID_OUI_FROM_DATABASE=Alcatel-Lucent - Nuage
-
 OUI:985C93*
  ID_OUI_FROM_DATABASE=SBG Systems SAS
 
@@ -26342,9 +27506,6 @@ OUI:948D50*
 OUI:94E226*
  ID_OUI_FROM_DATABASE=D. ORtiz Consulting, LLC
 
-OUI:E8E732*
- ID_OUI_FROM_DATABASE=Alcatel-Lucent
-
 OUI:386E21*
  ID_OUI_FROM_DATABASE=Wasion Group Ltd.
 
@@ -27323,9 +28484,6 @@ OUI:0023D2*
 OUI:0024B4*
  ID_OUI_FROM_DATABASE=ESCATRONIC GmbH
 
-OUI:0024AF*
- ID_OUI_FROM_DATABASE=EchoStar Technologies
-
 OUI:0024AD*
  ID_OUI_FROM_DATABASE=Adolf Thies Gmbh & Co. KG
 
@@ -29618,9 +30776,6 @@ OUI:00118C*
 OUI:001191*
  ID_OUI_FROM_DATABASE=CTS-Clima Temperatur Systeme GmbH
 
-OUI:00118B*
- ID_OUI_FROM_DATABASE=Alcatel-Lucent, Enterprise Business Group
-
 OUI:001196*
  ID_OUI_FROM_DATABASE=Actuality Systems, Inc.
 
@@ -31667,9 +32822,6 @@ OUI:00049B*
 OUI:00049C*
  ID_OUI_FROM_DATABASE=Surgient Networks, Inc.
 
-OUI:000496*
- ID_OUI_FROM_DATABASE=Extreme Networks
-
 OUI:00048F*
  ID_OUI_FROM_DATABASE=TD Systems Corporation
 
@@ -32741,9 +33893,6 @@ OUI:00E0AD*
 OUI:00E025*
  ID_OUI_FROM_DATABASE=dit Co., Ltd.
 
-OUI:00E0B1*
- ID_OUI_FROM_DATABASE=Alcatel-Lucent, Enterprise Business Group
-
 OUI:00E0E4*
  ID_OUI_FROM_DATABASE=FANUC ROBOTICS NORTH AMERICA, Inc.
 
@@ -32897,9 +34046,6 @@ OUI:00A05B*
 OUI:00A08D*
  ID_OUI_FROM_DATABASE=JACOMO CORPORATION
 
-OUI:00A06F*
- ID_OUI_FROM_DATABASE=THE APPCON GROUP, INC.
-
 OUI:00A08E*
  ID_OUI_FROM_DATABASE=Check Point Software Technologies
 
@@ -33488,9 +34634,6 @@ OUI:004020*
 OUI:00406E*
  ID_OUI_FROM_DATABASE=COROLLARY, INC.
 
-OUI:004066*
- ID_OUI_FROM_DATABASE=Hitachi Metals, Ltd.
-
 OUI:004016*
  ID_OUI_FROM_DATABASE=ADC - Global Connectivity Solutions Division
 
@@ -33578,9 +34721,6 @@ OUI:008002*
 OUI:00805C*
  ID_OUI_FROM_DATABASE=AGILIS CORPORATION
 
-OUI:0080E7*
- ID_OUI_FROM_DATABASE=LYNWOOD SCIENTIFIC DEV. LTD.
-
 OUI:008070*
  ID_OUI_FROM_DATABASE=COMPUTADORAS MICRON
 
@@ -34223,12 +35363,6 @@ OUI:001802*
 OUI:ECCD6D*
  ID_OUI_FROM_DATABASE=Allied Telesis, Inc.
 
-OUI:74C246*
- ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
-
-OUI:F0272D*
- ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
-
 OUI:00225F*
  ID_OUI_FROM_DATABASE=Liteon Technology Corporation
 
@@ -34388,9 +35522,6 @@ OUI:B0EC71*
 OUI:3CBBFD*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
-OUI:24F5AA*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:2CAE2B*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
@@ -34421,9 +35552,6 @@ OUI:680571*
 OUI:6C2F2C*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
-OUI:5056BF*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:000136*
  ID_OUI_FROM_DATABASE=CyberTAN Technology Inc.
 
@@ -34634,9 +35762,6 @@ OUI:0090F9*
 OUI:04C103*
  ID_OUI_FROM_DATABASE=Clover Network, Inc.
 
-OUI:F877B8*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:1C553A*
  ID_OUI_FROM_DATABASE=QianGua Corp.
 
@@ -35258,162 +36383,6 @@ OUI:84C7EA*
 OUI:8C6102*
  ID_OUI_FROM_DATABASE=Beijing Baofengmojing Technologies Co., Ltd
 
-OUI:1005B1*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:10868C*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:1C1B68*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:44E137*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:E83381*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:8461A0*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0CF893*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:14ABF0*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:ACB313*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0026D9*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:28C87A*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:54E2E0*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:A055DE*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:A0C562*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:FC6FB7*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001A1B*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:00149A*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001371*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001DBE*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001E5A*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001D6B*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001CC1*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001C11*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001F7E*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:002495*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:2C9E5F*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:C8AA21*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:341FE4*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:400D10*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001596*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0015A2*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001311*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0015CE*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:002040*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0011AE*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:000F9F*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:306023*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001DD6*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001DD1*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:601971*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0000CA*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001ADB*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:002375*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0024A1*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:A4ED4E*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:002642*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:000B06*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:00152F*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:00111A*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001626*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0018A4*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:00D037*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
 OUI:FC9114*
  ID_OUI_FROM_DATABASE=Technicolor CH USA Inc.
 
@@ -35570,9 +36539,6 @@ OUI:9CFBD5*
 OUI:583112*
  ID_OUI_FROM_DATABASE=DRUST
 
-OUI:7C2634*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
 OUI:58696C*
  ID_OUI_FROM_DATABASE=Ruijie Networks Co.,LTD
 
@@ -36143,9 +37109,6 @@ OUI:00234A*
 OUI:88C626*
  ID_OUI_FROM_DATABASE=Logitech, Inc
 
-OUI:B85001*
- ID_OUI_FROM_DATABASE=Zebra Technologies Inc.
-
 OUI:28E31F*
  ID_OUI_FROM_DATABASE=Xiaomi Communications Co Ltd
 
@@ -36209,9 +37172,6 @@ OUI:78FC14*
 OUI:1062EB*
  ID_OUI_FROM_DATABASE=D-Link International
 
-OUI:1C48CE*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
 OUI:E0A700*
  ID_OUI_FROM_DATABASE=Verkada Inc
 
@@ -36269,9 +37229,6 @@ OUI:0C3CCD*
 OUI:B04089*
  ID_OUI_FROM_DATABASE=Senient Systems LTD
 
-OUI:682737*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:002445*
  ID_OUI_FROM_DATABASE=Adtran Inc
 
@@ -36350,6 +37307,435 @@ OUI:143004*
 OUI:D481D7*
  ID_OUI_FROM_DATABASE=Dell Inc.
 
+OUI:7C4685*
+ ID_OUI_FROM_DATABASE=Motorola (Wuhan) Mobility Technologies Communication Co., Ltd.
+
+OUI:E05163*
+ ID_OUI_FROM_DATABASE=Arcadyan Corporation
+
+OUI:00A06F*
+ ID_OUI_FROM_DATABASE=Color Sentinel Systems, LLC
+
+OUI:0C5F35*
+ ID_OUI_FROM_DATABASE=Niagara Video Corporation
+
+OUI:7C3866*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
+OUI:50F14A*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
+OUI:9C1D58*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
+OUI:B85001*
+ ID_OUI_FROM_DATABASE=Extreme Networks
+
+OUI:000496*
+ ID_OUI_FROM_DATABASE=Extreme Networks
+
+OUI:500FF5*
+ ID_OUI_FROM_DATABASE=Tenda Technology Co.,Ltd.Dongguan branch
+
+OUI:1C1EE3*
+ ID_OUI_FROM_DATABASE=Hui Zhou Gaoshengda Technology Co.,LTD
+
+OUI:F0272D*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:74C246*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:08B258*
+ ID_OUI_FROM_DATABASE=Juniper Networks
+
+OUI:F4C4D6*
+ ID_OUI_FROM_DATABASE=Shenzhen Xinfa Electronic Co.,ltd
+
+OUI:C03D46*
+ ID_OUI_FROM_DATABASE=Shanghai Sango Network Technology Co.,Ltd
+
+OUI:E89FEC*
+ ID_OUI_FROM_DATABASE=CHENGDU KT ELECTRONIC HI-TECH CO.,LTD
+
+OUI:D47DFC*
+ ID_OUI_FROM_DATABASE=TECNO MOBILE LIMITED
+
+OUI:BCA042*
+ ID_OUI_FROM_DATABASE=SHANGHAI FLYCO ELECTRICAL APPLIANCE CO.,LTD
+
+OUI:14568E*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:6837E9*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:8058F8*
+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC, a Lenovo Company
+
+OUI:443708*
+ ID_OUI_FROM_DATABASE=MRV Comunications
+
+OUI:F0D7AA*
+ ID_OUI_FROM_DATABASE=Motorola Mobility LLC, a Lenovo Company
+
+OUI:28FF3E*
+ ID_OUI_FROM_DATABASE=zte corporation
+
+OUI:70F087*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:886B6E*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:4C74BF*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:285767*
+ ID_OUI_FROM_DATABASE=Echostar Technologies Corp
+
+OUI:0024AF*
+ ID_OUI_FROM_DATABASE=Echostar Technologies Corp
+
+OUI:04C9D9*
+ ID_OUI_FROM_DATABASE=Echostar Technologies Corp
+
+OUI:C49DED*
+ ID_OUI_FROM_DATABASE=Microsoft Corporation
+
+OUI:98A40E*
+ ID_OUI_FROM_DATABASE=Snap, Inc.
+
+OUI:D0498B*
+ ID_OUI_FROM_DATABASE=ZOOM SERVER
+
+OUI:AC7409*
+ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited
+
+OUI:2C5A0F*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
+OUI:4C8120*
+ ID_OUI_FROM_DATABASE=Taicang T&W Electronics
+
+OUI:E8E732*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent Enterprise
+
+OUI:00118B*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent Enterprise
+
+OUI:00E0B1*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent Enterprise
+
+OUI:E037BF*
+ ID_OUI_FROM_DATABASE=Wistron Neweb Corporation
+
+OUI:6854ED*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent
+
+OUI:E8DE8E*
+ ID_OUI_FROM_DATABASE=Integrated Device Technology (Malaysia) Sdn. Bhd.
+
+OUI:B42A0E*
+ ID_OUI_FROM_DATABASE=Technicolor CH USA Inc.
+
+OUI:40C8CB*
+ ID_OUI_FROM_DATABASE=AM Telecom co., Ltd.
+
+OUI:14A0F8*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:28B448*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:E442A6*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+OUI:6045CB*
+ ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC.
+
+OUI:74C9A3*
+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD
+
+OUI:84AFEC*
+ ID_OUI_FROM_DATABASE=BUFFALO.INC
+
+OUI:AC202E*
+ ID_OUI_FROM_DATABASE=Hitron Technologies. Inc
+
+OUI:3C5282*
+ ID_OUI_FROM_DATABASE=Hewlett Packard
+
+OUI:48A74E*
+ ID_OUI_FROM_DATABASE=zte corporation
+
+OUI:004066*
+ ID_OUI_FROM_DATABASE=APRESIA Systems Ltd
+
+OUI:B0AA36*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:2C5BB8*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:1C48CE*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:9CAC6D*
+ ID_OUI_FROM_DATABASE=Universal Electronics, Inc.
+
+OUI:B03D96*
+ ID_OUI_FROM_DATABASE=Vision Valley FZ LLC
+
+OUI:B02628*
+ ID_OUI_FROM_DATABASE=Broadcom Limited
+
+OUI:24792A*
+ ID_OUI_FROM_DATABASE=Ruckus Wireless
+
+OUI:0080E7*
+ ID_OUI_FROM_DATABASE=Leonardo Tactical Systems.
+
+OUI:44AA50*
+ ID_OUI_FROM_DATABASE=Juniper Networks
+
+OUI:E81363*
+ ID_OUI_FROM_DATABASE=Comstock RD, Inc.
+
+OUI:688DB6*
+ ID_OUI_FROM_DATABASE=AETEK INC.
+
+OUI:481063*
+ ID_OUI_FROM_DATABASE=NTT Innovation Institute, Inc.
+
+OUI:24F5AA*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:F877B8*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:5056BF*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:682737*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:D428D5*
+ ID_OUI_FROM_DATABASE=TCT mobile ltd
+
+OUI:405CFD*
+ ID_OUI_FROM_DATABASE=Dell Inc.
+
+OUI:041B6D*
+ ID_OUI_FROM_DATABASE=LG Electronics (Mobile Communications)
+
+OUI:FC6FB7*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:A0C562*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:A055DE*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:54E2E0*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:28C87A*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0026D9*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:C8AA21*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:2C9E5F*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:002495*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:002642*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:A4ED4E*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0024A1*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001D6B*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001E5A*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001DBE*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001371*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:00149A*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001A1B*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0018A4*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:002375*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001ADB*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001F7E*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001C11*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001CC1*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:400D10*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:341FE4*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:00D037*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001DD6*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:306023*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:ACB313*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:14ABF0*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0CF893*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:8461A0*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:E83381*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:44E137*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0015CE*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001311*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0015A2*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001596*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0000CA*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:601971*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001DD1*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001626*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:00111A*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:00152F*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:000B06*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:000F9F*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0011AE*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:002040*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:1C1B68*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:10868C*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:1005B1*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:7C2634*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:A0094C*
+ ID_OUI_FROM_DATABASE=CenturyLink
+
+OUI:00A38E*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
+OUI:DCC8F5*
+ ID_OUI_FROM_DATABASE=Shanghai UMEinfo CO.,LTD.
+
+OUI:64DFE9*
+ ID_OUI_FROM_DATABASE=ATEME
+
+OUI:9097F3*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:58C5CB*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:ACAFB9*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:308976*
+ ID_OUI_FROM_DATABASE=DALIAN LAMBA TECHNOLOGY CO.,LTD
+
+OUI:447BBB*
+ ID_OUI_FROM_DATABASE=Shenzhen YOUHUA Technology Co., Ltd
+
+OUI:A4F4C2*
+ ID_OUI_FROM_DATABASE=VNPT TECHNOLOGY
+
+OUI:C0A5DD*
+ ID_OUI_FROM_DATABASE=SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD.
+
+OUI:1835D1*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:4C38D8*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:DCBE7A*
+ ID_OUI_FROM_DATABASE=Zhejiang Nurotron Biotechnology Co.
+
+OUI:206BE7*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
+OUI:4857DD*
+ ID_OUI_FROM_DATABASE=Facebook Inc
+
 OUI:5846E1*
  ID_OUI_FROM_DATABASE=Baxter International Inc
 
@@ -36365,9 +37751,6 @@ OUI:D084B0*
 OUI:00FEC8*
  ID_OUI_FROM_DATABASE=Cisco Systems, Inc
 
-OUI:0030C5*
- ID_OUI_FROM_DATABASE=CADENCE DESIGN SYSTEMS, INC.
-
 OUI:EC2280*
  ID_OUI_FROM_DATABASE=D-Link International
 
@@ -36449,9 +37832,6 @@ OUI:984BE1*
 OUI:68B599*
  ID_OUI_FROM_DATABASE=Hewlett Packard
 
-OUI:0C47C9*
- ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
-
 OUI:14D64D*
  ID_OUI_FROM_DATABASE=D-Link International
 
@@ -36659,9 +38039,6 @@ OUI:808917*
 OUI:5C899A*
  ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
 
-OUI:A81B5A*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
 OUI:E422A5*
  ID_OUI_FROM_DATABASE=PLANTRONICS, INC.
 
@@ -37265,9 +38642,6 @@ OUI:54A3FA*
 OUI:9023EC*
  ID_OUI_FROM_DATABASE=Availink, Inc.
 
-OUI:7467F7*
- ID_OUI_FROM_DATABASE=Zebra Technologoes
-
 OUI:3891D5*
  ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited
 
@@ -37805,9 +39179,6 @@ OUI:FCD5D9*
 OUI:007532*
  ID_OUI_FROM_DATABASE=INID BV
 
-OUI:A002DC*
- ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
-
 OUI:907EBA*
  ID_OUI_FROM_DATABASE=UTEK TECHNOLOGY (SHENZHEN) CO.,LTD
 
@@ -38486,9 +39857,6 @@ OUI:BC261D*
 OUI:888964*
  ID_OUI_FROM_DATABASE=GSI Electronics Inc.
 
-OUI:4C82CF*
- ID_OUI_FROM_DATABASE=Echostar Technologies
-
 OUI:9CA577*
  ID_OUI_FROM_DATABASE=Osorno Enterprises Inc.
 
@@ -38693,9 +40061,6 @@ OUI:48B8DE*
 OUI:1065CF*
  ID_OUI_FROM_DATABASE=IQSIM
 
-OUI:B877C3*
- ID_OUI_FROM_DATABASE=Decagon Devices, Inc.
-
 OUI:849DC5*
  ID_OUI_FROM_DATABASE=Centera Photonics Inc.
 
@@ -39455,9 +40820,6 @@ OUI:FC2E2D*
 OUI:E84E06*
  ID_OUI_FROM_DATABASE=EDUP INTERNATIONAL (HK) CO., LTD
 
-OUI:B4C799*
- ID_OUI_FROM_DATABASE=Zebra Technologies Inc
-
 OUI:70B921*
  ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD
 
@@ -40073,9 +41435,6 @@ OUI:58570D*
 OUI:0C826A*
  ID_OUI_FROM_DATABASE=Wuhan Huagong Genuine Optics Technology Co., Ltd
 
-OUI:5C0E8B*
- ID_OUI_FROM_DATABASE=Zebra Technologies Inc
-
 OUI:38C7BA*
  ID_OUI_FROM_DATABASE=CS Services Co.,Ltd.
 
@@ -40430,9 +41789,6 @@ OUI:00268F*
 OUI:6C8CDB*
  ID_OUI_FROM_DATABASE=Otus Technologies Ltd
 
-OUI:B4417A*
- ID_OUI_FROM_DATABASE=ShenZhen Gongjin Electronics Co.,Ltd
-
 OUI:401597*
  ID_OUI_FROM_DATABASE=Protect America, Inc.
 
@@ -44078,9 +45434,6 @@ OUI:000940*
 OUI:00093F*
  ID_OUI_FROM_DATABASE=Double-Win Enterpirse CO., LTD
 
-OUI:00093A*
- ID_OUI_FROM_DATABASE=Molex Fiber Optics
-
 OUI:000933*
  ID_OUI_FROM_DATABASE=Ophit Co.Ltd.
 
@@ -46070,9 +47423,6 @@ OUI:00E0CE*
 OUI:00E05F*
  ID_OUI_FROM_DATABASE=e-Net, Inc.
 
-OUI:00E02B*
- ID_OUI_FROM_DATABASE=EXTREME NETWORKS
-
 OUI:00E0C7*
  ID_OUI_FROM_DATABASE=EUROTECH SRL
 
@@ -47306,9 +48656,6 @@ OUI:001B38*
 OUI:E46F13*
  ID_OUI_FROM_DATABASE=D-Link International
 
-OUI:DC6DCD*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
 OUI:94C150*
  ID_OUI_FROM_DATABASE=2Wire Inc
 
@@ -47516,18 +48863,12 @@ OUI:18FE34*
 OUI:54F6C5*
  ID_OUI_FROM_DATABASE=FUJIAN STAR-NET COMMUNICATION CO.,LTD
 
-OUI:28EF01*
- ID_OUI_FROM_DATABASE=Private
-
 OUI:5C338E*
  ID_OUI_FROM_DATABASE=Alpha Networks Inc.
 
 OUI:001AEB*
  ID_OUI_FROM_DATABASE=Allied Telesis R&D Center K.K.
 
-OUI:747548*
- ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
-
 OUI:A43111*
  ID_OUI_FROM_DATABASE=ZIV
 
@@ -47714,21 +49055,6 @@ OUI:0CB319*
 OUI:08EE8B*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
-OUI:84A466*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
-OUI:981DFA*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
-OUI:FCF136*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
-OUI:0C8910*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
-OUI:54FA3E*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:A89FBA*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
@@ -47801,9 +49127,6 @@ OUI:A4EBD3*
 OUI:28987B*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
-OUI:1867B0*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:F40E22*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
@@ -48086,9 +49409,6 @@ OUI:1866DA*
 OUI:981FB1*
  ID_OUI_FROM_DATABASE=Shenzhen Lemon Network Technology Co.,Ltd
 
-OUI:CCB11A*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:40476A*
  ID_OUI_FROM_DATABASE=AG Acquisition Corp. d.b.a. ASTRO Gaming
 
@@ -48371,12 +49691,6 @@ OUI:C09727*
 OUI:2C5A8D*
  ID_OUI_FROM_DATABASE=SYSTRONIK Elektronik u. Systemtechnik GmbH
 
-OUI:B8BBAF*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
-OUI:60C5AD*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:8C897A*
  ID_OUI_FROM_DATABASE=AUGTEK
 
@@ -48836,9 +50150,6 @@ OUI:70FF76*
 OUI:507224*
  ID_OUI_FROM_DATABASE=Texas Instruments
 
-OUI:440444*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
 OUI:506583*
  ID_OUI_FROM_DATABASE=Texas Instruments
 
@@ -48872,138 +50183,6 @@ OUI:981E0F*
 OUI:548CA0*
  ID_OUI_FROM_DATABASE=Liteon Technology Corporation
 
-OUI:001AAD*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:00195E*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001404*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001BDD*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0023A2*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001E8D*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0003E0*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:707E43*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:1C1448*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:A47AA4*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:E83EFC*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:E8892C*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001DD3*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0015D1*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:203D66*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:6455B1*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:C005C2*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:3CDFA9*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:8C09F4*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:083E0C*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001225*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:00128A*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:D404CD*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:002493*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:E46449*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:745612*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:74EAE8*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:A811FC*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:044E5A*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:94E8C5*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:F8A097*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:00230B*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001B52*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0023ED*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:002395*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0022B4*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:002136*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0024C1*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:3C754A*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:40FC89*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:BC644B*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:347A60*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:84E058*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:003676*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
 OUI:001CA8*
  ID_OUI_FROM_DATABASE=AirTies Wireless Networks
 
@@ -49232,12 +50411,6 @@ OUI:B072BF*
 OUI:600B03*
  ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited
 
-OUI:C09F05*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
-OUI:AC63BE*
- ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
-
 OUI:A41437*
  ID_OUI_FROM_DATABASE=Hangzhou Hikvision Digital Technology Co.,Ltd.
 
@@ -49340,9 +50513,6 @@ OUI:9C8BA0*
 OUI:9840BB*
  ID_OUI_FROM_DATABASE=Dell Inc.
 
-OUI:CC2D83*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
 OUI:E04FBD*
  ID_OUI_FROM_DATABASE=SICHUAN TIANYI COMHEART TELECOMCO.,LTD
 
@@ -49430,9 +50600,6 @@ OUI:701CE7*
 OUI:CC9470*
  ID_OUI_FROM_DATABASE=Kinestral Technologies, Inc.
 
-OUI:446AB7*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
 OUI:F0219D*
  ID_OUI_FROM_DATABASE=Cal-Comp Electronics & Communications Company Ltd.
 
@@ -49451,9 +50618,6 @@ OUI:506B8D*
 OUI:0038DF*
  ID_OUI_FROM_DATABASE=Cisco Systems, Inc
 
-OUI:2C9924*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
 OUI:006BF1*
  ID_OUI_FROM_DATABASE=Cisco Systems, Inc
 
@@ -49712,9 +50876,6 @@ OUI:B0F1EC*
 OUI:B0C46C*
  ID_OUI_FROM_DATABASE=Senseit
 
-OUI:105611*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
 OUI:148951*
  ID_OUI_FROM_DATABASE=LCFC(HeFei) Electronics Technology co., ltd
 
@@ -49733,6 +50894,444 @@ OUI:04DEF2*
 OUI:00D071*
  ID_OUI_FROM_DATABASE=ECHELON CORP.
 
+OUI:504061*
+ ID_OUI_FROM_DATABASE=Nokia
+
+OUI:0030C5*
+ ID_OUI_FROM_DATABASE=CADENCE DESIGN SYSTEMS, INC.
+
+OUI:54E3F6*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent
+
+OUI:7467F7*
+ ID_OUI_FROM_DATABASE=Extreme Networks
+
+OUI:B0C205*
+ ID_OUI_FROM_DATABASE=BIONIME
+
+OUI:0C61CF*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
+OUI:B4C799*
+ ID_OUI_FROM_DATABASE=Extreme Networks
+
+OUI:5C0E8B*
+ ID_OUI_FROM_DATABASE=Extreme Networks
+
+OUI:00E02B*
+ ID_OUI_FROM_DATABASE=Extreme Networks
+
+OUI:7C2664*
+ ID_OUI_FROM_DATABASE=Sagemcom Broadband SAS
+
+OUI:A002DC*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:0C47C9*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:E47DEB*
+ ID_OUI_FROM_DATABASE=Shanghai Notion Information Technology CO.,LTD.
+
+OUI:28EF01*
+ ID_OUI_FROM_DATABASE=Private
+
+OUI:747548*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:AC63BE*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:DCA4CA*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:8C8FE9*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:40FA7F*
+ ID_OUI_FROM_DATABASE=Preh Car Connect GmbH
+
+OUI:F8AB05*
+ ID_OUI_FROM_DATABASE=Sagemcom Broadband SAS
+
+OUI:C0028D*
+ ID_OUI_FROM_DATABASE=WINSTAR Display CO.,Ltd
+
+OUI:D83214*
+ ID_OUI_FROM_DATABASE=Tenda Technology Co.,Ltd.Dongguan branch
+
+OUI:7C787E*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:C0D3C0*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:F097E5*
+ ID_OUI_FROM_DATABASE=TAMIO, INC
+
+OUI:F4E4AD*
+ ID_OUI_FROM_DATABASE=zte corporation
+
+OUI:F85971*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+OUI:9810E8*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:B49CDF*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:4C82CF*
+ ID_OUI_FROM_DATABASE=Echostar Technologies Corp
+
+OUI:F49634*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+OUI:F470AB*
+ ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
+
+OUI:341A35*
+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD
+
+OUI:6C4B90*
+ ID_OUI_FROM_DATABASE=LiteON
+
+OUI:08028E*
+ ID_OUI_FROM_DATABASE=NETGEAR
+
+OUI:F8FF0B*
+ ID_OUI_FROM_DATABASE=Electronic Technology Inc.
+
+OUI:38F135*
+ ID_OUI_FROM_DATABASE=SensorTec-Canada
+
+OUI:90F305*
+ ID_OUI_FROM_DATABASE=HUMAX Co., Ltd.
+
+OUI:00093A*
+ ID_OUI_FROM_DATABASE=Molex
+
+OUI:C8F86D*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd
+
+OUI:B8D50B*
+ ID_OUI_FROM_DATABASE=Sunitec Enterprise Co.,Ltd
+
+OUI:28A6DB*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:D45F25*
+ ID_OUI_FROM_DATABASE=Shenzhen YOUHUA Technology Co., Ltd
+
+OUI:9CE951*
+ ID_OUI_FROM_DATABASE=Shenzhen Sang Fei Consumer Communications Ltd., Co.
+
+OUI:DC0856*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent Enterprise
+
+OUI:E8FDE8*
+ ID_OUI_FROM_DATABASE=CeLa Link Corporation
+
+OUI:181212*
+ ID_OUI_FROM_DATABASE=Cepton Technologies
+
+OUI:B4417A*
+ ID_OUI_FROM_DATABASE=SHENZHEN GONGJIN ELECTRONICS CO.,LT
+
+OUI:F4DE0C*
+ ID_OUI_FROM_DATABASE=ESPOD Ltd.
+
+OUI:BC8AE8*
+ ID_OUI_FROM_DATABASE=QING DAO HAIER TELECOM CO.,LTD.
+
+OUI:A81B5A*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:DC6DCD*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:440444*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:C09F05*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:CC2D83*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:38295A*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:4C1A3D*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:185207*
+ ID_OUI_FROM_DATABASE=SICHUAN TIANYI COMHEART TELECOMCO., LTD
+
+OUI:70D379*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
+OUI:7C4F7D*
+ ID_OUI_FROM_DATABASE=Sawwave
+
+OUI:9874DA*
+ ID_OUI_FROM_DATABASE=Infinix mobility limited
+
+OUI:143F27*
+ ID_OUI_FROM_DATABASE=Noccela Oy
+
+OUI:64351C*
+ ID_OUI_FROM_DATABASE=e-CON SYSTEMS INDIA PVT LTD
+
+OUI:5C6A80*
+ ID_OUI_FROM_DATABASE=ZyXEL Communications Corporation
+
+OUI:A8B86E*
+ ID_OUI_FROM_DATABASE=LG Electronics (Mobile Communications)
+
+OUI:0CB912*
+ ID_OUI_FROM_DATABASE=JM-DATA GmbH
+
+OUI:1893D7*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
+OUI:EC363F*
+ ID_OUI_FROM_DATABASE=Markov Corporation
+
+OUI:54FA3E*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:B8BBAF*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:60C5AD*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:28395E*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:C4AE12*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:10D07A*
+ ID_OUI_FROM_DATABASE=AMPAK Technology, Inc.
+
+OUI:0C8910*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:FCF136*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:981DFA*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:84A466*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:1867B0*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:CCB11A*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:80B234*
+ ID_OUI_FROM_DATABASE=Technicolor CH USA Inc.
+
+OUI:B877C3*
+ ID_OUI_FROM_DATABASE=METER Group
+
+OUI:F07485*
+ ID_OUI_FROM_DATABASE=NGD Systems, Inc.
+
+OUI:BC644B*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:F8A097*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:94E8C5*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:044E5A*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:74EAE8*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:A811FC*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:745612*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:E46449*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001BDD*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001404*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:00195E*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001AAD*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:A47AA4*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:1C1448*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:002493*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:40FC89*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:3C754A*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0024C1*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:002136*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0022B4*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:002395*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0023ED*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001B52*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:00230B*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001E8D*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0023A2*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0015D1*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001DD3*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:E8892C*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:E83EFC*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:707E43*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0003E0*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:00128A*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001225*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:083E0C*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:8C09F4*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:3CDFA9*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:003676*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:84E058*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:347A60*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:C005C2*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:6455B1*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:203D66*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:D404CD*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:446AB7*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:2C9924*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:105611*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:DC74A8*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:C087EB*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:2C3AE8*
+ ID_OUI_FROM_DATABASE=Espressif Inc.
+
+OUI:74F61C*
+ ID_OUI_FROM_DATABASE=HTC Corporation
+
+OUI:E8B6C2*
+ ID_OUI_FROM_DATABASE=Juniper Networks
+
+OUI:B0DAF9*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:3438B7*
+ ID_OUI_FROM_DATABASE=HUMAX Co., Ltd.
+
+OUI:5C1A6F*
+ ID_OUI_FROM_DATABASE=Cambridge Industries(Group) Co.,Ltd.
+
+OUI:487D2E*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
+OUI:B089C2*
+ ID_OUI_FROM_DATABASE=Zyptonite
+
+OUI:F0D4F6*
+ ID_OUI_FROM_DATABASE=Lars Thrane A/S
+
+OUI:0403D6*
+ ID_OUI_FROM_DATABASE=Nintendo Co.,Ltd
+
+OUI:A0AFBD*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+OUI:34D954*
+ ID_OUI_FROM_DATABASE=WiBotic Inc.
+
+OUI:A47886*
+ ID_OUI_FROM_DATABASE=Avaya Inc
+
+OUI:6C60EB*
+ ID_OUI_FROM_DATABASE=ZHI YUAN ELECTRONICS CO., LIMITED
+
 OUI:D86CE9*
  ID_OUI_FROM_DATABASE=Sagemcom Broadband SAS
 
@@ -50825,9 +52424,6 @@ OUI:F46A92*
 OUI:14AEDB*
  ID_OUI_FROM_DATABASE=VTech Telecommunications Ltd.
 
-OUI:EC4F82*
- ID_OUI_FROM_DATABASE=Calix Inc.
-
 OUI:B8C3BF*
  ID_OUI_FROM_DATABASE=Henan Chengshi NetWork Technology Co.,Ltd
 
@@ -51245,9 +52841,6 @@ OUI:90DA6A*
 OUI:A45DA1*
  ID_OUI_FROM_DATABASE=ADB Broadband Italia
 
-OUI:A43D78*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
 OUI:E8EF89*
  ID_OUI_FROM_DATABASE=OPMEX Tech.
 
@@ -51956,9 +53549,6 @@ OUI:D81EDE*
 OUI:6897E8*
  ID_OUI_FROM_DATABASE=Society of Motion Picture &amp; Television Engineers
 
-OUI:24EA40*
- ID_OUI_FROM_DATABASE=Systeme Helmholz GmbH
-
 OUI:FC58FA*
  ID_OUI_FROM_DATABASE=Shen Zhen Shi Xin Zhong Xin Technology Co.,Ltd.
 
@@ -52013,9 +53603,6 @@ OUI:7CD844*
 OUI:F4C6D7*
  ID_OUI_FROM_DATABASE=blackned GmbH
 
-OUI:68A40E*
- ID_OUI_FROM_DATABASE=BSH Bosch and Siemens Home Appliances GmbH
-
 OUI:4CCA53*
  ID_OUI_FROM_DATABASE=Skyera, Inc.
 
@@ -52868,9 +54455,6 @@ OUI:B826D4*
 OUI:14E4EC*
  ID_OUI_FROM_DATABASE=mLogic LLC
 
-OUI:FC0A81*
- ID_OUI_FROM_DATABASE=Zebra Technologies Inc
-
 OUI:AC0DFE*
  ID_OUI_FROM_DATABASE=Ekon GmbH - myGEKKO
 
@@ -54089,9 +55673,6 @@ OUI:6CAC60*
 OUI:DC0265*
  ID_OUI_FROM_DATABASE=Meditech Kft
 
-OUI:986DC8*
- ID_OUI_FROM_DATABASE=TOSHIBA MITSUBISHI-ELECTRIC INDUSTRIAL SYSTEMS CORPORATION
-
 OUI:68A1B7*
  ID_OUI_FROM_DATABASE=Honghao Mingchuan Technology (Beijing) CO.,Ltd.
 
@@ -56246,9 +57827,6 @@ OUI:0014B3*
 OUI:00149B*
  ID_OUI_FROM_DATABASE=Nokota Communications, LLC
 
-OUI:00143F*
- ID_OUI_FROM_DATABASE=Hotway Technology Corporation
-
 OUI:001431*
  ID_OUI_FROM_DATABASE=PDL Electronics Ltd
 
@@ -56891,9 +58469,6 @@ OUI:000FFD*
 OUI:000FEE*
  ID_OUI_FROM_DATABASE=XTec, Incorporated
 
-OUI:000FF4*
- ID_OUI_FROM_DATABASE=Guntermann & Drunck GmbH
-
 OUI:001275*
  ID_OUI_FROM_DATABASE=Sentilla Corporation
 
@@ -58373,9 +59948,6 @@ OUI:000641*
 OUI:00063D*
  ID_OUI_FROM_DATABASE=Microwave Data Systems Inc.
 
-OUI:000631*
- ID_OUI_FROM_DATABASE=Calix
-
 OUI:000630*
  ID_OUI_FROM_DATABASE=Adtranz Sweden
 
@@ -59651,9 +61223,6 @@ OUI:00E019*
 OUI:00E0D7*
  ID_OUI_FROM_DATABASE=SUNSHINE ELECTRONICS, INC.
 
-OUI:00E0DA*
- ID_OUI_FROM_DATABASE=Alcatel North America ESD
-
 OUI:00E068*
  ID_OUI_FROM_DATABASE=MERRIMAC SYSTEMS INC.
 
@@ -60335,9 +61904,6 @@ OUI:004000*
 OUI:0040C5*
  ID_OUI_FROM_DATABASE=MICOM COMMUNICATIONS INC.
 
-OUI:0040AA*
- ID_OUI_FROM_DATABASE=Metso Automation
-
 OUI:004023*
  ID_OUI_FROM_DATABASE=LOGIC CORPORATION
 
@@ -60980,9 +62546,6 @@ OUI:5464D9*
 OUI:00023F*
  ID_OUI_FROM_DATABASE=COMPAL ELECTRONICS, INC.
 
-OUI:0080C2*
- ID_OUI_FROM_DATABASE=IEEE 802.1
-
 OUI:C46699*
  ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
 
@@ -61241,12 +62804,6 @@ OUI:001D6A*
 OUI:0000F4*
  ID_OUI_FROM_DATABASE=Allied Telesis, Inc.
 
-OUI:10AE60*
- ID_OUI_FROM_DATABASE=Private
-
-OUI:F04F7C*
- ID_OUI_FROM_DATABASE=Private
-
 OUI:70F1A1*
  ID_OUI_FROM_DATABASE=Liteon Technology Corporation
 
@@ -61496,15 +63053,6 @@ OUI:A80600*
 OUI:6CF373*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
-OUI:90F1AA*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
-OUI:C4576E*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
-OUI:78BDBC*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:3872C0*
  ID_OUI_FROM_DATABASE=Comtrend Corporation
 
@@ -61757,9 +63305,6 @@ OUI:1CABC0*
 OUI:84E323*
  ID_OUI_FROM_DATABASE=Green Wave Telecommunication SDN BHD
 
-OUI:44650D*
- ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
-
 OUI:D897BA*
  ID_OUI_FROM_DATABASE=PEGATRON CORPORATION
 
@@ -61985,9 +63530,6 @@ OUI:749D8F*
 OUI:346AC2*
  ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
 
-OUI:50F5DA*
- ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
-
 OUI:8CD2E9*
  ID_OUI_FROM_DATABASE=NIPPON SMT Co.Ltd
 
@@ -62318,141 +63860,9 @@ OUI:343DC4*
 OUI:6CEFC6*
  ID_OUI_FROM_DATABASE=SHENZHEN TWOWING TECHNOLOGIES CO.,LTD.
 
-OUI:986B3D*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:CC65AD*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:789684*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:90C792*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0015CF*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:386BBB*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:00E06F*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0004BD*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:5C571A*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001DD0*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001DD5*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001DCF*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:E8ED05*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:901ACA*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
 OUI:002A10*
  ID_OUI_FROM_DATABASE=Cisco Systems, Inc
 
-OUI:74E7C6*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:74F612*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:DC4517*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:F80BBE*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:6CC1D2*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:145BD1*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:B077AC*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:B81619*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:A41588*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:38700C*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:FC51A4*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:287AEE*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:641269*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001CC3*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:14D4FE*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:70B14E*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:D82522*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:707630*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:000CE5*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:000E5C*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0015A8*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001700*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0019A6*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0014E8*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:002180*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0026BA*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:002641*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:002374*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0025F2*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0019C0*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
 OUI:886AB1*
  ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
 
@@ -63074,287 +64484,689 @@ OUI:84CD62*
 OUI:DC9FDB*
  ID_OUI_FROM_DATABASE=Ubiquiti Networks Inc.
 
-OUI:B0958E*
- ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+OUI:B0958E*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
+
+OUI:001A39*
+ ID_OUI_FROM_DATABASE=Merten GmbH&CoKG
+
+OUI:007B18*
+ ID_OUI_FROM_DATABASE=SENTRY Co., LTD.
+
+OUI:144D67*
+ ID_OUI_FROM_DATABASE=Zioncom Electronics (Shenzhen) Ltd.
+
+OUI:34F39A*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+OUI:20A8B9*
+ ID_OUI_FROM_DATABASE=Siemens
+
+OUI:C81B5C*
+ ID_OUI_FROM_DATABASE=BCTech
+
+OUI:3C2AF4*
+ ID_OUI_FROM_DATABASE=Brother Industries, LTD.
+
+OUI:20719E*
+ ID_OUI_FROM_DATABASE=SF Technology Co.,Ltd
+
+OUI:7C95B1*
+ ID_OUI_FROM_DATABASE=Aerohive Networks Inc.
+
+OUI:206C8A*
+ ID_OUI_FROM_DATABASE=Aerohive Networks Inc.
+
+OUI:E49E12*
+ ID_OUI_FROM_DATABASE=FREEBOX SAS
+
+OUI:D854A2*
+ ID_OUI_FROM_DATABASE=Aerohive Networks Inc.
+
+OUI:E01C41*
+ ID_OUI_FROM_DATABASE=Aerohive Networks Inc.
+
+OUI:C8675E*
+ ID_OUI_FROM_DATABASE=Aerohive Networks Inc.
+
+OUI:D4C8B0*
+ ID_OUI_FROM_DATABASE=Prime Electronics & Satellitics Inc.
+
+OUI:000FC2*
+ ID_OUI_FROM_DATABASE=Uniwell Corporation
+
+OUI:A4E6B1*
+ ID_OUI_FROM_DATABASE=Shanghai Joindata Technology Co.,Ltd.
+
+OUI:B4B384*
+ ID_OUI_FROM_DATABASE=ShenZhen Figigantic Electronic Co.,Ltd
+
+OUI:D46A6A*
+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
+
+OUI:A8A5E2*
+ ID_OUI_FROM_DATABASE=MSF-Vathauer Antriebstechnik GmbH & Co KG
+
+OUI:00425A*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
+OUI:000B4F*
+ ID_OUI_FROM_DATABASE=Verifone
+
+OUI:007686*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
+OUI:74FF4C*
+ ID_OUI_FROM_DATABASE=Skyworth Digital Technology(Shenzhen) Co.,Ltd
+
+OUI:A02C36*
+ ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED
+
+OUI:F8D027*
+ ID_OUI_FROM_DATABASE=Seiko Epson Corporation
+
+OUI:44D244*
+ ID_OUI_FROM_DATABASE=Seiko Epson Corporation
+
+OUI:9CAED3*
+ ID_OUI_FROM_DATABASE=Seiko Epson Corporation
+
+OUI:341E6B*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:48F97C*
+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD
+
+OUI:B47447*
+ ID_OUI_FROM_DATABASE=CoreOS
+
+OUI:ACC1EE*
+ ID_OUI_FROM_DATABASE=Xiaomi Communications Co Ltd
+
+OUI:CCA219*
+ ID_OUI_FROM_DATABASE=SHENZHEN ALONG INVESTMENT CO.,LTD
+
+OUI:94A04E*
+ ID_OUI_FROM_DATABASE=Bostex Technology Co., LTD
+
+OUI:8CA5A1*
+ ID_OUI_FROM_DATABASE=Oregano Systems - Design & Consulting GmbH
+
+OUI:64B0A6*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:84FCAC*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:6C19C0*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:20AB37*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:186590*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:2C0BE9*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
+OUI:2C6373*
+ ID_OUI_FROM_DATABASE=SICHUAN TIANYI COMHEART TELECOMCO., LTD
+
+OUI:9CCC83*
+ ID_OUI_FROM_DATABASE=Juniper Networks
+
+OUI:90505A*
+ ID_OUI_FROM_DATABASE=unGlue, Inc
+
+OUI:60D262*
+ ID_OUI_FROM_DATABASE=Tzukuri Pty Ltd
+
+OUI:34FCB9*
+ ID_OUI_FROM_DATABASE=Hewlett Packard Enterprise
+
+OUI:B0E5ED*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:C81451*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:C486E9*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:D8C771*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:F0C850*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:5425EA*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:2816AD*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+OUI:00A0C8*
+ ID_OUI_FROM_DATABASE=Adtran Inc
+
+OUI:1CB857*
+ ID_OUI_FROM_DATABASE=Becon Technologies Co,.Ltd.
+
+OUI:70918F*
+ ID_OUI_FROM_DATABASE=Weber-Stephen Products LLC
+
+OUI:803A0A*
+ ID_OUI_FROM_DATABASE=Integrated Device Technology (Malaysia) Sdn. Bhd.
+
+OUI:002207*
+ ID_OUI_FROM_DATABASE=Inteno Broadband Technology AB
+
+OUI:3C7F6F*
+ ID_OUI_FROM_DATABASE=Telechips, Inc.
+
+OUI:0060D3*
+ ID_OUI_FROM_DATABASE=AT&T
+
+OUI:800010*
+ ID_OUI_FROM_DATABASE=AT&T
+
+OUI:08006A*
+ ID_OUI_FROM_DATABASE=AT&T
+
+OUI:48A380*
+ ID_OUI_FROM_DATABASE=Gionee Communication Equipment Co.,Ltd.
+
+OUI:5CBA37*
+ ID_OUI_FROM_DATABASE=Microsoft Corporation
+
+OUI:C4836F*
+ ID_OUI_FROM_DATABASE=Ciena Corporation
+
+OUI:C87324*
+ ID_OUI_FROM_DATABASE=Sow Cheng Technology Co. Ltd.
+
+OUI:3CF862*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+OUI:0823B2*
+ ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
+
+OUI:88C3B3*
+ ID_OUI_FROM_DATABASE=SOVICO
+
+OUI:54C415*
+ ID_OUI_FROM_DATABASE=Hangzhou Hikvision Digital Technology Co.,Ltd.
+
+OUI:E05124*
+ ID_OUI_FROM_DATABASE=NXP Semiconductors
+
+OUI:005016*
+ ID_OUI_FROM_DATABASE=Molex Canada Ltd
+
+OUI:0005F7*
+ ID_OUI_FROM_DATABASE=Analog Devices, Inc.
+
+OUI:A084CB*
+ ID_OUI_FROM_DATABASE=SonicSensory,Inc.
+
+OUI:7802F8*
+ ID_OUI_FROM_DATABASE=Xiaomi Communications Co Ltd
+
+OUI:00238A*
+ ID_OUI_FROM_DATABASE=Ciena Corporation
+
+OUI:34E70B*
+ ID_OUI_FROM_DATABASE=HAN Networks Co., Ltd
+
+OUI:903809*
+ ID_OUI_FROM_DATABASE=Ericsson AB
+
+OUI:542B57*
+ ID_OUI_FROM_DATABASE=Night Owl SP
+
+OUI:00111B*
+ ID_OUI_FROM_DATABASE=Targa Systems Div L-3 Communications
+
+OUI:B8224F*
+ ID_OUI_FROM_DATABASE=SICHUAN TIANYI COMHEART TELECOMCO., LTD
+
+OUI:702084*
+ ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co., Ltd.
+
+OUI:F42B48*
+ ID_OUI_FROM_DATABASE=Ubiqam
+
+OUI:68CC6E*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:00108C*
+ ID_OUI_FROM_DATABASE=Fujitsu Services Ltd
+
+OUI:98D3D2*
+ ID_OUI_FROM_DATABASE=MEKRA Lang GmbH & Co. KG
+
+OUI:F4DC41*
+ ID_OUI_FROM_DATABASE=YOUNGZONE CULTURE (SHANGHAI) CORP
+
+OUI:9800C1*
+ ID_OUI_FROM_DATABASE=GuangZhou CREATOR Technology Co.,Ltd.(CHINA)
+
+OUI:3034D2*
+ ID_OUI_FROM_DATABASE=Availink, Inc.
+
+OUI:CCCE1E*
+ ID_OUI_FROM_DATABASE=AVM Audiovisuelles Marketing und Computersysteme GmbH
+
+OUI:501E2D*
+ ID_OUI_FROM_DATABASE=StreamUnlimited Engineering GmbH
+
+OUI:40B034*
+ ID_OUI_FROM_DATABASE=Hewlett Packard
+
+OUI:FC0A81*
+ ID_OUI_FROM_DATABASE=Extreme Networks
+
+OUI:C8B5AD*
+ ID_OUI_FROM_DATABASE=Hewlett Packard Enterprise
+
+OUI:88E628*
+ ID_OUI_FROM_DATABASE=Shenzhen Kezhonglong Optoelectronic Technology Co.,Ltd
+
+OUI:6091F3*
+ ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
+
+OUI:9CDA3E*
+ ID_OUI_FROM_DATABASE=Intel Corporate
+
+OUI:3CA067*
+ ID_OUI_FROM_DATABASE=Liteon Technology Corporation
+
+OUI:D8325A*
+ ID_OUI_FROM_DATABASE=Shenzhen YOUHUA Technology Co., Ltd
+
+OUI:44650D*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:50F5DA*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:6854FD*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:40B4CD*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:2C86D2*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
+OUI:F04F7C*
+ ID_OUI_FROM_DATABASE=Private
+
+OUI:10AE60*
+ ID_OUI_FROM_DATABASE=Private
+
+OUI:802689*
+ ID_OUI_FROM_DATABASE=D-Link International
+
+OUI:BC2F3D*
+ ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
+
+OUI:409F38*
+ ID_OUI_FROM_DATABASE=AzureWave Technology Inc.
+
+OUI:C4D197*
+ ID_OUI_FROM_DATABASE=Ventia Utility Services
+
+OUI:58821D*
+ ID_OUI_FROM_DATABASE=H. Schomäcker GmbH
+
+OUI:CCBE59*
+ ID_OUI_FROM_DATABASE=Calix Inc.
+
+OUI:EC4F82*
+ ID_OUI_FROM_DATABASE=Calix Inc.
+
+OUI:000631*
+ ID_OUI_FROM_DATABASE=Calix Inc.
+
+OUI:B8D7AF*
+ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd.
+
+OUI:3096FB*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:F0EE10*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:A8A198*
+ ID_OUI_FROM_DATABASE=TCT mobile ltd
+
+OUI:107D1A*
+ ID_OUI_FROM_DATABASE=Dell Inc.
+
+OUI:C0D012*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:D4DCCD*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:484BAA*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:F80377*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:14BD61*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:0827CE*
+ ID_OUI_FROM_DATABASE=NAGANO KEIKI CO., LTD.
+
+OUI:00D318*
+ ID_OUI_FROM_DATABASE=SPG Controls
+
+OUI:2C3124*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
+OUI:F40343*
+ ID_OUI_FROM_DATABASE=Hewlett Packard Enterprise
+
+OUI:00143F*
+ ID_OUI_FROM_DATABASE=Hotway Technology Corporation
+
+OUI:F8BE0D*
+ ID_OUI_FROM_DATABASE=A2UICT Co.,Ltd.
+
+OUI:08EA40*
+ ID_OUI_FROM_DATABASE=SHENZHEN BILIAN ELECTRONIC CO.,LTD
+
+OUI:00E0DA*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent Enterprise
+
+OUI:5CC6E9*
+ ID_OUI_FROM_DATABASE=Edifier International
 
-OUI:001A39*
- ID_OUI_FROM_DATABASE=Merten GmbH&CoKG
+OUI:E8C1D7*
+ ID_OUI_FROM_DATABASE=Philips
 
-OUI:007B18*
- ID_OUI_FROM_DATABASE=SENTRY Co., LTD.
+OUI:1868CB*
+ ID_OUI_FROM_DATABASE=Hangzhou Hikvision Digital Technology Co.,Ltd.
 
-OUI:144D67*
- ID_OUI_FROM_DATABASE=Zioncom Electronics (Shenzhen) Ltd.
+OUI:F80BCB*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
 
-OUI:34F39A*
+OUI:9CC8AE*
+ ID_OUI_FROM_DATABASE=Becton, Dickinson  and Company
+
+OUI:B0359F*
  ID_OUI_FROM_DATABASE=Intel Corporate
 
-OUI:20A8B9*
- ID_OUI_FROM_DATABASE=Siemens
+OUI:24EA40*
+ ID_OUI_FROM_DATABASE=Helmholz GmbH & Co. KG
 
-OUI:C81B5C*
- ID_OUI_FROM_DATABASE=BCTech
+OUI:84A9C4*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
 
-OUI:3C2AF4*
- ID_OUI_FROM_DATABASE=Brother Industries, LTD.
+OUI:A0F479*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
 
-OUI:20719E*
- ID_OUI_FROM_DATABASE=SF Technology Co.,Ltd
+OUI:100501*
+ ID_OUI_FROM_DATABASE=PEGATRON CORPORATION
 
-OUI:7C95B1*
- ID_OUI_FROM_DATABASE=Aerohive Networks Inc.
+OUI:046E02*
+ ID_OUI_FROM_DATABASE=OpenRTLS Group
 
-OUI:206C8A*
- ID_OUI_FROM_DATABASE=Aerohive Networks Inc.
+OUI:000FF4*
+ ID_OUI_FROM_DATABASE=Guntermann & Drunck GmbH
 
-OUI:5CE30E*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+OUI:70DB98*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
 
-OUI:7823AE*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+OUI:A43D78*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
 
-OUI:E49E12*
- ID_OUI_FROM_DATABASE=FREEBOX SAS
+OUI:EC01EE*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
 
-OUI:D854A2*
- ID_OUI_FROM_DATABASE=Aerohive Networks Inc.
+OUI:B83765*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
 
-OUI:E01C41*
- ID_OUI_FROM_DATABASE=Aerohive Networks Inc.
+OUI:4448C1*
+ ID_OUI_FROM_DATABASE=Hewlett Packard Enterprise
 
-OUI:C8675E*
- ID_OUI_FROM_DATABASE=Aerohive Networks Inc.
+OUI:FC539E*
+ ID_OUI_FROM_DATABASE=Shanghai Wind Technologies Co.,Ltd
 
-OUI:D4C8B0*
- ID_OUI_FROM_DATABASE=Prime Electronics & Satellitics Inc.
+OUI:9CAF6F*
+ ID_OUI_FROM_DATABASE=ITEL MOBILE LIMITED
 
-OUI:000FC2*
- ID_OUI_FROM_DATABASE=Uniwell Corporation
+OUI:105887*
+ ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD
 
-OUI:A4E6B1*
- ID_OUI_FROM_DATABASE=Shanghai Joindata Technology Co.,Ltd.
+OUI:9C061B*
+ ID_OUI_FROM_DATABASE=Hangzhou H3C Technologies Co., Limited
 
-OUI:B4B384*
- ID_OUI_FROM_DATABASE=ShenZhen Figigantic Electronic Co.,Ltd
+OUI:907065*
+ ID_OUI_FROM_DATABASE=Texas Instruments
 
-OUI:D46A6A*
- ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd.
+OUI:C4ABB2*
+ ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
 
-OUI:A8A5E2*
- ID_OUI_FROM_DATABASE=MSF-Vathauer Antriebstechnik GmbH & Co KG
+OUI:B8FFB3*
+ ID_OUI_FROM_DATABASE=MitraStar Technology Corp.
 
-OUI:00425A*
- ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+OUI:A08E78*
+ ID_OUI_FROM_DATABASE=Sagemcom Broadband SAS
 
-OUI:000B4F*
- ID_OUI_FROM_DATABASE=Verifone
+OUI:E0D55E*
+ ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD.
 
-OUI:007686*
- ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+OUI:C4576E*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
-OUI:74FF4C*
- ID_OUI_FROM_DATABASE=Skyworth Digital Technology(Shenzhen) Co.,Ltd
+OUI:90F1AA*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
-OUI:A02C36*
- ID_OUI_FROM_DATABASE=FN-LINK TECHNOLOGY LIMITED
+OUI:78BDBC*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
-OUI:F8D027*
- ID_OUI_FROM_DATABASE=Seiko Epson Corporation
+OUI:20F452*
+ ID_OUI_FROM_DATABASE=Shanghai IUV Software Development Co. Ltd
 
-OUI:44D244*
- ID_OUI_FROM_DATABASE=Seiko Epson Corporation
+OUI:D47AE2*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
-OUI:9CAED3*
- ID_OUI_FROM_DATABASE=Seiko Epson Corporation
+OUI:88D274*
+ ID_OUI_FROM_DATABASE=zte corporation
 
-OUI:341E6B*
- ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+OUI:986DC8*
+ ID_OUI_FROM_DATABASE=TOSHIBA MITSUBISHI-ELECTRIC INDUSTRIAL SYSTEMS CORPORATION
 
-OUI:48F97C*
- ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Technologies Co.,LTD
+OUI:982DBA*
+ ID_OUI_FROM_DATABASE=Fibergate Inc.
 
-OUI:B47447*
- ID_OUI_FROM_DATABASE=CoreOS
+OUI:0040AA*
+ ID_OUI_FROM_DATABASE=Valmet Automation
 
-OUI:ACC1EE*
- ID_OUI_FROM_DATABASE=Xiaomi Communications Co Ltd
+OUI:0080C2*
+ ID_OUI_FROM_DATABASE=IEEE 802.1 Working Group
 
-OUI:CCA219*
- ID_OUI_FROM_DATABASE=SHENZHEN ALONG INVESTMENT CO.,LTD
+OUI:68A40E*
+ ID_OUI_FROM_DATABASE=BSH Hausgeräte GmbH
 
-OUI:94A04E*
- ID_OUI_FROM_DATABASE=Bostex Technology Co., LTD
+OUI:847933*
+ ID_OUI_FROM_DATABASE=profichip GmbH
 
-OUI:8CA5A1*
- ID_OUI_FROM_DATABASE=Oregano Systems - Design & Consulting GmbH
+OUI:A0C9A0*
+ ID_OUI_FROM_DATABASE=Murata Manufacturing Co., Ltd.
 
-OUI:64B0A6*
- ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:001CC3*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:84FCAC*
- ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:641269*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:6C19C0*
- ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:287AEE*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:20AB37*
- ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:FC51A4*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:186590*
- ID_OUI_FROM_DATABASE=Apple, Inc.
+OUI:38700C*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:2C0BE9*
- ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+OUI:A41588*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:2C6373*
- ID_OUI_FROM_DATABASE=SICHUAN TIANYI COMHEART TELECOMCO., LTD
+OUI:B81619*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:9CCC83*
- ID_OUI_FROM_DATABASE=Juniper Networks
+OUI:B077AC*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:90505A*
- ID_OUI_FROM_DATABASE=unGlue, Inc
+OUI:145BD1*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:60D262*
- ID_OUI_FROM_DATABASE=Tzukuri Pty Ltd
+OUI:6CC1D2*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:34FCB9*
- ID_OUI_FROM_DATABASE=Hewlett Packard Enterprise
+OUI:F80BBE*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:B0E5ED*
- ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+OUI:DC4517*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:C81451*
- ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+OUI:74F612*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:C486E9*
- ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+OUI:74E7C6*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:D8C771*
- ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+OUI:0025F2*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:F0C850*
- ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+OUI:0015A8*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:5425EA*
- ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+OUI:000E5C*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:2816AD*
- ID_OUI_FROM_DATABASE=Intel Corporate
+OUI:000CE5*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:00A0C8*
- ID_OUI_FROM_DATABASE=Adtran Inc
+OUI:0004BD*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:1CB857*
- ID_OUI_FROM_DATABASE=Becon Technologies Co,.Ltd.
+OUI:00E06F*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:70918F*
- ID_OUI_FROM_DATABASE=Weber-Stephen Products LLC
+OUI:386BBB*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:803A0A*
- ID_OUI_FROM_DATABASE=Integrated Device Technology (Malaysia) Sdn. Bhd.
+OUI:0015CF*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:002207*
- ID_OUI_FROM_DATABASE=Inteno Broadband Technology AB
+OUI:001DCF*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:3C7F6F*
- ID_OUI_FROM_DATABASE=Telechips, Inc.
+OUI:001DD5*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:0060D3*
- ID_OUI_FROM_DATABASE=AT&T
+OUI:001DD0*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:800010*
- ID_OUI_FROM_DATABASE=AT&T
+OUI:5C571A*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:08006A*
- ID_OUI_FROM_DATABASE=AT&T
+OUI:D82522*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:48A380*
- ID_OUI_FROM_DATABASE=Gionee Communication Equipment Co.,Ltd.
+OUI:70B14E*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:5CBA37*
- ID_OUI_FROM_DATABASE=Microsoft Corporation
+OUI:14D4FE*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:C4836F*
- ID_OUI_FROM_DATABASE=Ciena Corporation
+OUI:002374*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:C87324*
- ID_OUI_FROM_DATABASE=Sow Cheng Technology Co. Ltd.
+OUI:002641*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:6854FD*
- ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+OUI:0026BA*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:3CF862*
- ID_OUI_FROM_DATABASE=Intel Corporate
+OUI:002180*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:0823B2*
- ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
+OUI:0019C0*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:88C3B3*
- ID_OUI_FROM_DATABASE=SOVICO
+OUI:0014E8*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:54C415*
- ID_OUI_FROM_DATABASE=Hangzhou Hikvision Digital Technology Co.,Ltd.
+OUI:0019A6*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:E05124*
- ID_OUI_FROM_DATABASE=NXP Semiconductors
+OUI:001700*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:005016*
- ID_OUI_FROM_DATABASE=Molex Canada Ltd
+OUI:901ACA*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:0005F7*
- ID_OUI_FROM_DATABASE=Analog Devices, Inc.
+OUI:E8ED05*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:A084CB*
- ID_OUI_FROM_DATABASE=SonicSensory,Inc.
+OUI:707630*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:7802F8*
- ID_OUI_FROM_DATABASE=Xiaomi Communications Co Ltd
+OUI:90C792*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:00238A*
- ID_OUI_FROM_DATABASE=Ciena Corporation
+OUI:789684*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:34E70B*
- ID_OUI_FROM_DATABASE=HAN Networks Co., Ltd
+OUI:CC65AD*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:D47AE2*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+OUI:986B3D*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:903809*
- ID_OUI_FROM_DATABASE=Ericsson AB
+OUI:5CE30E*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:542B57*
- ID_OUI_FROM_DATABASE=Night Owl SP
+OUI:7823AE*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:00111B*
- ID_OUI_FROM_DATABASE=Targa Systems Div L-3 Communications
+OUI:447F77*
+ ID_OUI_FROM_DATABASE=Connected Home
 
 OUI:2C7E81*
  ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:EC01EE*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+OUI:009AD2*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
 
-OUI:B8224F*
- ID_OUI_FROM_DATABASE=SICHUAN TIANYI COMHEART TELECOMCO., LTD
+OUI:84C0EF*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
-OUI:702084*
- ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co., Ltd.
+OUI:7C1C68*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
-OUI:F42B48*
- ID_OUI_FROM_DATABASE=Ubiqam
+OUI:745427*
+ ID_OUI_FROM_DATABASE=SHENZHEN FAST TECHNOLOGIES CO.,LTD
 
-OUI:68CC6E*
- ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+OUI:F40E83*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
 
-OUI:00108C*
- ID_OUI_FROM_DATABASE=Fujitsu Services Ltd
+OUI:7C8BCA*
+ ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
 
-OUI:98D3D2*
- ID_OUI_FROM_DATABASE=MEKRA Lang GmbH & Co. KG
+OUI:D8F1F0*
+ ID_OUI_FROM_DATABASE=Pepxim International Limited
 
-OUI:F4DC41*
- ID_OUI_FROM_DATABASE=YOUNGZONE CULTURE (SHANGHAI) CORP
+OUI:88B111*
+ ID_OUI_FROM_DATABASE=Intel Corporate
 
 OUI:2C3996*
  ID_OUI_FROM_DATABASE=Sagemcom Broadband SAS
@@ -63626,9 +65438,6 @@ OUI:9060F1*
 OUI:EC26CA*
  ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
 
-OUI:A09347*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
 OUI:2C088C*
  ID_OUI_FROM_DATABASE=HUMAX Co., Ltd.
 
@@ -64958,9 +66767,6 @@ OUI:E85D6B*
 OUI:8C3357*
  ID_OUI_FROM_DATABASE=HiteVision Digital Media Technology Co.,Ltd.
 
-OUI:506787*
- ID_OUI_FROM_DATABASE=iTellus
-
 OUI:F4D261*
  ID_OUI_FROM_DATABASE=SEMOCON Co., Ltd
 
@@ -65153,9 +66959,6 @@ OUI:90DFB7*
 OUI:B843E4*
  ID_OUI_FROM_DATABASE=Vlatacom
 
-OUI:8425A4*
- ID_OUI_FROM_DATABASE=Tariox Limited
-
 OUI:E07F53*
  ID_OUI_FROM_DATABASE=TECHBOARD SRL
 
@@ -65987,9 +67790,6 @@ OUI:2CEDEB*
 OUI:381C4A*
  ID_OUI_FROM_DATABASE=SIMCom Wireless Solutions Co.,Ltd.
 
-OUI:C8DE51*
- ID_OUI_FROM_DATABASE=Integra Networks, Inc.
-
 OUI:901EDD*
  ID_OUI_FROM_DATABASE=GREAT COMPUTER CORPORATION
 
@@ -66929,9 +68729,6 @@ OUI:C4D489*
 OUI:1C7C11*
  ID_OUI_FROM_DATABASE=EID
 
-OUI:F43E61*
- ID_OUI_FROM_DATABASE=Shenzhen Gongjin Electronics Co., Ltd
-
 OUI:B0B32B*
  ID_OUI_FROM_DATABASE=Slican Sp. z o.o.
 
@@ -67157,9 +68954,6 @@ OUI:9C4563*
 OUI:E42771*
  ID_OUI_FROM_DATABASE=Smartlabs
 
-OUI:C4EEF5*
- ID_OUI_FROM_DATABASE=Oclaro, Inc.
-
 OUI:0876FF*
  ID_OUI_FROM_DATABASE=Thomson Telecom Belgium
 
@@ -68624,9 +70418,6 @@ OUI:001FAA*
 OUI:001FA5*
  ID_OUI_FROM_DATABASE=Blue-White Industries
 
-OUI:001FA4*
- ID_OUI_FROM_DATABASE=ShenZhen Gongjin Electronics Co.,Ltd
-
 OUI:001FA0*
  ID_OUI_FROM_DATABASE=A10 Networks
 
@@ -68840,9 +70631,6 @@ OUI:001D4D*
 OUI:001D49*
  ID_OUI_FROM_DATABASE=Innovation Wireless Inc.
 
-OUI:001D44*
- ID_OUI_FROM_DATABASE=KROHNE Messtechnik GmbH
-
 OUI:001D3D*
  ID_OUI_FROM_DATABASE=Avidyne Corporation
 
@@ -69623,9 +71411,6 @@ OUI:00181D*
 OUI:001811*
  ID_OUI_FROM_DATABASE=Neuros Technology International, LLC.
 
-OUI:00180A*
- ID_OUI_FROM_DATABASE=Meraki, Inc.
-
 OUI:001801*
  ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc
 
@@ -70691,9 +72476,6 @@ OUI:000F1D*
 OUI:000F10*
  ID_OUI_FROM_DATABASE=RDM Corporation
 
-OUI:000F17*
- ID_OUI_FROM_DATABASE=Insta Elektro GmbH
-
 OUI:000F1E*
  ID_OUI_FROM_DATABASE=Chengdu KT Electric Co.of High & New Technology
 
@@ -72665,9 +74447,6 @@ OUI:000232*
 OUI:00012A*
  ID_OUI_FROM_DATABASE=Telematica Sistems Inteligente
 
-OUI:000130*
- ID_OUI_FROM_DATABASE=Extreme Networks
-
 OUI:000137*
  ID_OUI_FROM_DATABASE=IT Farm Corporation
 
@@ -73832,9 +75611,6 @@ OUI:002054*
 OUI:0020A7*
  ID_OUI_FROM_DATABASE=PAIRGAIN TECHNOLOGIES, INC.
 
-OUI:0020DA*
- ID_OUI_FROM_DATABASE=Alcatel North America ESD
-
 OUI:002005*
  ID_OUI_FROM_DATABASE=SIMPLE TECHNOLOGY
 
@@ -74735,9 +76511,6 @@ OUI:88AE1D*
 OUI:5C353B*
  ID_OUI_FROM_DATABASE=Compal Broadband Networks, Inc.
 
-OUI:C8F230*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
 OUI:1C4419*
  ID_OUI_FROM_DATABASE=TP-LINK TECHNOLOGIES CO.,LTD.
 
@@ -74978,21 +76751,12 @@ OUI:DC0B1A*
 OUI:74888B*
  ID_OUI_FROM_DATABASE=ADB Broadband Italia
 
-OUI:84D6D0*
- ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
-
-OUI:E0CB1D*
- ID_OUI_FROM_DATABASE=Private
-
 OUI:ACD074*
  ID_OUI_FROM_DATABASE=Espressif Inc.
 
 OUI:D05349*
  ID_OUI_FROM_DATABASE=Liteon Technology Corporation
 
-OUI:00BB3A*
- ID_OUI_FROM_DATABASE=Private
-
 OUI:000941*
  ID_OUI_FROM_DATABASE=Allied Telesis R&D Center K.K.
 
@@ -75203,24 +76967,9 @@ OUI:18227E*
 OUI:00F46F*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
-OUI:BC1485*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:9CE6E7*
  ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
 
-OUI:380195*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
-OUI:5CF6DC*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
-OUI:1077B1*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
-OUI:508569*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:0090A2*
  ID_OUI_FROM_DATABASE=CyberTAN Technology Inc.
 
@@ -75521,9 +77270,6 @@ OUI:E0071B*
 OUI:A86AC1*
  ID_OUI_FROM_DATABASE=HanbitEDS Co., Ltd.
 
-OUI:40163B*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:88B1E1*
  ID_OUI_FROM_DATABASE=Mojo Networks, Inc.
 
@@ -75800,9 +77546,6 @@ OUI:E811CA*
 OUI:ECD68A*
  ID_OUI_FROM_DATABASE=Shenzhen JMicron Intelligent Technology Developmen
 
-OUI:1C77F6*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
 OUI:08D0B7*
  ID_OUI_FROM_DATABASE=Qingdao Hisense Communications Co.,Ltd.
 
@@ -76019,135 +77762,9 @@ OUI:BC8AA3*
 OUI:70A84C*
  ID_OUI_FROM_DATABASE=MONAD., Inc.
 
-OUI:00D088*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001675*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0016B5*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001784*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0017E2*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:CC7D37*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001A77*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:984B4A*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0015A4*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0015A3*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:7CBFB1*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:8096B1*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:00909C*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001180*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0017EE*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:407009*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:94877C*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001DD2*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:9C3426*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:5C8FE0*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:6CCA08*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:5465DE*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:F8EDA5*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
 OUI:00A289*
  ID_OUI_FROM_DATABASE=Cisco Systems, Inc
 
-OUI:ACEC80*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:3C7A8A*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:000FCC*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:BCCAB5*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:80F503*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:8496D8*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:D42C0F*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:E0B7B1*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0024A0*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:C0C522*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:5CB066*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:002210*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:00211E*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:E48399*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:002636*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:0012C9*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001CFB*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001C12*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
-OUI:001FC4*
- ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
-
 OUI:6C1E90*
  ID_OUI_FROM_DATABASE=Hansol Technics Co., Ltd.
 
@@ -76754,9 +78371,6 @@ OUI:FCFAF7*
 OUI:C8E776*
  ID_OUI_FROM_DATABASE=PTCOM Technology
 
-OUI:5C497D*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:949AA9*
  ID_OUI_FROM_DATABASE=Microsoft Corporation
 
@@ -76889,9 +78503,6 @@ OUI:9C5D12*
 OUI:001F82*
  ID_OUI_FROM_DATABASE=Cal-Comp Electronics & Communications Company Ltd.
 
-OUI:E47DBD*
- ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
-
 OUI:0C0227*
  ID_OUI_FROM_DATABASE=Technicolor CH USA Inc.
 
@@ -76910,9 +78521,6 @@ OUI:B49691*
 OUI:9CD9CB*
  ID_OUI_FROM_DATABASE=Lesira Manufacturing Pty Ltd
 
-OUI:34D270*
- ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
-
 OUI:002590*
  ID_OUI_FROM_DATABASE=Super Micro Computer, Inc.
 
@@ -76970,18 +78578,12 @@ OUI:20780B*
 OUI:24D51C*
  ID_OUI_FROM_DATABASE=Zhongtian broadband technology co., LTD
 
-OUI:E44790*
- ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
-
 OUI:28FECD*
  ID_OUI_FROM_DATABASE=Lemobile Information Technology (Beijing) Co., Ltd.
 
 OUI:001992*
  ID_OUI_FROM_DATABASE=Adtran Inc
 
-OUI:002365*
- ID_OUI_FROM_DATABASE=Insta Elektro GmbH
-
 OUI:4C1694*
  ID_OUI_FROM_DATABASE=shenzhen sibituo Technology Co., Ltd
 
@@ -77026,3 +78628,438 @@ OUI:B81DAA*
 
 OUI:407D0F*
  ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:3805AC*
+ ID_OUI_FROM_DATABASE=Piller Group GmbH
+
+OUI:F8BBBF*
+ ID_OUI_FROM_DATABASE=eero inc.
+
+OUI:0CF4D5*
+ ID_OUI_FROM_DATABASE=Ruckus Wireless
+
+OUI:000130*
+ ID_OUI_FROM_DATABASE=Extreme Networks
+
+OUI:706DEC*
+ ID_OUI_FROM_DATABASE=Wifi-soft LLC
+
+OUI:AC6B0F*
+ ID_OUI_FROM_DATABASE=CADENCE DESIGN SYSTEMS INC
+
+OUI:00BB3A*
+ ID_OUI_FROM_DATABASE=Private
+
+OUI:E0CB1D*
+ ID_OUI_FROM_DATABASE=Private
+
+OUI:84D6D0*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:34D270*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:CC82EB*
+ ID_OUI_FROM_DATABASE=KYOCERA CORPORATION
+
+OUI:5082D5*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:9C84BF*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:7894B4*
+ ID_OUI_FROM_DATABASE=Sercomm Corporation.
+
+OUI:000F17*
+ ID_OUI_FROM_DATABASE=Insta Elektro GmbH
+
+OUI:002365*
+ ID_OUI_FROM_DATABASE=Insta Elektro GmbH
+
+OUI:C4EEF5*
+ ID_OUI_FROM_DATABASE=II-VI Incorporated
+
+OUI:002CC8*
+ ID_OUI_FROM_DATABASE=Cisco Systems, Inc
+
+OUI:70AF24*
+ ID_OUI_FROM_DATABASE=TP Vision Belgium NV
+
+OUI:7CE97C*
+ ID_OUI_FROM_DATABASE=ITEL MOBILE LIMITED
+
+OUI:285F2F*
+ ID_OUI_FROM_DATABASE=RNware Co.,Ltd.
+
+OUI:E0C0D1*
+ ID_OUI_FROM_DATABASE=CK Telecom (Shenzhen) Limited
+
+OUI:948BC1*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:4827EA*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:049573*
+ ID_OUI_FROM_DATABASE=zte corporation
+
+OUI:001D44*
+ ID_OUI_FROM_DATABASE=Krohne
+
+OUI:48BF6B*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:245BA7*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:BCA920*
+ ID_OUI_FROM_DATABASE=Apple, Inc.
+
+OUI:D055B2*
+ ID_OUI_FROM_DATABASE=Integrated Device Technology (Malaysia) Sdn. Bhd.
+
+OUI:A49BF5*
+ ID_OUI_FROM_DATABASE=Hybridserver Tec GmbH
+
+OUI:B436E3*
+ ID_OUI_FROM_DATABASE=KBVISION GROUP
+
+OUI:488803*
+ ID_OUI_FROM_DATABASE=ManTechnology Inc.
+
+OUI:7C6BF7*
+ ID_OUI_FROM_DATABASE=NTI co., ltd.
+
+OUI:54E061*
+ ID_OUI_FROM_DATABASE=SICHUAN TIANYI COMHEART TELECOMCO., LTD
+
+OUI:B47C9C*
+ ID_OUI_FROM_DATABASE=Amazon Technologies Inc.
+
+OUI:E81367*
+ ID_OUI_FROM_DATABASE=AIRSOUND Inc.
+
+OUI:64D154*
+ ID_OUI_FROM_DATABASE=Routerboard.com
+
+OUI:0020DA*
+ ID_OUI_FROM_DATABASE=Alcatel-Lucent Enterprise
+
+OUI:1CDA27*
+ ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
+
+OUI:345BBB*
+ ID_OUI_FROM_DATABASE=GD Midea Air-Conditioning Equipment Co.,Ltd.
+
+OUI:34CE00*
+ ID_OUI_FROM_DATABASE=XIAOMI Electronics,CO.,LTD
+
+OUI:F82F08*
+ ID_OUI_FROM_DATABASE=Molex
+
+OUI:68262A*
+ ID_OUI_FROM_DATABASE=SICHUAN TIANYI COMHEART TELECOMCO., LTD
+
+OUI:680235*
+ ID_OUI_FROM_DATABASE=Konten Networks Inc.
+
+OUI:3C678C*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:D06F82*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:844765*
+ ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD
+
+OUI:A0C4A5*
+ ID_OUI_FROM_DATABASE=SYGN HOUSE CO.,LTD
+
+OUI:506787*
+ ID_OUI_FROM_DATABASE=Planet Networks
+
+OUI:C83A6B*
+ ID_OUI_FROM_DATABASE=Roku, Inc
+
+OUI:B4C6F8*
+ ID_OUI_FROM_DATABASE=Axilspot Communication
+
+OUI:70D923*
+ ID_OUI_FROM_DATABASE=vivo Mobile Communication Co., Ltd.
+
+OUI:B83A08*
+ ID_OUI_FROM_DATABASE=Tenda Technology Co.,Ltd.Dongguan branch
+
+OUI:388C50*
+ ID_OUI_FROM_DATABASE=LG Electronics
+
+OUI:50D37F*
+ ID_OUI_FROM_DATABASE=Yu Fly Mikly Way Science and Technology Co., Ltd.
+
+OUI:D8D866*
+ ID_OUI_FROM_DATABASE=SHENZHEN TOZED TECHNOLOGIES CO.,LTD.
+
+OUI:F43E61*
+ ID_OUI_FROM_DATABASE=SHENZHEN GONGJIN ELECTRONICS CO.,LT
+
+OUI:001FA4*
+ ID_OUI_FROM_DATABASE=SHENZHEN GONGJIN ELECTRONICS CO.,LT
+
+OUI:1C5A0B*
+ ID_OUI_FROM_DATABASE=Tegile Systems
+
+OUI:38AC3D*
+ ID_OUI_FROM_DATABASE=Nephos Inc
+
+OUI:A09347*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:C8F230*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:1C77F6*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:E44790*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:D4503F*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:8425A4*
+ ID_OUI_FROM_DATABASE=Tariox Limited
+
+OUI:D8C8E9*
+ ID_OUI_FROM_DATABASE=Phicomm (Shanghai) Co., Ltd.
+
+OUI:CC90E8*
+ ID_OUI_FROM_DATABASE=Shenzhen YOUHUA Technology Co., Ltd
+
+OUI:88CC45*
+ ID_OUI_FROM_DATABASE=Skyworth Digital Technology(Shenzhen) Co.,Ltd
+
+OUI:605317*
+ ID_OUI_FROM_DATABASE=Sandstone Technologies
+
+OUI:50338B*
+ ID_OUI_FROM_DATABASE=Texas Instruments
+
+OUI:986C5C*
+ ID_OUI_FROM_DATABASE=Jiangxi Gosun Guard Security Co.,Ltd
+
+OUI:F4FCB1*
+ ID_OUI_FROM_DATABASE=JJ Corp
+
+OUI:543B30*
+ ID_OUI_FROM_DATABASE=duagon AG
+
+OUI:60BA18*
+ ID_OUI_FROM_DATABASE=nextLAP GmbH
+
+OUI:704CA5*
+ ID_OUI_FROM_DATABASE=Fortinet, Inc.
+
+OUI:40163B*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:5C497D*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:E47DBD*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:503DA1*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:A040A0*
+ ID_OUI_FROM_DATABASE=NETGEAR
+
+OUI:508569*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:1077B1*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:5CF6DC*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:380195*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:BC1485*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:88D50C*
+ ID_OUI_FROM_DATABASE=GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD
+
+OUI:509A4C*
+ ID_OUI_FROM_DATABASE=Dell Inc.
+
+OUI:00180A*
+ ID_OUI_FROM_DATABASE=Cisco Meraki
+
+OUI:AC2205*
+ ID_OUI_FROM_DATABASE=Compal Broadband Networks, Inc.
+
+OUI:80A036*
+ ID_OUI_FROM_DATABASE=Shanghai MXCHIP Information Technology Co., Ltd.
+
+OUI:0012C9*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:984B4A*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001A77*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:CC7D37*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0017E2*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001784*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0016B5*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001675*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:00D088*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0017EE*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001180*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:00909C*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:8096B1*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:7CBFB1*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0015A3*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0015A4*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:9C3426*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001DD2*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:00211E*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:002210*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001FC4*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001C12*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:001CFB*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:D42C0F*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:8496D8*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:80F503*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:5CB066*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:C0C522*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:0024A0*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:002636*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:E48399*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:E0B7B1*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:94877C*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:407009*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:F8EDA5*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:5465DE*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:6CCA08*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:5C8FE0*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:8C395C*
+ ID_OUI_FROM_DATABASE=Bit4id Srl
+
+OUI:BCCAB5*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:000FCC*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:3C7A8A*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:ACEC80*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:2CA17D*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:309C23*
+ ID_OUI_FROM_DATABASE=Micro-Star INTL CO., LTD.
+
+OUI:947BE7*
+ ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd
+
+OUI:2C2617*
+ ID_OUI_FROM_DATABASE=Oculus VR, LLC
+
+OUI:98F7D7*
+ ID_OUI_FROM_DATABASE=ARRIS Group, Inc.
+
+OUI:2C41A1*
+ ID_OUI_FROM_DATABASE=Bose Corporation
+
+OUI:C8DE51*
+ ID_OUI_FROM_DATABASE=IntegraOptics
+
+OUI:182CB4*
+ ID_OUI_FROM_DATABASE=Nectarsoft Co., Ltd.
+
+OUI:14780B*
+ ID_OUI_FROM_DATABASE=PerkinElmer Technologies GmbH & Co. KG
+
+OUI:74DADA*
+ ID_OUI_FROM_DATABASE=D-Link International
index c0fe421c111cb802154c39ac30ff645dc00ec99c..886e61aa3820a1486622eb8de19ef5a375a80308 100644 (file)
@@ -6,6 +6,9 @@
 #
 # With various additions from other sources
 
+acpi:3GVR*:
+ ID_VENDOR_FROM_DATABASE=VR Technology Holdings Limited
+
 acpi:3NOD*:
  ID_VENDOR_FROM_DATABASE=Shenzhen three Connaught Information Technology Co., Ltd. (3nod Group)
 
@@ -1947,6 +1950,9 @@ acpi:DPL*:
 acpi:DPM*:
  ID_VENDOR_FROM_DATABASE=ADPM Synthesis sas
 
+acpi:DPN*:
+ ID_VENDOR_FROM_DATABASE=Shanghai Lexiang Technology Limited
+
 acpi:DPS*:
  ID_VENDOR_FROM_DATABASE=Digital Processing Systems
 
@@ -1983,6 +1989,9 @@ acpi:DSD*:
 acpi:DSI*:
  ID_VENDOR_FROM_DATABASE=Digitan Systems Inc
 
+acpi:DSJ*:
+ ID_VENDOR_FROM_DATABASE=VR Technology Holdings Limited
+
 acpi:DSM*:
  ID_VENDOR_FROM_DATABASE=DSM Digital Services GmbH
 
@@ -3489,6 +3498,9 @@ acpi:IVI*:
 acpi:IVM*:
  ID_VENDOR_FROM_DATABASE=Iiyama North America
 
+acpi:IVR*:
+ ID_VENDOR_FROM_DATABASE=Inlife-Handnet Co., Ltd.
+
 acpi:IVS*:
  ID_VENDOR_FROM_DATABASE=Intevac Photonics Inc.
 
@@ -5367,6 +5379,9 @@ acpi:PVN*:
 acpi:PVP*:
  ID_VENDOR_FROM_DATABASE=Klos Technologies, Inc.
 
+acpi:PVR*:
+ ID_VENDOR_FROM_DATABASE=Pimax Tech. CO., LTD
+
 acpi:PXC*:
  ID_VENDOR_FROM_DATABASE=Phoenix Contact
 
@@ -6780,6 +6795,9 @@ acpi:TVD*:
 acpi:TVI*:
  ID_VENDOR_FROM_DATABASE=Truevision
 
+acpi:TVL*:
+ ID_VENDOR_FROM_DATABASE=Total Vision LTD
+
 acpi:TVM*:
  ID_VENDOR_FROM_DATABASE=Taiwan Video & Monitor Corporation
 
index ea190ff7caf0d25d4d98f1956116bb2de5a50b14..83ff9f36688e501c6f2c2c4b425f3e1b5594de89 100644 (file)
@@ -68,12 +68,18 @@ pci:v0000021Bd00008139*
 pci:v00000270*
  ID_VENDOR_FROM_DATABASE=Hauppauge computer works Inc. (Wrong ID)
 
+pci:v00000291*
+ ID_VENDOR_FROM_DATABASE=Davicom Semiconductor, Inc. (Wrong ID)
+
 pci:v000002AC*
  ID_VENDOR_FROM_DATABASE=SpeedStream
 
 pci:v000002ACd00001012*
  ID_MODEL_FROM_DATABASE=1012 PCMCIA 10/100 Ethernet Card [RTL81xx]
 
+pci:v000002E0*
+ ID_VENDOR_FROM_DATABASE=XFX Pine Group Inc. (Wrong ID)
+
 pci:v00000303*
  ID_VENDOR_FROM_DATABASE=Hewlett-Packard Company (Wrong ID)
 
@@ -653,6 +659,9 @@ pci:v00001000d00000014sv00001028sd00001FD4*
 pci:v00001000d00000014sv00001D49sd00000602*
  ID_MODEL_FROM_DATABASE=MegaRAID Tri-Mode SAS3516 (ThinkSystem RAID 930-16i 4GB Flash PCIe 12Gb Adapter)
 
+pci:v00001000d00000015*
+ ID_MODEL_FROM_DATABASE=MegaRAID Tri-Mode SAS3416
+
 pci:v00001000d00000016*
  ID_MODEL_FROM_DATABASE=MegaRAID Tri-Mode SAS3508
 
@@ -1547,6 +1556,9 @@ pci:v00001000d00000097sv00001028sd00001FD2*
 pci:v00001000d00000097sv00001028sd00001FD3*
  ID_MODEL_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3 (HBA330 MMZ)
 
+pci:v00001000d00000097sv00001BD4sd00000011*
+ ID_MODEL_FROM_DATABASE=SAS3008 PCI-Express Fusion-MPT SAS-3 (Inspur 12Gb 8i-3008 IT SAS HBA)
+
 pci:v00001000d000000AB*
  ID_MODEL_FROM_DATABASE=SAS3516 Fusion-MPT Tri-Mode RAID On Chip (ROC)
 
@@ -1554,10 +1566,10 @@ pci:v00001000d000000AC*
  ID_MODEL_FROM_DATABASE=SAS3416 Fusion-MPT Tri-Mode I/O Controller Chip (IOC)
 
 pci:v00001000d000000ACsv00001D49sd00000201*
- ID_MODEL_FROM_DATABASE=SAS3416 Fusion-MPT Tri-Mode I/O Controller Chip (IOC) (ThinkSystem 9400-16i PCIe 12Gb HBA)
+ ID_MODEL_FROM_DATABASE=SAS3416 Fusion-MPT Tri-Mode I/O Controller Chip (IOC) (ThinkSystem 430-16i SAS/SATA 12Gb HBA)
 
 pci:v00001000d000000ACsv00001D49sd00000203*
- ID_MODEL_FROM_DATABASE=SAS3416 Fusion-MPT Tri-Mode I/O Controller Chip (IOC) (ThinkSystem 9400-16e PCIe 12Gb HBA)
+ ID_MODEL_FROM_DATABASE=SAS3416 Fusion-MPT Tri-Mode I/O Controller Chip (IOC) (ThinkSystem 430-16e SAS/SATA 12Gb HBA)
 
 pci:v00001000d000000AE*
  ID_MODEL_FROM_DATABASE=SAS3508 Fusion-MPT Tri-Mode RAID On Chip (ROC)
@@ -1566,10 +1578,10 @@ pci:v00001000d000000AF*
  ID_MODEL_FROM_DATABASE=SAS3408 Fusion-MPT Tri-Mode I/O Controller Chip (IOC)
 
 pci:v00001000d000000AFsv00001D49sd00000200*
- ID_MODEL_FROM_DATABASE=SAS3408 Fusion-MPT Tri-Mode I/O Controller Chip (IOC) (ThinkSystem 9400-8i PCIe 12Gb HBA)
+ ID_MODEL_FROM_DATABASE=SAS3408 Fusion-MPT Tri-Mode I/O Controller Chip (IOC) (ThinkSystem 430-8i SAS/SATA 12Gb HBA)
 
 pci:v00001000d000000AFsv00001D49sd00000202*
- ID_MODEL_FROM_DATABASE=SAS3408 Fusion-MPT Tri-Mode I/O Controller Chip (IOC) (ThinkSystem 9400-8e PCIe 12Gb HBA)
+ ID_MODEL_FROM_DATABASE=SAS3408 Fusion-MPT Tri-Mode I/O Controller Chip (IOC) (ThinkSystem 430-8e SAS/SATA 12Gb HBA)
 
 pci:v00001000d000000BE*
  ID_MODEL_FROM_DATABASE=SAS3504 Fusion-MPT Tri-Mode RAID On Chip (ROC)
@@ -6476,6 +6488,21 @@ pci:v00001002d000067BE*
 pci:v00001002d000067C0*
  ID_MODEL_FROM_DATABASE=Ellesmere [Polaris10]
 
+pci:v00001002d000067C4*
+ ID_MODEL_FROM_DATABASE=Ellesmere [Radeon Pro WX 7100]
+
+pci:v00001002d000067C7*
+ ID_MODEL_FROM_DATABASE=Ellesmere [Radeon Pro WX 5100]
+
+pci:v00001002d000067CA*
+ ID_MODEL_FROM_DATABASE=Ellesmere [Polaris10]
+
+pci:v00001002d000067CC*
+ ID_MODEL_FROM_DATABASE=Ellesmere [Polaris10]
+
+pci:v00001002d000067CF*
+ ID_MODEL_FROM_DATABASE=Ellesmere [Polaris10]
+
 pci:v00001002d000067DF*
  ID_MODEL_FROM_DATABASE=Ellesmere [Radeon RX 470/480]
 
@@ -6527,6 +6554,9 @@ pci:v00001002d000067E0*
 pci:v00001002d000067E1*
  ID_MODEL_FROM_DATABASE=Baffin [Polaris11]
 
+pci:v00001002d000067E3*
+ ID_MODEL_FROM_DATABASE=Baffin [Radeon Pro WX 4100]
+
 pci:v00001002d000067E8*
  ID_MODEL_FROM_DATABASE=Baffin [Polaris11]
 
@@ -6611,6 +6641,9 @@ pci:v00001002d00006811sv00001458sd00002016*
 pci:v00001002d00006811sv00001462sd00002016*
  ID_MODEL_FROM_DATABASE=Curacao PRO [Radeon R7 370 / R9 270/370 OEM] (Trinidad PRO [Radeon R9 370 OEM])
 
+pci:v00001002d00006811sv00001462sd00003050*
+ ID_MODEL_FROM_DATABASE=Curacao PRO [Radeon R7 370 / R9 270/370 OEM] (R9 270 Gaming OC)
+
 pci:v00001002d00006811sv0000148Csd00002016*
  ID_MODEL_FROM_DATABASE=Curacao PRO [Radeon R7 370 / R9 270/370 OEM] (Trinidad PRO [Radeon R9 370 OEM])
 
@@ -8636,6 +8669,24 @@ pci:v00001002d00006939sv0000148Csd00009380*
 pci:v00001002d00006939sv0000174Bsd0000E308*
  ID_MODEL_FROM_DATABASE=Tonga PRO [Radeon R9 285/380] (Radeon R9 380 Nitro 4G D5)
 
+pci:v00001002d00006980*
+ ID_MODEL_FROM_DATABASE=Polaris12
+
+pci:v00001002d00006981*
+ ID_MODEL_FROM_DATABASE=Polaris12
+
+pci:v00001002d00006985*
+ ID_MODEL_FROM_DATABASE=Polaris12
+
+pci:v00001002d00006986*
+ ID_MODEL_FROM_DATABASE=Polaris12
+
+pci:v00001002d00006987*
+ ID_MODEL_FROM_DATABASE=Polaris12
+
+pci:v00001002d0000699F*
+ ID_MODEL_FROM_DATABASE=Polaris12
+
 pci:v00001002d0000700F*
  ID_MODEL_FROM_DATABASE=RS100 AGP Bridge
 
@@ -15086,6 +15137,9 @@ pci:v00001043d00000675sv00000675sd00001707*
 pci:v00001043d00000675sv000010CFsd0000105E*
  ID_MODEL_FROM_DATABASE=ISDNLink P-IN100-ST-D (ISDN Adapter (PCI Bus, DV, W))
 
+pci:v00001043d000013A0*
+ ID_MODEL_FROM_DATABASE=Transformer Book T101HA-GR030R
+
 pci:v00001043d00009602*
  ID_MODEL_FROM_DATABASE=AMD RS780/RS880 PCI to PCI bridge (int gfx)
 
@@ -16304,6 +16358,12 @@ pci:v0000104Dd0000808A*
 pci:v0000104Dd000081CE*
  ID_MODEL_FROM_DATABASE=SxS Pro memory card
 
+pci:v0000104Dd0000905C*
+ ID_MODEL_FROM_DATABASE=SxS Pro memory card
+
+pci:v0000104Dd0000907F*
+ ID_MODEL_FROM_DATABASE=SxS Pro+ memory card
+
 pci:v0000104Dd0000908F*
  ID_MODEL_FROM_DATABASE=Aeolia ACPI
 
@@ -16328,6 +16388,9 @@ pci:v0000104Dd000090A3*
 pci:v0000104Dd000090A4*
  ID_MODEL_FROM_DATABASE=Aeolia USB 3.0 xHCI Host Controller
 
+pci:v0000104Dd000090BC*
+ ID_MODEL_FROM_DATABASE=SxS Pro+ memory card
+
 pci:v0000104E*
  ID_VENDOR_FROM_DATABASE=Oak Technology, Inc
 
@@ -18017,6 +18080,48 @@ pci:v00001077d00008031*
 pci:v00001077d00008032*
  ID_MODEL_FROM_DATABASE=8300 Series 10GbE Converged Network Adapter (iSCSI)
 
+pci:v00001077d00008070*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL41000 Series 10/25/40/50GbE Controller
+
+pci:v00001077d00008070sv00001077sd00000011*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL41000 Series 10/25/40/50GbE Controller (FastLinQ QL41212H 25GbE Adapter)
+
+pci:v00001077d00008070sv00001077sd00000012*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL41000 Series 10/25/40/50GbE Controller (FastLinQ QL41112H 10GbE Adapter)
+
+pci:v00001077d00008080*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL41000 Series 10/25/40/50GbE Controller (FCoE)
+
+pci:v00001077d00008080sv00001077sd0000000D*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL41000 Series 10/25/40/50GbE Controller (FCoE) (FastLinQ QL41262H 25GbE FCoE Adapter)
+
+pci:v00001077d00008080sv00001077sd0000000E*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL41000 Series 10/25/40/50GbE Controller (FCoE) (FastLinQ QL41162H 10GbE FCoE Adapter)
+
+pci:v00001077d00008084*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL41000 Series 10/25/40/50GbE Controller (iSCSI)
+
+pci:v00001077d00008084sv00001077sd0000000D*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL41000 Series 10/25/40/50GbE Controller (iSCSI) (FastLinQ QL41262H 25GbE iSCSI Adapter)
+
+pci:v00001077d00008084sv00001077sd0000000E*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL41000 Series 10/25/40/50GbE Controller (iSCSI) (FastLinQ QL41162H 10GbE iSCSI Adapter)
+
+pci:v00001077d00008090*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL41000 Series Gigabit Ethernet Controller (SR-IOV VF)
+
+pci:v00001077d00008090sv00001077sd0000000D*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL41000 Series Gigabit Ethernet Controller (SR-IOV VF) (FastLinQ QL41262H 25GbE FCoE Adapter (SR-IOV VF))
+
+pci:v00001077d00008090sv00001077sd0000000E*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL41000 Series Gigabit Ethernet Controller (SR-IOV VF) (FastLinQ QL41162H 10GbE iSCSI Adapter (SR-IOV VF))
+
+pci:v00001077d00008090sv00001077sd00000011*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL41000 Series Gigabit Ethernet Controller (SR-IOV VF) (FastLinQ QL41212H 25GbE Adapter (SR-IOV VF))
+
+pci:v00001077d00008090sv00001077sd00000012*
+ ID_MODEL_FROM_DATABASE=FastLinQ QL41000 Series Gigabit Ethernet Controller (SR-IOV VF) (FastLinQ QL41112H 10GbE Adapter (SR-IOV VF))
+
 pci:v00001077d00008430*
  ID_MODEL_FROM_DATABASE=ISP8324 1/10GbE Converged Network Controller (NIC VF)
 
@@ -22317,7 +22422,7 @@ pci:v000010B5d00009733*
  ID_MODEL_FROM_DATABASE=PEX 9733 33-lane, 9-port PCI Express Gen 3 (8.0 GT/s) Switch
 
 pci:v000010B5d00009733sv00001D49sd00000001*
- ID_MODEL_FROM_DATABASE=PEX 9733 33-lane, 9-port PCI Express Gen 3 (8.0 GT/s) Switch (ThinkSystem P310W-4P NVMe Switch Card)
+ ID_MODEL_FROM_DATABASE=PEX 9733 33-lane, 9-port PCI Express Gen 3 (8.0 GT/s) Switch (ThinkSystem 1610-4P NVMe Switch Adapter)
 
 pci:v000010B5d00009749*
  ID_MODEL_FROM_DATABASE=PEX 9749 49-lane, 13-port PCI Express Gen 3 (8.0 GT/s) Switch
@@ -24836,6 +24941,9 @@ pci:v000010DEd00000103sv00001048sd00000C4A*
 pci:v000010DEd00000103sv00001048sd00000C4B*
  ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (GLoria II-64 Pro DVII)
 
+pci:v000010DEd00000103sv000010A9sd00009002*
+ ID_MODEL_FROM_DATABASE=NV10GL [Quadro] (VPro VR3)
+
 pci:v000010DEd00000110*
  ID_MODEL_FROM_DATABASE=NV11 [GeForce2 MX/MX 400]
 
@@ -29882,6 +29990,9 @@ pci:v000010DEd000010C5*
 pci:v000010DEd000010D8*
  ID_MODEL_FROM_DATABASE=GT218 [NVS 300]
 
+pci:v000010DEd000010EF*
+ ID_MODEL_FROM_DATABASE=GP102 HDMI Audio Controller
+
 pci:v000010DEd000010F0*
  ID_MODEL_FROM_DATABASE=GP104 High Definition Audio Controller
 
@@ -31349,6 +31460,9 @@ pci:v000010DEd00001348*
 pci:v000010DEd00001349*
  ID_MODEL_FROM_DATABASE=GM108M [GeForce 930M]
 
+pci:v000010DEd0000134B*
+ ID_MODEL_FROM_DATABASE=GM108M [GeForce 940MX]
+
 pci:v000010DEd0000134D*
  ID_MODEL_FROM_DATABASE=GM108M [GeForce 940MX]
 
@@ -31445,6 +31559,12 @@ pci:v000010DEd000013B2*
 pci:v000010DEd000013B3*
  ID_MODEL_FROM_DATABASE=GM107GLM [Quadro K2200M]
 
+pci:v000010DEd000013B4*
+ ID_MODEL_FROM_DATABASE=GM107GLM [Quadro M620 Mobile]
+
+pci:v000010DEd000013B6*
+ ID_MODEL_FROM_DATABASE=GM107GLM [Quadro M1200 Mobile]
+
 pci:v000010DEd000013B9*
  ID_MODEL_FROM_DATABASE=GM107GL [NVS 810]
 
@@ -31506,7 +31626,7 @@ pci:v000010DEd000013F3*
  ID_MODEL_FROM_DATABASE=GM204GL [Tesla M6]
 
 pci:v000010DEd000013F8*
- ID_MODEL_FROM_DATABASE=GM204GLM [Quadro M5000M]
+ ID_MODEL_FROM_DATABASE=GM204GLM [Quadro M5000M / M5000 SE]
 
 pci:v000010DEd000013F9*
  ID_MODEL_FROM_DATABASE=GM204GLM [Quadro M4000M]
@@ -31541,17 +31661,23 @@ pci:v000010DEd00001430*
 pci:v000010DEd00001431*
  ID_MODEL_FROM_DATABASE=GM206GL [Tesla M4]
 
+pci:v000010DEd00001436*
+ ID_MODEL_FROM_DATABASE=GM206GLM [Quadro M2200 Mobile]
+
 pci:v000010DEd000015F0*
  ID_MODEL_FROM_DATABASE=GP100GL
 
 pci:v000010DEd000015F1*
  ID_MODEL_FROM_DATABASE=GP100GL
 
+pci:v000010DEd000015F7*
+ ID_MODEL_FROM_DATABASE=GP100GL [Tesla P100 PCIe 12GB]
+
 pci:v000010DEd000015F8*
- ID_MODEL_FROM_DATABASE=GP100GL
+ ID_MODEL_FROM_DATABASE=GP100GL [Tesla P100 PCIe 16GB]
 
 pci:v000010DEd000015F9*
- ID_MODEL_FROM_DATABASE=GP100GL
+ ID_MODEL_FROM_DATABASE=GP100GL [Tesla P100 SMX2 16GB]
 
 pci:v000010DEd00001617*
  ID_MODEL_FROM_DATABASE=GM204M [GeForce GTX 980M]
@@ -31622,11 +31748,14 @@ pci:v000010DEd00001B82*
 pci:v000010DEd00001B83*
  ID_MODEL_FROM_DATABASE=GP104
 
+pci:v000010DEd00001B84*
+ ID_MODEL_FROM_DATABASE=GP104 [GeForce GTX 1060 3GB]
+
 pci:v000010DEd00001BA0*
- ID_MODEL_FROM_DATABASE=GP104M [GeForce GTX 1080]
+ ID_MODEL_FROM_DATABASE=GP104M [GeForce GTX 1080 Mobile]
 
 pci:v000010DEd00001BA1*
- ID_MODEL_FROM_DATABASE=GP104M [GeForce GTX 1070]
+ ID_MODEL_FROM_DATABASE=GP104M [GeForce GTX 1070 Mobile]
 
 pci:v000010DEd00001BB0*
  ID_MODEL_FROM_DATABASE=GP104GL [Quadro P5000]
@@ -31634,14 +31763,26 @@ pci:v000010DEd00001BB0*
 pci:v000010DEd00001BB1*
  ID_MODEL_FROM_DATABASE=GP104GL
 
+pci:v000010DEd00001BB3*
+ ID_MODEL_FROM_DATABASE=GP104GL [Tesla P4]
+
 pci:v000010DEd00001BB4*
  ID_MODEL_FROM_DATABASE=GP104GL
 
+pci:v000010DEd00001BB6*
+ ID_MODEL_FROM_DATABASE=GP104GLM [Quadro P5000 Mobile]
+
+pci:v000010DEd00001BB7*
+ ID_MODEL_FROM_DATABASE=GP104GLM [Quadro P4000 Mobile]
+
+pci:v000010DEd00001BB8*
+ ID_MODEL_FROM_DATABASE=GP104GLM [Quadro P3000 Mobile]
+
 pci:v000010DEd00001BE0*
- ID_MODEL_FROM_DATABASE=GP104M [GeForce GTX 1080]
+ ID_MODEL_FROM_DATABASE=GP104M [GeForce GTX 1080 Mobile]
 
 pci:v000010DEd00001BE1*
- ID_MODEL_FROM_DATABASE=GP104M [GeForce GTX 1070]
+ ID_MODEL_FROM_DATABASE=GP104M [GeForce GTX 1070 Mobile]
 
 pci:v000010DEd00001C00*
  ID_MODEL_FROM_DATABASE=GP106
@@ -31656,7 +31797,7 @@ pci:v000010DEd00001C03*
  ID_MODEL_FROM_DATABASE=GP106 [GeForce GTX 1060 6GB]
 
 pci:v000010DEd00001C20*
- ID_MODEL_FROM_DATABASE=GP106M [GeForce GTX 1060]
+ ID_MODEL_FROM_DATABASE=GP106M [GeForce GTX 1060 Mobile]
 
 pci:v000010DEd00001C30*
  ID_MODEL_FROM_DATABASE=GP106GL
@@ -31665,7 +31806,7 @@ pci:v000010DEd00001C35*
  ID_MODEL_FROM_DATABASE=GP106
 
 pci:v000010DEd00001C60*
- ID_MODEL_FROM_DATABASE=GP106M [GeForce GTX 1060]
+ ID_MODEL_FROM_DATABASE=GP106M [GeForce GTX 1060 Mobile]
 
 pci:v000010DEd00001C70*
  ID_MODEL_FROM_DATABASE=GP106GL
@@ -31679,6 +31820,15 @@ pci:v000010DEd00001C81*
 pci:v000010DEd00001C82*
  ID_MODEL_FROM_DATABASE=GP107 [GeForce GTX 1050 Ti]
 
+pci:v000010DEd00001C8C*
+ ID_MODEL_FROM_DATABASE=GP107M [GeForce GTX 1050 Ti Mobile]
+
+pci:v000010DEd00001C8D*
+ ID_MODEL_FROM_DATABASE=GP107M [GeForce GTX 1050 Mobile]
+
+pci:v000010DEd00001C8E*
+ ID_MODEL_FROM_DATABASE=GP107M
+
 pci:v000010DEd00001CA7*
  ID_MODEL_FROM_DATABASE=GP107GL
 
@@ -35886,7 +36036,16 @@ pci:v0000111Fd00005243*
  ID_MODEL_FROM_DATABASE=Frame capture bus interface
 
 pci:v00001120*
- ID_VENDOR_FROM_DATABASE=EMC Corporation
+ ID_VENDOR_FROM_DATABASE=Dell EMC
+
+pci:v00001120d00002306*
+ ID_MODEL_FROM_DATABASE=Unity Fibre Channel Controller
+
+pci:v00001120d00002501*
+ ID_MODEL_FROM_DATABASE=Unity Ethernet Controller
+
+pci:v00001120d00002505*
+ ID_MODEL_FROM_DATABASE=Unity Fibre Channel Controller
 
 pci:v00001121*
  ID_VENDOR_FROM_DATABASE=Zilog
@@ -39152,6 +39311,9 @@ pci:v0000119Ed00000003*
 pci:v0000119F*
  ID_VENDOR_FROM_DATABASE=Bull HN Information Systems
 
+pci:v0000119Fd00001081*
+ ID_MODEL_FROM_DATABASE=BXI Host Channel Adapter
+
 pci:v000011A0*
  ID_VENDOR_FROM_DATABASE=Convex Computer Corporation
 
@@ -40742,6 +40904,9 @@ pci:v000011F8d00007384*
 pci:v000011F8d00008000*
  ID_MODEL_FROM_DATABASE=PM8000  [SPC - SAS Protocol Controller]
 
+pci:v000011F8d00008009*
+ ID_MODEL_FROM_DATABASE=PM8009 SPCve 8x6G
+
 pci:v000011F8d00008032*
  ID_MODEL_FROM_DATABASE=ATTO Celerity FC8xEN
 
@@ -40781,6 +40946,12 @@ pci:v000011F8d00008072*
 pci:v000011F8d00008073*
  ID_MODEL_FROM_DATABASE=PM8073 Tachyon SPCve 12G 16-port SAS/SATA controller
 
+pci:v000011F8d00008531*
+ ID_MODEL_FROM_DATABASE=PM8531 PFX 24xG3 Fanout PCIe Switches
+
+pci:v000011F8d00008546*
+ ID_MODEL_FROM_DATABASE=PM8546 B-FEIP PSX 96xG3 PCIe Storage Switch
+
 pci:v000011F9*
  ID_VENDOR_FROM_DATABASE=I-Cube Inc
 
@@ -47379,7 +47550,7 @@ pci:v00001425d00005083*
  ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller
 
 pci:v00001425d00005084*
- ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller
+ ID_MODEL_FROM_DATABASE=T540-5084 Unified Wire Ethernet Controller
 
 pci:v00001425d00005085*
  ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller
@@ -47435,6 +47606,18 @@ pci:v00001425d0000509B*
 pci:v00001425d0000509C*
  ID_MODEL_FROM_DATABASE=T520-509C Unified Wire Ethernet Controller
 
+pci:v00001425d0000509D*
+ ID_MODEL_FROM_DATABASE=T540-509D Unified Wire Ethernet Controller
+
+pci:v00001425d0000509E*
+ ID_MODEL_FROM_DATABASE=T520-509E Unified Wire Ethernet Controller
+
+pci:v00001425d0000509F*
+ ID_MODEL_FROM_DATABASE=T540-509F Unified Wire Ethernet Controller
+
+pci:v00001425d000050A0*
+ ID_MODEL_FROM_DATABASE=T540-50A0 Unified Wire Ethernet Controller
+
 pci:v00001425d00005401*
  ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller
 
@@ -47520,7 +47703,7 @@ pci:v00001425d00005483*
  ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller
 
 pci:v00001425d00005484*
- ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller
+ ID_MODEL_FROM_DATABASE=T540-5084 Unified Wire Ethernet Controller
 
 pci:v00001425d00005485*
  ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller
@@ -47576,6 +47759,18 @@ pci:v00001425d0000549B*
 pci:v00001425d0000549C*
  ID_MODEL_FROM_DATABASE=T520-509C Unified Wire Ethernet Controller
 
+pci:v00001425d0000549D*
+ ID_MODEL_FROM_DATABASE=T540-509D Unified Wire Ethernet Controller
+
+pci:v00001425d0000549E*
+ ID_MODEL_FROM_DATABASE=T520-509E Unified Wire Ethernet Controller
+
+pci:v00001425d0000549F*
+ ID_MODEL_FROM_DATABASE=T540-509F Unified Wire Ethernet Controller
+
+pci:v00001425d000054A0*
+ ID_MODEL_FROM_DATABASE=T540-50A0 Unified Wire Ethernet Controller
+
 pci:v00001425d00005501*
  ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller
 
@@ -47661,7 +47856,7 @@ pci:v00001425d00005583*
  ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Storage Controller
 
 pci:v00001425d00005584*
- ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Storage Controller
+ ID_MODEL_FROM_DATABASE=T540-5084 Unified Wire Storage Controller
 
 pci:v00001425d00005585*
  ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller
@@ -47717,6 +47912,18 @@ pci:v00001425d0000559B*
 pci:v00001425d0000559C*
  ID_MODEL_FROM_DATABASE=T520-509C Unified Wire Storage Controller
 
+pci:v00001425d0000559D*
+ ID_MODEL_FROM_DATABASE=T540-509D Unified Wire Storage Controller
+
+pci:v00001425d0000559E*
+ ID_MODEL_FROM_DATABASE=T520-509E Unified Wire Storage Controller
+
+pci:v00001425d0000559F*
+ ID_MODEL_FROM_DATABASE=T540-509F Unified Wire Storage Controller
+
+pci:v00001425d000055A0*
+ ID_MODEL_FROM_DATABASE=T540-50A0 Unified Wire Storage Controller
+
 pci:v00001425d00005601*
  ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Storage Controller
 
@@ -47802,7 +48009,7 @@ pci:v00001425d00005683*
  ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Storage Controller
 
 pci:v00001425d00005684*
- ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Storage Controller
+ ID_MODEL_FROM_DATABASE=T540-5084 Unified Wire Storage Controller
 
 pci:v00001425d00005685*
  ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Storage Controller
@@ -47858,6 +48065,18 @@ pci:v00001425d0000569B*
 pci:v00001425d0000569C*
  ID_MODEL_FROM_DATABASE=T520-509C Unified Wire Storage Controller
 
+pci:v00001425d0000569D*
+ ID_MODEL_FROM_DATABASE=T540-509D Unified Wire Storage Controller
+
+pci:v00001425d0000569E*
+ ID_MODEL_FROM_DATABASE=T520-509E Unified Wire Storage Controller
+
+pci:v00001425d0000569F*
+ ID_MODEL_FROM_DATABASE=T540-509F Unified Wire Storage Controller
+
+pci:v00001425d000056A0*
+ ID_MODEL_FROM_DATABASE=T540-50A0 Unified Wire Storage Controller
+
 pci:v00001425d00005701*
  ID_MODEL_FROM_DATABASE=T520-CR Unified Wire Ethernet Controller
 
@@ -48060,7 +48279,7 @@ pci:v00001425d00005883*
  ID_MODEL_FROM_DATABASE=T540-5083 Unified Wire Ethernet Controller [VF]
 
 pci:v00001425d00005884*
- ID_MODEL_FROM_DATABASE=T580-5084 Unified Wire Ethernet Controller [VF]
+ ID_MODEL_FROM_DATABASE=T540-5084 Unified Wire Ethernet Controller [VF]
 
 pci:v00001425d00005885*
  ID_MODEL_FROM_DATABASE=T580-5085 Unified Wire Ethernet Controller [VF]
@@ -48116,6 +48335,18 @@ pci:v00001425d0000589B*
 pci:v00001425d0000589C*
  ID_MODEL_FROM_DATABASE=T520-509C Unified Wire Ethernet Controller [VF]
 
+pci:v00001425d0000589D*
+ ID_MODEL_FROM_DATABASE=T540-509D Unified Wire Ethernet Controller [VF]
+
+pci:v00001425d0000589E*
+ ID_MODEL_FROM_DATABASE=T520-509E Unified Wire Ethernet Controller [VF]
+
+pci:v00001425d0000589F*
+ ID_MODEL_FROM_DATABASE=T540-509F Unified Wire Ethernet Controller [VF]
+
+pci:v00001425d000058A0*
+ ID_MODEL_FROM_DATABASE=T540-50A0 Unified Wire Ethernet Controller [VF]
+
 pci:v00001425d00006001*
  ID_MODEL_FROM_DATABASE=T6225-CR Unified Wire Ethernet Controller
 
@@ -48155,6 +48386,12 @@ pci:v00001425d00006014*
 pci:v00001425d00006015*
  ID_MODEL_FROM_DATABASE=T6201-BT Unified Wire Ethernet Controller
 
+pci:v00001425d00006080*
+ ID_MODEL_FROM_DATABASE=T6225-6080 Unified Wire Ethernet Controller
+
+pci:v00001425d00006081*
+ ID_MODEL_FROM_DATABASE=T62100-6081 Unified Wire Ethernet Controller
+
 pci:v00001425d00006401*
  ID_MODEL_FROM_DATABASE=T6225-CR Unified Wire Ethernet Controller
 
@@ -48194,6 +48431,12 @@ pci:v00001425d00006414*
 pci:v00001425d00006415*
  ID_MODEL_FROM_DATABASE=T6201-BT Unified Wire Ethernet Controller
 
+pci:v00001425d00006480*
+ ID_MODEL_FROM_DATABASE=T6225-6080 Unified Wire Ethernet Controller
+
+pci:v00001425d00006481*
+ ID_MODEL_FROM_DATABASE=T62100-6081 Unified Wire Ethernet Controller
+
 pci:v00001425d00006501*
  ID_MODEL_FROM_DATABASE=T6225-CR Unified Wire Storage Controller
 
@@ -48233,6 +48476,12 @@ pci:v00001425d00006514*
 pci:v00001425d00006515*
  ID_MODEL_FROM_DATABASE=T6201-BT Unified Wire Storage Controller
 
+pci:v00001425d00006580*
+ ID_MODEL_FROM_DATABASE=T6225-6080 Unified Wire Storage Controller
+
+pci:v00001425d00006581*
+ ID_MODEL_FROM_DATABASE=T62100-6081 Unified Wire Storage Controller
+
 pci:v00001425d00006601*
  ID_MODEL_FROM_DATABASE=T6225-CR Unified Wire Storage Controller
 
@@ -48272,6 +48521,12 @@ pci:v00001425d00006614*
 pci:v00001425d00006615*
  ID_MODEL_FROM_DATABASE=T6201-BT Unified Wire Storage Controller
 
+pci:v00001425d00006680*
+ ID_MODEL_FROM_DATABASE=T6225-6080 Unified Wire Storage Controller
+
+pci:v00001425d00006681*
+ ID_MODEL_FROM_DATABASE=T62100-6081 Unified Wire Storage Controller
+
 pci:v00001425d00006801*
  ID_MODEL_FROM_DATABASE=T6225-CR Unified Wire Ethernet Controller [VF]
 
@@ -48311,6 +48566,12 @@ pci:v00001425d00006814*
 pci:v00001425d00006815*
  ID_MODEL_FROM_DATABASE=T6201-BT Unified Wire Ethernet Controller [VF]
 
+pci:v00001425d00006880*
+ ID_MODEL_FROM_DATABASE=T6225-6080 Unified Wire Ethernet Controller [VF]
+
+pci:v00001425d00006881*
+ ID_MODEL_FROM_DATABASE=T62100-6081 Unified Wire Ethernet Controller [VF]
+
 pci:v00001425d0000A000*
  ID_MODEL_FROM_DATABASE=PE10K Unified Wire Ethernet Controller
 
@@ -48516,7 +48777,10 @@ pci:v0000144Dd0000A800*
  ID_MODEL_FROM_DATABASE=XP941 PCIe SSD
 
 pci:v0000144Dd0000A802*
- ID_MODEL_FROM_DATABASE=NVMe SSD Controller
+ ID_MODEL_FROM_DATABASE=NVMe SSD Controller SM951/PM951
+
+pci:v0000144Dd0000A804*
+ ID_MODEL_FROM_DATABASE=NVMe SSD Controller SM961/PM961
 
 pci:v0000144Dd0000A820*
  ID_MODEL_FROM_DATABASE=NVMe SSD Controller 171X
@@ -48890,6 +49154,9 @@ pci:v000014A3*
 pci:v000014A4*
  ID_VENDOR_FROM_DATABASE=Lite-On Technology Corporation
 
+pci:v000014A4d000022F1*
+ ID_MODEL_FROM_DATABASE=M8Pe Series NVMe SSD
+
 pci:v000014A4d00004318*
  ID_MODEL_FROM_DATABASE=Broadcom BCM4318 [AirForce One 54g] 802.11g WLAN Controller
 
@@ -50396,6 +50663,9 @@ pci:v000014E4d000016BE*
 pci:v000014E4d000016BF*
  ID_MODEL_FROM_DATABASE=BCM57765/57785 xD-Picture Card Reader
 
+pci:v000014E4d000016C1*
+ ID_MODEL_FROM_DATABASE=NetXtreme-E RDMA Virtual Function
+
 pci:v000014E4d000016C6*
  ID_MODEL_FROM_DATABASE=NetXtreme BCM5702A3 Gigabit Ethernet
 
@@ -50534,9 +50804,15 @@ pci:v000014E4d000016E9*
 pci:v000014E4d000016EC*
  ID_MODEL_FROM_DATABASE=BCM57414 NetXtreme-E Ethernet Partition
 
+pci:v000014E4d000016ED*
+ ID_MODEL_FROM_DATABASE=BCM57414 NetXtreme-E RDMA Partition
+
 pci:v000014E4d000016EE*
  ID_MODEL_FROM_DATABASE=BCM57416 NetXtreme-E Ethernet Partition
 
+pci:v000014E4d000016EF*
+ ID_MODEL_FROM_DATABASE=BCM57416 NetXtreme-E RDMA Partition
+
 pci:v000014E4d000016F3*
  ID_MODEL_FROM_DATABASE=NetXtreme BCM5727 Gigabit Ethernet PCIe
 
@@ -53156,6 +53432,9 @@ pci:v0000159A*
 pci:v0000159B*
  ID_VENDOR_FROM_DATABASE=Faraday Technology Corp
 
+pci:v0000159Bd00004321*
+ ID_MODEL_FROM_DATABASE=StorLink SL3516 (Gemini) Host Bridge
+
 pci:v0000159C*
  ID_VENDOR_FROM_DATABASE=Stratus Computer Systems
 
@@ -53285,6 +53564,9 @@ pci:v000015B3d00000191*
 pci:v000015B3d000001F6*
  ID_MODEL_FROM_DATABASE=MT27500 Family [ConnectX-3 Flash Recovery]
 
+pci:v000015B3d000001F8*
+ ID_MODEL_FROM_DATABASE=MT27520 Family [ConnectX-3 Pro Flash Recovery]
+
 pci:v000015B3d000001FF*
  ID_MODEL_FROM_DATABASE=MT27600 Family [Connect-IB Flash Recovery]
 
@@ -53297,6 +53579,12 @@ pci:v000015B3d0000020B*
 pci:v000015B3d0000020D*
  ID_MODEL_FROM_DATABASE=MT28800 Family [ConnectX-5 Flash Recovery]
 
+pci:v000015B3d0000020F*
+ ID_MODEL_FROM_DATABASE=MT28908A0 Family [ConnectX-6 Flash Recovery]
+
+pci:v000015B3d00000211*
+ ID_MODEL_FROM_DATABASE=MT416842 Family [BlueField SoC Flash Recovery]
+
 pci:v000015B3d0000024E*
  ID_MODEL_FROM_DATABASE=MT53100 [Spectrum-2, Flash recovery mode]
 
@@ -53309,6 +53597,9 @@ pci:v000015B3d00000262*
 pci:v000015B3d00000263*
  ID_MODEL_FROM_DATABASE=MT27710 [ConnectX-4 Lx Programmable Virtual Function] EN
 
+pci:v000015B3d00000281*
+ ID_MODEL_FROM_DATABASE=NPS-600 Flash Recovery
+
 pci:v000015B3d00001002*
  ID_MODEL_FROM_DATABASE=MT25400 Family [ConnectX-2 Virtual Function]
 
@@ -53421,10 +53712,10 @@ pci:v000015B3d0000101A*
  ID_MODEL_FROM_DATABASE=MT28800 Family [ConnectX-5 Ex Virtual Function]
 
 pci:v000015B3d0000101B*
- ID_MODEL_FROM_DATABASE=MT28831
+ ID_MODEL_FROM_DATABASE=MT28908 Family [ConnectX-6]
 
 pci:v000015B3d0000101C*
- ID_MODEL_FROM_DATABASE=MT28840
+ ID_MODEL_FROM_DATABASE=MT28908 Family [ConnectX-6 Virtual Function]
 
 pci:v000015B3d0000101D*
  ID_MODEL_FROM_DATABASE=MT28841
@@ -53553,10 +53844,10 @@ pci:v000015B3d00007123*
  ID_MODEL_FROM_DATABASE=NPS-600 network interface VF
 
 pci:v000015B3d0000A2D0*
- ID_MODEL_FROM_DATABASE=MT416842
+ ID_MODEL_FROM_DATABASE=MT416842 BlueField SoC Crypto enabled
 
 pci:v000015B3d0000A2D1*
- ID_MODEL_FROM_DATABASE=MT416842
+ ID_MODEL_FROM_DATABASE=MT416842 BlueField SoC Crypto disabled
 
 pci:v000015B3d0000A2D3*
  ID_MODEL_FROM_DATABASE=MT416842 BlueField multicore SoC family VF
@@ -55523,6 +55814,9 @@ pci:v000016D5d00007014*
 pci:v000016D5d00007016*
  ID_MODEL_FROM_DATABASE=AP470 48-Channel TTL Level Digital Input/Output Module
 
+pci:v000016D5d00007017*
+ ID_MODEL_FROM_DATABASE=AP323 16-bit, 20 or 40 Channel Analog Input Module
+
 pci:v000016D5d00007018*
  ID_MODEL_FROM_DATABASE=AP408: 32-Channel Digital I/O Module
 
@@ -55830,6 +56124,15 @@ pci:v0000177Dd00009702sv0000177Dsd00000003*
  ID_MODEL_FROM_DATABASE=CN23XX [LiquidIO II] Intelligent Adapter (CN2350 [LiquidIO II] 2-port 10GbE Intelligent adapter)
 
 pci:v0000177Dd00009702sv0000177Dsd00000004*
+ ID_MODEL_FROM_DATABASE=CN23XX [LiquidIO II] Intelligent Adapter (CN2350 [LiquidIO II] 2-port 10GbE Intelligent adapter)
+
+pci:v0000177Dd00009702sv0000177Dsd00000005*
+ ID_MODEL_FROM_DATABASE=CN23XX [LiquidIO II] Intelligent Adapter (CN2360 [LiquidIO II] 2-port 10GbE Intelligent adapter)
+
+pci:v0000177Dd00009702sv0000177Dsd00000006*
+ ID_MODEL_FROM_DATABASE=CN23XX [LiquidIO II] Intelligent Adapter (CN2360 [LiquidIO II] 2-port 25GbE Intelligent adapter)
+
+pci:v0000177Dd00009702sv0000177Dsd00000007*
  ID_MODEL_FROM_DATABASE=CN23XX [LiquidIO II] Intelligent Adapter (CN2350 [LiquidIO II] 2-port 25GbE Intelligent adapter)
 
 pci:v0000177Dd00009703*
@@ -55841,6 +56144,18 @@ pci:v0000177Dd00009712*
 pci:v0000177Dd00009712sv0000177Dsd00000003*
  ID_MODEL_FROM_DATABASE=CN23XX [LiquidIO II] SRIOV Virtual Function (CN2350 [LiquidIO II] 2-port 10GbE SRIOV Virtual Function)
 
+pci:v0000177Dd00009712sv0000177Dsd00000004*
+ ID_MODEL_FROM_DATABASE=CN23XX [LiquidIO II] SRIOV Virtual Function (CN2350 [LiquidIO II] 2-port 10GbE SRIOV Virtual Function)
+
+pci:v0000177Dd00009712sv0000177Dsd00000005*
+ ID_MODEL_FROM_DATABASE=CN23XX [LiquidIO II] SRIOV Virtual Function (CN2360 [LiquidIO II] 2-port 10GbE SRIOV Virtual Function)
+
+pci:v0000177Dd00009712sv0000177Dsd00000006*
+ ID_MODEL_FROM_DATABASE=CN23XX [LiquidIO II] SRIOV Virtual Function (CN2360 [LiquidIO II] 2-port 25GbE SRIOV Virtual Function)
+
+pci:v0000177Dd00009712sv0000177Dsd00000007*
+ ID_MODEL_FROM_DATABASE=CN23XX [LiquidIO II] SRIOV Virtual Function (CN2350 [LiquidIO II] 2-port 25GbE SRIOV Virtual Function)
+
 pci:v0000177Dd00009713*
  ID_MODEL_FROM_DATABASE=CN23XX [LiquidIO II] NVMe SRIOV Virtual Function
 
@@ -56267,6 +56582,9 @@ pci:v000017D3d00001170*
 pci:v000017D3d00001201*
  ID_MODEL_FROM_DATABASE=ARC-1200 2-Port PCI-Express to SATA II RAID Controller
 
+pci:v000017D3d00001203*
+ ID_MODEL_FROM_DATABASE=ARC-1203 2/4/8 Port PCIe 2.0 to SATA 6Gb RAID Controller
+
 pci:v000017D3d00001210*
  ID_MODEL_FROM_DATABASE=ARC-1210 4-Port PCI-Express to SATA RAID Controller
 
@@ -57206,7 +57524,7 @@ pci:v000018C3*
 pci:v000018C3d00000720*
  ID_MODEL_FROM_DATABASE=nGene PCI-Express Multimedia Controller
 
-pci:v000018C3d00000720sv000007CAsd0000032E*
+pci:v000018C3d00000720sv00001461sd0000032E*
  ID_MODEL_FROM_DATABASE=nGene PCI-Express Multimedia Controller (Hybrid M779 PCI-E)
 
 pci:v000018C8*
@@ -57488,6 +57806,12 @@ pci:v000018F4d00000165*
 pci:v000018F4d00000175*
  ID_MODEL_FROM_DATABASE=NT20E3-2-PTP Network Adapter 2x10Gb
 
+pci:v000018F4d00000185*
+ ID_MODEL_FROM_DATABASE=NT40A01 Network Adapter
+
+pci:v000018F4d000001A5*
+ ID_MODEL_FROM_DATABASE=NT200A01 Network Adapter
+
 pci:v000018F6*
  ID_VENDOR_FROM_DATABASE=NextIO
 
@@ -57753,208 +58077,214 @@ pci:v00001924d00000710sv00001924sd00005202*
  ID_MODEL_FROM_DATABASE=SFC4000 rev B [Solarstorm] (SFN4112F-R2)
 
 pci:v00001924d00000803*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm]
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller
 
 pci:v00001924d00000803sv00001014sd00000478*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (2-port 10GbE Low-Latency (R7))
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (2-port 10GbE Low-Latency (R7))
 
 pci:v00001924d00000803sv00001014sd00000479*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (2-port 10GbE OpenOnload (R7))
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (2-port 10GbE OpenOnload (R7))
 
 pci:v00001924d00000803sv00001014sd000004A7*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Solarflare 10Gb Low-latency Dual-port HBA (R7))
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (Solarflare 10Gb Low-latency Dual-port HBA (R7))
 
 pci:v00001924d00000803sv00001014sd000004A8*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Solarflare 10Gb Dual-port HBA (R7))
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (Solarflare 10Gb Dual-port HBA (R7))
 
 pci:v00001924d00000803sv0000103Csd00002132*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Ethernet 10Gb 2-port 570FLR-SFP+ Adapter (R1))
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (Ethernet 10Gb 2-port 570FLR-SFP+ Adapter (R1))
 
 pci:v00001924d00000803sv0000103Csd00002136*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (Ethernet 10Gb 2-port 570SFP+ Adapter (R7))
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (Ethernet 10Gb 2-port 570SFP+ Adapter (R7))
 
 pci:v00001924d00000803sv00001924sd00001201*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFA6902F-R1 SFP+ AOE Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFA6902F-R1 SFP+ AOE Adapter)
 
 pci:v00001924d00000803sv00001924sd00006200*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R0 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5122F-R0 SFP+ Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00006201*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R1 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5122F-R1 SFP+ Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00006202*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R2 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5122F-R2 SFP+ Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00006204*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R4 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5122F-R4 SFP+ Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00006205*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R5 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5122F-R5 SFP+ Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00006206*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R6 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5122F-R6 SFP+ Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00006207*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5122F-R7 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5122F-R7 SFP+ Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00006210*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5322F-R0 SFP+ Precision Time Synchronization Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5322F-R0 SFP+ Precision Time Synchronization Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00006211*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5322F-R1 SFP+ Precision Time Synchronization Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5322F-R1 SFP+ Precision Time Synchronization Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00006217*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5322F-R7 SFP+ Precision Time Synchronization Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5322F-R7 SFP+ Precision Time Synchronization Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00006227*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN6122F-R7 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN6122F-R7 SFP+ Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00006237*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN6322F-R7 SFP+ Precision Time Synchronization Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN6322F-R7 SFP+ Precision Time Synchronization Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00006501*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5802K-R1 Mezzanine Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5802K-R1 Mezzanine Adapter)
 
 pci:v00001924d00000803sv00001924sd00006511*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5814H-R1 Mezzanine Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5814H-R1 Mezzanine Adapter)
 
 pci:v00001924d00000803sv00001924sd00006521*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5812H-R1 Mezzanine Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5812H-R1 Mezzanine Adapter)
 
 pci:v00001924d00000803sv00001924sd00006562*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN6832F-R2 SFP+ Mezzanine Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN6832F-R2 SFP+ Mezzanine Adapter)
 
 pci:v00001924d00000803sv00001924sd00006A05*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5112F-R5 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5112F-R5 SFP+ Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00006A06*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5112F-R6 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5112F-R6 SFP+ Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00007206*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5162F-R6 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5162F-R6 SFP+ Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00007207*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5162F-R7 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5162F-R7 SFP+ Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00007A06*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5152F-R6 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5152F-R6 SFP+ Server Adapter)
 
 pci:v00001924d00000803sv00001924sd00007A07*
- ID_MODEL_FROM_DATABASE=SFC9020 [Solarstorm] (SFN5152F-R7 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (SFN5152F-R7 SFP+ Server Adapter)
 
 pci:v00001924d00000813*
- ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm]
+ ID_MODEL_FROM_DATABASE=SFL9021 10GBASE-T Ethernet Controller
 
 pci:v00001924d00000813sv00001924sd00006100*
- ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R0 10GBASE-T Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFL9021 10GBASE-T Ethernet Controller (SFN5121T-R0 10GBASE-T Server Adapter)
 
 pci:v00001924d00000813sv00001924sd00006102*
- ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R2 10GBASE-T Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFL9021 10GBASE-T Ethernet Controller (SFN5121T-R2 10GBASE-T Server Adapter)
 
 pci:v00001924d00000813sv00001924sd00006103*
- ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R3 10GBASE-T Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFL9021 10GBASE-T Ethernet Controller (SFN5121T-R3 10GBASE-T Server Adapter)
 
 pci:v00001924d00000813sv00001924sd00006104*
- ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5121T-R4 10GBASE-T Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFL9021 10GBASE-T Ethernet Controller (SFN5121T-R4 10GBASE-T Server Adapter)
 
 pci:v00001924d00000813sv00001924sd00006902*
- ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5111T-R2 10GBASE-T Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFL9021 10GBASE-T Ethernet Controller (SFN5111T-R2 10GBASE-T Server Adapter)
 
 pci:v00001924d00000813sv00001924sd00006904*
- ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5111T-R4 10GBASE-T Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFL9021 10GBASE-T Ethernet Controller (SFN5111T-R4 10GBASE-T Server Adapter)
 
 pci:v00001924d00000813sv00001924sd00007104*
- ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5161T-R4 10GBASE-T Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFL9021 10GBASE-T Ethernet Controller (SFN5161T-R4 10GBASE-T Server Adapter)
 
 pci:v00001924d00000813sv00001924sd00007904*
- ID_MODEL_FROM_DATABASE=SFL9021 [Solarstorm] (SFN5151T-R4 10GBASE-T Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFL9021 10GBASE-T Ethernet Controller (SFN5151T-R4 10GBASE-T Server Adapter)
 
 pci:v00001924d00000903*
- ID_MODEL_FROM_DATABASE=SFC9120
+ ID_MODEL_FROM_DATABASE=SFC9120 10G Ethernet Controller
 
 pci:v00001924d00000903sv00001014sd000004CC*
- ID_MODEL_FROM_DATABASE=SFC9120 (SFN7122F-R2 2x10GbE SFP+ Flareon Ultra)
+ ID_MODEL_FROM_DATABASE=SFC9120 10G Ethernet Controller (SFN7122F-R2 2x10GbE SFP+ Flareon Ultra)
 
 pci:v00001924d00000903sv00001924sd00008002*
- ID_MODEL_FROM_DATABASE=SFC9120 (SFN7122F-R1 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9120 10G Ethernet Controller (SFN7122F-R1 SFP+ Server Adapter)
 
 pci:v00001924d00000903sv00001924sd00008003*
- ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9120 10G Ethernet Controller (SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter)
 
 pci:v00001924d00000903sv00001924sd00008006*
- ID_MODEL_FROM_DATABASE=SFC9120 (SFN7022F-R1 SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9120 10G Ethernet Controller (SFN7022F-R1 SFP+ Server Adapter)
 
 pci:v00001924d00000903sv00001924sd00008007*
- ID_MODEL_FROM_DATABASE=SFC9120 (SFN7322F-R2 Precision Time SFP+ Server Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9120 10G Ethernet Controller (SFN7322F-R2 Precision Time SFP+ Server Adapter)
 
 pci:v00001924d00000903sv00001924sd00008009*
- ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9120 10G Ethernet Controller (SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter)
 
 pci:v00001924d00000903sv00001924sd0000800A*
- ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x02F-R2 Flareon 7000 Series 10G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9120 10G Ethernet Controller (SFN7x02F-R2 Flareon 7000 Series 10G Adapter)
 
 pci:v00001924d00000903sv00001924sd0000800C*
- ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x22F-R3 Flareon Ultra 7000 Series 10G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9120 10G Ethernet Controller (SFN7x22F-R3 Flareon Ultra 7000 Series 10G Adapter)
 
 pci:v00001924d00000903sv00001924sd0000800D*
- ID_MODEL_FROM_DATABASE=SFC9120 (SFN7x02F-R3 Flareon 7000 Series 10G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9120 10G Ethernet Controller (SFN7x02F-R3 Flareon 7000 Series 10G Adapter)
 
 pci:v00001924d00000903sv00001924sd00008010*
- ID_MODEL_FROM_DATABASE=SFC9120 (SFA7942Q-R1 QSFP+ AOE Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9120 10G Ethernet Controller (SFA7942Q-R1 QSFP+ AOE Adapter)
 
 pci:v00001924d00000903sv00001924sd00008015*
- ID_MODEL_FROM_DATABASE=SFC9120 (SFA7942Q-A5-0-R1 QSFP+ AOE Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9120 10G Ethernet Controller (SFA7942Q-A5-0-R1 QSFP+ AOE Adapter)
 
 pci:v00001924d00000923*
- ID_MODEL_FROM_DATABASE=SFC9140
+ ID_MODEL_FROM_DATABASE=SFC9140 10/40G Ethernet Controller
 
 pci:v00001924d00000923sv00001924sd0000800B*
- ID_MODEL_FROM_DATABASE=SFC9140 (SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9140 10/40G Ethernet Controller (SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter)
 
 pci:v00001924d00000923sv00001924sd0000800E*
- ID_MODEL_FROM_DATABASE=SFC9140 (SFN7x42Q-R2 Flareon Ultra 7000 Series 10/40G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9140 10/40G Ethernet Controller (SFN7x42Q-R2 Flareon Ultra 7000 Series 10/40G Adapter)
 
 pci:v00001924d00000923sv00001924sd0000800F*
- ID_MODEL_FROM_DATABASE=SFC9140 (SFN7xx4F-R1 Flareon Ultra 7000 Series 10G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9140 10/40G Ethernet Controller (SFN7xx4F-R1 Flareon Ultra 7000 Series 10G Adapter)
 
 pci:v00001924d00000A03*
- ID_MODEL_FROM_DATABASE=SFC9220
+ ID_MODEL_FROM_DATABASE=SFC9220 10/40G Ethernet Controller
 
 pci:v00001924d00000A03sv00001924sd00008011*
- ID_MODEL_FROM_DATABASE=SFC9220 (SFN 8022-R1 Solarflare Flareon 8000 Series 10G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9220 10/40G Ethernet Controller (SFN8022-R1 Flareon 8000 Series 10G Adapter)
 
 pci:v00001924d00000A03sv00001924sd00008012*
- ID_MODEL_FROM_DATABASE=SFC9220 (SFN8522-R1 Flareon Ultra 8000 Series 10G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9220 10/40G Ethernet Controller (SFN8522-R1 Flareon Ultra 8000 Series 10G Adapter)
 
 pci:v00001924d00000A03sv00001924sd00008013*
- ID_MODEL_FROM_DATABASE=SFC9220 (SFN8042-R1 Solarflare Flareon 8000 Series 10/40G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9220 10/40G Ethernet Controller (SFN8042-R1 Flareon 8000 Series 10/40G Adapter)
 
 pci:v00001924d00000A03sv00001924sd00008014*
- ID_MODEL_FROM_DATABASE=SFC9220 (SFN8542-R1 Flareon Ultra 8000 Series 10/40G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9220 10/40G Ethernet Controller (SFN8542-R1 Flareon Ultra 8000 Series 10/40G Adapter)
 
 pci:v00001924d00000A03sv00001924sd00008016*
- ID_MODEL_FROM_DATABASE=SFC9220 (SFN8022-R2 Flareon 8000 Series 10G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9220 10/40G Ethernet Controller (SFN8022-R2 Flareon 8000 Series 10G Adapter)
 
 pci:v00001924d00000A03sv00001924sd00008017*
- ID_MODEL_FROM_DATABASE=SFC9220 (SFN8522-R2 Flareon Ultra 8000 Series 10G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9220 10/40G Ethernet Controller (SFN8522-R2 Flareon Ultra 8000 Series 10G Adapter)
 
 pci:v00001924d00000A03sv00001924sd00008018*
- ID_MODEL_FROM_DATABASE=SFC9220 (SFN8042-R2 Flareon 8000 Series 10/40G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9220 10/40G Ethernet Controller (SFN8042-R2 Flareon 8000 Series 10/40G Adapter)
 
 pci:v00001924d00000A03sv00001924sd00008019*
- ID_MODEL_FROM_DATABASE=SFC9220 (SFN8542-R2 Flareon Ultra 8000 Series 10/40G Adapter)
+ ID_MODEL_FROM_DATABASE=SFC9220 10/40G Ethernet Controller (SFN8542-R2 Flareon Ultra 8000 Series 10/40G Adapter)
+
+pci:v00001924d00000A03sv00001924sd0000801A*
+ ID_MODEL_FROM_DATABASE=SFC9220 10/40G Ethernet Controller (SFN8722-R1 Flareon Ultra 8000 Series OCP 10G Adapter)
 
 pci:v00001924d00001803*
- ID_MODEL_FROM_DATABASE=SFC9020 Virtual Function [Solarstorm]
+ ID_MODEL_FROM_DATABASE=SFC9020 10G Ethernet Controller (Virtual Function)
 
 pci:v00001924d00001813*
- ID_MODEL_FROM_DATABASE=SFL9021 Virtual Function [Solarstorm]
+ ID_MODEL_FROM_DATABASE=SFL9021 10GBASE-T Ethernet Controller (Virtual Function)
 
 pci:v00001924d00001903*
- ID_MODEL_FROM_DATABASE=SFC9120 Virtual Function
+ ID_MODEL_FROM_DATABASE=SFC9120 10G Ethernet Controller (Virtual Function)
 
 pci:v00001924d00001923*
- ID_MODEL_FROM_DATABASE=SFC9140 Virtual Function
+ ID_MODEL_FROM_DATABASE=SFC9140 10/40G Ethernet Controller (Virtual Function)
+
+pci:v00001924d00001A03*
+ ID_MODEL_FROM_DATABASE=SFC9220 10/40G Ethernet Controller (Virtual Function)
 
 pci:v00001924d00006703*
  ID_MODEL_FROM_DATABASE=SFC4000 rev A iSCSI/Onload [Solarstorm]
@@ -58793,6 +59123,12 @@ pci:v000019E3d00005808*
 pci:v000019E3d0000DD52*
  ID_MODEL_FROM_DATABASE=DDRdrive X1-30
 
+pci:v000019E5*
+ ID_VENDOR_FROM_DATABASE=Huawei Technologies Co., Ltd.
+
+pci:v000019E5d00001711*
+ ID_MODEL_FROM_DATABASE=Hi1710 [iBMC Intelligent Management system chip w/VGA support]
+
 pci:v000019E7*
  ID_VENDOR_FROM_DATABASE=NET (Network Equipment Technologies)
 
@@ -59352,7 +59688,7 @@ pci:v00001B03d00007000*
  ID_MODEL_FROM_DATABASE=D7 Multiformat Broadcast HD/SD Encoder/Decoder/Transcoder
 
 pci:v00001B08*
- ID_VENDOR_FROM_DATABASE=MSC Vertriebs GmbH
+ ID_VENDOR_FROM_DATABASE=MSC Technologies GmbH
 
 pci:v00001B0A*
  ID_VENDOR_FROM_DATABASE=Pegatron
@@ -59921,9 +60257,15 @@ pci:v00001C2Cd000000A6*
 pci:v00001C2Cd000000A9*
  ID_MODEL_FROM_DATABASE=FBC2XGHH Capture 2x10Gb
 
+pci:v00001C2Cd000000AD*
+ ID_MODEL_FROM_DATABASE=FBC2CGG3HL Capture 2x200Gb
+
 pci:v00001C2Cd000000AF*
  ID_MODEL_FROM_DATABASE=Capture slave device
 
+pci:v00001C2Cd0000A001*
+ ID_MODEL_FROM_DATABASE=FBC2CGG3 Capture 2x200Gb
+
 pci:v00001C32*
  ID_VENDOR_FROM_DATABASE=Highland Technology, Inc.
 
@@ -59957,6 +60299,12 @@ pci:v00001C58d00000003sv00001014sd000004F5*
 pci:v00001C58d00000003sv00001014sd000004F6*
  ID_MODEL_FROM_DATABASE=Ultrastar SN100 Series NVMe SSD (PCIe3 3.2TB NVMe Flash Adapter)
 
+pci:v00001C5F*
+ ID_VENDOR_FROM_DATABASE=Beijing Memblaze Technology Co. Ltd.
+
+pci:v00001C5Fd00000540*
+ ID_MODEL_FROM_DATABASE=PBlaze4 NVMe SSD
+
 pci:v00001C63*
  ID_VENDOR_FROM_DATABASE=Science and Research Centre of Computer Technology (JSC "NICEVT")
 
@@ -60020,6 +60368,12 @@ pci:v00001CD2d00000304*
 pci:v00001CD2d00000305*
  ID_MODEL_FROM_DATABASE=Simulyzer-RT CompactPCI Serial CAN-1 card
 
+pci:v00001CD7*
+ ID_VENDOR_FROM_DATABASE=Nanjing Magewell Electronics Co., Ltd.
+
+pci:v00001CD7d00000010*
+ ID_MODEL_FROM_DATABASE=Pro Capture Endpoint
+
 pci:v00001CDD*
  ID_VENDOR_FROM_DATABASE=secunet Security Networks AG
 
@@ -60041,6 +60395,9 @@ pci:v00001CE4d00000004*
 pci:v00001CE4d00000005*
  ID_MODEL_FROM_DATABASE=ExaNIC X40
 
+pci:v00001CE4d00000006*
+ ID_MODEL_FROM_DATABASE=ExaNIC X10-HPT
+
 pci:v00001CF7*
  ID_VENDOR_FROM_DATABASE=Subspace Dynamics
 
@@ -60143,15 +60500,24 @@ pci:v00001D6Cd0000100C*
 pci:v00001D6Cd0000100D*
  ID_MODEL_FROM_DATABASE=AR-ARKA-FX0 [Arkville 32B DPDK Data Mover]
 
+pci:v00001D6Cd0000100Dsv00001D6Csd00002001*
+ ID_MODEL_FROM_DATABASE=AR-ARKA-FX0 [Arkville 32B DPDK Data Mover] (DPDK-Aware Virtual Function [Arkville VF])
+
 pci:v00001D6Cd0000100E*
  ID_MODEL_FROM_DATABASE=AR-ARKA-FX1 [Arkville 64B DPDK Data Mover]
 
+pci:v00001D6Cd0000100Esv00001D6Csd00002001*
+ ID_MODEL_FROM_DATABASE=AR-ARKA-FX1 [Arkville 64B DPDK Data Mover] (DPDK-Aware Virtual Function [Arkville VF])
+
 pci:v00001D6Cd00004200*
  ID_MODEL_FROM_DATABASE=A5PL-E1-10GETI [10 GbE Ethernet Traffic Instrument]
 
 pci:v00001D78*
  ID_VENDOR_FROM_DATABASE=DERA
 
+pci:v00001D7C*
+ ID_VENDOR_FROM_DATABASE=Aerotech, Inc.
+
 pci:v00001D8F*
  ID_VENDOR_FROM_DATABASE=Enyx
 
@@ -60282,7 +60648,7 @@ pci:v00001FC9d00004022sv00001186sd00004D00*
  ID_MODEL_FROM_DATABASE=TN9310 10GbE SFP+ Ethernet Adapter (DXE-810S 10GbE SFP+ Ethernet Adapter)
 
 pci:v00001FC9d00004022sv00001432sd00008103*
- ID_MODEL_FROM_DATABASE=TN9310 10GbE SFP+ Ethernet Adapter (EN-8102PF 10GbE SPF+ Ethernet Adapter)
+ ID_MODEL_FROM_DATABASE=TN9310 10GbE SFP+ Ethernet Adapter (10 Gigabit Ethernet SFP+ PCI Express Adapter)
 
 pci:v00001FC9d00004022sv00001FC9sd00003015*
  ID_MODEL_FROM_DATABASE=TN9310 10GbE SFP+ Ethernet Adapter (Ethernet Adapter)
@@ -60300,7 +60666,7 @@ pci:v00001FC9d00004025sv00001186sd00002900*
  ID_MODEL_FROM_DATABASE=TN9510 10GBase-T/NBASE-T Ethernet Adapter (DXE-810T 10GBase-T Ethernet Adapter)
 
 pci:v00001FC9d00004025sv00001432sd00008102*
- ID_MODEL_FROM_DATABASE=TN9510 10GBase-T/NBASE-T Ethernet Adapter (EN-8102P 10GbE Ethernet Adapter)
+ ID_MODEL_FROM_DATABASE=TN9510 10GBase-T/NBASE-T Ethernet Adapter (10 Gigabit Ethernet PCI Express Adapter)
 
 pci:v00001FC9d00004025sv00001FC9sd00003015*
  ID_MODEL_FROM_DATABASE=TN9510 10GBase-T/NBASE-T Ethernet Adapter (Ethernet Adapter)
@@ -60311,6 +60677,12 @@ pci:v00001FC9d00004026*
 pci:v00001FC9d00004027*
  ID_MODEL_FROM_DATABASE=TN9710P 10GBase-T/NBASE-T Ethernet Adapter
 
+pci:v00001FC9d00004027sv00001432sd00008104*
+ ID_MODEL_FROM_DATABASE=TN9710P 10GBase-T/NBASE-T Ethernet Adapter (10 Gigabit Ethernet PCI Express Adapter)
+
+pci:v00001FC9d00004027sv00001FC9sd00003015*
+ ID_MODEL_FROM_DATABASE=TN9710P 10GBase-T/NBASE-T Ethernet Adapter (Ethernet Adapter)
+
 pci:v00001FC9d00004527*
  ID_MODEL_FROM_DATABASE=TN9710Q 5GBase-T/NBASE-T Ethernet Adapter
 
@@ -60404,6 +60776,9 @@ pci:v00003000*
 pci:v00003112*
  ID_VENDOR_FROM_DATABASE=Satelco Ingenieria S.A.
 
+pci:v00003130*
+ ID_VENDOR_FROM_DATABASE=AUDIOTRAK
+
 pci:v00003142*
  ID_VENDOR_FROM_DATABASE=Post Impression Systems.
 
@@ -63062,6 +63437,69 @@ pci:v00008086d00000814*
 pci:v00008086d00000815*
  ID_MODEL_FROM_DATABASE=Moorestown SSP0
 
+pci:v00008086d00000817*
+ ID_MODEL_FROM_DATABASE=Medfield Serial IO I2C Controller #3
+
+pci:v00008086d00000818*
+ ID_MODEL_FROM_DATABASE=Medfield Serial IO I2C Controller #4
+
+pci:v00008086d00000819*
+ ID_MODEL_FROM_DATABASE=Medfield Serial IO I2C Controller #5
+
+pci:v00008086d0000081A*
+ ID_MODEL_FROM_DATABASE=Medfield GPIO Controller [Core]
+
+pci:v00008086d0000081B*
+ ID_MODEL_FROM_DATABASE=Medfield Serial IO HSUART Controller #1
+
+pci:v00008086d0000081C*
+ ID_MODEL_FROM_DATABASE=Medfield Serial IO HSUART Controller #2
+
+pci:v00008086d0000081D*
+ ID_MODEL_FROM_DATABASE=Medfield Serial IO HSUART Controller #3
+
+pci:v00008086d0000081E*
+ ID_MODEL_FROM_DATABASE=Medfield Serial IO HSUART DMA Controller
+
+pci:v00008086d0000081F*
+ ID_MODEL_FROM_DATABASE=Medfield GPIO Controller [AON]
+
+pci:v00008086d00000820*
+ ID_MODEL_FROM_DATABASE=Medfield SD Host Controller
+
+pci:v00008086d00000821*
+ ID_MODEL_FROM_DATABASE=Medfield SDIO Controller #1
+
+pci:v00008086d00000822*
+ ID_MODEL_FROM_DATABASE=Medfield SDIO Controller #2
+
+pci:v00008086d00000823*
+ ID_MODEL_FROM_DATABASE=Medfield eMMC Controller #0
+
+pci:v00008086d00000824*
+ ID_MODEL_FROM_DATABASE=Medfield eMMC Controller #1
+
+pci:v00008086d00000827*
+ ID_MODEL_FROM_DATABASE=Medfield Serial IO DMA Controller
+
+pci:v00008086d00000828*
+ ID_MODEL_FROM_DATABASE=Medfield Power Management Unit
+
+pci:v00008086d00000829*
+ ID_MODEL_FROM_DATABASE=Medfield USB Device Controller (OTG)
+
+pci:v00008086d0000082A*
+ ID_MODEL_FROM_DATABASE=Medfield SCU IPC
+
+pci:v00008086d0000082C*
+ ID_MODEL_FROM_DATABASE=Medfield Serial IO I2C Controller #0
+
+pci:v00008086d0000082D*
+ ID_MODEL_FROM_DATABASE=Medfield Serial IO I2C Controller #1
+
+pci:v00008086d0000082E*
+ ID_MODEL_FROM_DATABASE=Medfield Serial IO I2C Controller #2
+
 pci:v00008086d00000885*
  ID_MODEL_FROM_DATABASE=Centrino Wireless-N + WiMAX 6150
 
@@ -63707,6 +64145,9 @@ pci:v00008086d00000A2A*
 pci:v00008086d00000A2E*
  ID_MODEL_FROM_DATABASE=Haswell-ULT Integrated Graphics Controller
 
+pci:v00008086d00000A53*
+ ID_MODEL_FROM_DATABASE=DC P3520 SSD
+
 pci:v00008086d00000BE0*
  ID_MODEL_FROM_DATABASE=Atom Processor D2xxx/N2xxx Integrated Graphics Controller
 
@@ -64779,7 +65220,7 @@ pci:v00008086d00001019sv00008086sd00003025*
  ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (D875PBZ motherboard)
 
 pci:v00008086d00001019sv00008086sd0000302C*
- ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (Intel 82865G Mainboard (D865GBF))
+ ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (D865GBF Mainboard)
 
 pci:v00008086d00001019sv00008086sd00003427*
  ID_MODEL_FROM_DATABASE=82547EI Gigabit Ethernet Controller (S875WP1-E mainboard)
@@ -65373,7 +65814,7 @@ pci:v00008086d00001096sv000015D9sd00008680*
  ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) (X7DVL-E-O motherboard)
 
 pci:v00008086d00001096sv00008086sd00003476*
- ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) (Intel S5000PSLSATA Server Board)
+ ID_MODEL_FROM_DATABASE=80003ES2LAN Gigabit Ethernet Controller (Copper) (S5000PSLSATA Server Board)
 
 pci:v00008086d00001097*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB DPT LAN Controller (Fiber)
@@ -65834,6 +66275,9 @@ pci:v00008086d000010F8sv0000103Csd000018D0*
 pci:v00008086d000010F8sv00001059sd00000111*
  ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (T4007 10GbE interface)
 
+pci:v00008086d000010F8sv00001059sd00000130*
+ ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (T4009 10GbE interface)
+
 pci:v00008086d000010F8sv00008086sd0000000C*
  ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection (Ethernet X520 10GbE Dual Port KX4-KR Mezz)
 
@@ -65984,6 +66428,42 @@ pci:v00008086d00001161sv00008086sd00001161*
 pci:v00008086d00001162*
  ID_MODEL_FROM_DATABASE=Xscale 80200 Big Endian Companion Chip
 
+pci:v00008086d00001190*
+ ID_MODEL_FROM_DATABASE=Merrifield SD/SDIO/eMMC Controller
+
+pci:v00008086d00001191*
+ ID_MODEL_FROM_DATABASE=Merrifield Serial IO HSUART Controller
+
+pci:v00008086d00001192*
+ ID_MODEL_FROM_DATABASE=Merrifield Serial IO HSUART DMA Controller
+
+pci:v00008086d00001194*
+ ID_MODEL_FROM_DATABASE=Merrifield Serial IO SPI Controller
+
+pci:v00008086d00001195*
+ ID_MODEL_FROM_DATABASE=Merrifield Serial IO I2C Controller
+
+pci:v00008086d00001196*
+ ID_MODEL_FROM_DATABASE=Merrifield Serial IO I2C Controller
+
+pci:v00008086d00001199*
+ ID_MODEL_FROM_DATABASE=Merrifield GPIO Controller
+
+pci:v00008086d0000119E*
+ ID_MODEL_FROM_DATABASE=Merrifield USB Device Controller (OTG)
+
+pci:v00008086d000011A0*
+ ID_MODEL_FROM_DATABASE=Merrifield SCU IPC
+
+pci:v00008086d000011A1*
+ ID_MODEL_FROM_DATABASE=Merrifield Power Management Unit
+
+pci:v00008086d000011A2*
+ ID_MODEL_FROM_DATABASE=Merrifield Serial IO DMA Controller
+
+pci:v00008086d000011A5*
+ ID_MODEL_FROM_DATABASE=Merrifield Serial IO PWM Controller
+
 pci:v00008086d00001200*
  ID_MODEL_FROM_DATABASE=IXP1200 Network Processor
 
@@ -66968,6 +67448,12 @@ pci:v00008086d00001529*
 pci:v00008086d0000152A*
  ID_MODEL_FROM_DATABASE=82599 10 Gigabit Dual Port Backplane Connection with FCoE
 
+pci:v00008086d0000152E*
+ ID_MODEL_FROM_DATABASE=82599 Virtual Function
+
+pci:v00008086d00001530*
+ ID_MODEL_FROM_DATABASE=X540 Virtual Function
+
 pci:v00008086d00001533*
  ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection
 
@@ -67007,6 +67493,9 @@ pci:v00008086d00001537sv00001059sd00000111*
 pci:v00008086d00001537sv00001059sd00000120*
  ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection (T4008 1GbE interface)
 
+pci:v00008086d00001537sv00001059sd00000130*
+ ID_MODEL_FROM_DATABASE=I210 Gigabit Backplane Connection (T4009 1GbE interface)
+
 pci:v00008086d00001538*
  ID_MODEL_FROM_DATABASE=I210 Gigabit Network Connection
 
@@ -67133,6 +67622,9 @@ pci:v00008086d00001563sv00008086sd0000001A*
 pci:v00008086d00001563sv00008086sd00000022*
  ID_MODEL_FROM_DATABASE=Ethernet Controller 10G X550T (Ethernet Converged Network Adapter X550-T2)
 
+pci:v00008086d00001564*
+ ID_MODEL_FROM_DATABASE=X550 Virtual Function
+
 pci:v00008086d00001565*
  ID_MODEL_FROM_DATABASE=X550 Virtual Function
 
@@ -67191,17 +67683,23 @@ pci:v00008086d00001572sv0000103Csd000022FD*
  ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (HP Ethernet 10Gb 2-port 562SFP+ Adapter)
 
 pci:v00008086d00001572sv00001137sd00000000*
- ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged NIC X710-4)
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged NIC X710-DA)
 
 pci:v00008086d00001572sv00001137sd0000013B*
- ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged NIC X710-4)
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged NIC X710-DA4)
+
+pci:v00008086d00001572sv00001137sd0000020A*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged NIC X710-DA2)
 
 pci:v00008086d00001572sv00001590sd00000000*
- ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10GbE 4P 563SFP+ Adapter)
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+
 
 pci:v00008086d00001572sv00001590sd00000225*
  ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10GbE 4P 563SFP+ Adapter)
 
+pci:v00008086d00001572sv00001590sd0000022F*
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10Gb 2-port 564i Communication Board)
+
 pci:v00008086d00001572sv000017AAsd00000000*
  ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (ThinkServer X710 AnyFabric for 10GbE SFP+)
 
@@ -67251,7 +67749,7 @@ pci:v00008086d00001572sv00008086sd00000010*
  ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Converged Network Adapter X710)
 
 pci:v00008086d00001572sv00008086sd00004005*
- ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+ (Ethernet Controller XL710 for 10 Gigabit SFP+)
+ ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+
 
 pci:v00008086d00001572sv00008086sd00004006*
  ID_MODEL_FROM_DATABASE=Ethernet Controller X710 for 10GbE SFP+
@@ -67386,10 +67884,10 @@ pci:v00008086d00001588*
  ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 20GbE backplane
 
 pci:v00008086d00001588sv0000103Csd00000000*
- ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 20GbE backplane (HPE Ethernet 10/20Gb 2-port 660M Adapter)
+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 20GbE backplane (Ethernet 10/20Gb 2-port 660M Adapter)
 
 pci:v00008086d00001588sv0000103Csd000022FF*
- ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 20GbE backplane (HPE Ethernet 10/20Gb 2-port 660M Adapter)
+ ID_MODEL_FROM_DATABASE=Ethernet Controller XL710 for 20GbE backplane (Ethernet 10/20Gb 2-port 660M Adapter)
 
 pci:v00008086d00001589*
  ID_MODEL_FROM_DATABASE=Ethernet Controller X710/X557-AT 10GBASE-T
@@ -67466,6 +67964,9 @@ pci:v00008086d000015A5*
 pci:v00008086d000015A8*
  ID_MODEL_FROM_DATABASE=Ethernet Connection X552 Virtual Function
 
+pci:v00008086d000015A9*
+ ID_MODEL_FROM_DATABASE=X552 Virtual Function
+
 pci:v00008086d000015AA*
  ID_MODEL_FROM_DATABASE=Ethernet Connection X552 10 GbE Backplane
 
@@ -67484,6 +67985,12 @@ pci:v00008086d000015AD*
 pci:v00008086d000015AE*
  ID_MODEL_FROM_DATABASE=Ethernet Connection X552 1000BASE-T
 
+pci:v00008086d000015B0*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection X552 Backplane
+
+pci:v00008086d000015B4*
+ ID_MODEL_FROM_DATABASE=X553 Virtual Function
+
 pci:v00008086d000015B5*
  ID_MODEL_FROM_DATABASE=DSL6340 USB 3.1 Controller [Alpine Ridge]
 
@@ -67499,12 +68006,27 @@ pci:v00008086d000015B8*
 pci:v00008086d000015B9*
  ID_MODEL_FROM_DATABASE=Ethernet Connection (3) I219-LM
 
+pci:v00008086d000015BB*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection (7) I219-LM
+
+pci:v00008086d000015BC*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection (7) I219-V
+
+pci:v00008086d000015BD*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection (6) I219-LM
+
+pci:v00008086d000015BE*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection (6) I219-V
+
 pci:v00008086d000015BF*
  ID_MODEL_FROM_DATABASE=JHL6240 Thunderbolt 3 NHI (Low Power) [Alpine Ridge LP 2016]
 
 pci:v00008086d000015C0*
  ID_MODEL_FROM_DATABASE=JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016]
 
+pci:v00008086d000015C5*
+ ID_MODEL_FROM_DATABASE=X553 Virtual Function
+
 pci:v00008086d000015D0*
  ID_MODEL_FROM_DATABASE=Ethernet SDI Adapter FM10420-100GbE-QDA2
 
@@ -67950,7 +68472,7 @@ pci:v00008086d00001A38sv000015D9sd00008680*
  ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine (X7DVL-E-O motherboard)
 
 pci:v00008086d00001A38sv00008086sd00003476*
- ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine (Intel S5000PSLSATA Server Board)
+ ID_MODEL_FROM_DATABASE=5000 Series Chipset DMA Engine (S5000PSLSATA Server Board)
 
 pci:v00008086d00001A48*
  ID_MODEL_FROM_DATABASE=82597EX 10GbE Ethernet Controller
@@ -71384,6 +71906,12 @@ pci:v00008086d000024F4*
 pci:v00008086d000024F4sv00008086sd00000030*
  ID_MODEL_FROM_DATABASE=Wireless 8260 (Dual Band Wireless-AC 8260)
 
+pci:v00008086d000024FD*
+ ID_MODEL_FROM_DATABASE=Wireless 8265 / 8275
+
+pci:v00008086d000024FDsv00008086sd00000010*
+ ID_MODEL_FROM_DATABASE=Wireless 8265 / 8275 (Dual Band Wireless-AC 8265)
+
 pci:v00008086d00002500*
  ID_MODEL_FROM_DATABASE=82820 820 (Camino) Chipset Host Bridge (MCH)
 
@@ -72678,7 +73206,7 @@ pci:v00008086d00002670sv000015D9sd00009680*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (X7DBN Motherboard)
 
 pci:v00008086d00002670sv00008086sd00003476*
- ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (Intel S5000PSLSATA Server Board)
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset LPC Interface Controller (S5000PSLSATA Server Board)
 
 pci:v00008086d00002680*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SATA IDE Controller
@@ -72696,7 +73224,7 @@ pci:v00008086d00002681sv000015D9sd00009680*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (X7DBN Motherboard)
 
 pci:v00008086d00002681sv00008086sd00003476*
- ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (Intel S5000PSLSATA Server Board)
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA AHCI Controller (S5000PSLSATA Server Board)
 
 pci:v00008086d00002682*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB SATA RAID Controller
@@ -72726,7 +73254,7 @@ pci:v00008086d00002688sv000015D9sd00009680*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (X7DBN Motherboard)
 
 pci:v00008086d00002688sv00008086sd00003476*
- ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (Intel S5000PSLSATA Server Board)
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (S5000PSLSATA Server Board)
 
 pci:v00008086d00002689*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2
@@ -72747,7 +73275,7 @@ pci:v00008086d00002689sv000015D9sd00009680*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (X7DBN Motherboard)
 
 pci:v00008086d00002689sv00008086sd00003476*
- ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (Intel S5000PSLSATA Server Board)
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (S5000PSLSATA Server Board)
 
 pci:v00008086d0000268A*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3
@@ -72765,7 +73293,7 @@ pci:v00008086d0000268Asv000015D9sd00009680*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (X7DBN Motherboard)
 
 pci:v00008086d0000268Asv00008086sd00003476*
- ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (Intel S5000PSLSATA Server Board)
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (S5000PSLSATA Server Board)
 
 pci:v00008086d0000268B*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4
@@ -72777,7 +73305,7 @@ pci:v00008086d0000268Bsv000015D9sd00008680*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (X7DVL-E-O motherboard)
 
 pci:v00008086d0000268Bsv00008086sd00003476*
- ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (Intel S5000PSLSATA Server Board)
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (S5000PSLSATA Server Board)
 
 pci:v00008086d0000268C*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller
@@ -72798,7 +73326,7 @@ pci:v00008086d0000268Csv000015D9sd00009680*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (X7DBN Motherboard)
 
 pci:v00008086d0000268Csv00008086sd00003476*
- ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (Intel S5000PSLSATA Server Board)
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset EHCI USB2 Controller (S5000PSLSATA Server Board)
 
 pci:v00008086d00002690*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset PCI Express Root Port 1
@@ -72843,7 +73371,7 @@ pci:v00008086d0000269Bsv000015D9sd00009680*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (X7DBN Motherboard)
 
 pci:v00008086d0000269Bsv00008086sd00003476*
- ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (Intel S5000PSLSATA Server Board)
+ ID_MODEL_FROM_DATABASE=631xESB/632xESB/3100 Chipset SMBus Controller (S5000PSLSATA Server Board)
 
 pci:v00008086d0000269E*
  ID_MODEL_FROM_DATABASE=631xESB/632xESB IDE Controller
@@ -72894,7 +73422,7 @@ pci:v00008086d00002772sv00008086sd0000544E*
  ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (DeskTop Board D945GTP)
 
 pci:v00008086d00002772sv00008086sd0000D605*
- ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (Intel Desktop Board D945GCCR)
+ ID_MODEL_FROM_DATABASE=82945G/GZ Integrated Graphics Controller (Desktop Board D945GCCR)
 
 pci:v00008086d00002774*
  ID_MODEL_FROM_DATABASE=82955X Memory Controller Hub
@@ -74043,22 +74571,22 @@ pci:v00008086d00002826*
  ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller
 
 pci:v00008086d00002826sv00001D49sd00000100*
- ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller (ThinkSystem RAID 331)
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller (Intel RSTe SATA Software RAID)
 
 pci:v00008086d00002826sv00001D49sd00000101*
- ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller (ThinkSystem RAID 331)
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller (Intel RSTe SATA Software RAID)
 
 pci:v00008086d00002826sv00001D49sd00000102*
- ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller (ThinkSystem RAID 331)
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller (Intel RSTe SATA Software RAID)
 
 pci:v00008086d00002826sv00001D49sd00000103*
- ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller (ThinkSystem RAID 331)
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller (Intel RSTe SATA Software RAID)
 
 pci:v00008086d00002826sv00001D49sd00000104*
- ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller (ThinkSystem RAID 331)
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller (Intel RSTe SATA Software RAID)
 
 pci:v00008086d00002826sv00001D49sd00000105*
- ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller (ThinkSystem RAID 331)
+ ID_MODEL_FROM_DATABASE=C600/X79 series chipset SATA RAID Controller (Intel RSTe SATA Software RAID)
 
 pci:v00008086d00002827*
  ID_MODEL_FROM_DATABASE=C610/X99 series chipset sSATA Controller [RAID mode]
@@ -76956,7 +77484,7 @@ pci:v00008086d00003165sv00008086sd00004210*
  ID_MODEL_FROM_DATABASE=Wireless 3165 (Dual Band Wireless AC 3165)
 
 pci:v00008086d00003166*
- ID_MODEL_FROM_DATABASE=Intel Dual Band Wireless-AC 3165 Plus Bluetooth
+ ID_MODEL_FROM_DATABASE=Dual Band Wireless-AC 3165 Plus Bluetooth
 
 pci:v00008086d00003200*
  ID_MODEL_FROM_DATABASE=GD31244 PCI-X SATA HBA
@@ -77783,9 +78311,18 @@ pci:v00008086d000037D0sv000017AAsd00004020*
 pci:v00008086d000037D0sv000017AAsd00004021*
  ID_MODEL_FROM_DATABASE=Ethernet Connection X722 for 10GbE SFP+ (Intel Ethernet Connection X722 for 10G SFP+)
 
+pci:v00008086d000037D0sv000017AAsd00004022*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection X722 for 10GbE SFP+
+
 pci:v00008086d000037D1*
  ID_MODEL_FROM_DATABASE=Ethernet Connection X722 for 1GbE
 
+pci:v00008086d000037D1sv00001590sd00000216*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection X722 for 1GbE (Ethernet 1Gb 2-port 368i Adapter)
+
+pci:v00008086d000037D1sv00001590sd00000217*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection X722 for 1GbE (Ethernet 1Gb 2-port 368FLR-MMT Adapter)
+
 pci:v00008086d000037D1sv000017AAsd00004020*
  ID_MODEL_FROM_DATABASE=Ethernet Connection X722 for 1GbE (Intel Ethernet Connection X722 for 1GbE)
 
@@ -77798,15 +78335,24 @@ pci:v00008086d000037D1sv000017AAsd00004022*
 pci:v00008086d000037D2*
  ID_MODEL_FROM_DATABASE=Ethernet Connection X722 for 10GBASE-T
 
+pci:v00008086d000037D2sv00001590sd00000218*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection X722 for 10GBASE-T (Ethernet 10Gb 2-port 568FLR-MMT Adapter)
+
 pci:v00008086d000037D2sv000017AAsd00004020*
  ID_MODEL_FROM_DATABASE=Ethernet Connection X722 for 10GBASE-T (Intel Ethernet Connection X722 for 10GBASE)
 
 pci:v00008086d000037D2sv000017AAsd00004021*
  ID_MODEL_FROM_DATABASE=Ethernet Connection X722 for 10GBASE-T (Intel Ethernet Connection X722 for 10GBASE)
 
+pci:v00008086d000037D2sv000017AAsd00004022*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection X722 for 10GBASE-T
+
 pci:v00008086d000037D3*
  ID_MODEL_FROM_DATABASE=Ethernet Connection X722 for 10GbE SFP+
 
+pci:v00008086d000037D3sv00001590sd00000219*
+ ID_MODEL_FROM_DATABASE=Ethernet Connection X722 for 10GbE SFP+ (Ethernet 10Gb 2-port 568FLR-MMSFP+ Adapter)
+
 pci:v00008086d000037D4*
  ID_MODEL_FROM_DATABASE=Ethernet Connection X722 for 10GbE QSFP+
 
@@ -79416,109 +79962,109 @@ pci:v00008086d00005845sv00001AF4sd00001100*
  ID_MODEL_FROM_DATABASE=QEMU NVM Express Controller (QEMU Virtual Machine)
 
 pci:v00008086d00005A84*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Integrated Graphics Controller
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series Integrated Graphics Controller
 
 pci:v00008086d00005A88*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Imaging Unit
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series Imaging Unit
 
 pci:v00008086d00005A98*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Audio Cluster
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series Audio Cluster
 
 pci:v00008086d00005A9A*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Trusted Execution Engine
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series Trusted Execution Engine
 
 pci:v00008086d00005AA2*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Integrated Sensor Hub
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series Integrated Sensor Hub
 
 pci:v00008086d00005AA8*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series USB xHCI
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series USB xHCI
 
 pci:v00008086d00005AAC*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series I2C Controller #1
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #1
 
 pci:v00008086d00005AAE*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series I2C Controller #2
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #2
 
 pci:v00008086d00005AB0*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series I2C Controller #3
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #3
 
 pci:v00008086d00005AB2*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series I2C Controller #4
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #4
 
 pci:v00008086d00005AB4*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series I2C Controller #5
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #5
 
 pci:v00008086d00005AB6*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series I2C Controller #6
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #6
 
 pci:v00008086d00005AB8*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series I2C Controller #7
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #7
 
 pci:v00008086d00005ABA*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series I2C Controller #8
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #8
 
 pci:v00008086d00005ABC*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series HSUART Controller #1
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series HSUART Controller #1
 
 pci:v00008086d00005ABE*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series HSUART Controller #2
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series HSUART Controller #2
 
 pci:v00008086d00005AC0*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series HSUART Controller #3
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series HSUART Controller #3
 
 pci:v00008086d00005AC2*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SPI Controller #1
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series SPI Controller #1
 
 pci:v00008086d00005AC4*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SPI Controller #2
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series SPI Controller #2
 
 pci:v00008086d00005AC6*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SPI Controller #3
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series SPI Controller #3
 
 pci:v00008086d00005AC8*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series PWM Pin Controller
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series PWM Pin Controller
 
 pci:v00008086d00005ACA*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SDXC/MMC Host Controller
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series SDXC/MMC Host Controller
 
 pci:v00008086d00005ACC*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series eMMC Controller
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series eMMC Controller
 
 pci:v00008086d00005AD0*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SDIO Controller
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series SDIO Controller
 
 pci:v00008086d00005AD4*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SMBus Controller
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series SMBus Controller
 
 pci:v00008086d00005AD6*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series PCI Express Port B #1
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port B #1
 
 pci:v00008086d00005AD7*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series PCI Express Port B #2
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port B #2
 
 pci:v00008086d00005AD8*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series PCI Express Port A #1
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port A #1
 
 pci:v00008086d00005AD9*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series PCI Express Port A #2
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port A #2
 
 pci:v00008086d00005ADA*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series PCI Express Port A #3
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port A #3
 
 pci:v00008086d00005ADB*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series PCI Express Port A #4
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port A #4
 
 pci:v00008086d00005AE3*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SATA AHCI Controller
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series SATA AHCI Controller
 
 pci:v00008086d00005AE8*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Low Pin Count Interface
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series Low Pin Count Interface
 
 pci:v00008086d00005AEE*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series HSUART Controller #4
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series HSUART Controller #4
 
 pci:v00008086d00005AF0*
- ID_MODEL_FROM_DATABASE=Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Host Bridge
+ ID_MODEL_FROM_DATABASE=Celeron N3350/Pentium N4200/Atom E3900 Series Host Bridge
 
 pci:v00008086d000065C0*
  ID_MODEL_FROM_DATABASE=5100 Chipset Memory Controller Hub
@@ -82043,6 +82589,63 @@ pci:v00008086d0000A252*
 pci:v00008086d0000A256*
  ID_MODEL_FROM_DATABASE=Lewisburg SSATA Controller [RAID mode]
 
+pci:v00008086d0000A282*
+ ID_MODEL_FROM_DATABASE=200 Series PCH SATA controller [AHCI mode]
+
+pci:v00008086d0000A294*
+ ID_MODEL_FROM_DATABASE=200 Series PCH PCI Express Root Port #1
+
+pci:v00008086d0000A2A1*
+ ID_MODEL_FROM_DATABASE=200 Series PCH PMC
+
+pci:v00008086d0000A2A3*
+ ID_MODEL_FROM_DATABASE=200 Series PCH SMBus Controller
+
+pci:v00008086d0000A2A7*
+ ID_MODEL_FROM_DATABASE=200 Series PCH Serial IO UART Controller #0
+
+pci:v00008086d0000A2A8*
+ ID_MODEL_FROM_DATABASE=200 Series PCH Serial IO UART Controller #1
+
+pci:v00008086d0000A2A9*
+ ID_MODEL_FROM_DATABASE=200 Series PCH Serial IO SPI Controller #0
+
+pci:v00008086d0000A2AA*
+ ID_MODEL_FROM_DATABASE=200 Series PCH Serial IO SPI Controller #1
+
+pci:v00008086d0000A2AF*
+ ID_MODEL_FROM_DATABASE=200 Series PCH USB 3.0 xHCI Controller
+
+pci:v00008086d0000A2B1*
+ ID_MODEL_FROM_DATABASE=200 Series PCH Thermal Subsystem
+
+pci:v00008086d0000A2BA*
+ ID_MODEL_FROM_DATABASE=200 Series PCH CSME HECI #1
+
+pci:v00008086d0000A2BB*
+ ID_MODEL_FROM_DATABASE=200 Series PCH CSME HECI #2
+
+pci:v00008086d0000A2C6*
+ ID_MODEL_FROM_DATABASE=200 Series PCH LPC Controller
+
+pci:v00008086d0000A2E0*
+ ID_MODEL_FROM_DATABASE=200 Series PCH Serial IO I2C Controller #0
+
+pci:v00008086d0000A2E1*
+ ID_MODEL_FROM_DATABASE=200 Series PCH Serial IO I2C Controller #1
+
+pci:v00008086d0000A2E2*
+ ID_MODEL_FROM_DATABASE=200 Series PCH Serial IO I2C Controller #2
+
+pci:v00008086d0000A2E3*
+ ID_MODEL_FROM_DATABASE=200 Series PCH Serial IO I2C Controller #3
+
+pci:v00008086d0000A2E6*
+ ID_MODEL_FROM_DATABASE=200 Series PCH Serial IO UART Controller #2
+
+pci:v00008086d0000A2F0*
+ ID_MODEL_FROM_DATABASE=200 Series PCH HD Audio
+
 pci:v00008086d0000A620*
  ID_MODEL_FROM_DATABASE=6400/6402 Advanced Memory Buffer (AMB)
 
@@ -84320,6 +84923,9 @@ pci:v0000F1D0d0000CFEE*
 pci:v0000F1D0d0000DAFF*
  ID_MODEL_FROM_DATABASE=KONA LHi
 
+pci:v0000F1D0d0000DB09*
+ ID_MODEL_FROM_DATABASE=Corvid 24
+
 pci:v0000F1D0d0000DCAF*
  ID_MODEL_FROM_DATABASE=Kona HD
 
index ec0c26fc350e4299fb872c997ba2b96ecf259cbc..6acb51bb1c9d0669f627dc7acd7d276137baa1e6 100644 (file)
@@ -50,6 +50,9 @@ usb:v0127*
 usb:v0127p0002*
  ID_MODEL_FROM_DATABASE=HDM Interface
 
+usb:v0127p0127*
+ ID_MODEL_FROM_DATABASE=ibp
+
 usb:v0145*
  ID_VENDOR_FROM_DATABASE=Unknown
 
@@ -1841,6 +1844,9 @@ usb:v03F0p9002*
 usb:v03F0p9102*
  ID_MODEL_FROM_DATABASE=PhotoSmart M537
 
+usb:v03F0p9207*
+ ID_MODEL_FROM_DATABASE=HD-4110 Webcam
+
 usb:v03F0p9302*
  ID_MODEL_FROM_DATABASE=PhotoSmart R930 series
 
@@ -2063,6 +2069,9 @@ usb:v03FD*
 usb:v03FDp0008*
  ID_MODEL_FROM_DATABASE=Platform Cable USB II
 
+usb:v03FDp0050*
+ ID_MODEL_FROM_DATABASE=dfu downloader
+
 usb:v03FE*
  ID_VENDOR_FROM_DATABASE=Farallon Comunications
 
@@ -2187,7 +2196,7 @@ usb:v0403p6009*
  ID_MODEL_FROM_DATABASE=Serial Converter
 
 usb:v0403p6010*
- ID_MODEL_FROM_DATABASE=FT2232C Dual USB-UART/FIFO IC
+ ID_MODEL_FROM_DATABASE=FT2232C/D/H Dual UART/FIFO IC
 
 usb:v0403p6011*
  ID_MODEL_FROM_DATABASE=FT4232H Quad HS USB-UART/FIFO IC
@@ -2318,6 +2327,9 @@ usb:v0403pBFDB*
 usb:v0403pBFDC*
  ID_MODEL_FROM_DATABASE=OpenDCC (GBM)
 
+usb:v0403pC580*
+ ID_MODEL_FROM_DATABASE=HID UNIKEY dongle [F-Response]
+
 usb:v0403pC630*
  ID_MODEL_FROM_DATABASE=lcd2usb interface
 
@@ -5432,6 +5444,12 @@ usb:v044F*
 usb:v044Fp0400*
  ID_MODEL_FROM_DATABASE=HOTAS Cougar
 
+usb:v044Fp0402*
+ ID_MODEL_FROM_DATABASE=HOTAS Warthog Joystick
+
+usb:v044Fp0404*
+ ID_MODEL_FROM_DATABASE=HOTAS Warthog Throttle
+
 usb:v044Fp044F*
  ID_MODEL_FROM_DATABASE=GP XID
 
@@ -5501,6 +5519,9 @@ usb:v044FpB653*
 usb:v044FpB654*
  ID_MODEL_FROM_DATABASE=Ferrari GT Force Feedback Wheel
 
+usb:v044FpB687*
+ ID_MODEL_FROM_DATABASE=TWCS Throttle
+
 usb:v044FpB700*
  ID_MODEL_FROM_DATABASE=Tacticalboard
 
@@ -6401,6 +6422,15 @@ usb:v045Ep02D5*
 usb:v045Ep02DD*
  ID_MODEL_FROM_DATABASE=Xbox One Controller (Covert Forces/Firmware 2015)
 
+usb:v045Ep02E3*
+ ID_MODEL_FROM_DATABASE=Xbox One Elite Controller
+
+usb:v045Ep02E6*
+ ID_MODEL_FROM_DATABASE=Wireless XBox Controller Dongle
+
+usb:v045Ep02EA*
+ ID_MODEL_FROM_DATABASE=Xbox One S Controller
+
 usb:v045Ep0400*
  ID_MODEL_FROM_DATABASE=Windows Powered Pocket PC 2002
 
@@ -6851,6 +6881,9 @@ usb:v045Ep0752*
 usb:v045Ep075D*
  ID_MODEL_FROM_DATABASE=LifeCam Cinema
 
+usb:v045Ep0761*
+ ID_MODEL_FROM_DATABASE=LifeCam VX-2000
+
 usb:v045Ep0766*
  ID_MODEL_FROM_DATABASE=LifeCam VX-800
 
@@ -6869,6 +6902,9 @@ usb:v045Ep0772*
 usb:v045Ep0779*
  ID_MODEL_FROM_DATABASE=LifeCam HD-3000
 
+usb:v045Ep077F*
+ ID_MODEL_FROM_DATABASE=LifeChat LX-6000 Headset
+
 usb:v045Ep0780*
  ID_MODEL_FROM_DATABASE=Comfort Curve Keyboard 3000
 
@@ -7148,6 +7184,12 @@ usb:v046Ap002A*
 usb:v046Ap002D*
  ID_MODEL_FROM_DATABASE=SmartTerminal XX44
 
+usb:v046Ap003C*
+ ID_MODEL_FROM_DATABASE=Raptor Gaming Keyboard
+
+usb:v046Ap003D*
+ ID_MODEL_FROM_DATABASE=Raptor Gaming Keyboard Integrated Hub
+
 usb:v046Ap003E*
  ID_MODEL_FROM_DATABASE=SmartTerminal ST-2xxx
 
@@ -7166,6 +7208,12 @@ usb:v046Ap0106*
 usb:v046Ap010D*
  ID_MODEL_FROM_DATABASE=MX-Board 3.0 Keyboard
 
+usb:v046ApB090*
+ ID_MODEL_FROM_DATABASE=Keyboard
+
+usb:v046ApB091*
+ ID_MODEL_FROM_DATABASE=Mouse
+
 usb:v046B*
  ID_VENDOR_FROM_DATABASE=American Megatrends, Inc.
 
@@ -7607,9 +7655,15 @@ usb:v046Dp0A38*
 usb:v046Dp0A44*
  ID_MODEL_FROM_DATABASE=Headset H390
 
+usb:v046Dp0A45*
+ ID_MODEL_FROM_DATABASE=960 Headset
+
 usb:v046Dp0A4D*
  ID_MODEL_FROM_DATABASE=G430 Surround Sound Gaming Headset
 
+usb:v046Dp0A5B*
+ ID_MODEL_FROM_DATABASE=G933 Wireless Headset Dongle
+
 usb:v046Dp0B02*
  ID_MODEL_FROM_DATABASE=C-UV35 [Bluetooth Mini-Receiver] (HID proxy mode)
 
@@ -7902,7 +7956,7 @@ usb:v046DpC20E*
  ID_MODEL_FROM_DATABASE=WingMan Formula GP
 
 usb:v046DpC211*
- ID_MODEL_FROM_DATABASE=iTouch Cordless Reciever
+ ID_MODEL_FROM_DATABASE=iTouch Cordless Receiver
 
 usb:v046DpC212*
  ID_MODEL_FROM_DATABASE=WingMan Extreme Digital 3D
@@ -9149,6 +9203,9 @@ usb:v0480pA208*
 usb:v0480pB001*
  ID_MODEL_FROM_DATABASE=Stor.E Partner
 
+usb:v0480pB207*
+ ID_MODEL_FROM_DATABASE=Canvio Ready
+
 usb:v0480pD000*
  ID_MODEL_FROM_DATABASE=External Disk 2TB Model DT01ABA200
 
@@ -9362,6 +9419,9 @@ usb:v048D*
 usb:v048Dp1165*
  ID_MODEL_FROM_DATABASE=IT1165 Flash Controller
 
+usb:v048Dp1172*
+ ID_MODEL_FROM_DATABASE=Flash Drive
+
 usb:v048Dp1336*
  ID_MODEL_FROM_DATABASE=SD/MMC Cardreader
 
@@ -10145,6 +10205,9 @@ usb:v04A7p04A0*
 usb:v04A7p04AC*
  ID_MODEL_FROM_DATABASE=Xerox Travel Scanner 100
 
+usb:v04A7p04CD*
+ ID_MODEL_FROM_DATABASE=Xerox Travel Scanner 150
+
 usb:v04A8*
  ID_VENDOR_FROM_DATABASE=Multivideo Labs, Inc.
 
@@ -10361,6 +10424,9 @@ usb:v04A9p10A9*
 usb:v04A9p10B6*
  ID_MODEL_FROM_DATABASE=PIXMA iP4300 Printer
 
+usb:v04A9p10B7*
+ ID_MODEL_FROM_DATABASE=PIXMA iP5300 Printer
+
 usb:v04A9p10C2*
  ID_MODEL_FROM_DATABASE=PIXMA iP1800 Printer
 
@@ -10368,7 +10434,10 @@ usb:v04A9p10C4*
  ID_MODEL_FROM_DATABASE=Pixma iP4500 Printer
 
 usb:v04A9p10C9*
- ID_MODEL_FROM_DATABASE=PIXIMA iP4600 Printer
+ ID_MODEL_FROM_DATABASE=PIXMA iP4600 Printer
+
+usb:v04A9p10CA*
+ ID_MODEL_FROM_DATABASE=PIXMA iP3600 Printer
 
 usb:v04A9p10E3*
  ID_MODEL_FROM_DATABASE=PIXMA iX6850 Printer
@@ -10394,6 +10463,9 @@ usb:v04A9p1601*
 usb:v04A9p1607*
  ID_MODEL_FROM_DATABASE=DR-6080 Scanner
 
+usb:v04A9p1608*
+ ID_MODEL_FROM_DATABASE=DR-2580C Scanner
+
 usb:v04A9p1700*
  ID_MODEL_FROM_DATABASE=PIXMA MP110 Scanner
 
@@ -10485,7 +10557,7 @@ usb:v04A9p1727*
  ID_MODEL_FROM_DATABASE=MX300 ser
 
 usb:v04A9p1728*
- ID_MODEL_FROM_DATABASE=MX310 ser
+ ID_MODEL_FROM_DATABASE=PIXMA MX310 series
 
 usb:v04A9p1729*
  ID_MODEL_FROM_DATABASE=MX700 ser
@@ -11564,9 +11636,15 @@ usb:v04A9p3212*
 usb:v04A9p3214*
  ID_MODEL_FROM_DATABASE=SELPHY CP800
 
+usb:v04A9p3215*
+ ID_MODEL_FROM_DATABASE=EOS 60D
+
 usb:v04A9p3218*
  ID_MODEL_FROM_DATABASE=EOS 600D / Rebel T3i (ptp)
 
+usb:v04A9p3219*
+ ID_MODEL_FROM_DATABASE=EOS 1D X
+
 usb:v04A9p3223*
  ID_MODEL_FROM_DATABASE=PowerShot A3300 IS
 
@@ -11615,9 +11693,15 @@ usb:v04A9p3237*
 usb:v04A9p3238*
  ID_MODEL_FROM_DATABASE=PowerShot SX40 HS
 
+usb:v04A9p323A*
+ ID_MODEL_FROM_DATABASE=EOS 5D Mark III
+
 usb:v04A9p323B*
  ID_MODEL_FROM_DATABASE=EOS Rebel T4i
 
+usb:v04A9p323D*
+ ID_MODEL_FROM_DATABASE=EOS M
+
 usb:v04A9p323E*
  ID_MODEL_FROM_DATABASE=PowerShot A1300
 
@@ -11642,6 +11726,9 @@ usb:v04A9p3244*
 usb:v04A9p3245*
  ID_MODEL_FROM_DATABASE=PowerShot SX240 HS
 
+usb:v04A9p3246*
+ ID_MODEL_FROM_DATABASE=PowerShot ELPH 530 HS / IXUS 510 HS
+
 usb:v04A9p3247*
  ID_MODEL_FROM_DATABASE=PowerShot ELPH 520 HS / IXUS 500 HS
 
@@ -11654,6 +11741,15 @@ usb:v04A9p3249*
 usb:v04A9p324A*
  ID_MODEL_FROM_DATABASE=PowerShot A2300
 
+usb:v04A9p3250*
+ ID_MODEL_FROM_DATABASE=EOS 6D
+
+usb:v04A9p3252*
+ ID_MODEL_FROM_DATABASE=EOS 1D C
+
+usb:v04A9p3253*
+ ID_MODEL_FROM_DATABASE=EOS 70D
+
 usb:v04A9p3255*
  ID_MODEL_FROM_DATABASE=SELPHY CP900
 
@@ -11705,9 +11801,24 @@ usb:v04A9p3266*
 usb:v04A9p3268*
  ID_MODEL_FROM_DATABASE=PowerShot ELPH 330 HS / IXUS 255 HS
 
+usb:v04A9p326F*
+ ID_MODEL_FROM_DATABASE=EOS 7D Mark II
+
+usb:v04A9p3270*
+ ID_MODEL_FROM_DATABASE=EOS 100D
+
 usb:v04A9p3271*
  ID_MODEL_FROM_DATABASE=PowerShot A2500
 
+usb:v04A9p3272*
+ ID_MODEL_FROM_DATABASE=EOS 700D
+
+usb:v04A9p3274*
+ ID_MODEL_FROM_DATABASE=PowerShot G16
+
+usb:v04A9p3275*
+ ID_MODEL_FROM_DATABASE=PowerShot S120
+
 usb:v04A9p3276*
  ID_MODEL_FROM_DATABASE=PowerShot SX170 IS
 
@@ -11717,6 +11828,9 @@ usb:v04A9p3277*
 usb:v04A9p3278*
  ID_MODEL_FROM_DATABASE=PowerShot S200
 
+usb:v04A9p327A*
+ ID_MODEL_FROM_DATABASE=SELPHY CP910
+
 usb:v04A9p327D*
  ID_MODEL_FROM_DATABASE=Powershot ELPH 115 IS / IXUS 132
 
@@ -11771,15 +11885,30 @@ usb:v04A9p32A6*
 usb:v04A9p32AA*
  ID_MODEL_FROM_DATABASE=Powershot ELPH 160 / IXUS 160
 
+usb:v04A9p32AB*
+ ID_MODEL_FROM_DATABASE=PowerShot ELPH 350HS / IXUS 275 HS
+
 usb:v04A9p32AC*
  ID_MODEL_FROM_DATABASE=PowerShot ELPH 170 IS / IXUS 170
 
 usb:v04A9p32AD*
  ID_MODEL_FROM_DATABASE=PowerShot SX410 IS
 
+usb:v04A9p32B1*
+ ID_MODEL_FROM_DATABASE=SELPHY CP1200
+
+usb:v04A9p32B2*
+ ID_MODEL_FROM_DATABASE=PowerShot G9 X
+
+usb:v04A9p32BB*
+ ID_MODEL_FROM_DATABASE=EOS M5
+
 usb:v04A9p32C1*
  ID_MODEL_FROM_DATABASE=PowerShot ELPH 180 / IXUS 175
 
+usb:v04A9p32C2*
+ ID_MODEL_FROM_DATABASE=PowerShot SX720 HS
+
 usb:v04AA*
  ID_VENDOR_FROM_DATABASE=DaeWoo Telecom, Ltd
 
@@ -12878,6 +13007,9 @@ usb:v04B9p1305*
 usb:v04B9p1306*
  ID_MODEL_FROM_DATABASE=iKey Token
 
+usb:v04B9p8000*
+ ID_MODEL_FROM_DATABASE=SafeNet Sentinel Hardware Key
+
 usb:v04BA*
  ID_VENDOR_FROM_DATABASE=Toucan Systems, Ltd
 
@@ -13763,6 +13895,9 @@ usb:v04D9p2011*
 usb:v04D9p2013*
  ID_MODEL_FROM_DATABASE=Keyboard [Das Keyboard]
 
+usb:v04D9p2206*
+ ID_MODEL_FROM_DATABASE=Fujitsu Siemens Mouse Esprimo Q
+
 usb:v04D9p2221*
  ID_MODEL_FROM_DATABASE=Keyboard
 
@@ -13787,6 +13922,9 @@ usb:v04D9pA050*
 usb:v04D9pA055*
  ID_MODEL_FROM_DATABASE=Keyboard
 
+usb:v04D9pA11B*
+ ID_MODEL_FROM_DATABASE=Mouse [MX-3200]
+
 usb:v04DA*
  ID_VENDOR_FROM_DATABASE=Panasonic (Matsushita)
 
@@ -13817,6 +13955,9 @@ usb:v04DAp0D0D*
 usb:v04DAp0D0E*
  ID_MODEL_FROM_DATABASE=DVD-ROM & CD-R/RW
 
+usb:v04DAp0F07*
+ ID_MODEL_FROM_DATABASE=KX-MB2030 Multifunction Laser Printer
+
 usb:v04DAp0F40*
  ID_MODEL_FROM_DATABASE=Printer
 
@@ -13871,6 +14012,15 @@ usb:v04DAp2451*
 usb:v04DAp245B*
  ID_MODEL_FROM_DATABASE=HC-X920K (3MOS Full HD video camcorder)
 
+usb:v04DAp2477*
+ ID_MODEL_FROM_DATABASE=SDR-H85 Camcorder (PC mode)
+
+usb:v04DAp2478*
+ ID_MODEL_FROM_DATABASE=SDR-H85 Camcorder (recorder mode - SD card)
+
+usb:v04DAp2479*
+ ID_MODEL_FROM_DATABASE=SDR-H85 Camcorder (recorder mode - HDD)
+
 usb:v04DAp2497*
  ID_MODEL_FROM_DATABASE=HDC-TM700
 
@@ -14315,6 +14465,9 @@ usb:v04E7p00FF*
 usb:v04E8*
  ID_VENDOR_FROM_DATABASE=Samsung Electronics Co., Ltd
 
+usb:v04E8p0001*
+ ID_MODEL_FROM_DATABASE=Printer Bootloader
+
 usb:v04E8p0100*
  ID_MODEL_FROM_DATABASE=Kingston Flash Drive (128MB)
 
@@ -14775,7 +14928,7 @@ usb:v04E8p61B6*
  ID_MODEL_FROM_DATABASE=M3 Portable Hard Drive 1TB
 
 usb:v04E8p61F3*
- ID_MODEL_FROM_DATABASE=MU-PT500B [T3 500GB USB SSD]
+ ID_MODEL_FROM_DATABASE=Portable SSD T3 (MU-PT250B, MU-PT500B)
 
 usb:v04E8p6601*
  ID_MODEL_FROM_DATABASE=Mobile Phone
@@ -14907,10 +15060,10 @@ usb:v04E8p6864*
  ID_MODEL_FROM_DATABASE=GT-I9070 (network tethering, USB debugging enabled)
 
 usb:v04E8p6865*
- ID_MODEL_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (PTP mode)
+ ID_MODEL_FROM_DATABASE=Galaxy (PTP mode)
 
 usb:v04E8p6866*
- ID_MODEL_FROM_DATABASE=GT-I9300 Phone [Galaxy S III] (debugging mode)
+ ID_MODEL_FROM_DATABASE=Galaxy (debugging mode)
 
 usb:v04E8p6868*
  ID_MODEL_FROM_DATABASE=Escape Composite driver for Android Phones: Modem+Diagnostic+ADB
@@ -15329,6 +15482,9 @@ usb:v04F3p0230*
 usb:v04F3p0232*
  ID_MODEL_FROM_DATABASE=Mouse
 
+usb:v04F3p0234*
+ ID_MODEL_FROM_DATABASE=Optical Mouse
+
 usb:v04F3p02F4*
  ID_MODEL_FROM_DATABASE=2.4G Cordless Mouse
 
@@ -16850,9 +17006,18 @@ usb:v04F9p2028*
 usb:v04F9p202B*
  ID_MODEL_FROM_DATABASE=PT-7600 P-touch Label Printer
 
+usb:v04F9p2061*
+ ID_MODEL_FROM_DATABASE=PT-P700 P-touch Label Printer
+
+usb:v04F9p2064*
+ ID_MODEL_FROM_DATABASE=PT-P700 P-touch Label Printer RemovableDisk
+
 usb:v04F9p2100*
  ID_MODEL_FROM_DATABASE=Card Reader Writer
 
+usb:v04F9p2102*
+ ID_MODEL_FROM_DATABASE=Sewing machine
+
 usb:v04F9p60A0*
  ID_MODEL_FROM_DATABASE=ADS-2000
 
@@ -18371,6 +18536,9 @@ usb:v054Cp021C*
 usb:v054Cp021D*
  ID_MODEL_FROM_DATABASE=Net MD
 
+usb:v054Cp0226*
+ ID_MODEL_FROM_DATABASE=UP-CR10L
+
 usb:v054Cp0227*
  ID_MODEL_FROM_DATABASE=Printing Support
 
@@ -18554,9 +18722,27 @@ usb:v054Cp0689*
 usb:v054Cp06BB*
  ID_MODEL_FROM_DATABASE=WALKMAN NWZ-F805
 
+usb:v054Cp06C3*
+ ID_MODEL_FROM_DATABASE=RC-S380
+
+usb:v054Cp07C4*
+ ID_MODEL_FROM_DATABASE=ILCE-6000 (aka Alpha-6000) in Mass Storage mode
+
 usb:v054Cp088C*
  ID_MODEL_FROM_DATABASE=Portable Headphone Amplifier
 
+usb:v054Cp08B7*
+ ID_MODEL_FROM_DATABASE=ILCE-6000 (aka Alpha-6000) in MTP mode
+
+usb:v054Cp094E*
+ ID_MODEL_FROM_DATABASE=ILCE-6000 (aka Alpha-6000) in PC Remote mode
+
+usb:v054Cp0994*
+ ID_MODEL_FROM_DATABASE=ILCE-6000 (aka Alpha-6000) in charging mode
+
+usb:v054Cp0BB5*
+ ID_MODEL_FROM_DATABASE=Headset MDR-1000X
+
 usb:v054Cp1000*
  ID_MODEL_FROM_DATABASE=Wireless Buzz! Receiver
 
@@ -19418,6 +19604,24 @@ usb:v056Ap0318*
 usb:v056Ap032F*
  ID_MODEL_FROM_DATABASE=DTU-1031X
 
+usb:v056Ap0347*
+ ID_MODEL_FROM_DATABASE=Integrated Hub
+
+usb:v056Ap0348*
+ ID_MODEL_FROM_DATABASE=Integrated Hub
+
+usb:v056Ap034A*
+ ID_MODEL_FROM_DATABASE=DTH-W1320 [MobileStudio Pro 13] touchscreen
+
+usb:v056Ap034B*
+ ID_MODEL_FROM_DATABASE=DTH-W1620 [MobileStudio Pro 16] touchscreen
+
+usb:v056Ap034D*
+ ID_MODEL_FROM_DATABASE=DTH-W1320 [MobileStudio Pro 13] tablet
+
+usb:v056Ap034E*
+ ID_MODEL_FROM_DATABASE=DTH-W1620 [MobileStudio Pro 16] tablet
+
 usb:v056Ap0400*
  ID_MODEL_FROM_DATABASE=PenPartner 4x5
 
@@ -19565,6 +19769,9 @@ usb:v0572p1301*
 usb:v0572p1328*
  ID_MODEL_FROM_DATABASE=TrendNet TFM-561 modem
 
+usb:v0572p1804*
+ ID_MODEL_FROM_DATABASE=HP Dock Audio
+
 usb:v0572p2000*
  ID_MODEL_FROM_DATABASE=SoftGate 802.11 Adapter
 
@@ -20888,6 +21095,9 @@ usb:v058Cp001F*
 usb:v058CpFFE5*
  ID_MODEL_FROM_DATABASE=IN34 Projector
 
+usb:v058CpFFEB*
+ ID_MODEL_FROM_DATABASE=Projector IN76
+
 usb:v058D*
  ID_VENDOR_FROM_DATABASE=Micrel Semiconductor
 
@@ -23189,6 +23399,9 @@ usb:v05DCpB018*
 usb:v05DCpB047*
  ID_MODEL_FROM_DATABASE=SDHC Reader [RW047-7000]
 
+usb:v05DCpB051*
+ ID_MODEL_FROM_DATABASE=microSD RDR UHS-I Card Reader [LRWM03U-7000]
+
 usb:v05DCpBA02*
  ID_MODEL_FROM_DATABASE=Workflow CFR1
 
@@ -23300,6 +23513,9 @@ usb:v05E3p0142*
 usb:v05E3p0143*
  ID_MODEL_FROM_DATABASE=Multiple Frames Film Scanner-36series
 
+usb:v05E3p0145*
+ ID_MODEL_FROM_DATABASE=Reflecta CrystalScan 7200 Photo-Scanner
+
 usb:v05E3p0180*
  ID_MODEL_FROM_DATABASE=Plustek Scanner
 
@@ -23447,6 +23663,9 @@ usb:v05E3p0732*
 usb:v05E3p0736*
  ID_MODEL_FROM_DATABASE=microSD Reader/Writer
 
+usb:v05E3p0738*
+ ID_MODEL_FROM_DATABASE=Card reader
+
 usb:v05E3p0741*
  ID_MODEL_FROM_DATABASE=microSD Card Reader
 
@@ -26171,6 +26390,21 @@ usb:v06D3p03A1*
 usb:v06D3p03A5*
  ID_MODEL_FROM_DATABASE=CP9550DW-S
 
+usb:v06D3p03A9*
+ ID_MODEL_FROM_DATABASE=CP-9600DW
+
+usb:v06D3p03AA*
+ ID_MODEL_FROM_DATABASE=CP3020DA
+
+usb:v06D3p03AD*
+ ID_MODEL_FROM_DATABASE=CP-9800DW-S
+
+usb:v06D3p03AE*
+ ID_MODEL_FROM_DATABASE=CP-9800DW-S
+
+usb:v06D3p3B10*
+ ID_MODEL_FROM_DATABASE=P95D
+
 usb:v06D3p3B30*
  ID_MODEL_FROM_DATABASE=CP-D70DW / CP-D707DW
 
@@ -26885,6 +27119,9 @@ usb:v0718p0624*
 usb:v0718p1120*
  ID_MODEL_FROM_DATABASE=RDX External dock (redbud)
 
+usb:v0718p4006*
+ ID_MODEL_FROM_DATABASE=8x Slim DVD Multi-Format Recorder External
+
 usb:v0718pD000*
  ID_MODEL_FROM_DATABASE=Disc Stakka CD/DVD Manager
 
@@ -27890,6 +28127,9 @@ usb:v0781p5575*
 usb:v0781p5576*
  ID_MODEL_FROM_DATABASE=Cruzer Facet
 
+usb:v0781p5577*
+ ID_MODEL_FROM_DATABASE=Cruzer Pop (8GB)
+
 usb:v0781p557D*
  ID_MODEL_FROM_DATABASE=Cruzer Force (64GB)
 
@@ -27902,6 +28142,9 @@ usb:v0781p5581*
 usb:v0781p5583*
  ID_MODEL_FROM_DATABASE=Ultra Fit
 
+usb:v0781p5590*
+ ID_MODEL_FROM_DATABASE=Ultra Dual
+
 usb:v0781p5591*
  ID_MODEL_FROM_DATABASE=Ultra Flair
 
@@ -29840,6 +30083,9 @@ usb:v0810p0002*
 usb:v0810p0003*
  ID_MODEL_FROM_DATABASE=PlayStation Gamepad
 
+usb:v0810pE501*
+ ID_MODEL_FROM_DATABASE=SNES Gamepad
+
 usb:v0813*
  ID_VENDOR_FROM_DATABASE=Mattel, Inc.
 
@@ -30888,13 +31134,31 @@ usb:v08BB*
  ID_VENDOR_FROM_DATABASE=Texas Instruments
 
 usb:v08BBp2702*
- ID_MODEL_FROM_DATABASE=Speakers
+ ID_MODEL_FROM_DATABASE=PCM2702 16-bit stereo audio DAC
 
 usb:v08BBp2704*
- ID_MODEL_FROM_DATABASE=Audio Codec
+ ID_MODEL_FROM_DATABASE=PCM2704 16-bit stereo audio DAC
+
+usb:v08BBp2705*
+ ID_MODEL_FROM_DATABASE=PCM2705 stereo audio DAC
 
 usb:v08BBp2706*
- ID_MODEL_FROM_DATABASE=PCM2706 Audio Codec
+ ID_MODEL_FROM_DATABASE=PCM2706 stereo audio DAC
+
+usb:v08BBp2707*
+ ID_MODEL_FROM_DATABASE=PCM2707 stereo audio DAC
+
+usb:v08BBp27C4*
+ ID_MODEL_FROM_DATABASE=PCM2704C stereo audio DAC
+
+usb:v08BBp27C5*
+ ID_MODEL_FROM_DATABASE=PCM2705C stereo audio DAC
+
+usb:v08BBp27C6*
+ ID_MODEL_FROM_DATABASE=PCM2706C stereo audio DAC
+
+usb:v08BBp27C7*
+ ID_MODEL_FROM_DATABASE=PCM2707C stereo audio DAC
 
 usb:v08BBp2900*
  ID_MODEL_FROM_DATABASE=PCM2900 Audio Codec
@@ -30911,6 +31175,9 @@ usb:v08BBp2904*
 usb:v08BBp2910*
  ID_MODEL_FROM_DATABASE=PCM2912 Audio Codec
 
+usb:v08BBp2912*
+ ID_MODEL_FROM_DATABASE=PCM2912A Audio Codec
+
 usb:v08BBp29B0*
  ID_MODEL_FROM_DATABASE=PCM2900B Audio CODEC
 
@@ -32024,6 +32291,9 @@ usb:v091Ep255B*
 usb:v091Ep26A1*
  ID_MODEL_FROM_DATABASE=Nuvi 55
 
+usb:v091Ep47FB*
+ ID_MODEL_FROM_DATABASE=nuviCam
+
 usb:v0920*
  ID_VENDOR_FROM_DATABASE=Echelon Co.
 
@@ -32078,6 +32348,9 @@ usb:v0924p3CE8*
 usb:v0924p3CEA*
  ID_MODEL_FROM_DATABASE=Phaser 3125
 
+usb:v0924p3CEC*
+ ID_MODEL_FROM_DATABASE=Phaser 3250
+
 usb:v0924p3D5B*
  ID_MODEL_FROM_DATABASE=Phaser 6115MFP TWAIN Scanner
 
@@ -32444,9 +32717,24 @@ usb:v0934*
 usb:v0936*
  ID_VENDOR_FROM_DATABASE=NuTesla
 
+usb:v0936p000A*
+ ID_MODEL_FROM_DATABASE=Moebius
+
+usb:v0936p000B*
+ ID_MODEL_FROM_DATABASE=iMoebius
+
 usb:v0936p000C*
  ID_MODEL_FROM_DATABASE=Rhythmedics 6 BioData Integrator
 
+usb:v0936p000D*
+ ID_MODEL_FROM_DATABASE=Hypurius
+
+usb:v0936p000E*
+ ID_MODEL_FROM_DATABASE=Millennius
+
+usb:v0936p000F*
+ ID_MODEL_FROM_DATABASE=Purius
+
 usb:v0936p0030*
  ID_MODEL_FROM_DATABASE=Composite Device, Mass Storage Device (Flash Drive) amd HID
 
@@ -32753,6 +33041,9 @@ usb:v0954*
 usb:v0955*
  ID_VENDOR_FROM_DATABASE=NVidia Corp.
 
+usb:v0955p7018*
+ ID_MODEL_FROM_DATABASE=APX
+
 usb:v0955p7030*
  ID_MODEL_FROM_DATABASE=Tegra 3 (recovery mode)
 
@@ -33263,6 +33554,12 @@ usb:v09D7*
 usb:v09D7p0100*
  ID_MODEL_FROM_DATABASE=NovAtel FlexPack GPS receiver
 
+usb:v09D8*
+ ID_VENDOR_FROM_DATABASE=ELATEC
+
+usb:v09D8p0406*
+ ID_MODEL_FROM_DATABASE=TWN4 MIFARE NFC
+
 usb:v09D9*
  ID_VENDOR_FROM_DATABASE=KRF Tech, Ltd
 
@@ -35250,7 +35547,7 @@ usb:v0B05p5412*
  ID_MODEL_FROM_DATABASE=MeMO Pad HD 7 (PTP mode)
 
 usb:v0B05p550F*
- ID_MODEL_FROM_DATABASE=ASUS fonepad 7
+ ID_MODEL_FROM_DATABASE=Fonepad 7
 
 usb:v0B05p6101*
  ID_MODEL_FROM_DATABASE=Cable Modem
@@ -35258,6 +35555,24 @@ usb:v0B05p6101*
 usb:v0B05p620A*
  ID_MODEL_FROM_DATABASE=Remote NDIS Device
 
+usb:v0B05p7772*
+ ID_MODEL_FROM_DATABASE=ASUS Zenfone GO (ZB500KL) (MTP mode)
+
+usb:v0B05p7773*
+ ID_MODEL_FROM_DATABASE=ASUS Zenfone GO (ZB500KL) (Debug, MTP mode)
+
+usb:v0B05p7774*
+ ID_MODEL_FROM_DATABASE=ASUS Zenfone GO (ZB500KL) (RNDIS mode)
+
+usb:v0B05p7775*
+ ID_MODEL_FROM_DATABASE=ASUS Zenfone GO (ZB500KL) (Debug, RNDIS mode)
+
+usb:v0B05p7776*
+ ID_MODEL_FROM_DATABASE=ASUS Zenfone GO (ZB500KL) (PTP mode)
+
+usb:v0B05p7777*
+ ID_MODEL_FROM_DATABASE=ASUS Zenfone GO (ZB500KL) (Debug, PTP mode)
+
 usb:v0B05pB700*
  ID_MODEL_FROM_DATABASE=Broadcom Bluetooth 2.1
 
@@ -36599,6 +36914,9 @@ usb:v0BC2p2320*
 usb:v0BC2p2321*
  ID_MODEL_FROM_DATABASE=Expansion Portable
 
+usb:v0BC2p2322*
+ ID_MODEL_FROM_DATABASE=SRD0NF1 Expansion Portable (STEA)
+
 usb:v0BC2p2340*
  ID_MODEL_FROM_DATABASE=FreeAgent External Hard Drive
 
@@ -36653,6 +36971,9 @@ usb:v0BC2p5121*
 usb:v0BC2p5161*
  ID_MODEL_FROM_DATABASE=FreeAgent GoFlex dock
 
+usb:v0BC2p61B7*
+ ID_MODEL_FROM_DATABASE=Maxtor M3 Portable
+
 usb:v0BC2pA003*
  ID_MODEL_FROM_DATABASE=Backup Plus
 
@@ -36680,6 +37001,9 @@ usb:v0BC2pAB31*
 usb:v0BC2pAB34*
  ID_MODEL_FROM_DATABASE=Backup Plus
 
+usb:v0BC2pAB38*
+ ID_MODEL_FROM_DATABASE=Backup Plus Hub
+
 usb:v0BC3*
  ID_VENDOR_FROM_DATABASE=IPWireless, Inc.
 
@@ -36887,6 +37211,9 @@ usb:v0BDAp570C*
 usb:v0BDAp5730*
  ID_MODEL_FROM_DATABASE=HP 2.0MP High Definition Webcam
 
+usb:v0BDAp5751*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam
+
 usb:v0BDAp5775*
  ID_MODEL_FROM_DATABASE=HP "Truevision HD" laptop camera
 
@@ -37109,6 +37436,12 @@ usb:v0BFDp000B*
 usb:v0BFDp000E*
  ID_MODEL_FROM_DATABASE=Leaf SemiPro HS
 
+usb:v0C00*
+ ID_VENDOR_FROM_DATABASE=FireFly Mouse Mat
+
+usb:v0C00p1607*
+ ID_MODEL_FROM_DATABASE=Apex M500
+
 usb:v0C04*
  ID_VENDOR_FROM_DATABASE=MOTO Development Group, Inc.
 
@@ -37808,6 +38141,9 @@ usb:v0C45p648B*
 usb:v0C45p64BD*
  ID_MODEL_FROM_DATABASE=Sony Visual Communication Camera
 
+usb:v0C45p64D0*
+ ID_MODEL_FROM_DATABASE=Integrated Webcam
+
 usb:v0C45p64D2*
  ID_MODEL_FROM_DATABASE=Integrated Webcam
 
@@ -38333,8 +38669,14 @@ usb:v0CA7*
 usb:v0CAD*
  ID_VENDOR_FROM_DATABASE=Motorola CGISS
 
+usb:v0CADp1007*
+ ID_MODEL_FROM_DATABASE=APX Series Consolette
+
 usb:v0CADp1030*
- ID_MODEL_FROM_DATABASE=APX Series Radio
+ ID_MODEL_FROM_DATABASE=APX Series Radio (Portable)
+
+usb:v0CADp1031*
+ ID_MODEL_FROM_DATABASE=APX Series Radio (Mobile)
 
 usb:v0CADp1602*
  ID_MODEL_FROM_DATABASE=IMPRES Battery Data Reader
@@ -38585,6 +38927,18 @@ usb:v0CD5p0003*
 usb:v0CD5p0009*
  ID_MODEL_FROM_DATABASE=UE9
 
+usb:v0CD6*
+ ID_VENDOR_FROM_DATABASE=Scheidt & Bachmann
+
+usb:v0CD6p000C*
+ ID_MODEL_FROM_DATABASE=S&B TPU
+
+usb:v0CD6p000E*
+ ID_MODEL_FROM_DATABASE=S&B BKV
+
+usb:v0CD6p0011*
+ ID_MODEL_FROM_DATABASE=Money Coin Unit
+
 usb:v0CD7*
  ID_VENDOR_FROM_DATABASE=NewChip S.r.l.
 
@@ -38921,6 +39275,9 @@ usb:v0D16p0002*
 usb:v0D16p0004*
  ID_MODEL_FROM_DATABASE=Photo Printer 63xPL/PS
 
+usb:v0D16p000E*
+ ID_MODEL_FROM_DATABASE=P910L
+
 usb:v0D16p0100*
  ID_MODEL_FROM_DATABASE=Photo Printer 63xPL/PS
 
@@ -39633,7 +39990,7 @@ usb:v0D99*
  ID_VENDOR_FROM_DATABASE=Trazer Technologies, Inc.
 
 usb:v0D9A*
- ID_VENDOR_FROM_DATABASE=RTX Telecom AS
+ ID_VENDOR_FROM_DATABASE=RTX AS
 
 usb:v0D9Ap0001*
  ID_MODEL_FROM_DATABASE=Bluetooth Device
@@ -40325,6 +40682,9 @@ usb:v0DFC*
 usb:v0DFCp0001*
  ID_MODEL_FROM_DATABASE=Touchscreen
 
+usb:v0DFCp0101*
+ ID_MODEL_FROM_DATABASE=5-point Touch Screen
+
 usb:v0E03*
  ID_VENDOR_FROM_DATABASE=Nippon Systemware Co., Ltd
 
@@ -41636,6 +41996,9 @@ usb:v0FCAp8011*
 usb:v0FCAp8020*
  ID_MODEL_FROM_DATABASE=Blackberry Playbook (CD-Rom mode)
 
+usb:v0FCAp8037*
+ ID_MODEL_FROM_DATABASE=Blackberry PRIV
+
 usb:v0FCE*
  ID_VENDOR_FROM_DATABASE=Sony Ericsson Mobile Communications AB
 
@@ -42212,6 +42575,9 @@ usb:v1004p631E*
 usb:v1004p631F*
  ID_MODEL_FROM_DATABASE=Optimus Android Phone (Charge Mode)
 
+usb:v1004p633A*
+ ID_MODEL_FROM_DATABASE=Ultimate 2 Android Phone L41C
+
 usb:v1004p633E*
  ID_MODEL_FROM_DATABASE=G2/G3 Android Phone [MTP/PTP/Download mode]
 
@@ -42851,6 +43217,9 @@ usb:v1058p1230*
 usb:v1058p1235*
  ID_MODEL_FROM_DATABASE=My Book (WDBFJK0040HBK)
 
+usb:v1058p2599*
+ ID_MODEL_FROM_DATABASE=My Passport Ultra (WD40NMZW)
+
 usb:v1058p259D*
  ID_MODEL_FROM_DATABASE=My Passport Ultra (WDBBKD)
 
@@ -50873,15 +51242,57 @@ usb:v1B1Cp0A00*
 usb:v1B1Cp0A60*
  ID_MODEL_FROM_DATABASE=Vengeance K60 Keyboard
 
+usb:v1B1Cp0C04*
+ ID_MODEL_FROM_DATABASE=Link Cooling Node
+
 usb:v1B1Cp1A01*
  ID_MODEL_FROM_DATABASE=Flash Voyager GT
 
+usb:v1B1Cp1A03*
+ ID_MODEL_FROM_DATABASE=Voyager 3.0
+
+usb:v1B1Cp1A09*
+ ID_MODEL_FROM_DATABASE=Voyager GT 3.0
+
 usb:v1B1Cp1A0A*
  ID_MODEL_FROM_DATABASE=Survivor Stealth Flash Drive
 
+usb:v1B1Cp1A0B*
+ ID_MODEL_FROM_DATABASE=Flash Voyager LS
+
+usb:v1B1Cp1A15*
+ ID_MODEL_FROM_DATABASE=Voyager Slider Flash Drive
+
 usb:v1B1Cp1A90*
  ID_MODEL_FROM_DATABASE=Flash Voyager GT
 
+usb:v1B1Cp1AB1*
+ ID_MODEL_FROM_DATABASE=Voyager
+
+usb:v1B1Cp1B04*
+ ID_MODEL_FROM_DATABASE=Raptor K50 Keyboard
+
+usb:v1B1Cp1B07*
+ ID_MODEL_FROM_DATABASE=Vengeance K65 Gaming Keyboard
+
+usb:v1B1Cp1B08*
+ ID_MODEL_FROM_DATABASE=Vengeance K95 Keyboard
+
+usb:v1B1Cp1B09*
+ ID_MODEL_FROM_DATABASE=Vengeance K70R keyboard
+
+usb:v1B1Cp1B11*
+ ID_MODEL_FROM_DATABASE=K95 RGB Mechanical Gaming Keyboard
+
+usb:v1B1Cp1B13*
+ ID_MODEL_FROM_DATABASE=Vengeance K70RGB keyboard
+
+usb:v1B1Cp1C00*
+ ID_MODEL_FROM_DATABASE=Controller for Corsair Link
+
+usb:v1B1Cp1C0C*
+ ID_MODEL_FROM_DATABASE=RM850i Power Supply
+
 usb:v1B1F*
  ID_VENDOR_FROM_DATABASE=eQ-3 Entwicklung GmbH
 
@@ -52544,6 +52955,15 @@ usb:v1D90*
 usb:v1D90p201E*
  ID_MODEL_FROM_DATABASE=PPU-700
 
+usb:v1D9D*
+ ID_VENDOR_FROM_DATABASE=Sigma Sport
+
+usb:v1D9Dp1010*
+ ID_MODEL_FROM_DATABASE=Docking Station Topline 2009
+
+usb:v1D9Dp1011*
+ ID_MODEL_FROM_DATABASE=Docking Station Topline 2012
+
 usb:v1DE1*
  ID_VENDOR_FROM_DATABASE=Actions Microelectronics Co.
 
@@ -54374,6 +54794,27 @@ usb:v2735p1043*
 usb:v2735p1044*
  ID_MODEL_FROM_DATABASE=HCT HMD-180A
 
+usb:v273F*
+ ID_VENDOR_FROM_DATABASE=Hughski Limited
+
+usb:v273Fp1000*
+ ID_MODEL_FROM_DATABASE=ColorHug bootloader
+
+usb:v273Fp1001*
+ ID_MODEL_FROM_DATABASE=ColorHug
+
+usb:v273Fp1002*
+ ID_MODEL_FROM_DATABASE=ColorHug+
+
+usb:v273Fp1003*
+ ID_MODEL_FROM_DATABASE=ColorHug+ Bootloader
+
+usb:v273Fp1004*
+ ID_MODEL_FROM_DATABASE=ColorHug2
+
+usb:v273Fp1005*
+ ID_MODEL_FROM_DATABASE=ColorHug2 bootloader
+
 usb:v2770*
  ID_VENDOR_FROM_DATABASE=NHJ, Ltd
 
@@ -54620,6 +55061,12 @@ usb:v2C1A*
 usb:v2C1Ap0000*
  ID_MODEL_FROM_DATABASE=Wireless Optical Mouse
 
+usb:v2DCF*
+ ID_VENDOR_FROM_DATABASE=Dialog Semiconductor
+
+usb:v2DCFpC952*
+ ID_MODEL_FROM_DATABASE=Audio Class 2.0 Devices
+
 usb:v2FB2*
  ID_VENDOR_FROM_DATABASE=Fujitsu, Ltd
 
index c8452f47d0d7d4db8a27b82ca7177b05e077d3a5..4201ad76fc6cb6d4ab9f7fecad41a4fe688371f4 100644 (file)
 #    driver, <vendor> is the firmware-provided string exported
 #    by the kernel DMI modalias, see /sys/class/dmi/id/modalias
 #
+#  - Extended input driver device name, properties and DMI data match:
+#      evdev:name:<input device name>:phys:<phys>:ev:<ev>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*
+#    <input device name> is the name device specified by the
+#    driver, <phys> is the physical-device-path, "cat
+#    /sys/class/input/input?/phys", <ev> is the event bitmask, "cat
+#    /sys/class/input/input?/capabilities/ev" and <vendor> is the
+#    firmware-provided string exported by the kernel DMI modalias,
+#    see /sys/class/dmi/id/modalias
+#
 # Scan codes are specified as:
 #   KEYBOARD_KEY_<hex scan code>=<key code identifier>
 # The scan code should be expressed in hex lowercase. The key codes
@@ -205,6 +214,14 @@ evdev:input:b0003v049Fp0051*
  KEYBOARD_KEY_0c0014=prog1
  KEYBOARD_KEY_0c0015=messenger
 
+###########################################################
+# Cube
+###########################################################
+
+evdev:name:gpio-keys:phys:gpio-keys/input0:ev:3:dmi:bvn*:bvr*:bd*:svncube:pni1-TF:*
+ KEYBOARD_KEY_0=home
+ KEYBOARD_KEY_1=power
+
 ###########################################################
 # Dell
 ###########################################################
index 052a33097f55d0399b4af4ade329e4dd7cfcd2e7..f63d0d5bab21e42317ed72708b1719eeb6912f9d 100644 (file)
 
         <listitem><para>Similar to <command>monitor</command> but
         writes the output in pcap format (for details, see the <ulink
-        url="http://wiki.wireshark.org/Development/LibpcapFileFormat">Libpcap
-        File Format</ulink> description. Make sure to redirect the
-        output to STDOUT to a file. Tools like
+        url="https://wiki.wireshark.org/Development/LibpcapFileFormat">Libpcap
+        File Format</ulink> description). Make sure to redirect
+        standard output to a file. Tools like
         <citerefentry project='die-net'><refentrytitle>wireshark</refentrytitle><manvolnum>1</manvolnum></citerefentry>
-        may be used to dissect and view the generated
+        may be used to dissect and view the resulting
         files.</para></listitem>
       </varlistentry>
 
index 77b4dac51c67685fc5083491f13695fc7e599107..5f61e05f407b16806394cb6942038073a021f6e1 100644 (file)
@@ -85,7 +85,7 @@
 
         <listitem><para>Controls where to store cores. One of <literal>none</literal>,
         <literal>external</literal>, and <literal>journal</literal>. When
-        <literal>none</literal>, the core dumps will be logged (included the traceback if
+        <literal>none</literal>, the core dumps will be logged (including the backtrace if
         possible), but not stored permanently. When <literal>external</literal> (the
         default), cores will be stored in <filename>/var/lib/systemd/coredump/</filename>.
         When <literal>journal</literal>, cores will be stored in the journal and rotated
index abc245be5edda154982c1ef23ea30e3c4065c82b..72a244d2eb0cb40351ca76824bbf3e0bffb53199 100644 (file)
         all known core dumps.</para></listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><option>-r</option></term>
+        <term><option>--reverse</option></term>
+
+        <listitem><para>Reverse output so that the newest entries are displayed first.
+        </para></listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><option>-F</option> <replaceable>FIELD</replaceable></term>
         <term><option>--field=</option><replaceable>FIELD</replaceable></term>
index 38cf919a78f4542d0242966118add5b4cc716eb9..7a159aecdc782001a231c17bb6d0fc105643e358 100644 (file)
       <varlistentry>
         <term><command>bind</command> <replaceable>NAME</replaceable> <replaceable>PATH</replaceable> [<replaceable>PATH</replaceable>]</term>
 
-        <listitem><para>Bind mounts a directory from the host into the
-        specified container. The first directory argument is the
-        source directory on the host, the second directory argument
-        is the destination directory in the container. When the
-        latter is omitted, the destination path in the container is
-        the same as the source path on the host. When combined with
-        the <option>--read-only</option> switch, a ready-only bind
-        mount is created. When combined with the
-        <option>--mkdir</option> switch, the destination path is first
-        created before the mount is applied. Note that this option is
-        currently only supported for
-        <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>
-        containers.</para></listitem>
+        <listitem><para>Bind mounts a directory from the host into the specified container. The first directory
+        argument is the source directory on the host, the second directory argument is the destination directory in the
+        container. When the latter is omitted, the destination path in the container is the same as the source path on
+        the host. When combined with the <option>--read-only</option> switch, a ready-only bind mount is created. When
+        combined with the <option>--mkdir</option> switch, the destination path is first created before the mount is
+        applied. Note that this option is currently only supported for
+        <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry> containers,
+        and only if user namespacing (<option>--private-users</option>) is not used.</para></listitem>
       </varlistentry>
 
       <varlistentry>
         system into a running container. Takes a container name,
         followed by the source path on the host and the destination
         path in the container. If the destination path is omitted, the
-        same as the source path is used.</para></listitem>
-      </varlistentry>
+        same as the source path is used.</para>
 
+        <para>If host and container share the same user and group namespace, file ownership by numeric user ID and
+        group ID is preserved for the copy, otherwise all files and directories in the copy will be owned by the root
+        user and group (UID/GID 0).</para></listitem>
+      </varlistentry>
 
       <varlistentry>
         <term><command>copy-from</command> <replaceable>NAME</replaceable> <replaceable>PATH</replaceable> [<replaceable>PATH</replaceable>]</term>
         into the host system. Takes a container name, followed by the
         source path in the container the destination path on the host.
         If the destination path is omitted, the same as the source path
-        is used.</para></listitem>
+        is used.</para>
+
+        <para>If host and container share the same user and group namespace, file ownership by numeric user ID and
+        group ID is preserved for the copy, otherwise all files and directories in the copy will be owned by the root
+        user and group (UID/GID 0).</para></listitem>
       </varlistentry>
     </variablelist></refsect2>
 
index 5f24feff8e106cf1466d26bba63a3be9a21c8d14..bc74e3f48102a5474381eea4cfa0ad510ead7852 100644 (file)
@@ -47,6 +47,7 @@
     <refname>sd-id128</refname>
     <refname>sd_id128_t</refname>
     <refname>SD_ID128_MAKE</refname>
+    <refname>SD_ID128_MAKE_STR</refname>
     <refname>SD_ID128_NULL</refname>
     <refname>SD_ID128_CONST_STR</refname>
     <refname>SD_ID128_FORMAT_STR</refname>
     <para><function>SD_ID128_NULL</function> may be used to refer to the 128bit ID consisting of only NUL
     bytes.</para>
 
+    <para><function>SD_ID128_MAKE_STR()</function> is similar to <function>SD_ID128_MAKE()</function>, but creates a
+    <type>const char*</type> expression that can be conveniently used in message formats and such:</para>
+
+    <programlisting>#include &lt;stdio.h&gt;
+#define SD_MESSAGE_COREDUMP_STR SD_ID128_MAKE_STR(fc,2e,22,bc,6e,e6,47,b6,b9,07,29,ab,34,a2,50,b1)
+
+int main(int argc, char **argv) {
+        puts("Match for coredumps: MESSAGE_ID=" SD_MESSAGE_COREDUMP_STR);
+}
+    </programlisting>
+
+
     <para><function>SD_ID128_CONST_STR()</function> may be used to
     convert constant 128-bit IDs into constant strings for output. The
     following example code will output the string
     "fc2e22bc6ee647b6b90729ab34a250b1":</para>
     <programlisting>int main(int argc, char *argv[]) {
-        puts(SD_ID128_CONST_STR(SD_MESSAGE_COREDUMP));
+        puts("Match for coredumps: %s", SD_ID128_CONST_STR(SD_MESSAGE_COREDUMP));
 }</programlisting>
 
     <para><function>SD_ID128_FORMAT_STR()</function> and
 
     <para>Note that new, randomized IDs may be generated with
     <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
-    <option>--new-id</option> option.</para>
+    <option>--new-id128</option> option.</para>
   </refsect1>
 
   <xi:include href="libsystemd-pkgconfig.xml" />
index 4a1bc8b29667593710cb9995a4efc33712389526..7243467dc2d6a2511d4110d90a72ffaab0763404 100644 (file)
 
   <refsynopsisdiv>
     <para><filename>/usr/lib/systemd/systemd-coredump</filename></para>
+    <para><filename>/usr/lib/systemd/systemd-coredump</filename> <option>--backtrace</option></para>
     <para><filename>systemd-coredump@.service</filename></para>
     <para><filename>systemd-coredump.socket</filename></para>
   </refsynopsisdiv>
 
   <refsect1>
     <title>Description</title>
-    <para><command>systemd-coredump</command> is a system service that can acquire core dumps
-    from the kernel and handle them in various ways.</para>
+    <para><filename>systemd-coredump@.service</filename> is a system service that can acquire core
+    dumps from the kernel and handle them in various ways. The <command>systemd-coredump</command>
+    executable does the actual work. It is invoked twice: once as the handler by the kernel, and the
+    second time in the <filename>systemd-coredump@.service</filename> to actually write the data to
+    the journal.</para>
+
+    <para>When the kernel invokes <command>systemd-coredump</command> to handle a core dump, it runs
+    in privileged mode, and will connect to the socket created by the
+    <filename>systemd-coredump.socket</filename> unit, which in turn will spawn an unprivileged
+    <filename>systemd-coredump@.service</filename> instance to process the core dump. Hence
+    <filename>systemd-coredump.socket</filename> and <filename>systemd-coredump@.service</filename>
+    are helper units which do the actual processing of core dumps and are subject to normal service
+    management.</para>
 
     <para>Core dumps can be written to the journal or saved as a file. Once saved they can be retrieved
     for further processing, for example in
     if possible to the journal and store the core dump itself in an external file in
     <filename>/var/lib/systemd/coredump</filename>.</para>
 
-    <para>When the kernel invokes <command>systemd-coredump</command> to handle a core dump,
-    it will connect to the socket created by the <filename>systemd-coredump.socket</filename>
-    unit, which in turn will spawn a <filename>systemd-coredump@.service</filename> instance
-    to process the core dump. Hence <filename>systemd-coredump.socket</filename>
-    and <filename>systemd-coredump@.service</filename> are helper units which do the actual
-    processing of core dumps and are subject to normal service management.</para>
-
     <para>The behavior of a specific program upon reception of a signal is governed by a few
     factors which are described in detail in
     <citerefentry project='man-pages'><refentrytitle>core</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
     In particular, the core dump will only be processed when the related resource limits are sufficient.
     </para>
+
+    <para>It is also possible to invoke <command>systemd-coredump</command> with
+    <option>--backtrace</option> option. In this case, <command>systemd-coredump</command> expects
+    a journal entry in the journal
+    <ulink url="http://www.freedesktop.org/wiki/Software/systemd/export">Journal Export Format</ulink>
+    on standard input. The entry should contain a <varname>MESSAGE=</varname> field and any additional
+    metadata fields the caller deems reasonable. <command>systemd-coredump</command> will append
+    additional metadata fields in the same way it does for core dumps received from the kernel. In
+    this mode, no core dump is stored in the journal.</para>
   </refsect1>
 
   <refsect1>
     <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
     </para>
 
-    <para>In order to be used <command>systemd-coredump</command> must be configured in
+    <para>In order to be used by the kernel to handle core dumps,
+    <command>systemd-coredump</command> must be configured in
     <citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     parameter <varname>kernel.core_pattern</varname>. The syntax of this parameter is explained in
     <citerefentry project='man-pages'><refentrytitle>core</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
     <varname>kernel.core_pattern</varname> accordingly. This file may be masked or overridden to use a different
     setting following normal
     <citerefentry><refentrytitle>sysctl.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-    rules.
-    If the sysctl configuration is modified, it must be updated in the kernel before
-    it takes effect, see
+    rules. If the sysctl configuration is modified, it must be updated in the kernel before it
+    takes effect, see
     <citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
     and
     <citerefentry><refentrytitle>systemd-sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
     </para>
 
+    <para>In order to by used in the <option>--backtrace</option> mode, an appropriate backtrace
+    handler must be installed on the sender side. For example, in case of
+    <citerefentry><refentrytitle>python</refentrytitle><manvolnum>1</manvolnum></citerefentry>, this
+    means a <varname>sys.excepthook</varname> must installed, see
+    <ulink url="https://github.com/keszybz/systemd-coredump-python">systemd-coredump-python</ulink>.
+    </para>
+
     <para>The behavior of <command>systemd-coredump</command> itself is configured through the configuration file
     <filename>/etc/systemd/coredump.conf</filename> and corresponding snippets
     <filename>/etc/systemd/coredump.conf.d/*.conf</filename>, see
index 996c2fa256e099277a1088267d61ecefd1ad7783..72ea35892ff39c179d0411005e04c182e62d615a 100644 (file)
           <row>
             <entry valign="top" morerows="10">VM</entry>
             <entry><varname>qemu</varname></entry>
-            <entry>QEMU software virtualization</entry>
+            <entry>QEMU software virtualization, without KVM</entry>
           </row>
 
           <row>
             <entry><varname>kvm</varname></entry>
-            <entry>Linux KVM kernel virtual machine</entry>
+            <entry>Linux KVM kernel virtual machine, with whatever software, except
+            Oracle Virtualbox</entry>
           </row>
 
           <row>
 
           <row>
             <entry><varname>oracle</varname></entry>
-            <entry>Oracle VM VirtualBox (historically marketed by innotek and Sun Microsystems)</entry>
+            <entry>Oracle VM VirtualBox (historically marketed by innotek and Sun Microsystems),
+            for legacy and KVM hypervisor</entry>
           </row>
 
           <row>
index 17c14e9f22d395c3247e654594ae97c563054f5c..96f8c3a61fd7d55beeeedc1bbaf5caf9c088edfd 100644 (file)
 
         <para>Note that the picked UID/GID range is not written to <filename>/etc/passwd</filename> or
         <filename>/etc/group</filename>. In fact, the allocation of the range is not stored persistently anywhere,
-        except in the file ownership of the files and directories of the container.</para></listitem>
+        except in the file ownership of the files and directories of the container.</para>
+
+        <para>Note that when user namespacing is used file ownership on disk reflects this, and all of the container's
+        files and directories are owned by the container's effective user and group IDs. This means that copying files
+        from and to the container image requires correction of the numeric UID/GID values, according to the UID/GID
+        shift applied.</para></listitem>
       </varlistentry>
 
       <varlistentry>
index b52f946fa50a8c12ec253e0aa3d49ba2f513b153..50da971b07958a7dfa596404b3bab3afe4c8df19 100644 (file)
         (i.e. classic unicast DNS), <literal>llmnr</literal> (<ulink
         url="https://tools.ietf.org/html/rfc4795">Link-Local Multicast Name Resolution</ulink>),
         <literal>llmnr-ipv4</literal>, <literal>llmnr-ipv6</literal> (LLMNR via the indicated underlying IP
-        protocols). By default the lookup is done via all protocols suitable for the lookup. If used, limits the set of
+        protocols), <literal>mdns</literal> (<ulink url="https://www.ietf.org/rfc/rfc6762.txt">Multicast DNS</ulink>),
+        <literal>mdns-ipv4</literal>, <literal>mdns-ipv6</literal> (MDNS via the indicated underlying IP protocols).
+        By default the lookup is done via all protocols suitable for the lookup. If used, limits the set of
         protocols that may be used. Use this option multiple times to enable resolving via multiple protocols at the
         same time. The setting <literal>llmnr</literal> is identical to specifying this switch once with
         <literal>llmnr-ipv4</literal> and once via <literal>llmnr-ipv6</literal>. Note that this option does not force
index 494f97aad152387b9ded49f2007599656315d6ae..2b0acee407f74a80167a1d9301bf74b42cbe807e 100644 (file)
         </listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><varname>_SYSTEMD_INVOCATION_ID=</varname></term>
+        <listitem>
+          <para>The invocation ID for the runtime cycle of the unit
+          the message was generated in, as available to processes
+          of the unit in <varname>$INVOCATION_ID</varname> (see
+          <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>).</para>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><varname>_HOSTNAME=</varname></term>
         <listitem>
index bb372d788a39f4deefda025bcbad482cda937529..598b5772fd5d2dcdcc3c8b7e2ea7691568c6e789 100644 (file)
         for details.</para></listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><option>x-systemd.before=</option></term>
+        <term><option>x-systemd.after=</option></term>
+
+        <listitem><para>Configures a <varname>Before=</varname>
+        dependency or <varname>After=</varname> between the created
+        mount unit and another systemd unit, such as a mount unit.
+        The argument should be a unit name or an absolute path
+        to a mount point. This option may be specified more than once.
+        This option is particularly useful for mount point declarations
+        with <option>nofail</option> option that are mounted
+        asynchronously but need to be mounted before or after some unit
+        start, for example, before <filename>local-fs.target</filename>
+        unit.
+        See <varname>Before=</varname> and <varname>After=</varname> in
+        <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+        for details.</para></listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><option>x-systemd.requires-mounts-for=</option></term>
 
index 7818dfff815531c3a7ed5b7bf7675a6806879871..b807ebf29b8040d31a5c7176145c37757023126e 100644 (file)
           Defaults to unset.
         </para></listitem>
         </varlistentry>
+        <varlistentry>
+          <term><varname>IPv6ProxyNDPAddress=</varname></term>
+          <listitem><para>An IPv6 address, for which Neighbour Advertisement
+          messages will be proxied.
+          Proxy NDP (Neighbor Discovery Protocol) is a technique for IPv6 to
+          allow routing of addresses to a different destination when peers expect them
+          to be present on a certain physical link.
+          In this case a router answers Neighbour Advertisement messages intended for
+          another machine by offering its own MAC address as destination.
+          Unlike proxy ARP for IPv4, is not enabled globally, but will only send Neighbour
+          Advertisement messages for addresses in the IPv6 neighbor proxy table,
+          which can also be shown by <command>ip -6 neighbour show proxy</command>
+          This option may be specified more than once. systemd-networkd will control the
+          per-interface `proxy_ndp` switch for each configured interface, depending on whether
+          there are <option>IPv6ProxyNDPAddress=</option> entries configured and add these to
+          the kernels IPv6 neighbor proxy table.
+          Defaults to unset.
+        </para></listitem>
+        </varlistentry>
         <varlistentry>
           <term><varname>Bridge=</varname></term>
           <listitem>
index c2672511e3b199b9bc1c3312a395614420ce815c..a81cc3579d22727b6f45943b5d97174ab6b5d433 100644 (file)
     <refpurpose>Special systemd units</refpurpose>
   </refnamediv>
 
-  <refsynopsisdiv>
-    <para><filename>basic.target</filename>,
+  <refsynopsisdiv><para>
+    <!-- sort alphabetically, targets first -->
+    <filename>basic.target</filename>,
     <filename>bluetooth.target</filename>,
-    <filename>ctrl-alt-del.target</filename>,
-    <filename>cryptsetup.target</filename>,
     <filename>cryptsetup-pre.target</filename>,
-    <filename>dbus.service</filename>,
-    <filename>dbus.socket</filename>,
+    <filename>cryptsetup.target</filename>,
+    <filename>ctrl-alt-del.target</filename>,
     <filename>default.target</filename>,
-    <filename>display-manager.service</filename>,
     <filename>emergency.target</filename>,
     <filename>exit.target</filename>,
     <filename>final.target</filename>,
     <filename>hibernate.target</filename>,
     <filename>hybrid-sleep.target</filename>,
     <filename>initrd-fs.target</filename>,
+    <filename>initrd-root-device.target</filename>,
+    <filename>initrd-root-fs.target</filename>,
     <filename>kbrequest.target</filename>,
     <filename>kexec.target</filename>,
-    <filename>local-fs.target</filename>,
     <filename>local-fs-pre.target</filename>,
+    <filename>local-fs.target</filename>,
+    <filename>machines.target</filename>
     <filename>multi-user.target</filename>,
-    <filename>network.target</filename>,
     <filename>network-online.target</filename>,
     <filename>network-pre.target</filename>,
+    <filename>network.target</filename>,
     <filename>nss-lookup.target</filename>,
     <filename>nss-user-lookup.target</filename>,
     <filename>paths.target</filename>,
     <filename>poweroff.target</filename>,
     <filename>printer.target</filename>,
     <filename>reboot.target</filename>,
-    <filename>remote-fs.target</filename>,
     <filename>remote-fs-pre.target</filename>,
+    <filename>remote-fs.target</filename>,
     <filename>rescue.target</filename>,
-    <filename>initrd-root-device.target</filename>,
-    <filename>initrd-root-fs.target</filename>,
     <filename>rpcbind.target</filename>,
     <filename>runlevel2.target</filename>,
     <filename>runlevel3.target</filename>,
     <filename>sysinit.target</filename>,
     <filename>syslog.socket</filename>,
     <filename>system-update.target</filename>,
-    <filename>system-update-cleanup.service</filename>,
     <filename>time-sync.target</filename>,
     <filename>timers.target</filename>,
     <filename>umount.target</filename>,
+    <!-- slices -->
     <filename>-.slice</filename>,
     <filename>system.slice</filename>,
     <filename>user.slice</filename>,
-    <filename>machine.slice</filename></para>
-  </refsynopsisdiv>
+    <filename>machine.slice</filename>,
+    <!-- the rest -->
+    <filename>dbus.service</filename>,
+    <filename>dbus.socket</filename>,
+    <filename>display-manager.service</filename>,
+    <filename>system-update-cleanup.service</filename>
+  </para></refsynopsisdiv>
 
   <refsect1>
     <title>Description</title>
 
-    <para>A few units are treated specially by systemd. They have
-    special internal semantics and cannot be renamed.</para>
+    <para>A few units are treated specially by systemd. Many of them have
+    special internal semantics and cannot be renamed, while others simply
+    have a standard meaning and should be present on all systems.</para>
   </refsect1>
 
   <refsect1>
           <option>auto</option> mount option set.</para>
         </listitem>
       </varlistentry>
+      <varlistentry>
+        <term><filename>machines.target</filename></term>
+        <listitem>
+          <para>A standard target unit for starting all the containers
+          and other virtual machines. See <filename>systemd-nspawn@.service</filename>
+          for an example.</para>
+        </listitem>
+      </varlistentry>
       <varlistentry>
         <term><filename>multi-user.target</filename></term>
         <listitem>
index 417840e6c27586c61f90abbbaf7dd351765a15f7..2208b6a287430b632f38b8ccd63b8e54cf1af4b9 100644 (file)
       <varlistentry>
         <term><varname>Requires=</varname></term>
 
-        <listitem><para>Configures requirement dependencies on other
-        units. If this unit gets activated, the units listed here will
-        be activated as well. If one of the other units gets
-        deactivated or its activation fails, this unit will be
-        deactivated. This option may be specified more than once or
-        multiple space-separated units may be specified in one option
-        in which case requirement dependencies for all listed names
-        will be created. Note that requirement dependencies do not
-        influence the order in which services are started or stopped.
-        This has to be configured independently with the
-        <varname>After=</varname> or <varname>Before=</varname>
-        options. If a unit <filename>foo.service</filename> requires a
-        unit <filename>bar.service</filename> as configured with
-        <varname>Requires=</varname> and no ordering is configured
-        with <varname>After=</varname> or <varname>Before=</varname>,
-        then both units will be started simultaneously and without any
-        delay between them if <filename>foo.service</filename> is
-        activated. Often, it is a better choice to use
-        <varname>Wants=</varname> instead of
-        <varname>Requires=</varname> in order to achieve a system that
-        is more robust when dealing with failing services.</para>
-
-        <para>Note that dependencies of this type may also be
-        configured outside of the unit configuration file by adding a
-        symlink to a <filename>.requires/</filename> directory
-        accompanying the unit file. For details, see
+        <listitem><para>Configures requirement dependencies on other units. If this unit gets activated, the units
+        listed here will be activated as well. If one of the other units gets deactivated or its activation fails, this
+        unit will be deactivated. This option may be specified more than once or multiple space-separated units may be
+        specified in one option in which case requirement dependencies for all listed names will be created. Note that
+        requirement dependencies do not influence the order in which services are started or stopped.  This has to be
+        configured independently with the <varname>After=</varname> or <varname>Before=</varname> options. If a unit
+        <filename>foo.service</filename> requires a unit <filename>bar.service</filename> as configured with
+        <varname>Requires=</varname> and no ordering is configured with <varname>After=</varname> or
+        <varname>Before=</varname>, then both units will be started simultaneously and without any delay between them
+        if <filename>foo.service</filename> is activated. Often, it is a better choice to use <varname>Wants=</varname>
+        instead of <varname>Requires=</varname> in order to achieve a system that is more robust when dealing with
+        failing services.</para>
+
+        <para>Note that this dependency type does not imply that the other unit always has to be in active state when
+        this unit is running. Specifically: failing condition checks (such as <varname>ConditionPathExists=</varname>,
+        <varname>ConditionPathExists=</varname>, â€¦ â€” see below) do not cause the start job of a unit with a
+        <varname>Requires=</varname> dependency on it to fail. Also, some unit types may deactivate on their own (for
+        example, a service process may decide to exit cleanly, or a device may be unplugged by the user), which is not
+        propagated to units having a <varname>Requires=</varname> dependency. Use the <varname>BindsTo=</varname>
+        dependency type together with <varname>After=</varname> to ensure that a unit may never be in active state
+        without a specific other unit also in active state (see below).</para>
+
+        <para>Note that dependencies of this type may also be configured outside of the unit configuration file by
+        adding a symlink to a <filename>.requires/</filename> directory accompanying the unit file. For details, see
         above.</para></listitem>
       </varlistentry>
 
       <varlistentry>
         <term><varname>BindsTo=</varname></term>
 
-        <listitem><para>Configures requirement dependencies, very
-        similar in style to <varname>Requires=</varname>, however in
-        addition to this behavior, it also declares that this unit is
-        stopped when any of the units listed suddenly disappears.
-        Units can suddenly, unexpectedly disappear if a service
-        terminates on its own choice, a device is unplugged or a mount
-        point unmounted without involvement of
-        systemd.</para></listitem>
+        <listitem><para>Configures requirement dependencies, very similar in style to
+        <varname>Requires=</varname>. However, this dependency type is stronger: in addition to the effect of
+        <varname>Requires=</varname> it declares that if the unit bound to is stopped, this unit will be stopped
+        too. This means a unit bound to another unit that suddenly enters inactive state will be stopped too.
+        Units can suddenly, unexpectedly enter inactive state for different reasons: the main process of a service unit
+        might terminate on its own choice, the backing device of a device unit might be unplugged or the mount point of
+        a mount unit might be unmounted without involvement of the system and service manager.</para>
+
+        <para>When used in conjunction with <varname>After=</varname> on the same unit the behaviour of
+        <varname>BindsTo=</varname> is even stronger. In this case, the unit bound to strictly has to be in active
+        state for this unit to also be in active state. This not only means a unit bound to another unit that suddenly
+        enters inactive state, but also one that is bound to another unit that gets skipped due to a failed condition
+        check (such as <varname>ConditionPathExists=</varname>, <varname>ConditionPathIsSymbolicLink=</varname>, â€¦ â€”
+        see below) will be stopped, should it be running. Hence, in many cases it is best to combine
+        <varname>BindsTo=</varname> with <varname>After=</varname>.</para></listitem>
       </varlistentry>
 
       <varlistentry>
         <term><varname>Before=</varname></term>
         <term><varname>After=</varname></term>
 
-        <listitem><para>A space-separated list of unit names.
-        Configures ordering dependencies between units. If a unit
-        <filename>foo.service</filename> contains a setting
-        <option>Before=bar.service</option> and both units are being
-        started, <filename>bar.service</filename>'s start-up is
-        delayed until <filename>foo.service</filename> is started up.
-        Note that this setting is independent of and orthogonal to the
-        requirement dependencies as configured by
-        <varname>Requires=</varname>. It is a common pattern to
-        include a unit name in both the <varname>After=</varname> and
-        <varname>Requires=</varname> option, in which case the unit
-        listed will be started before the unit that is configured with
-        these options. This option may be specified more than once, in
-        which case ordering dependencies for all listed names are
-        created. <varname>After=</varname> is the inverse of
-        <varname>Before=</varname>, i.e. while
-        <varname>After=</varname> ensures that the configured unit is
-        started after the listed unit finished starting up,
-        <varname>Before=</varname> ensures the opposite, i.e. that the
-        configured unit is fully started up before the listed unit is
-        started. Note that when two units with an ordering dependency
-        between them are shut down, the inverse of the start-up order
-        is applied. i.e. if a unit is configured with
-        <varname>After=</varname> on another unit, the former is
-        stopped before the latter if both are shut down. Given two units
-        with any ordering dependency between them, if one unit is shut
-        down and the other is started up, the shutdown is ordered
-        before the start-up. It doesn't matter if the ordering
-        dependency is <varname>After=</varname> or
-        <varname>Before=</varname>. It also doesn't matter which of the
-        two is shut down, as long as one is shut down and the other is
-        started up. The shutdown is ordered before the start-up in all
-        cases. If two units have no ordering dependencies between them,
-        they are shut down or started up simultaneously, and no ordering
-        takes place.
-        </para></listitem>
+        <listitem><para>A space-separated list of unit names.  Configures ordering dependencies between units. If a
+        unit <filename>foo.service</filename> contains a setting <option>Before=bar.service</option> and both units are
+        being started, <filename>bar.service</filename>'s start-up is delayed until <filename>foo.service</filename> is
+        started up.  Note that this setting is independent of and orthogonal to the requirement dependencies as
+        configured by <varname>Requires=</varname>, <varname>Wants=</varname> or <varname>BindsTo=</varname>. It is a
+        common pattern to include a unit name in both the <varname>After=</varname> and <varname>Requires=</varname>
+        option, in which case the unit listed will be started before the unit that is configured with these
+        options. This option may be specified more than once, in which case ordering dependencies for all listed names
+        are created. <varname>After=</varname> is the inverse of <varname>Before=</varname>, i.e. while
+        <varname>After=</varname> ensures that the configured unit is started after the listed unit finished starting
+        up, <varname>Before=</varname> ensures the opposite, i.e. that the configured unit is fully started up before
+        the listed unit is started. Note that when two units with an ordering dependency between them are shut down,
+        the inverse of the start-up order is applied. i.e. if a unit is configured with <varname>After=</varname> on
+        another unit, the former is stopped before the latter if both are shut down. Given two units with any ordering
+        dependency between them, if one unit is shut down and the other is started up, the shutdown is ordered before
+        the start-up. It doesn't matter if the ordering dependency is <varname>After=</varname> or
+        <varname>Before=</varname>, in this case. It also doesn't matter which of the two is shut down, as long as one
+        is shut down and the other is started up. The shutdown is ordered before the start-up in all cases. If two
+        units have no ordering dependencies between them, they are shut down or started up simultaneously, and no
+        ordering takes place.  </para></listitem>
       </varlistentry>
 
       <varlistentry>
index 1ed3e445f2dea76074d58d28fbc0d246f228f356..f7f3435d508afa5477d946217576c96a60a54920 100644 (file)
@@ -1,3 +1,8 @@
 # do not edit this file, it will be overwritten on update
 
 ACTION!="remove", SUBSYSTEM=="drm", SUBSYSTEMS=="pci|usb|platform", IMPORT{builtin}="path_id"
+
+# by-path
+ENV{ID_PATH}=="?*", KERNEL=="card*", SYMLINK+="dri/by-path/$env{ID_PATH}-card"
+ENV{ID_PATH}=="?*", KERNEL=="controlD*", SYMLINK+="dri/by-path/$env{ID_PATH}-control"
+ENV{ID_PATH}=="?*", KERNEL=="renderD*", SYMLINK+="dri/by-path/$env{ID_PATH}-render"
index ade7e7f64648c3c6220cdd506db5550d679227b5..f5d5ba6a5f8393fbbc501d43af76b0bac72937ea 100644 (file)
@@ -12,6 +12,10 @@ ENV{ID_INPUT_KEY}=="?*", DRIVERS=="atkbd", \
   IMPORT{builtin}="hwdb 'evdev:atkbd:$attr{[dmi/id]modalias}'", \
   RUN{builtin}+="keyboard", GOTO="evdev_end"
 
+# device matching the input device name + properties + the machine's DMI data
+KERNELS=="input*", IMPORT{builtin}="hwdb 'evdev:name:$attr{name}:phys:$attr{phys}:ev:$attr{capabilities/ev}:$attr{[dmi/id]modalias}'", \
+  RUN{builtin}+="keyboard", GOTO="evdev_end"
+
 # device matching the input device name and the machine's DMI data
 KERNELS=="input*", IMPORT{builtin}="hwdb 'evdev:name:$attr{name}:$attr{[dmi/id]modalias}'", \
   RUN{builtin}+="keyboard", GOTO="evdev_end"
index 28e41ea968528a99b3838f3788f2c90d4024f6fa..4a33ad813f33bc2b5c8b18b3989ba970138ee213 100644 (file)
@@ -20,6 +20,7 @@ KERNEL=="nvme*[0-9]n*[0-9]", ATTR{wwid}=="?*", SYMLINK+="disk/by-id/nvme-$attr{w
 KERNEL=="nvme*[0-9]n*[0-9]p*[0-9]", ENV{DEVTYPE}=="partition", ATTRS{wwid}=="?*", SYMLINK+="disk/by-id/nvme-$attr{wwid}-part%n"
 
 KERNEL=="nvme*[0-9]n*[0-9]", ENV{DEVTYPE}=="disk", ATTRS{serial}=="?*", ENV{ID_SERIAL_SHORT}="$attr{serial}"
+KERNEL=="nvme*[0-9]n*[0-9]", ENV{DEVTYPE}=="disk", ATTRS{wwid}=="?*", ENV{ID_WWN}="$attr{wwid}"
 KERNEL=="nvme*[0-9]n*[0-9]", ENV{DEVTYPE}=="disk", ATTRS{model}=="?*", ENV{ID_SERIAL_SHORT}=="?*", ENV{ID_SERIAL}="$attr{model}_$env{ID_SERIAL_SHORT}", SYMLINK+="disk/by-id/nvme-$env{ID_SERIAL}"
 
 KERNEL=="nvme*[0-9]n*[0-9]p*[0-9]", ENV{DEVTYPE}=="partition", ATTRS{serial}=="?*", ENV{ID_SERIAL_SHORT}="$attr{serial}"
index 60916775068fe5cd0e36f18c9cd0405c8d1ff03a..d34f89e2bb9cc3f56891c75f338578da46000926 100644 (file)
@@ -37,7 +37,8 @@ __journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC}
 _coredumpctl() {
         local i verb comps
         local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
-        local OPTS='-h --help --version --no-pager --no-legend -o --output -F --field -1'
+        local OPTS='-h --help --version --no-pager --no-legend -o --output -F --field -1
+                    -r --reverse'
 
         local -A VERBS=(
             [LIST]='list'
index e4c04a697fa639b0ed59130a91357de86088d3b5..64b44c1214cd40263881644dd04a21a9295c41d6 100644 (file)
@@ -32,6 +32,7 @@ _arguments \
     {-o+,--output=}'[Write output to FILE]:output file:_files' \
     {-F+,--field=}'[Show field in list output]:field' \
     '-1[Show information about most recent entry only]' \
+    {-r,--reverse}'[Show the newest entries first]' \
     '--no-pager[Do not pipe output into a pager]' \
     '--no-legend[Do not print the column headers]' \
     {-h,--help}'[Show this help]' \
index 51d881c5fb14672628d5fa790872809317a580c0..ac0470b20d931fae3e323823c659529b4c75092d 100644 (file)
@@ -461,6 +461,7 @@ static int acquire_host_info(sd_bus *bus, struct host_info **hi) {
                                    "org.freedesktop.hostname1",
                                    "/org/freedesktop/hostname1",
                                    hostname_map,
+                                   &error,
                                    host);
         if (r < 0)
                 log_debug_errno(r, "Failed to get host information from systemd-hostnamed: %s", bus_error_message(&error, r));
@@ -469,6 +470,7 @@ static int acquire_host_info(sd_bus *bus, struct host_info **hi) {
                                    "org.freedesktop.systemd1",
                                    "/org/freedesktop/systemd1",
                                    manager_map,
+                                   &error,
                                    host);
         if (r < 0)
                 return log_error_errno(r, "Failed to get host information from systemd: %s", bus_error_message(&error, r));
@@ -1360,7 +1362,7 @@ static void help(void) {
                "  blame                    Print list of running units ordered by time to init\n"
                "  critical-chain           Print a tree of the time critical chain of units\n"
                "  plot                     Output SVG graphic showing service initialization\n"
-               "  dot                      Output dependency graph in dot(1) format\n"
+               "  dot                      Output dependency graph in man:dot(1) format\n"
                "  set-log-level LEVEL      Set logging threshold for manager\n"
                "  set-log-target TARGET    Set logging target for manager\n"
                "  dump                     Output state serialization of service manager\n"
index b74dc0db78c692e6b6e698f4ae96a56c52d4ce1b..5a3dc08a4a7bb637f5079e481fa689e696f88ac9 100644 (file)
@@ -123,7 +123,8 @@ int uname_architecture(void) {
                 { "crisv32",    ARCHITECTURE_CRIS     },
 #elif defined(__nios2__)
                 { "nios2",      ARCHITECTURE_NIOS2    },
-#elif defined(__riscv__)
+#elif defined(__riscv__) || defined(__riscv)
+        /* __riscv__ is obsolete, remove in 2018 */
                 { "riscv32",    ARCHITECTURE_RISCV32  },
                 { "riscv64",    ARCHITECTURE_RISCV64  },
 #  if __SIZEOF_POINTER__ == 4
index b329df2f6d0c2709c29d33777ca974cbc73c49b9..d6b8603b06ead1f69ca83c46a776f507685454f5 100644 (file)
@@ -194,7 +194,8 @@ int uname_architecture(void);
 #elif defined(__nios2__)
 #  define native_architecture() ARCHITECTURE_NIOS2
 #  define LIB_ARCH_TUPLE "nios2-linux-gnu"
-#elif defined(__riscv__)
+#elif defined(__riscv__) || defined(__riscv)
+        /* __riscv__ is obsolete, remove in 2018 */
 #  if __SIZEOF_POINTER__ == 4
 #    define native_architecture() ARCHITECTURE_RISCV32
 #    define LIB_ARCH_TUPLE "riscv32-linux-gnu"
index 5f9e21dcbafecb6c10f986098e36187eea511678..55054993125fd8dafe27743798684d7f8e88ed7e 100644 (file)
@@ -1737,7 +1737,7 @@ int btrfs_subvol_snapshot_fd(int old_fd, const char *new_path, BtrfsSnapshotFlag
                 } else if (r < 0)
                         return r;
 
-                r = copy_directory_fd(old_fd, new_path, true);
+                r = copy_directory_fd(old_fd, new_path, COPY_MERGE|COPY_REFLINK);
                 if (r < 0)
                         goto fallback_fail;
 
index 3fa1c51ace0496d3f7646dfed54ec842e092e7b1..2323eb85556b24df4adc1a87a7337eb9e20ad5cb 100644 (file)
@@ -116,8 +116,7 @@ static void normalize_chain(CalendarComponent **c) {
 
         /* Drop non-unique entries */
         for (k = n-1; k > 0; k--) {
-                if (b[k-1]->start == next->start &&
-                    b[k-1]->repeat == next->repeat) {
+                if (component_compare(&b[k-1], &next) == 0) {
                         free(b[k-1]);
                         continue;
                 }
index e9a7efd232a8dff9beb3daf3d1ed23ca073032bb..6273ac9b4768c65aaf82dcc7314a490630531c51 100644 (file)
@@ -45,6 +45,7 @@
 #include "strv.h"
 #include "time-util.h"
 #include "umask-util.h"
+#include "user-util.h"
 #include "xattr-util.h"
 
 #define COPY_BUFFER_SIZE (16*1024u)
@@ -68,7 +69,7 @@ static ssize_t try_copy_file_range(int fd_in, loff_t *off_in,
                 return -errno;
 }
 
-int copy_bytes(int fdf, int fdt, uint64_t max_bytes, bool try_reflink) {
+int copy_bytes(int fdf, int fdt, uint64_t max_bytes, CopyFlags copy_flags) {
         bool try_cfr = true, try_sendfile = true, try_splice = true;
         int r;
         size_t m = SSIZE_MAX; /* that is the maximum that sendfile and c_f_r accept */
@@ -77,7 +78,7 @@ int copy_bytes(int fdf, int fdt, uint64_t max_bytes, bool try_reflink) {
         assert(fdt >= 0);
 
         /* Try btrfs reflinks first. */
-        if (try_reflink &&
+        if ((copy_flags & COPY_REFLINK) &&
             max_bytes == (uint64_t) -1 &&
             lseek(fdf, 0, SEEK_CUR) == 0 &&
             lseek(fdt, 0, SEEK_CUR) == 0) {
@@ -176,7 +177,16 @@ int copy_bytes(int fdf, int fdt, uint64_t max_bytes, bool try_reflink) {
         return 0; /* return 0 if we hit EOF earlier than the size limit */
 }
 
-static int fd_copy_symlink(int df, const char *from, const struct stat *st, int dt, const char *to) {
+static int fd_copy_symlink(
+                int df,
+                const char *from,
+                const struct stat *st,
+                int dt,
+                const char *to,
+                uid_t override_uid,
+                gid_t override_gid,
+                CopyFlags copy_flags) {
+
         _cleanup_free_ char *target = NULL;
         int r;
 
@@ -191,13 +201,25 @@ static int fd_copy_symlink(int df, const char *from, const struct stat *st, int
         if (symlinkat(target, dt, to) < 0)
                 return -errno;
 
-        if (fchownat(dt, to, st->st_uid, st->st_gid, AT_SYMLINK_NOFOLLOW) < 0)
+        if (fchownat(dt, to,
+                     uid_is_valid(override_uid) ? override_uid : st->st_uid,
+                     gid_is_valid(override_gid) ? override_gid : st->st_gid,
+                     AT_SYMLINK_NOFOLLOW) < 0)
                 return -errno;
 
         return 0;
 }
 
-static int fd_copy_regular(int df, const char *from, const struct stat *st, int dt, const char *to) {
+static int fd_copy_regular(
+                int df,
+                const char *from,
+                const struct stat *st,
+                int dt,
+                const char *to,
+                uid_t override_uid,
+                gid_t override_gid,
+                CopyFlags copy_flags) {
+
         _cleanup_close_ int fdf = -1, fdt = -1;
         struct timespec ts[2];
         int r, q;
@@ -214,13 +236,15 @@ static int fd_copy_regular(int df, const char *from, const struct stat *st, int
         if (fdt < 0)
                 return -errno;
 
-        r = copy_bytes(fdf, fdt, (uint64_t) -1, true);
+        r = copy_bytes(fdf, fdt, (uint64_t) -1, copy_flags);
         if (r < 0) {
                 unlinkat(dt, to, 0);
                 return r;
         }
 
-        if (fchown(fdt, st->st_uid, st->st_gid) < 0)
+        if (fchown(fdt,
+                   uid_is_valid(override_uid) ? override_uid : st->st_uid,
+                   gid_is_valid(override_gid) ? override_gid : st->st_gid) < 0)
                 r = -errno;
 
         if (fchmod(fdt, st->st_mode & 07777) < 0)
@@ -229,7 +253,6 @@ static int fd_copy_regular(int df, const char *from, const struct stat *st, int
         ts[0] = st->st_atim;
         ts[1] = st->st_mtim;
         (void) futimens(fdt, ts);
-
         (void) copy_xattr(fdf, fdt);
 
         q = close(fdt);
@@ -243,7 +266,15 @@ static int fd_copy_regular(int df, const char *from, const struct stat *st, int
         return r;
 }
 
-static int fd_copy_fifo(int df, const char *from, const struct stat *st, int dt, const char *to) {
+static int fd_copy_fifo(
+                int df,
+                const char *from,
+                const struct stat *st,
+                int dt,
+                const char *to,
+                uid_t override_uid,
+                gid_t override_gid,
+                CopyFlags copy_flags) {
         int r;
 
         assert(from);
@@ -254,7 +285,10 @@ static int fd_copy_fifo(int df, const char *from, const struct stat *st, int dt,
         if (r < 0)
                 return -errno;
 
-        if (fchownat(dt, to, st->st_uid, st->st_gid, AT_SYMLINK_NOFOLLOW) < 0)
+        if (fchownat(dt, to,
+                     uid_is_valid(override_uid) ? override_uid : st->st_uid,
+                     gid_is_valid(override_gid) ? override_gid : st->st_gid,
+                     AT_SYMLINK_NOFOLLOW) < 0)
                 r = -errno;
 
         if (fchmodat(dt, to, st->st_mode & 07777, 0) < 0)
@@ -263,7 +297,15 @@ static int fd_copy_fifo(int df, const char *from, const struct stat *st, int dt,
         return r;
 }
 
-static int fd_copy_node(int df, const char *from, const struct stat *st, int dt, const char *to) {
+static int fd_copy_node(
+                int df,
+                const char *from,
+                const struct stat *st,
+                int dt,
+                const char *to,
+                uid_t override_uid,
+                gid_t override_gid,
+                CopyFlags copy_flags) {
         int r;
 
         assert(from);
@@ -274,7 +316,10 @@ static int fd_copy_node(int df, const char *from, const struct stat *st, int dt,
         if (r < 0)
                 return -errno;
 
-        if (fchownat(dt, to, st->st_uid, st->st_gid, AT_SYMLINK_NOFOLLOW) < 0)
+        if (fchownat(dt, to,
+                     uid_is_valid(override_uid) ? override_uid : st->st_uid,
+                     gid_is_valid(override_gid) ? override_gid : st->st_gid,
+                     AT_SYMLINK_NOFOLLOW) < 0)
                 r = -errno;
 
         if (fchmodat(dt, to, st->st_mode & 07777, 0) < 0)
@@ -290,7 +335,9 @@ static int fd_copy_directory(
                 int dt,
                 const char *to,
                 dev_t original_device,
-                bool merge) {
+                uid_t override_uid,
+                gid_t override_gid,
+                CopyFlags copy_flags) {
 
         _cleanup_close_ int fdf = -1, fdt = -1;
         _cleanup_closedir_ DIR *d = NULL;
@@ -316,7 +363,7 @@ static int fd_copy_directory(
         r = mkdirat(dt, to, st->st_mode & 07777);
         if (r >= 0)
                 created = true;
-        else if (errno == EEXIST && merge)
+        else if (errno == EEXIST && (copy_flags & COPY_MERGE))
                 created = false;
         else
                 return -errno;
@@ -343,19 +390,19 @@ static int fd_copy_directory(
                         continue;
 
                 if (S_ISREG(buf.st_mode))
-                        q = fd_copy_regular(dirfd(d), de->d_name, &buf, fdt, de->d_name);
+                        q = fd_copy_regular(dirfd(d), de->d_name, &buf, fdt, de->d_name, override_uid, override_gid, copy_flags);
                 else if (S_ISDIR(buf.st_mode))
-                        q = fd_copy_directory(dirfd(d), de->d_name, &buf, fdt, de->d_name, original_device, merge);
+                        q = fd_copy_directory(dirfd(d), de->d_name, &buf, fdt, de->d_name, original_device, override_uid, override_gid, copy_flags);
                 else if (S_ISLNK(buf.st_mode))
-                        q = fd_copy_symlink(dirfd(d), de->d_name, &buf, fdt, de->d_name);
+                        q = fd_copy_symlink(dirfd(d), de->d_name, &buf, fdt, de->d_name, override_uid, override_gid, copy_flags);
                 else if (S_ISFIFO(buf.st_mode))
-                        q = fd_copy_fifo(dirfd(d), de->d_name, &buf, fdt, de->d_name);
+                        q = fd_copy_fifo(dirfd(d), de->d_name, &buf, fdt, de->d_name, override_uid, override_gid, copy_flags);
                 else if (S_ISBLK(buf.st_mode) || S_ISCHR(buf.st_mode) || S_ISSOCK(buf.st_mode))
-                        q = fd_copy_node(dirfd(d), de->d_name, &buf, fdt, de->d_name);
+                        q = fd_copy_node(dirfd(d), de->d_name, &buf, fdt, de->d_name, override_uid, override_gid, copy_flags);
                 else
                         q = -EOPNOTSUPP;
 
-                if (q == -EEXIST && merge)
+                if (q == -EEXIST && (copy_flags & COPY_MERGE))
                         q = 0;
 
                 if (q < 0)
@@ -368,7 +415,9 @@ static int fd_copy_directory(
                         st->st_mtim
                 };
 
-                if (fchown(fdt, st->st_uid, st->st_gid) < 0)
+                if (fchown(fdt,
+                           uid_is_valid(override_uid) ? override_uid : st->st_uid,
+                           gid_is_valid(override_gid) ? override_gid : st->st_gid) < 0)
                         r = -errno;
 
                 if (fchmod(fdt, st->st_mode & 07777) < 0)
@@ -381,7 +430,7 @@ static int fd_copy_directory(
         return r;
 }
 
-int copy_tree_at(int fdf, const char *from, int fdt, const char *to, bool merge) {
+int copy_tree_at(int fdf, const char *from, int fdt, const char *to, uid_t override_uid, gid_t override_gid, CopyFlags copy_flags) {
         struct stat st;
 
         assert(from);
@@ -391,24 +440,24 @@ int copy_tree_at(int fdf, const char *from, int fdt, const char *to, bool merge)
                 return -errno;
 
         if (S_ISREG(st.st_mode))
-                return fd_copy_regular(fdf, from, &st, fdt, to);
+                return fd_copy_regular(fdf, from, &st, fdt, to, override_uid, override_gid, copy_flags);
         else if (S_ISDIR(st.st_mode))
-                return fd_copy_directory(fdf, from, &st, fdt, to, st.st_dev, merge);
+                return fd_copy_directory(fdf, from, &st, fdt, to, st.st_dev, override_uid, override_gid, copy_flags);
         else if (S_ISLNK(st.st_mode))
-                return fd_copy_symlink(fdf, from, &st, fdt, to);
+                return fd_copy_symlink(fdf, from, &st, fdt, to, override_uid, override_gid, copy_flags);
         else if (S_ISFIFO(st.st_mode))
-                return fd_copy_fifo(fdf, from, &st, fdt, to);
+                return fd_copy_fifo(fdf, from, &st, fdt, to, override_uid, override_gid, copy_flags);
         else if (S_ISBLK(st.st_mode) || S_ISCHR(st.st_mode) || S_ISSOCK(st.st_mode))
-                return fd_copy_node(fdf, from, &st, fdt, to);
+                return fd_copy_node(fdf, from, &st, fdt, to, override_uid, override_gid, copy_flags);
         else
                 return -EOPNOTSUPP;
 }
 
-int copy_tree(const char *from, const char *to, bool merge) {
-        return copy_tree_at(AT_FDCWD, from, AT_FDCWD, to, merge);
+int copy_tree(const char *from, const char *to, uid_t override_uid, gid_t override_gid, CopyFlags copy_flags) {
+        return copy_tree_at(AT_FDCWD, from, AT_FDCWD, to, override_uid, override_gid, copy_flags);
 }
 
-int copy_directory_fd(int dirfd, const char *to, bool merge) {
+int copy_directory_fd(int dirfd, const char *to, CopyFlags copy_flags) {
         struct stat st;
 
         assert(dirfd >= 0);
@@ -420,10 +469,10 @@ int copy_directory_fd(int dirfd, const char *to, bool merge) {
         if (!S_ISDIR(st.st_mode))
                 return -ENOTDIR;
 
-        return fd_copy_directory(dirfd, NULL, &st, AT_FDCWD, to, st.st_dev, merge);
+        return fd_copy_directory(dirfd, NULL, &st, AT_FDCWD, to, st.st_dev, UID_INVALID, GID_INVALID, copy_flags);
 }
 
-int copy_directory(const char *from, const char *to, bool merge) {
+int copy_directory(const char *from, const char *to, CopyFlags copy_flags) {
         struct stat st;
 
         assert(from);
@@ -435,10 +484,10 @@ int copy_directory(const char *from, const char *to, bool merge) {
         if (!S_ISDIR(st.st_mode))
                 return -ENOTDIR;
 
-        return fd_copy_directory(AT_FDCWD, from, &st, AT_FDCWD, to, st.st_dev, merge);
+        return fd_copy_directory(AT_FDCWD, from, &st, AT_FDCWD, to, st.st_dev, UID_INVALID, GID_INVALID, copy_flags);
 }
 
-int copy_file_fd(const char *from, int fdt, bool try_reflink) {
+int copy_file_fd(const char *from, int fdt, CopyFlags copy_flags) {
         _cleanup_close_ int fdf = -1;
         int r;
 
@@ -449,7 +498,7 @@ int copy_file_fd(const char *from, int fdt, bool try_reflink) {
         if (fdf < 0)
                 return -errno;
 
-        r = copy_bytes(fdf, fdt, (uint64_t) -1, try_reflink);
+        r = copy_bytes(fdf, fdt, (uint64_t) -1, copy_flags);
 
         (void) copy_times(fdf, fdt);
         (void) copy_xattr(fdf, fdt);
@@ -457,7 +506,7 @@ int copy_file_fd(const char *from, int fdt, bool try_reflink) {
         return r;
 }
 
-int copy_file(const char *from, const char *to, int flags, mode_t mode, unsigned chattr_flags) {
+int copy_file(const char *from, const char *to, int flags, mode_t mode, unsigned chattr_flags, CopyFlags copy_flags) {
         int fdt = -1, r;
 
         assert(from);
@@ -472,7 +521,7 @@ int copy_file(const char *from, const char *to, int flags, mode_t mode, unsigned
         if (chattr_flags != 0)
                 (void) chattr_fd(fdt, chattr_flags, (unsigned) -1);
 
-        r = copy_file_fd(from, fdt, true);
+        r = copy_file_fd(from, fdt, copy_flags);
         if (r < 0) {
                 close(fdt);
                 unlink(to);
@@ -487,7 +536,7 @@ int copy_file(const char *from, const char *to, int flags, mode_t mode, unsigned
         return 0;
 }
 
-int copy_file_atomic(const char *from, const char *to, mode_t mode, bool replace, unsigned chattr_flags) {
+int copy_file_atomic(const char *from, const char *to, mode_t mode, unsigned chattr_flags, CopyFlags copy_flags) {
         _cleanup_free_ char *t = NULL;
         int r;
 
@@ -498,11 +547,11 @@ int copy_file_atomic(const char *from, const char *to, mode_t mode, bool replace
         if (r < 0)
                 return r;
 
-        r = copy_file(from, t, O_NOFOLLOW|O_EXCL, mode, chattr_flags);
+        r = copy_file(from, t, O_NOFOLLOW|O_EXCL, mode, chattr_flags, copy_flags);
         if (r < 0)
                 return r;
 
-        if (replace) {
+        if (copy_flags & COPY_REPLACE) {
                 r = renameat(AT_FDCWD, t, AT_FDCWD, to);
                 if (r < 0)
                         r = -errno;
index b5d08ebafe6a23117e7783c77a76fc38d5e420e1..4f3e11423ef3196392150b980052de2cad801032 100644 (file)
 #include <stdint.h>
 #include <sys/types.h>
 
-int copy_file_fd(const char *from, int to, bool try_reflink);
-int copy_file(const char *from, const char *to, int flags, mode_t mode, unsigned chattr_flags);
-int copy_file_atomic(const char *from, const char *to, mode_t mode, bool replace, unsigned chattr_flags);
-int copy_tree(const char *from, const char *to, bool merge);
-int copy_tree_at(int fdf, const char *from, int fdt, const char *to, bool merge);
-int copy_directory_fd(int dirfd, const char *to, bool merge);
-int copy_directory(const char *from, const char *to, bool merge);
-int copy_bytes(int fdf, int fdt, uint64_t max_bytes, bool try_reflink);
+typedef enum CopyFlags {
+        COPY_REFLINK    = 0x1,      /* try to reflink */
+        COPY_MERGE      = 0x2,      /* merge existing trees with our new one to copy */
+        COPY_REPLACE    = 0x4,      /* replace an existing file if there's one */
+} CopyFlags;
+
+int copy_file_fd(const char *from, int to, CopyFlags copy_flags);
+int copy_file(const char *from, const char *to, int open_flags, mode_t mode, unsigned chattr_flags, CopyFlags copy_flags);
+int copy_file_atomic(const char *from, const char *to, mode_t mode, unsigned chattr_flags, CopyFlags copy_flags);
+int copy_tree(const char *from, const char *to, uid_t override_uid, gid_t override_gid, CopyFlags copy_flags);
+int copy_tree_at(int fdf, const char *from, int fdt, const char *to, uid_t override_uid, gid_t override_gid, CopyFlags copy_flags);
+int copy_directory_fd(int dirfd, const char *to, CopyFlags copy_flags);
+int copy_directory(const char *from, const char *to, CopyFlags copy_flags);
+int copy_bytes(int fdf, int fdt, uint64_t max_bytes, CopyFlags copy_flags);
 int copy_times(int fdf, int fdt);
 int copy_xattr(int fdf, int fdt);
index e44a357287c6e9dfb0ccc4f82e380fe4ae43ef2e..a94037b3035d8c53e40cf419af040868f67adc32 100644 (file)
@@ -55,7 +55,7 @@ char* gethostname_malloc(void) {
         assert_se(uname(&u) >= 0);
 
         if (isempty(u.nodename) || streq(u.nodename, "(none)"))
-                return strdup(u.sysname);
+                return strdup(FALLBACK_HOSTNAME);
 
         return strdup(u.nodename);
 }
diff --git a/src/basic/journal-importer.c b/src/basic/journal-importer.c
new file mode 100644 (file)
index 0000000..4c13e46
--- /dev/null
@@ -0,0 +1,481 @@
+/***
+  This file is part of systemd.
+
+  Copyright 2014 Zbigniew JÄ™drzejewski-Szmek
+
+  systemd is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
+  (at your option) any later version.
+
+  systemd is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <unistd.h>
+
+#include "alloc-util.h"
+#include "journal-importer.h"
+#include "fd-util.h"
+#include "parse-util.h"
+#include "string-util.h"
+
+enum {
+        IMPORTER_STATE_LINE = 0,    /* waiting to read, or reading line */
+        IMPORTER_STATE_DATA_START,  /* reading binary data header */
+        IMPORTER_STATE_DATA,        /* reading binary data */
+        IMPORTER_STATE_DATA_FINISH, /* expecting newline */
+        IMPORTER_STATE_EOF,         /* done */
+};
+
+static int iovw_put(struct iovec_wrapper *iovw, void* data, size_t len) {
+        if (!GREEDY_REALLOC(iovw->iovec, iovw->size_bytes, iovw->count + 1))
+                return log_oom();
+
+        iovw->iovec[iovw->count++] = (struct iovec) {data, len};
+        return 0;
+}
+
+static void iovw_free_contents(struct iovec_wrapper *iovw) {
+        iovw->iovec = mfree(iovw->iovec);
+        iovw->size_bytes = iovw->count = 0;
+}
+
+static void iovw_rebase(struct iovec_wrapper *iovw, char *old, char *new) {
+        size_t i;
+
+        for (i = 0; i < iovw->count; i++)
+                iovw->iovec[i].iov_base = (char*) iovw->iovec[i].iov_base - old + new;
+}
+
+size_t iovw_size(struct iovec_wrapper *iovw) {
+        size_t n = 0, i;
+
+        for (i = 0; i < iovw->count; i++)
+                n += iovw->iovec[i].iov_len;
+
+        return n;
+}
+
+void journal_importer_cleanup(JournalImporter *imp) {
+        if (imp->fd >= 0 && !imp->passive_fd) {
+                log_debug("Closing %s (fd=%d)", imp->name ?: "importer", imp->fd);
+                safe_close(imp->fd);
+        }
+
+        free(imp->buf);
+        iovw_free_contents(&imp->iovw);
+}
+
+static char* realloc_buffer(JournalImporter *imp, size_t size) {
+        char *b, *old = imp->buf;
+
+        b = GREEDY_REALLOC(imp->buf, imp->size, size);
+        if (!b)
+                return NULL;
+
+        iovw_rebase(&imp->iovw, old, imp->buf);
+
+        return b;
+}
+
+static int get_line(JournalImporter *imp, char **line, size_t *size) {
+        ssize_t n;
+        char *c = NULL;
+
+        assert(imp);
+        assert(imp->state == IMPORTER_STATE_LINE);
+        assert(imp->offset <= imp->filled);
+        assert(imp->filled <= imp->size);
+        assert(imp->buf == NULL || imp->size > 0);
+        assert(imp->fd >= 0);
+
+        for (;;) {
+                if (imp->buf) {
+                        size_t start = MAX(imp->scanned, imp->offset);
+
+                        c = memchr(imp->buf + start, '\n',
+                                   imp->filled - start);
+                        if (c != NULL)
+                                break;
+                }
+
+                imp->scanned = imp->filled;
+                if (imp->scanned >= DATA_SIZE_MAX) {
+                        log_error("Entry is bigger than %u bytes.", DATA_SIZE_MAX);
+                        return -E2BIG;
+                }
+
+                if (imp->passive_fd)
+                        /* we have to wait for some data to come to us */
+                        return -EAGAIN;
+
+                /* We know that imp->filled is at most DATA_SIZE_MAX, so if
+                   we reallocate it, we'll increase the size at least a bit. */
+                assert_cc(DATA_SIZE_MAX < ENTRY_SIZE_MAX);
+                if (imp->size - imp->filled < LINE_CHUNK &&
+                    !realloc_buffer(imp, MIN(imp->filled + LINE_CHUNK, ENTRY_SIZE_MAX)))
+                                return log_oom();
+
+                assert(imp->buf);
+                assert(imp->size - imp->filled >= LINE_CHUNK ||
+                       imp->size == ENTRY_SIZE_MAX);
+
+                n = read(imp->fd,
+                         imp->buf + imp->filled,
+                         imp->size - imp->filled);
+                if (n < 0) {
+                        if (errno != EAGAIN)
+                                log_error_errno(errno, "read(%d, ..., %zu): %m",
+                                                imp->fd,
+                                                imp->size - imp->filled);
+                        return -errno;
+                } else if (n == 0)
+                        return 0;
+
+                imp->filled += n;
+        }
+
+        *line = imp->buf + imp->offset;
+        *size = c + 1 - imp->buf - imp->offset;
+        imp->offset += *size;
+
+        return 1;
+}
+
+static int fill_fixed_size(JournalImporter *imp, void **data, size_t size) {
+
+        assert(imp);
+        assert(imp->state == IMPORTER_STATE_DATA_START ||
+               imp->state == IMPORTER_STATE_DATA ||
+               imp->state == IMPORTER_STATE_DATA_FINISH);
+        assert(size <= DATA_SIZE_MAX);
+        assert(imp->offset <= imp->filled);
+        assert(imp->filled <= imp->size);
+        assert(imp->buf != NULL || imp->size == 0);
+        assert(imp->buf == NULL || imp->size > 0);
+        assert(imp->fd >= 0);
+        assert(data);
+
+        while (imp->filled - imp->offset < size) {
+                int n;
+
+                if (imp->passive_fd)
+                        /* we have to wait for some data to come to us */
+                        return -EAGAIN;
+
+                if (!realloc_buffer(imp, imp->offset + size))
+                        return log_oom();
+
+                n = read(imp->fd, imp->buf + imp->filled,
+                         imp->size - imp->filled);
+                if (n < 0) {
+                        if (errno != EAGAIN)
+                                log_error_errno(errno, "read(%d, ..., %zu): %m", imp->fd,
+                                                imp->size - imp->filled);
+                        return -errno;
+                } else if (n == 0)
+                        return 0;
+
+                imp->filled += n;
+        }
+
+        *data = imp->buf + imp->offset;
+        imp->offset += size;
+
+        return 1;
+}
+
+static int get_data_size(JournalImporter *imp) {
+        int r;
+        void *data;
+
+        assert(imp);
+        assert(imp->state == IMPORTER_STATE_DATA_START);
+        assert(imp->data_size == 0);
+
+        r = fill_fixed_size(imp, &data, sizeof(uint64_t));
+        if (r <= 0)
+                return r;
+
+        imp->data_size = le64toh( *(uint64_t *) data );
+        if (imp->data_size > DATA_SIZE_MAX) {
+                log_error("Stream declares field with size %zu > DATA_SIZE_MAX = %u",
+                          imp->data_size, DATA_SIZE_MAX);
+                return -EINVAL;
+        }
+        if (imp->data_size == 0)
+                log_warning("Binary field with zero length");
+
+        return 1;
+}
+
+static int get_data_data(JournalImporter *imp, void **data) {
+        int r;
+
+        assert(imp);
+        assert(data);
+        assert(imp->state == IMPORTER_STATE_DATA);
+
+        r = fill_fixed_size(imp, data, imp->data_size);
+        if (r <= 0)
+                return r;
+
+        return 1;
+}
+
+static int get_data_newline(JournalImporter *imp) {
+        int r;
+        char *data;
+
+        assert(imp);
+        assert(imp->state == IMPORTER_STATE_DATA_FINISH);
+
+        r = fill_fixed_size(imp, (void**) &data, 1);
+        if (r <= 0)
+                return r;
+
+        assert(data);
+        if (*data != '\n') {
+                log_error("expected newline, got '%c'", *data);
+                return -EINVAL;
+        }
+
+        return 1;
+}
+
+static int process_dunder(JournalImporter *imp, char *line, size_t n) {
+        const char *timestamp;
+        int r;
+
+        assert(line);
+        assert(n > 0);
+        assert(line[n-1] == '\n');
+
+        /* XXX: is it worth to support timestamps in extended format?
+         * We don't produce them, but who knows... */
+
+        timestamp = startswith(line, "__CURSOR=");
+        if (timestamp)
+                /* ignore __CURSOR */
+                return 1;
+
+        timestamp = startswith(line, "__REALTIME_TIMESTAMP=");
+        if (timestamp) {
+                long long unsigned x;
+                line[n-1] = '\0';
+                r = safe_atollu(timestamp, &x);
+                if (r < 0)
+                        log_warning("Failed to parse __REALTIME_TIMESTAMP: '%s'", timestamp);
+                else
+                        imp->ts.realtime = x;
+                return r < 0 ? r : 1;
+        }
+
+        timestamp = startswith(line, "__MONOTONIC_TIMESTAMP=");
+        if (timestamp) {
+                long long unsigned x;
+                line[n-1] = '\0';
+                r = safe_atollu(timestamp, &x);
+                if (r < 0)
+                        log_warning("Failed to parse __MONOTONIC_TIMESTAMP: '%s'", timestamp);
+                else
+                        imp->ts.monotonic = x;
+                return r < 0 ? r : 1;
+        }
+
+        timestamp = startswith(line, "__");
+        if (timestamp) {
+                log_notice("Unknown dunder line %s", line);
+                return 1;
+        }
+
+        /* no dunder */
+        return 0;
+}
+
+int journal_importer_process_data(JournalImporter *imp) {
+        int r;
+
+        switch(imp->state) {
+        case IMPORTER_STATE_LINE: {
+                char *line, *sep;
+                size_t n = 0;
+
+                assert(imp->data_size == 0);
+
+                r = get_line(imp, &line, &n);
+                if (r < 0)
+                        return r;
+                if (r == 0) {
+                        imp->state = IMPORTER_STATE_EOF;
+                        return r;
+                }
+                assert(n > 0);
+                assert(line[n-1] == '\n');
+
+                if (n == 1) {
+                        log_trace("Received empty line, event is ready");
+                        return 1;
+                }
+
+                r = process_dunder(imp, line, n);
+                if (r != 0)
+                        return r < 0 ? r : 0;
+
+                /* MESSAGE=xxx\n
+                   or
+                   COREDUMP\n
+                   LLLLLLLL0011223344...\n
+                */
+                sep = memchr(line, '=', n);
+                if (sep) {
+                        /* chomp newline */
+                        n--;
+
+                        r = iovw_put(&imp->iovw, line, n);
+                        if (r < 0)
+                                return r;
+                } else {
+                        /* replace \n with = */
+                        line[n-1] = '=';
+
+                        imp->field_len = n;
+                        imp->state = IMPORTER_STATE_DATA_START;
+
+                        /* we cannot put the field in iovec until we have all data */
+                }
+
+                log_trace("Received: %.*s (%s)", (int) n, line, sep ? "text" : "binary");
+
+                return 0; /* continue */
+        }
+
+        case IMPORTER_STATE_DATA_START:
+                assert(imp->data_size == 0);
+
+                r = get_data_size(imp);
+                // log_debug("get_data_size() -> %d", r);
+                if (r < 0)
+                        return r;
+                if (r == 0) {
+                        imp->state = IMPORTER_STATE_EOF;
+                        return 0;
+                }
+
+                imp->state = imp->data_size > 0 ?
+                        IMPORTER_STATE_DATA : IMPORTER_STATE_DATA_FINISH;
+
+                return 0; /* continue */
+
+        case IMPORTER_STATE_DATA: {
+                void *data;
+                char *field;
+
+                assert(imp->data_size > 0);
+
+                r = get_data_data(imp, &data);
+                // log_debug("get_data_data() -> %d", r);
+                if (r < 0)
+                        return r;
+                if (r == 0) {
+                        imp->state = IMPORTER_STATE_EOF;
+                        return 0;
+                }
+
+                assert(data);
+
+                field = (char*) data - sizeof(uint64_t) - imp->field_len;
+                memmove(field + sizeof(uint64_t), field, imp->field_len);
+
+                r = iovw_put(&imp->iovw, field + sizeof(uint64_t), imp->field_len + imp->data_size);
+                if (r < 0)
+                        return r;
+
+                imp->state = IMPORTER_STATE_DATA_FINISH;
+
+                return 0; /* continue */
+        }
+
+        case IMPORTER_STATE_DATA_FINISH:
+                r = get_data_newline(imp);
+                // log_debug("get_data_newline() -> %d", r);
+                if (r < 0)
+                        return r;
+                if (r == 0) {
+                        imp->state = IMPORTER_STATE_EOF;
+                        return 0;
+                }
+
+                imp->data_size = 0;
+                imp->state = IMPORTER_STATE_LINE;
+
+                return 0; /* continue */
+        default:
+                assert_not_reached("wtf?");
+        }
+}
+
+int journal_importer_push_data(JournalImporter *imp, const char *data, size_t size) {
+        assert(imp);
+        assert(imp->state != IMPORTER_STATE_EOF);
+
+        if (!realloc_buffer(imp, imp->filled + size)) {
+                log_error("Failed to store received data of size %zu "
+                          "(in addition to existing %zu bytes with %zu filled): %s",
+                          size, imp->size, imp->filled, strerror(ENOMEM));
+                return -ENOMEM;
+        }
+
+        memcpy(imp->buf + imp->filled, data, size);
+        imp->filled += size;
+
+        return 0;
+}
+
+void journal_importer_drop_iovw(JournalImporter *imp) {
+        size_t remain, target;
+
+        /* This function drops processed data that along with the iovw that points at it */
+
+        iovw_free_contents(&imp->iovw);
+
+        /* possibly reset buffer position */
+        remain = imp->filled - imp->offset;
+
+        if (remain == 0) /* no brainer */
+                imp->offset = imp->scanned = imp->filled = 0;
+        else if (imp->offset > imp->size - imp->filled &&
+                 imp->offset > remain) {
+                memcpy(imp->buf, imp->buf + imp->offset, remain);
+                imp->offset = imp->scanned = 0;
+                imp->filled = remain;
+        }
+
+        target = imp->size;
+        while (target > 16 * LINE_CHUNK && imp->filled < target / 2)
+                target /= 2;
+        if (target < imp->size) {
+                char *tmp;
+
+                tmp = realloc(imp->buf, target);
+                if (!tmp)
+                        log_warning("Failed to reallocate buffer to (smaller) size %zu",
+                                    target);
+                else {
+                        log_debug("Reallocated buffer from %zu to %zu bytes",
+                                  imp->size, target);
+                        imp->buf = tmp;
+                        imp->size = target;
+                }
+        }
+}
+
+bool journal_importer_eof(const JournalImporter *imp) {
+        return imp->state == IMPORTER_STATE_EOF;
+}
diff --git a/src/basic/journal-importer.h b/src/basic/journal-importer.h
new file mode 100644 (file)
index 0000000..b3e308d
--- /dev/null
@@ -0,0 +1,70 @@
+/***
+  This file is part of systemd.
+
+  Copyright 2016 Zbigniew JÄ™drzejewski-Szmek
+
+  systemd is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
+  (at your option) any later version.
+
+  systemd is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#pragma once
+
+#include <stddef.h>
+#include <stdbool.h>
+#include <sys/uio.h>
+
+#include "time-util.h"
+
+/* Make sure not to make this smaller than the maximum coredump size.
+ * See COREDUMP_MAX in coredump.c */
+#define ENTRY_SIZE_MAX (1024*1024*770u)
+#define DATA_SIZE_MAX (1024*1024*768u)
+#define LINE_CHUNK 8*1024u
+
+struct iovec_wrapper {
+        struct iovec *iovec;
+        size_t size_bytes;
+        size_t count;
+};
+
+size_t iovw_size(struct iovec_wrapper *iovw);
+
+typedef struct JournalImporter {
+        int fd;
+        bool passive_fd;
+        char *name;
+
+        char *buf;
+        size_t size;       /* total size of the buffer */
+        size_t offset;     /* offset to the beginning of live data in the buffer */
+        size_t scanned;    /* number of bytes since the beginning of data without a newline */
+        size_t filled;     /* total number of bytes in the buffer */
+
+        size_t field_len;  /* used for binary fields: the field name length */
+        size_t data_size;  /* and the size of the binary data chunk being processed */
+
+        struct iovec_wrapper iovw;
+
+        int state;
+        dual_timestamp ts;
+} JournalImporter;
+
+void journal_importer_cleanup(JournalImporter *);
+int journal_importer_process_data(JournalImporter *);
+int journal_importer_push_data(JournalImporter *, const char *data, size_t size);
+void journal_importer_drop_iovw(JournalImporter *);
+bool journal_importer_eof(const JournalImporter *);
+
+static inline size_t journal_importer_bytes_remaining(const JournalImporter *imp) {
+        return imp->filled;
+}
index 1362b1c086fc33e43528ca65143ae6b3d5418551..e6d2d61d72b8946121a2a66324fe5709c2522775 100644 (file)
@@ -1164,7 +1164,7 @@ int log_syntax_internal(
         return log_struct_internal(
                         level, error,
                         file, line, func,
-                        LOG_MESSAGE_ID(SD_MESSAGE_INVALID_CONFIGURATION),
+                        "MESSAGE_ID=" SD_MESSAGE_INVALID_CONFIGURATION_STR,
                         "CONFIG_FILE=%s", config_file,
                         "CONFIG_LINE=%u", config_line,
                         LOG_MESSAGE("%s:%u: %s", config_file, config_line, buffer),
index 2afee20bb5b39bafb15dd169a45e662d10c6617b..9cacbb6b70f58f9d57b829537eb5436ea2d96a55 100644 (file)
@@ -214,9 +214,8 @@ bool log_on_console(void) _pure_;
 const char *log_target_to_string(LogTarget target) _const_;
 LogTarget log_target_from_string(const char *s) _pure_;
 
-/* Helpers to prepare various fields for structured logging */
+/* Helper to prepare various field for structured logging */
 #define LOG_MESSAGE(fmt, ...) "MESSAGE=" fmt, ##__VA_ARGS__
-#define LOG_MESSAGE_ID(x) "MESSAGE_ID=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(x)
 
 void log_received_signal(int level, const struct signalfd_siginfo *si);
 
index e6fd67cb9d2e6ce391b0fdc61e9a13d1eac31e06..9fc415656456e960b93b5c134784fbb22973854d 100644 (file)
@@ -194,6 +194,8 @@ static inline pid_t raw_getpid(void) {
 #      define __NR_renameat2 316
 #    elif defined __arm__
 #      define __NR_renameat2 382
+#    elif defined __aarch64__
+#      define __NR_renameat2 276
 #    elif defined _MIPS_SIM
 #      if _MIPS_SIM == _MIPS_SIM_ABI32
 #        define __NR_renameat2 4351
index 03ce71a7288522fd5c1158ddd2d11bdb0afed58a..9d615da681e1e0a535b99b564326d070a14a1681 100644 (file)
@@ -316,25 +316,31 @@ static int detect_vm_zvm(void) {
 /* Returns a short identifier for the various VM implementations */
 int detect_vm(void) {
         static thread_local int cached_found = _VIRTUALIZATION_INVALID;
-        int r;
+        int r, dmi;
 
         if (cached_found >= 0)
                 return cached_found;
 
         /* We have to use the correct order here:
-         * Some virtualization technologies do use KVM hypervisor but are
-         * expected to be detected as something else. So detect DMI first.
          *
-         * An example is Virtualbox since version 5.0, which uses KVM backend.
-         * Detection via DMI works corretly, the CPU ID would find KVM
-         * only. */
-        r = detect_vm_dmi();
+         * -> First try to detect Oracle Virtualbox, even if it uses KVM.
+         * -> Second try to detect from cpuid, this will report KVM for
+         *    whatever software is used even if info in dmi is overwritten.
+         * -> Third try to detect from dmi. */
+
+        dmi = detect_vm_dmi();
+        if (dmi == VIRTUALIZATION_ORACLE) {
+                r = dmi;
+                goto finish;
+        }
+
+        r = detect_vm_cpuid();
         if (r < 0)
                 return r;
         if (r != VIRTUALIZATION_NONE)
                 goto finish;
 
-        r = detect_vm_cpuid();
+        r = dmi;
         if (r < 0)
                 return r;
         if (r != VIRTUALIZATION_NONE)
index 0136d38833fb1fb18f897123feebb47e3785538c..f87b52a266bb100c6a20e6f12e4139adb1e92946 100644 (file)
@@ -848,13 +848,9 @@ static int method_get_unit_processes(sd_bus_message *message, void *userdata, sd
         if (r < 0)
                 return r;
 
-        r = manager_load_unit(m, name, NULL, error, &u);
-        if (r < 0)
-                return r;
-
-        r = bus_unit_check_load_state(u, error);
-        if (r < 0)
-                return r;
+        u = manager_get_unit(m, name);
+        if (!u)
+                return sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_UNIT, "Unit %s not loaded.", name);
 
         return bus_unit_method_get_processes(message, u, error);
 }
@@ -1342,7 +1338,7 @@ static int verify_run_space(const char *message, sd_bus_error *error) {
 }
 
 int verify_run_space_and_log(const char *message) {
-        sd_bus_error error = SD_BUS_ERROR_NULL;
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         int r;
 
         r = verify_run_space(message, &error);
@@ -1916,63 +1912,6 @@ static int send_unit_files_changed(sd_bus *bus, void *userdata) {
         return sd_bus_send(bus, message, NULL);
 }
 
-static int reply_unit_file_changes_and_free(
-                Manager *m,
-                sd_bus_message *message,
-                int carries_install_info,
-                UnitFileChange *changes,
-                unsigned n_changes) {
-
-        _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
-        unsigned i;
-        int r;
-
-        if (unit_file_changes_have_modification(changes, n_changes)) {
-                r = bus_foreach_bus(m, NULL, send_unit_files_changed, NULL);
-                if (r < 0)
-                        log_debug_errno(r, "Failed to send UnitFilesChanged signal: %m");
-        }
-
-        r = sd_bus_message_new_method_return(message, &reply);
-        if (r < 0)
-                goto fail;
-
-        if (carries_install_info >= 0) {
-                r = sd_bus_message_append(reply, "b", carries_install_info);
-                if (r < 0)
-                        goto fail;
-        }
-
-        r = sd_bus_message_open_container(reply, 'a', "(sss)");
-        if (r < 0)
-                goto fail;
-
-        for (i = 0; i < n_changes; i++)
-                if (changes[i].type >= 0) {
-                        const char *change = unit_file_change_type_to_string(changes[i].type);
-                        assert(change != NULL);
-
-                        r = sd_bus_message_append(
-                                        reply, "(sss)",
-                                        change,
-                                        changes[i].path,
-                                        changes[i].source);
-                        if (r < 0)
-                                goto fail;
-                }
-
-        r = sd_bus_message_close_container(reply);
-        if (r < 0)
-                goto fail;
-
-        unit_file_changes_free(changes, n_changes);
-        return sd_bus_send(NULL, reply, NULL);
-
-fail:
-        unit_file_changes_free(changes, n_changes);
-        return r;
-}
-
 /* Create an error reply, using the error information from changes[]
  * if possible, and fall back to generating an error from error code c.
  * The error message only describes the first error.
@@ -1986,12 +1925,14 @@ static int install_error(
                 unsigned n_changes) {
         int r;
         unsigned i;
-        assert(c < 0);
 
         for (i = 0; i < n_changes; i++)
+
                 switch(changes[i].type) {
+
                 case 0 ... INT_MAX:
                         continue;
+
                 case -EEXIST:
                         if (changes[i].source)
                                 r = sd_bus_error_setf(error, BUS_ERROR_UNIT_EXISTS,
@@ -2002,29 +1943,106 @@ static int install_error(
                                                       "File %s already exists.",
                                                       changes[i].path);
                         goto found;
+
                 case -ERFKILL:
                         r = sd_bus_error_setf(error, BUS_ERROR_UNIT_MASKED,
                                               "Unit file %s is masked.", changes[i].path);
                         goto found;
+
                 case -EADDRNOTAVAIL:
                         r = sd_bus_error_setf(error, BUS_ERROR_UNIT_GENERATED,
                                               "Unit %s is transient or generated.", changes[i].path);
                         goto found;
+
                 case -ELOOP:
                         r = sd_bus_error_setf(error, BUS_ERROR_UNIT_LINKED,
                                               "Refusing to operate on linked unit file %s", changes[i].path);
                         goto found;
+
+                case -ENOENT:
+                        r = sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_UNIT, "Unit file %s does not exist.", changes[i].path);
+                        goto found;
+
                 default:
                         r = sd_bus_error_set_errnof(error, changes[i].type, "File %s: %m", changes[i].path);
                         goto found;
                 }
 
-        r = c;
+        r = c < 0 ? c : -EINVAL;
+
  found:
         unit_file_changes_free(changes, n_changes);
         return r;
 }
 
+static int reply_unit_file_changes_and_free(
+                Manager *m,
+                sd_bus_message *message,
+                int carries_install_info,
+                UnitFileChange *changes,
+                unsigned n_changes,
+                sd_bus_error *error) {
+
+        _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
+        bool bad = false, good = false;
+        unsigned i;
+        int r;
+
+        if (unit_file_changes_have_modification(changes, n_changes)) {
+                r = bus_foreach_bus(m, NULL, send_unit_files_changed, NULL);
+                if (r < 0)
+                        log_debug_errno(r, "Failed to send UnitFilesChanged signal: %m");
+        }
+
+        r = sd_bus_message_new_method_return(message, &reply);
+        if (r < 0)
+                goto fail;
+
+        if (carries_install_info >= 0) {
+                r = sd_bus_message_append(reply, "b", carries_install_info);
+                if (r < 0)
+                        goto fail;
+        }
+
+        r = sd_bus_message_open_container(reply, 'a', "(sss)");
+        if (r < 0)
+                goto fail;
+
+        for (i = 0; i < n_changes; i++) {
+
+                if (changes[i].type < 0) {
+                        bad = true;
+                        continue;
+                }
+
+                r = sd_bus_message_append(
+                                reply, "(sss)",
+                                unit_file_change_type_to_string(changes[i].type),
+                                changes[i].path,
+                                changes[i].source);
+                if (r < 0)
+                        goto fail;
+
+                good = true;
+        }
+
+        /* If there was a failed change, and no successful change, then return the first failure as proper method call
+         * error. */
+        if (bad && !good)
+                return install_error(error, 0, changes, n_changes);
+
+        r = sd_bus_message_close_container(reply);
+        if (r < 0)
+                goto fail;
+
+        unit_file_changes_free(changes, n_changes);
+        return sd_bus_send(NULL, reply, NULL);
+
+fail:
+        unit_file_changes_free(changes, n_changes);
+        return r;
+}
+
 static int method_enable_unit_files_generic(
                 sd_bus_message *message,
                 Manager *m,
@@ -2061,7 +2079,7 @@ static int method_enable_unit_files_generic(
         if (r < 0)
                 return install_error(error, r, changes, n_changes);
 
-        return reply_unit_file_changes_and_free(m, message, carries_install_info ? r : -1, changes, n_changes);
+        return reply_unit_file_changes_and_free(m, message, carries_install_info ? r : -1, changes, n_changes, error);
 }
 
 static int method_enable_unit_files(sd_bus_message *message, void *userdata, sd_bus_error *error) {
@@ -2130,7 +2148,7 @@ static int method_preset_unit_files_with_mode(sd_bus_message *message, void *use
         if (r < 0)
                 return install_error(error, r, changes, n_changes);
 
-        return reply_unit_file_changes_and_free(m, message, r, changes, n_changes);
+        return reply_unit_file_changes_and_free(m, message, r, changes, n_changes, error);
 }
 
 static int method_disable_unit_files_generic(
@@ -2165,7 +2183,7 @@ static int method_disable_unit_files_generic(
         if (r < 0)
                 return install_error(error, r, changes, n_changes);
 
-        return reply_unit_file_changes_and_free(m, message, -1, changes, n_changes);
+        return reply_unit_file_changes_and_free(m, message, -1, changes, n_changes, error);
 }
 
 static int method_disable_unit_files(sd_bus_message *message, void *userdata, sd_bus_error *error) {
@@ -2200,7 +2218,7 @@ static int method_revert_unit_files(sd_bus_message *message, void *userdata, sd_
         if (r < 0)
                 return install_error(error, r, changes, n_changes);
 
-        return reply_unit_file_changes_and_free(m, message, -1, changes, n_changes);
+        return reply_unit_file_changes_and_free(m, message, -1, changes, n_changes, error);
 }
 
 static int method_set_default_target(sd_bus_message *message, void *userdata, sd_bus_error *error) {
@@ -2231,7 +2249,7 @@ static int method_set_default_target(sd_bus_message *message, void *userdata, sd
         if (r < 0)
                 return install_error(error, r, changes, n_changes);
 
-        return reply_unit_file_changes_and_free(m, message, -1, changes, n_changes);
+        return reply_unit_file_changes_and_free(m, message, -1, changes, n_changes, error);
 }
 
 static int method_preset_all_unit_files(sd_bus_message *message, void *userdata, sd_bus_error *error) {
@@ -2274,7 +2292,7 @@ static int method_preset_all_unit_files(sd_bus_message *message, void *userdata,
         if (r < 0)
                 return install_error(error, r, changes, n_changes);
 
-        return reply_unit_file_changes_and_free(m, message, -1, changes, n_changes);
+        return reply_unit_file_changes_and_free(m, message, -1, changes, n_changes, error);
 }
 
 static int method_add_dependency_unit_files(sd_bus_message *message, void *userdata, sd_bus_error *error) {
@@ -2314,7 +2332,7 @@ static int method_add_dependency_unit_files(sd_bus_message *message, void *userd
         if (r < 0)
                 return install_error(error, r, changes, n_changes);
 
-        return reply_unit_file_changes_and_free(m, message, -1, changes, n_changes);
+        return reply_unit_file_changes_and_free(m, message, -1, changes, n_changes, error);
 }
 
 static int method_get_unit_file_links(sd_bus_message *message, void *userdata, sd_bus_error *error) {
index 60e889e1effd8fc7000d9c90c8590b8522da9987..f1306a023f58193954debd2f429046d3dd13bd5e 100644 (file)
@@ -1006,6 +1006,10 @@ int bus_unit_method_get_processes(sd_bus_message *message, void *userdata, sd_bu
 
         assert(message);
 
+        r = mac_selinux_unit_access_check(u, message, "status", error);
+        if (r < 0)
+                return r;
+
         pids = set_new(NULL);
         if (!pids)
                 return -ENOMEM;
index 0493e5786c5de22624e2f6665667d8c955727b2d..065f2d81d6575d34425ae5e3fd1bdd063ccff187 100644 (file)
@@ -298,7 +298,7 @@ static int bus_job_find(sd_bus *bus, const char *path, const char *interface, vo
 }
 
 static int find_unit(Manager *m, sd_bus *bus, const char *path, Unit **unit, sd_bus_error *error) {
-        Unit *u;
+        Unit *u = NULL;  /* just to appease gcc, initialization is not really necessary */
         int r;
 
         assert(m);
@@ -323,15 +323,15 @@ static int find_unit(Manager *m, sd_bus *bus, const char *path, Unit **unit, sd_
                         return r;
 
                 u = manager_get_unit_by_pid(m, pid);
+                if (!u)
+                        return 0;
         } else {
                 r = manager_load_unit_from_dbus_path(m, path, error, &u);
                 if (r < 0)
                         return 0;
+                assert(u);
         }
 
-        if (!u)
-                return 0;
-
         *unit = u;
         return 1;
 }
index 6041da46d64a25c4388efb1a38bf0f1f518175aa..d7798387c52cb51e2da67579257af045e1860fd9 100644 (file)
@@ -1144,11 +1144,13 @@ static int setup_pam(
 
                 /* Tell the parent that our setup is done. This is especially
                  * important regarding dropping privileges. Otherwise, unit
-                 * setup might race against our setresuid(2) call. */
-                barrier_place(&barrier);
+                 * setup might race against our setresuid(2) call.
+                 *
+                 * If the parent aborted, we'll detect this below, hence ignore
+                 * return failure here. */
+                (void) barrier_place(&barrier);
 
-                /* Check if our parent process might already have
-                 * died? */
+                /* Check if our parent process might already have died? */
                 if (getppid() == parent_pid) {
                         sigset_t ss;
 
@@ -1938,10 +1940,13 @@ static int compile_read_write_paths(
         return 0;
 }
 
-static int apply_mount_namespace(Unit *u, const ExecContext *context,
-                                 const ExecParameters *params,
-                                 ExecRuntime *runtime) {
-        int r;
+static int apply_mount_namespace(
+                Unit *u,
+                ExecCommand *command,
+                const ExecContext *context,
+                const ExecParameters *params,
+                ExecRuntime *runtime) {
+
         _cleanup_strv_free_ char **rw = NULL;
         char *tmp = NULL, *var = NULL;
         const char *root_dir = NULL, *root_image = NULL;
@@ -1953,6 +1958,8 @@ static int apply_mount_namespace(Unit *u, const ExecContext *context,
                 .protect_kernel_modules = context->protect_kernel_modules,
                 .mount_apivfs = context->mount_apivfs,
         };
+        bool apply_restrictions;
+        int r;
 
         assert(context);
 
@@ -1986,16 +1993,18 @@ static int apply_mount_namespace(Unit *u, const ExecContext *context,
         if (!context->dynamic_user && root_dir)
                 ns_info.ignore_protect_paths = true;
 
+        apply_restrictions = (params->flags & EXEC_APPLY_PERMISSIONS) && !command->privileged;
+
         r = setup_namespace(root_dir, root_image,
                             &ns_info, rw,
-                            context->read_only_paths,
-                            context->inaccessible_paths,
+                            apply_restrictions ? context->read_only_paths : NULL,
+                            apply_restrictions ? context->inaccessible_paths : NULL,
                             context->bind_mounts,
                             context->n_bind_mounts,
                             tmp,
                             var,
-                            context->protect_home,
-                            context->protect_system,
+                            apply_restrictions ? context->protect_home : PROTECT_HOME_NO,
+                            apply_restrictions ? context->protect_system : PROTECT_SYSTEM_NO,
                             context->mount_flags,
                             DISSECT_IMAGE_DISCARD_ON_LOOP);
 
@@ -2606,7 +2615,7 @@ static int exec_child(
 
         needs_mount_namespace = exec_needs_mount_namespace(context, params, runtime);
         if (needs_mount_namespace) {
-                r = apply_mount_namespace(unit, context, params, runtime);
+                r = apply_mount_namespace(unit, command, context, params, runtime);
                 if (r < 0) {
                         *exit_status = EXIT_NAMESPACE;
                         return r;
@@ -2974,7 +2983,7 @@ int exec_spawn(Unit *unit,
                         log_open();
                         if (error_message)
                                 log_struct_errno(LOG_ERR, r,
-                                                 LOG_MESSAGE_ID(SD_MESSAGE_SPAWN_FAILED),
+                                                 "MESSAGE_ID=" SD_MESSAGE_SPAWN_FAILED_STR,
                                                  LOG_UNIT_ID(unit),
                                                  LOG_UNIT_MESSAGE(unit, "%s: %m",
                                                                   error_message),
@@ -2982,7 +2991,7 @@ int exec_spawn(Unit *unit,
                                                  NULL);
                         else
                                 log_struct_errno(LOG_ERR, r,
-                                                 LOG_MESSAGE_ID(SD_MESSAGE_SPAWN_FAILED),
+                                                 "MESSAGE_ID=" SD_MESSAGE_SPAWN_FAILED_STR,
                                                  LOG_UNIT_ID(unit),
                                                  LOG_UNIT_MESSAGE(unit, "Failed at step %s spawning %s: %m",
                                                                   exit_status_to_string(exit_status, EXIT_STATUS_SYSTEMD),
index 68be52856b3f9e5f161cbae6441d4d4b96df34a9..845e31e1c596586c61834717cfa88336ac47e0d6 100644 (file)
 #include "util.h"
 
 int hostname_setup(void) {
-        int r;
         _cleanup_free_ char *b = NULL;
-        const char *hn;
         bool enoent = false;
+        const char *hn;
+        int r;
 
         r = read_hostname_config("/etc/hostname", &b);
         if (r < 0) {
@@ -56,7 +56,7 @@ int hostname_setup(void) {
                 if (enoent)
                         log_info("No hostname configured.");
 
-                hn = "localhost";
+                hn = FALLBACK_HOSTNAME;
         }
 
         r = sethostname_idempotent(hn);
index 00f7d7998f75d1220dcb8e89971facaa6c324965..e2349830a82476829931f1cc5ec42c0aebe51754 100644 (file)
@@ -627,6 +627,8 @@ int job_run_and_invalidate(Job *j) {
                         r = job_finish_and_invalidate(j, JOB_ASSERT, true, false);
                 else if (r == -EOPNOTSUPP)
                         r = job_finish_and_invalidate(j, JOB_UNSUPPORTED, true, false);
+                else if (r == -ENOLINK)
+                        r = job_finish_and_invalidate(j, JOB_DEPENDENCY, true, false);
                 else if (r == -EAGAIN)
                         job_set_state(j, JOB_WAITING);
                 else if (r < 0)
@@ -744,9 +746,8 @@ static void job_print_status_message(Unit *u, JobType t, JobResult result) {
 }
 
 static void job_log_status_message(Unit *u, JobType t, JobResult result) {
-        const char *format;
+        const char *format, *mid;
         char buf[LINE_MAX];
-        sd_id128_t mid;
         static const int job_result_log_level[_JOB_RESULT_MAX] = {
                 [JOB_DONE]        = LOG_INFO,
                 [JOB_CANCELED]    = LOG_INFO,
@@ -782,16 +783,19 @@ static void job_log_status_message(Unit *u, JobType t, JobResult result) {
         switch (t) {
 
         case JOB_START:
-                mid = result == JOB_DONE ? SD_MESSAGE_UNIT_STARTED : SD_MESSAGE_UNIT_FAILED;
+                if (result == JOB_DONE)
+                        mid = "MESSAGE_ID=" SD_MESSAGE_UNIT_STARTED_STR;
+                else
+                        mid = "MESSAGE_ID=" SD_MESSAGE_UNIT_FAILED_STR;
                 break;
 
         case JOB_RELOAD:
-                mid = SD_MESSAGE_UNIT_RELOADED;
+                mid = "MESSAGE_ID=" SD_MESSAGE_UNIT_RELOADED_STR;
                 break;
 
         case JOB_STOP:
         case JOB_RESTART:
-                mid = SD_MESSAGE_UNIT_STOPPED;
+                mid = "MESSAGE_ID=" SD_MESSAGE_UNIT_STOPPED_STR;
                 break;
 
         default:
@@ -804,7 +808,7 @@ static void job_log_status_message(Unit *u, JobType t, JobResult result) {
         }
 
         log_struct(job_result_log_level[result],
-                   LOG_MESSAGE_ID(mid),
+                   mid,
                    LOG_UNIT_ID(u),
                    LOG_MESSAGE("%s", buf),
                    "RESULT=%s", job_result_to_string(result),
index 7a9df546eee9303483286db7a398878934d4a55f..3fe9fa2ed0adc5b62f59a72a22c5af6355f9fe1b 100644 (file)
@@ -213,7 +213,8 @@ static int killall(int sig, Set *pids, bool send_sighup) {
 
 
                         if (get_ctty_devnr(pid, NULL) >= 0)
-                                kill(pid, SIGHUP);
+                                /* it's OK if the process is gone, just ignore the result */
+                                (void) kill(pid, SIGHUP);
                 }
         }
 
index aefe4ca78011c09db890e57f9beddfcb2c87d280..d3f6efc91c49b613a7adc97a4515bb1ba65be831 100644 (file)
@@ -1403,7 +1403,7 @@ tr_abort:
 }
 
 int manager_add_job_by_name(Manager *m, JobType type, const char *name, JobMode mode, sd_bus_error *e, Job **ret) {
-        Unit *unit;
+        Unit *unit = NULL;  /* just to appease gcc, initialization is not really necessary */
         int r;
 
         assert(m);
@@ -1414,6 +1414,7 @@ int manager_add_job_by_name(Manager *m, JobType type, const char *name, JobMode
         r = manager_load_unit(m, name, NULL, NULL, &unit);
         if (r < 0)
                 return r;
+        assert(unit);
 
         return manager_add_job(m, type, unit, mode, e, ret);
 }
@@ -1486,6 +1487,7 @@ int manager_load_unit_prepare(
 
         assert(m);
         assert(name || path);
+        assert(_ret);
 
         /* This will prepare the unit for loading, but not actually
          * load anything from disk. */
@@ -1533,8 +1535,7 @@ int manager_load_unit_prepare(
         unit_add_to_dbus_queue(ret);
         unit_add_to_gc_queue(ret);
 
-        if (_ret)
-                *_ret = ret;
+        *_ret = ret;
 
         return 0;
 }
@@ -1549,6 +1550,7 @@ int manager_load_unit(
         int r;
 
         assert(m);
+        assert(_ret);
 
         /* This will load the service information files, but not actually
          * start any services or anything. */
@@ -1559,8 +1561,7 @@ int manager_load_unit(
 
         manager_dispatch_load_queue(m);
 
-        if (_ret)
-                *_ret = unit_follow_merge(*_ret);
+        *_ret = unit_follow_merge(*_ret);
 
         return 0;
 }
@@ -2175,7 +2176,7 @@ static int manager_dispatch_time_change_fd(sd_event_source *source, int fd, uint
         assert(m->time_change_fd == fd);
 
         log_struct(LOG_DEBUG,
-                   LOG_MESSAGE_ID(SD_MESSAGE_TIME_CHANGE),
+                   "MESSAGE_ID=" SD_MESSAGE_TIME_CHANGE_STR,
                    LOG_MESSAGE("Time has been changed"),
                    NULL);
 
@@ -2907,7 +2908,7 @@ static void manager_notify_finished(Manager *m) {
                         initrd_usec = m->userspace_timestamp.monotonic - m->initrd_timestamp.monotonic;
 
                         log_struct(LOG_INFO,
-                                   LOG_MESSAGE_ID(SD_MESSAGE_STARTUP_FINISHED),
+                                   "MESSAGE_ID=" SD_MESSAGE_STARTUP_FINISHED_STR,
                                    "KERNEL_USEC="USEC_FMT, kernel_usec,
                                    "INITRD_USEC="USEC_FMT, initrd_usec,
                                    "USERSPACE_USEC="USEC_FMT, userspace_usec,
@@ -2922,7 +2923,7 @@ static void manager_notify_finished(Manager *m) {
                         initrd_usec = 0;
 
                         log_struct(LOG_INFO,
-                                   LOG_MESSAGE_ID(SD_MESSAGE_STARTUP_FINISHED),
+                                   "MESSAGE_ID=" SD_MESSAGE_STARTUP_FINISHED_STR,
                                    "KERNEL_USEC="USEC_FMT, kernel_usec,
                                    "USERSPACE_USEC="USEC_FMT, userspace_usec,
                                    LOG_MESSAGE("Startup finished in %s (kernel) + %s (userspace) = %s.",
@@ -2936,7 +2937,7 @@ static void manager_notify_finished(Manager *m) {
                 total_usec = userspace_usec = m->finish_timestamp.monotonic - m->userspace_timestamp.monotonic;
 
                 log_struct(LOG_INFO,
-                           LOG_MESSAGE_ID(SD_MESSAGE_USER_STARTUP_FINISHED),
+                           "MESSAGE_ID=" SD_MESSAGE_USER_STARTUP_FINISHED_STR,
                            "USERSPACE_USEC="USEC_FMT, userspace_usec,
                            LOG_MESSAGE("Startup finished in %s.",
                                        format_timespan(sum, sizeof(sum), total_usec, USEC_PER_MSEC)),
index a7b9ada65cae851ffd697577d2e7572486eef4d3..84b7a1a82d3d1ac609236b9bbe2f76bdef6d842b 100644 (file)
@@ -1340,11 +1340,11 @@ static int usbffs_write_descs(int fd, Service *s) {
         if (!s->usb_function_descriptors || !s->usb_function_strings)
                 return -EINVAL;
 
-        r = copy_file_fd(s->usb_function_descriptors, fd, false);
+        r = copy_file_fd(s->usb_function_descriptors, fd, 0);
         if (r < 0)
                 return r;
 
-        return copy_file_fd(s->usb_function_strings, fd, false);
+        return copy_file_fd(s->usb_function_strings, fd, 0);
 }
 
 static int usbffs_select_ep(const struct dirent *d) {
index 5e4b1567d8f8ca9f7e3faff90605be5249c7a441..bb05d2abfbd602a2977ff6d683279397adb17626 100644 (file)
@@ -1466,9 +1466,8 @@ static void unit_status_print_starting_stopping(Unit *u, JobType t) {
 }
 
 static void unit_status_log_starting_stopping_reloading(Unit *u, JobType t) {
-        const char *format;
+        const char *format, *mid;
         char buf[LINE_MAX];
-        sd_id128_t mid;
 
         assert(u);
 
@@ -1486,9 +1485,9 @@ static void unit_status_log_starting_stopping_reloading(Unit *u, JobType t) {
         snprintf(buf, sizeof buf, format, unit_description(u));
         REENABLE_WARNING;
 
-        mid = t == JOB_START ? SD_MESSAGE_UNIT_STARTING :
-              t == JOB_STOP  ? SD_MESSAGE_UNIT_STOPPING :
-                               SD_MESSAGE_UNIT_RELOADING;
+        mid = t == JOB_START ? "MESSAGE_ID=" SD_MESSAGE_UNIT_STARTING_STR :
+              t == JOB_STOP  ? "MESSAGE_ID=" SD_MESSAGE_UNIT_STOPPING_STR :
+                               "MESSAGE_ID=" SD_MESSAGE_UNIT_RELOADING_STR;
 
         /* Note that we deliberately use LOG_MESSAGE() instead of
          * LOG_UNIT_MESSAGE() here, since this is supposed to mimic
@@ -1497,7 +1496,7 @@ static void unit_status_log_starting_stopping_reloading(Unit *u, JobType t) {
          * possible, which means we should avoid the low-level unit
          * name. */
         log_struct(LOG_INFO,
-                   LOG_MESSAGE_ID(mid),
+                   mid,
                    LOG_UNIT_ID(u),
                    LOG_MESSAGE("%s", buf),
                    NULL);
@@ -1527,6 +1526,7 @@ int unit_start_limit_test(Unit *u) {
 }
 
 bool unit_shall_confirm_spawn(Unit *u) {
+        assert(u);
 
         if (manager_is_confirm_spawn_disabled(u->manager))
                 return false;
@@ -1537,6 +1537,31 @@ bool unit_shall_confirm_spawn(Unit *u) {
         return !unit_get_exec_context(u)->same_pgrp;
 }
 
+static bool unit_verify_deps(Unit *u) {
+        Unit *other;
+        Iterator j;
+
+        assert(u);
+
+        /* Checks whether all BindsTo= dependencies of this unit are fulfilled â€” if they are also combined with
+         * After=. We do not check Requires= or Requisite= here as they only should have an effect on the job
+         * processing, but do not have any effect afterwards. We don't check BindsTo= dependencies that are not used in
+         * conjunction with After= as for them any such check would make things entirely racy. */
+
+        SET_FOREACH(other, u->dependencies[UNIT_BINDS_TO], j) {
+
+                if (!set_contains(u->dependencies[UNIT_AFTER], other))
+                        continue;
+
+                if (!UNIT_IS_ACTIVE_OR_RELOADING(unit_active_state(other))) {
+                        log_unit_notice(u, "Bound to unit %s, but unit isn't active.", other->id);
+                        return false;
+                }
+        }
+
+        return true;
+}
+
 /* Errors:
  *         -EBADR:      This unit type does not support starting.
  *         -EALREADY:   Unit is already started.
@@ -1545,6 +1570,7 @@ bool unit_shall_confirm_spawn(Unit *u) {
  *         -EPROTO:     Assert failed
  *         -EINVAL:     Unit not loaded
  *         -EOPNOTSUPP: Unit type not supported
+ *         -ENOLINK:    The necessary dependencies are not fulfilled.
  */
 int unit_start(Unit *u) {
         UnitActiveState state;
@@ -1590,6 +1616,12 @@ int unit_start(Unit *u) {
         if (!unit_supported(u))
                 return -EOPNOTSUPP;
 
+        /* Let's make sure that the deps really are in order before we start this. Normally the job engine should have
+         * taken care of this already, but let's check this here again. After all, our dependencies might not be in
+         * effect anymore, due to a reload or due to a failed condition. */
+        if (!unit_verify_deps(u))
+                return -ENOLINK;
+
         /* Forward to the main object, if we aren't it. */
         following = unit_following(u);
         if (following) {
@@ -4036,7 +4068,7 @@ void unit_warn_if_dir_nonempty(Unit *u, const char* where) {
         }
 
         log_struct(LOG_NOTICE,
-                   LOG_MESSAGE_ID(SD_MESSAGE_OVERMOUNTING),
+                   "MESSAGE_ID=" SD_MESSAGE_OVERMOUNTING_STR,
                    LOG_UNIT_ID(u),
                    LOG_UNIT_MESSAGE(u, "Directory %s to mount over is not empty, mounting anyway.", where),
                    "WHERE=%s", where,
@@ -4058,7 +4090,7 @@ int unit_fail_if_symlink(Unit *u, const char* where) {
                 return 0;
 
         log_struct(LOG_ERR,
-                   LOG_MESSAGE_ID(SD_MESSAGE_OVERMOUNTING),
+                   "MESSAGE_ID=" SD_MESSAGE_OVERMOUNTING_STR,
                    LOG_UNIT_ID(u),
                    LOG_UNIT_MESSAGE(u, "Mount on symlink %s not allowed.", where),
                    "WHERE=%s", where,
index 1f6fb5de1eb296bc1349db4f2280d11f33b135f9..0fa830c33ee2babc77534467e7226d453858c455 100644 (file)
 #include "fileio.h"
 #include "fs-util.h"
 #include "io-util.h"
-#include "journald-native.h"
+#include "journal-importer.h"
 #include "log.h"
 #include "macro.h"
 #include "missing.h"
 #include "mkdir.h"
 #include "parse-util.h"
 #include "process-util.h"
+#include "signal-util.h"
 #include "socket-util.h"
 #include "special.h"
 #include "stacktrace.h"
@@ -186,6 +187,7 @@ static int fix_xattr(int fd, const char *context[_CONTEXT_MAX]) {
                 [CONTEXT_GID] = "user.coredump.gid",
                 [CONTEXT_SIGNAL] = "user.coredump.signal",
                 [CONTEXT_TIMESTAMP] = "user.coredump.timestamp",
+                [CONTEXT_RLIMIT] = "user.coredump.rlimit",
                 [CONTEXT_COMM] = "user.coredump.comm",
                 [CONTEXT_EXE] = "user.coredump.exe",
         };
@@ -352,7 +354,7 @@ static int save_external_coredump(
         if (fd < 0)
                 return log_error_errno(fd, "Failed to create temporary file for coredump %s: %m", fn);
 
-        r = copy_bytes(input_fd, fd, max_size, false);
+        r = copy_bytes(input_fd, fd, max_size, 0);
         if (r < 0) {
                 log_error_errno(r, "Cannot store coredump of %s (%s): %m", context[CONTEXT_PID], context[CONTEXT_COMM]);
                 goto fail;
@@ -360,7 +362,7 @@ static int save_external_coredump(
                 log_struct(LOG_INFO,
                            LOG_MESSAGE("Core file was truncated to %zu bytes.", max_size),
                            "SIZE_LIMIT=%zu", max_size,
-                           LOG_MESSAGE_ID(SD_MESSAGE_TRUNCATED_CORE),
+                           "MESSAGE_ID=" SD_MESSAGE_TRUNCATED_CORE_STR,
                            NULL);
 
         if (fstat(fd, &st) < 0) {
@@ -820,7 +822,7 @@ static void map_context_fields(const struct iovec *iovec, const char *context[])
 static int process_socket(int fd) {
         _cleanup_close_ int coredump_fd = -1;
         struct iovec *iovec = NULL;
-        size_t n_iovec = 0, n_iovec_allocated = 0, i;
+        size_t n_iovec = 0, n_allocated = 0, i, k;
         const char *context[_CONTEXT_MAX] = {};
         int r;
 
@@ -830,6 +832,8 @@ static int process_socket(int fd) {
         log_parse_environment();
         log_open();
 
+        log_debug("Processing coredump received on stdin...");
+
         for (;;) {
                 union {
                         struct cmsghdr cmsghdr;
@@ -843,7 +847,7 @@ static int process_socket(int fd) {
                 ssize_t n;
                 ssize_t l;
 
-                if (!GREEDY_REALLOC(iovec, n_iovec_allocated, n_iovec + 3)) {
+                if (!GREEDY_REALLOC(iovec, n_allocated, n_iovec + 3)) {
                         r = log_oom();
                         goto finish;
                 }
@@ -907,7 +911,7 @@ static int process_socket(int fd) {
                 n_iovec++;
         }
 
-        if (!GREEDY_REALLOC(iovec, n_iovec_allocated, n_iovec + 3)) {
+        if (!GREEDY_REALLOC(iovec, n_allocated, n_iovec + 3)) {
                 r = log_oom();
                 goto finish;
         }
@@ -922,7 +926,14 @@ static int process_socket(int fd) {
         assert(context[CONTEXT_COMM]);
         assert(coredump_fd >= 0);
 
-        r = submit_coredump(context, iovec, n_iovec_allocated, n_iovec, coredump_fd);
+        /* Small quirk: the journal fields contain the timestamp padded with six zeroes, so that the kernel-supplied 1s
+         * granularity timestamps becomes 1µs granularity, i.e. the granularity systemd usually operates in. Since we
+         * are reconstructing the original kernel context, we chop this off again, here. */
+        k = strlen(context[CONTEXT_TIMESTAMP]);
+        if (k > 6)
+                context[CONTEXT_TIMESTAMP] = strndupa(context[CONTEXT_TIMESTAMP], k - 6);
+
+        r = submit_coredump(context, iovec, n_allocated, n_iovec, coredump_fd);
 
 finish:
         for (i = 0; i < n_iovec; i++)
@@ -1025,45 +1036,49 @@ static int process_special_crash(const char *context[], int input_fd) {
         return 0;
 }
 
-static int process_kernel(int argc, char* argv[]) {
+static char* set_iovec_field(struct iovec iovec[27], size_t *n_iovec, const char *field, const char *value) {
+        char *x;
+
+        x = strappend(field, value);
+        if (x)
+                IOVEC_SET_STRING(iovec[(*n_iovec)++], x);
+        return x;
+}
+
+static char* set_iovec_field_free(struct iovec iovec[27], size_t *n_iovec, const char *field, char *value) {
+        char *x;
+
+        x = set_iovec_field(iovec, n_iovec, field, value);
+        free(value);
+        return x;
+}
 
-        /* The small core field we allocate on the stack, to keep things simple */
-        char
-                *core_pid = NULL, *core_uid = NULL, *core_gid = NULL, *core_signal = NULL,
-                *core_session = NULL, *core_exe = NULL, *core_comm = NULL, *core_cmdline = NULL,
-                *core_cgroup = NULL, *core_cwd = NULL, *core_root = NULL, *core_unit = NULL,
-                *core_user_unit = NULL, *core_slice = NULL, *core_timestamp = NULL, *core_rlimit = NULL;
+static int gather_pid_metadata_and_process_special_crash(
+                const char *context[_CONTEXT_MAX],
+                char **comm_fallback,
+                char **comm_ret,
+                struct iovec *iovec, size_t *n_iovec) {
 
-        /* The larger ones we allocate on the heap */
-        _cleanup_free_ char
-                *core_owner_uid = NULL, *core_open_fds = NULL, *core_proc_status = NULL,
-                *core_proc_maps = NULL, *core_proc_limits = NULL, *core_proc_cgroup = NULL, *core_environ = NULL,
-                *core_proc_mountinfo = NULL, *core_container_cmdline = NULL;
+        /* We need 26 empty slots in iovec!
+         *
+         * Note that if we fail on oom later on, we do not roll-back changes to the iovec structure. (It remains valid,
+         * with the first n_iovec fields initialized.) */
 
         _cleanup_free_ char *exe = NULL, *comm = NULL;
-        const char *context[_CONTEXT_MAX];
-        bool proc_self_root_is_slash;
-        struct iovec iovec[27];
-        size_t n_iovec = 0;
         uid_t owner_uid;
-        const char *p;
         pid_t pid;
         char *t;
-        int r;
-
-        if (argc < CONTEXT_COMM + 1) {
-                log_error("Not enough arguments passed from kernel (%i, expected %i).", argc - 1, CONTEXT_COMM + 1 - 1);
-                return -EINVAL;
-        }
+        const char *p;
+        int r, signo;
 
-        r = parse_pid(argv[CONTEXT_PID + 1], &pid);
+        r = parse_pid(context[CONTEXT_PID], &pid);
         if (r < 0)
-                return log_error_errno(r, "Failed to parse PID.");
+                return log_error_errno(r, "Failed to parse PID \"%s\": %m", context[CONTEXT_PID]);
 
         r = get_process_comm(pid, &comm);
         if (r < 0) {
                 log_warning_errno(r, "Failed to get COMM, falling back to the command line: %m");
-                comm = strv_join(argv + CONTEXT_COMM + 1, " ");
+                comm = strv_join(comm_fallback, " ");
                 if (!comm)
                         return log_oom();
         }
@@ -1072,15 +1087,6 @@ static int process_kernel(int argc, char* argv[]) {
         if (r < 0)
                 log_warning_errno(r, "Failed to get EXE, ignoring: %m");
 
-        context[CONTEXT_PID] = argv[CONTEXT_PID + 1];
-        context[CONTEXT_UID] = argv[CONTEXT_UID + 1];
-        context[CONTEXT_GID] = argv[CONTEXT_GID + 1];
-        context[CONTEXT_SIGNAL] = argv[CONTEXT_SIGNAL + 1];
-        context[CONTEXT_TIMESTAMP] = argv[CONTEXT_TIMESTAMP + 1];
-        context[CONTEXT_RLIMIT] = argv[CONTEXT_RLIMIT + 1];
-        context[CONTEXT_COMM] = comm;
-        context[CONTEXT_EXE] = exe;
-
         if (cg_pid_get_unit(pid, &t) >= 0) {
 
                 /* If this is PID 1 disable coredump collection, we'll unlikely be able to process it later on. */
@@ -1093,189 +1099,259 @@ static int process_kernel(int argc, char* argv[]) {
                  * are unlikely to work then. */
                 if (STR_IN_SET(t, SPECIAL_JOURNALD_SERVICE, SPECIAL_INIT_SCOPE)) {
                         free(t);
-                        return process_special_crash(context, STDIN_FILENO);
-                }
+                        r = process_special_crash(context, STDIN_FILENO);
+                        if (r < 0)
+                                return r;
 
-                core_unit = strjoina("COREDUMP_UNIT=", t);
-                free(t);
+                        return 1; /* > 0 means: we have already processed it, because it's a special crash */
+                }
 
-                IOVEC_SET_STRING(iovec[n_iovec++], core_unit);
+                set_iovec_field_free(iovec, n_iovec, "COREDUMP_UNIT=", t);
         }
 
         /* OK, now we know it's not the journal, hence we can make use of it now. */
         log_set_target(LOG_TARGET_JOURNAL_OR_KMSG);
         log_open();
 
-        if (cg_pid_get_user_unit(pid, &t) >= 0) {
-                core_user_unit = strjoina("COREDUMP_USER_UNIT=", t);
-                free(t);
+        if (cg_pid_get_user_unit(pid, &t) >= 0)
+                set_iovec_field_free(iovec, n_iovec, "COREDUMP_USER_UNIT=", t);
 
-                IOVEC_SET_STRING(iovec[n_iovec++], core_user_unit);
-        }
+        /* The next few are mandatory */
+        if (!set_iovec_field(iovec, n_iovec, "COREDUMP_PID=", context[CONTEXT_PID]))
+                return log_oom();
 
-        core_pid = strjoina("COREDUMP_PID=", context[CONTEXT_PID]);
-        IOVEC_SET_STRING(iovec[n_iovec++], core_pid);
+        if (!set_iovec_field(iovec, n_iovec, "COREDUMP_UID=", context[CONTEXT_UID]))
+                return log_oom();
 
-        core_uid = strjoina("COREDUMP_UID=", context[CONTEXT_UID]);
-        IOVEC_SET_STRING(iovec[n_iovec++], core_uid);
+        if (!set_iovec_field(iovec, n_iovec, "COREDUMP_GID=", context[CONTEXT_GID]))
+                return log_oom();
 
-        core_gid = strjoina("COREDUMP_GID=", context[CONTEXT_GID]);
-        IOVEC_SET_STRING(iovec[n_iovec++], core_gid);
+        if (!set_iovec_field(iovec, n_iovec, "COREDUMP_SIGNAL=", context[CONTEXT_SIGNAL]))
+                return log_oom();
 
-        core_signal = strjoina("COREDUMP_SIGNAL=", context[CONTEXT_SIGNAL]);
-        IOVEC_SET_STRING(iovec[n_iovec++], core_signal);
+        if (!set_iovec_field(iovec, n_iovec, "COREDUMP_RLIMIT=", context[CONTEXT_RLIMIT]))
+                return log_oom();
 
-        core_rlimit = strjoina("COREDUMP_RLIMIT=", context[CONTEXT_RLIMIT]);
-        IOVEC_SET_STRING(iovec[n_iovec++], core_rlimit);
+        if (!set_iovec_field(iovec, n_iovec, "COREDUMP_COMM=", comm))
+                return log_oom();
 
-        if (sd_pid_get_session(pid, &t) >= 0) {
-                core_session = strjoina("COREDUMP_SESSION=", t);
-                free(t);
+        if (exe &&
+            !set_iovec_field(iovec, n_iovec, "COREDUMP_EXE=", exe))
+                return log_oom();
 
-                IOVEC_SET_STRING(iovec[n_iovec++], core_session);
-        }
+        if (sd_pid_get_session(pid, &t) >= 0)
+                set_iovec_field_free(iovec, n_iovec, "COREDUMP_SESSION=", t);
 
         if (sd_pid_get_owner_uid(pid, &owner_uid) >= 0) {
-                r = asprintf(&core_owner_uid, "COREDUMP_OWNER_UID=" UID_FMT, owner_uid);
+                r = asprintf(&t, "COREDUMP_OWNER_UID=" UID_FMT, owner_uid);
                 if (r > 0)
-                        IOVEC_SET_STRING(iovec[n_iovec++], core_owner_uid);
+                        IOVEC_SET_STRING(iovec[(*n_iovec)++], t);
         }
 
-        if (sd_pid_get_slice(pid, &t) >= 0) {
-                core_slice = strjoina("COREDUMP_SLICE=", t);
-                free(t);
+        if (sd_pid_get_slice(pid, &t) >= 0)
+                set_iovec_field_free(iovec, n_iovec, "COREDUMP_SLICE=", t);
 
-                IOVEC_SET_STRING(iovec[n_iovec++], core_slice);
-        }
+        if (get_process_cmdline(pid, 0, false, &t) >= 0)
+                set_iovec_field_free(iovec, n_iovec, "COREDUMP_CMDLINE=", t);
 
-        if (comm) {
-                core_comm = strjoina("COREDUMP_COMM=", comm);
-                IOVEC_SET_STRING(iovec[n_iovec++], core_comm);
-        }
+        if (cg_pid_get_path_shifted(pid, NULL, &t) >= 0)
+                set_iovec_field_free(iovec, n_iovec, "COREDUMP_CGROUP=", t);
 
-        if (exe) {
-                core_exe = strjoina("COREDUMP_EXE=", exe);
-                IOVEC_SET_STRING(iovec[n_iovec++], core_exe);
-        }
+        if (compose_open_fds(pid, &t) >= 0)
+                set_iovec_field_free(iovec, n_iovec, "COREDUMP_OPEN_FDS=", t);
+
+        p = procfs_file_alloca(pid, "status");
+        if (read_full_file(p, &t, NULL) >= 0)
+                set_iovec_field_free(iovec, n_iovec, "COREDUMP_PROC_STATUS=", t);
 
-        if (get_process_cmdline(pid, 0, false, &t) >= 0) {
-                core_cmdline = strjoina("COREDUMP_CMDLINE=", t);
-                free(t);
+        p = procfs_file_alloca(pid, "maps");
+        if (read_full_file(p, &t, NULL) >= 0)
+                set_iovec_field_free(iovec, n_iovec, "COREDUMP_PROC_MAPS=", t);
 
-                IOVEC_SET_STRING(iovec[n_iovec++], core_cmdline);
-        }
+        p = procfs_file_alloca(pid, "limits");
+        if (read_full_file(p, &t, NULL) >= 0)
+                set_iovec_field_free(iovec, n_iovec, "COREDUMP_PROC_LIMITS=", t);
 
-        if (cg_pid_get_path_shifted(pid, NULL, &t) >= 0) {
-                core_cgroup = strjoina("COREDUMP_CGROUP=", t);
-                free(t);
+        p = procfs_file_alloca(pid, "cgroup");
+        if (read_full_file(p, &t, NULL) >=0)
+                set_iovec_field_free(iovec, n_iovec, "COREDUMP_PROC_CGROUP=", t);
 
-                IOVEC_SET_STRING(iovec[n_iovec++], core_cgroup);
-        }
+        p = procfs_file_alloca(pid, "mountinfo");
+        if (read_full_file(p, &t, NULL) >=0)
+                set_iovec_field_free(iovec, n_iovec, "COREDUMP_PROC_MOUNTINFO=", t);
 
-        if (compose_open_fds(pid, &t) >= 0) {
-                core_open_fds = strappend("COREDUMP_OPEN_FDS=", t);
-                free(t);
+        if (get_process_cwd(pid, &t) >= 0)
+                set_iovec_field_free(iovec, n_iovec, "COREDUMP_CWD=", t);
 
-                if (core_open_fds)
-                        IOVEC_SET_STRING(iovec[n_iovec++], core_open_fds);
-        }
+        if (get_process_root(pid, &t) >= 0) {
+                bool proc_self_root_is_slash;
 
-        p = procfs_file_alloca(pid, "status");
-        if (read_full_file(p, &t, NULL) >= 0) {
-                core_proc_status = strappend("COREDUMP_PROC_STATUS=", t);
-                free(t);
+                proc_self_root_is_slash = strcmp(t, "/") == 0;
 
-                if (core_proc_status)
-                        IOVEC_SET_STRING(iovec[n_iovec++], core_proc_status);
+                set_iovec_field_free(iovec, n_iovec, "COREDUMP_ROOT=", t);
+
+                /* If the process' root is "/", then there is a chance it has
+                 * mounted own root and hence being containerized. */
+                if (proc_self_root_is_slash && get_process_container_parent_cmdline(pid, &t) > 0)
+                        set_iovec_field_free(iovec, n_iovec, "COREDUMP_CONTAINER_CMDLINE=", t);
         }
 
-        p = procfs_file_alloca(pid, "maps");
-        if (read_full_file(p, &t, NULL) >= 0) {
-                core_proc_maps = strappend("COREDUMP_PROC_MAPS=", t);
-                free(t);
+        if (get_process_environ(pid, &t) >= 0)
+                set_iovec_field_free(iovec, n_iovec, "COREDUMP_ENVIRON=", t);
 
-                if (core_proc_maps)
-                        IOVEC_SET_STRING(iovec[n_iovec++], core_proc_maps);
-        }
+        t = strjoin("COREDUMP_TIMESTAMP=", context[CONTEXT_TIMESTAMP], "000000", NULL);
+        if (t)
+                IOVEC_SET_STRING(iovec[(*n_iovec)++], t);
 
-        p = procfs_file_alloca(pid, "limits");
-        if (read_full_file(p, &t, NULL) >= 0) {
-                core_proc_limits = strappend("COREDUMP_PROC_LIMITS=", t);
-                free(t);
+        if (safe_atoi(context[CONTEXT_SIGNAL], &signo) >= 0 && SIGNAL_VALID(signo))
+                set_iovec_field(iovec, n_iovec, "COREDUMP_SIGNAL_NAME=SIG", signal_to_string(signo));
 
-                if (core_proc_limits)
-                        IOVEC_SET_STRING(iovec[n_iovec++], core_proc_limits);
+        if (comm_ret) {
+                *comm_ret = comm;
+                comm = NULL;
         }
 
-        p = procfs_file_alloca(pid, "cgroup");
-        if (read_full_file(p, &t, NULL) >=0) {
-                core_proc_cgroup = strappend("COREDUMP_PROC_CGROUP=", t);
-                free(t);
+        return 0; /* == 0 means: we successfully acquired all metadata */
+}
 
-                if (core_proc_cgroup)
-                        IOVEC_SET_STRING(iovec[n_iovec++], core_proc_cgroup);
-        }
+static int process_kernel(int argc, char* argv[]) {
 
-        p = procfs_file_alloca(pid, "mountinfo");
-        if (read_full_file(p, &t, NULL) >=0) {
-                core_proc_mountinfo = strappend("COREDUMP_PROC_MOUNTINFO=", t);
-                free(t);
+        const char *context[_CONTEXT_MAX];
+        struct iovec iovec[28];
+        size_t i, n_iovec, n_to_free = 0;
+        int r;
 
-                if (core_proc_mountinfo)
-                        IOVEC_SET_STRING(iovec[n_iovec++], core_proc_mountinfo);
+        log_debug("Processing coredump received from the kernel...");
+
+        if (argc < CONTEXT_COMM + 1) {
+                log_error("Not enough arguments passed by the kernel (%i, expected %i).", argc - 1, CONTEXT_COMM + 1 - 1);
+                return -EINVAL;
         }
 
-        if (get_process_cwd(pid, &t) >= 0) {
-                core_cwd = strjoina("COREDUMP_CWD=", t);
-                free(t);
+        context[CONTEXT_PID]       = argv[CONTEXT_PID + 1];
+        context[CONTEXT_UID]       = argv[CONTEXT_UID + 1];
+        context[CONTEXT_GID]       = argv[CONTEXT_GID + 1];
+        context[CONTEXT_SIGNAL]    = argv[CONTEXT_SIGNAL + 1];
+        context[CONTEXT_TIMESTAMP] = argv[CONTEXT_TIMESTAMP + 1];
+        context[CONTEXT_RLIMIT]    = argv[CONTEXT_RLIMIT + 1];
 
-                IOVEC_SET_STRING(iovec[n_iovec++], core_cwd);
+        r = gather_pid_metadata_and_process_special_crash(context, argv + CONTEXT_COMM + 1, NULL, iovec, &n_to_free);
+        if (r < 0)
+                goto finish;
+        if (r > 0) {
+                /* This was a special crash, and has already been processed. */
+                r = 0;
+                goto finish;
         }
 
-        if (get_process_root(pid, &t) >= 0) {
-                core_root = strjoina("COREDUMP_ROOT=", t);
+        n_iovec = n_to_free;
 
-                IOVEC_SET_STRING(iovec[n_iovec++], core_root);
+        IOVEC_SET_STRING(iovec[n_iovec++], "MESSAGE_ID=" SD_MESSAGE_COREDUMP_STR);
 
-                /* If the process' root is "/", then there is a chance it has
-                 * mounted own root and hence being containerized. */
-                proc_self_root_is_slash = strcmp(t, "/") == 0;
-                free(t);
-                if (proc_self_root_is_slash && get_process_container_parent_cmdline(pid, &t) > 0) {
-                        core_container_cmdline = strappend("COREDUMP_CONTAINER_CMDLINE=", t);
-                        free(t);
+        assert_cc(2 == LOG_CRIT);
+        IOVEC_SET_STRING(iovec[n_iovec++], "PRIORITY=2");
 
-                        if (core_container_cmdline)
-                                IOVEC_SET_STRING(iovec[n_iovec++], core_container_cmdline);
-                }
+        assert(n_iovec <= ELEMENTSOF(iovec));
+
+        r = send_iovec(iovec, n_iovec, STDIN_FILENO);
+
+ finish:
+        for (i = 0; i < n_to_free; i++)
+                free(iovec[i].iov_base);
+
+        return r;
+}
+
+static int process_backtrace(int argc, char *argv[]) {
+        const char *context[_CONTEXT_MAX];
+        _cleanup_free_ char *comm = NULL, *message = NULL;
+        _cleanup_free_ struct iovec *iovec = NULL;
+        size_t n_iovec, n_allocated, n_to_free = 0, i;
+        int r;
+        JournalImporter importer = {
+                .fd = STDIN_FILENO,
+        };
+
+        log_debug("Processing backtrace on stdin...");
+
+        if (argc < CONTEXT_COMM + 1) {
+                log_error("Not enough arguments passed (%i, expected %i).", argc - 1, CONTEXT_COMM + 1 - 1);
+                return -EINVAL;
         }
 
-        if (get_process_environ(pid, &t) >= 0) {
-                core_environ = strappend("COREDUMP_ENVIRON=", t);
-                free(t);
+        context[CONTEXT_PID]       = argv[CONTEXT_PID + 2];
+        context[CONTEXT_UID]       = argv[CONTEXT_UID + 2];
+        context[CONTEXT_GID]       = argv[CONTEXT_GID + 2];
+        context[CONTEXT_SIGNAL]    = argv[CONTEXT_SIGNAL + 2];
+        context[CONTEXT_TIMESTAMP] = argv[CONTEXT_TIMESTAMP + 2];
+        context[CONTEXT_RLIMIT]    = argv[CONTEXT_RLIMIT + 2];
 
-                if (core_environ)
-                        IOVEC_SET_STRING(iovec[n_iovec++], core_environ);
+        n_allocated = 33; /* 25 metadata, 2 static, +unknown input, rounded up */
+        iovec = new(struct iovec, n_allocated);
+        if (!iovec)
+                return log_oom();
+
+        r = gather_pid_metadata_and_process_special_crash(context, argv + CONTEXT_COMM + 2, &comm, iovec, &n_to_free);
+        if (r < 0)
+                goto finish;
+        if (r > 0) {
+                /* This was a special crash, and has already been processed. */
+                r = 0;
+                goto finish;
+        }
+        n_iovec = n_to_free;
+
+        for (;;) {
+                r = journal_importer_process_data(&importer);
+                if (r < 0) {
+                        log_error_errno(r, "Failed to parse journal entry on stdin: %m");
+                        goto finish;
+                }
+                if (r == 1)
+                        break;
         }
 
-        core_timestamp = strjoina("COREDUMP_TIMESTAMP=", context[CONTEXT_TIMESTAMP], "000000");
-        IOVEC_SET_STRING(iovec[n_iovec++], core_timestamp);
+        if (!GREEDY_REALLOC(iovec, n_allocated, n_iovec + importer.iovw.count + 2))
+                return log_oom();
 
-        IOVEC_SET_STRING(iovec[n_iovec++], "MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1");
+        if (journal_importer_eof(&importer)) {
+                log_warning("Did not receive a full journal entry on stdin, ignoring message sent by reporter");
 
+                message = strjoin("MESSAGE=Process ", context[CONTEXT_PID], " (", comm, ")"
+                                  " of user ", context[CONTEXT_UID],
+                                  " failed with ", context[CONTEXT_SIGNAL]);
+                if (!message) {
+                        r = log_oom();
+                        goto finish;
+                }
+                IOVEC_SET_STRING(iovec[n_iovec++], message);
+        } else {
+                for (i = 0; i < importer.iovw.count; i++)
+                        iovec[n_iovec++] = importer.iovw.iovec[i];
+        }
+
+        IOVEC_SET_STRING(iovec[n_iovec++], "MESSAGE_ID=" SD_MESSAGE_BACKTRACE_STR);
         assert_cc(2 == LOG_CRIT);
         IOVEC_SET_STRING(iovec[n_iovec++], "PRIORITY=2");
 
-        assert(n_iovec <= ELEMENTSOF(iovec));
+        assert(n_iovec <= n_allocated);
+
+        r = sd_journal_sendv(iovec, n_iovec);
+        if (r < 0)
+                log_error_errno(r, "Failed to log backtrace: %m");
 
-        return send_iovec(iovec, n_iovec, STDIN_FILENO);
+ finish:
+        for (i = 0; i < n_to_free; i++)
+                free(iovec[i].iov_base);
+
+        return r;
 }
 
 int main(int argc, char *argv[]) {
         int r;
 
-        /* First, log to a safe place, since we don't know what crashed and it might be journald which we'd rather not
-         * log to then. */
+        /* First, log to a safe place, since we don't know what crashed and it might
+         * be journald which we'd rather not log to then. */
 
         log_set_target(LOG_TARGET_KMSG);
         log_open();
@@ -1295,11 +1371,14 @@ int main(int argc, char *argv[]) {
                 goto finish;
         }
 
-        /* If we got an fd passed, we are running in coredumpd mode. Otherwise we are invoked from the kernel as
-         * coredump handler */
-        if (r == 0)
-                r = process_kernel(argc, argv);
-        else if (r == 1)
+        /* If we got an fd passed, we are running in coredumpd mode. Otherwise we
+         * are invoked from the kernel as coredump handler. */
+        if (r == 0) {
+                if (streq_ptr(argv[1], "--backtrace"))
+                        r = process_backtrace(argc, argv);
+                else
+                        r = process_kernel(argc, argv);
+        } else if (r == 1)
                 r = process_socket(SD_LISTEN_FDS_START);
         else {
                 log_error("Received unexpected number of file descriptors.");
index 646757f9d997bb791af4f482659a8e2f1a364bb4..29fb71c8dd7109333a7fc127f2755af64075df13 100644 (file)
 #include <string.h>
 #include <unistd.h>
 
+#include "sd-bus.h"
 #include "sd-journal.h"
+#include "sd-messages.h"
 
 #include "alloc-util.h"
+#include "bus-error.h"
+#include "bus-util.h"
 #include "compress.h"
 #include "fd-util.h"
 #include "fileio.h"
 #include "parse-util.h"
 #include "path-util.h"
 #include "process-util.h"
-#include "set.h"
 #include "sigbus.h"
 #include "signal-util.h"
 #include "string-util.h"
+#include "strv.h"
 #include "terminal-util.h"
 #include "user-util.h"
 #include "util.h"
@@ -59,36 +63,10 @@ static bool arg_no_pager = false;
 static int arg_no_legend = false;
 static int arg_one = false;
 static FILE* arg_output = NULL;
+static bool arg_reverse = false;
+static char** arg_matches = NULL;
 
-static Set *new_matches(void) {
-        Set *set;
-        char *tmp;
-        int r;
-
-        set = set_new(NULL);
-        if (!set) {
-                log_oom();
-                return NULL;
-        }
-
-        tmp = strdup("MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1");
-        if (!tmp) {
-                log_oom();
-                set_free(set);
-                return NULL;
-        }
-
-        r = set_consume(set, tmp);
-        if (r < 0) {
-                log_error_errno(r, "failed to add to set: %m");
-                set_free(set);
-                return NULL;
-        }
-
-        return set;
-}
-
-static int add_match(Set *set, const char *match) {
+static int add_match(sd_journal *j, const char *match) {
         _cleanup_free_ char *p = NULL;
         char *pattern = NULL;
         const char* prefix;
@@ -100,7 +78,8 @@ static int add_match(Set *set, const char *match) {
         else if (strchr(match, '/')) {
                 r = path_make_absolute_cwd(match, &p);
                 if (r < 0)
-                        goto fail;
+                        return log_error_errno(r, "path_make_absolute_cwd(\"%s\"): %m", match);
+
                 match = p;
                 prefix = "COREDUMP_EXE=";
         } else if (parse_pid(match, &pid) >= 0)
@@ -109,19 +88,35 @@ static int add_match(Set *set, const char *match) {
                 prefix = "COREDUMP_COMM=";
 
         pattern = strjoin(prefix, match);
-        if (!pattern) {
-                r = -ENOMEM;
-                goto fail;
-        }
+        if (!pattern)
+                return log_oom();
 
-        log_debug("Adding pattern: %s", pattern);
-        r = set_consume(set, pattern);
+        log_debug("Adding match: %s", pattern);
+        r = sd_journal_add_match(j, pattern, 0);
         if (r < 0)
-                goto fail;
+                return log_error_errno(r, "Failed to add match \"%s\": %m", match);
+        return 0;
+}
+
+static int add_matches(sd_journal *j) {
+        char **match;
+        int r;
+
+        r = sd_journal_add_match(j, "MESSAGE_ID=" SD_MESSAGE_COREDUMP_STR, 0);
+        if (r < 0)
+                return log_error_errno(r, "Failed to add match \"%s\": %m", "MESSAGE_ID=" SD_MESSAGE_COREDUMP_STR);
+
+        r = sd_journal_add_match(j, "MESSAGE_ID=" SD_MESSAGE_BACKTRACE_STR, 0);
+        if (r < 0)
+                return log_error_errno(r, "Failed to add match \"%s\": %m", "MESSAGE_ID=" SD_MESSAGE_BACKTRACE_STR);
+
+        STRV_FOREACH(match, arg_matches) {
+                r = add_match(j, *match);
+                if (r < 0)
+                        return r;
+        }
 
         return 0;
-fail:
-        return log_error_errno(r, "Failed to add match: %m");
 }
 
 static void help(void) {
@@ -133,8 +128,9 @@ static void help(void) {
                "     --no-pager      Do not pipe output into a pager\n"
                "     --no-legend     Do not print the column headers.\n"
                "  -1                 Show information about most recent entry only\n"
+               "  -r --reverse       Show the newest entries first\n"
                "  -F --field=FIELD   List all values a certain field takes\n"
-               "  -o --output=FILE   Write output to FILE\n\n"
+               "  -o --output=FILE   Write output to FILE\n"
                "  -D --directory=DIR Use journal files from directory\n\n"
 
                "Commands:\n"
@@ -145,14 +141,14 @@ static void help(void) {
                , program_invocation_short_name);
 }
 
-static int parse_argv(int argc, char *argv[], Set *matches) {
+static int parse_argv(int argc, char *argv[]) {
         enum {
                 ARG_VERSION = 0x100,
                 ARG_NO_PAGER,
                 ARG_NO_LEGEND,
         };
 
-        int r, c;
+        int c;
 
         static const struct option options[] = {
                 { "help",         no_argument,       NULL, 'h'           },
@@ -162,13 +158,14 @@ static int parse_argv(int argc, char *argv[], Set *matches) {
                 { "output",       required_argument, NULL, 'o'           },
                 { "field",        required_argument, NULL, 'F'           },
                 { "directory",    required_argument, NULL, 'D'           },
+                { "reverse",      no_argument,       NULL, 'r'           },
                 {}
         };
 
         assert(argc >= 0);
         assert(argv);
 
-        while ((c = getopt_long(argc, argv, "ho:F:1D:", options, NULL)) >= 0)
+        while ((c = getopt_long(argc, argv, "ho:F:1D:r", options, NULL)) >= 0)
                 switch(c) {
 
                 case 'h':
@@ -216,6 +213,10 @@ static int parse_argv(int argc, char *argv[], Set *matches) {
                         arg_directory = optarg;
                         break;
 
+                case 'r':
+                        arg_reverse = true;
+                        break;
+
                 case '?':
                         return -EINVAL;
 
@@ -244,12 +245,8 @@ static int parse_argv(int argc, char *argv[], Set *matches) {
                 return -EINVAL;
         }
 
-        while (optind < argc) {
-                r = add_match(matches, argv[optind]);
-                if (r != 0)
-                        return r;
-                optind++;
-        }
+        if (optind < argc)
+                arg_matches = argv + optind;
 
         return 0;
 }
@@ -322,7 +319,7 @@ static int print_field(FILE* file, sd_journal *j) {
 
 static int print_list(FILE* file, sd_journal *j, int had_legend) {
         _cleanup_free_ char
-                *pid = NULL, *uid = NULL, *gid = NULL,
+                *mid = NULL, *pid = NULL, *uid = NULL, *gid = NULL,
                 *sgnl = NULL, *exe = NULL, *comm = NULL, *cmdline = NULL,
                 *filename = NULL, *coredump = NULL;
         const void *d;
@@ -331,11 +328,13 @@ static int print_list(FILE* file, sd_journal *j, int had_legend) {
         char buf[FORMAT_TIMESTAMP_MAX];
         int r;
         const char *present;
+        bool normal_coredump;
 
         assert(file);
         assert(j);
 
         SD_JOURNAL_FOREACH_DATA(j, d, l) {
+                RETRIEVE(d, l, "MESSAGE_ID", mid);
                 RETRIEVE(d, l, "COREDUMP_PID", pid);
                 RETRIEVE(d, l, "COREDUMP_UID", uid);
                 RETRIEVE(d, l, "COREDUMP_GID", gid);
@@ -368,6 +367,8 @@ static int print_list(FILE* file, sd_journal *j, int had_legend) {
                         8, "COREFILE",
                            "EXE");
 
+        normal_coredump = streq_ptr(mid, SD_MESSAGE_COREDUMP_STR);
+
         if (filename)
                 if (access(filename, R_OK) == 0)
                         present = "present";
@@ -377,15 +378,17 @@ static int print_list(FILE* file, sd_journal *j, int had_legend) {
                         present = "error";
         else if (coredump)
                 present = "journal";
-        else
+        else if (normal_coredump)
                 present = "none";
+        else
+                present = "-";
 
         fprintf(file, "%-*s %*s %*s %*s %*s %-*s %s\n",
                 FORMAT_TIMESTAMP_WIDTH, buf,
                 6, strna(pid),
                 5, strna(uid),
                 5, strna(gid),
-                3, strna(sgnl),
+                3, normal_coredump ? strna(sgnl) : "-",
                 8, present,
                 strna(exe ?: (comm ?: cmdline)));
 
@@ -394,7 +397,7 @@ static int print_list(FILE* file, sd_journal *j, int had_legend) {
 
 static int print_info(FILE *file, sd_journal *j, bool need_space) {
         _cleanup_free_ char
-                *pid = NULL, *uid = NULL, *gid = NULL,
+                *mid = NULL, *pid = NULL, *uid = NULL, *gid = NULL,
                 *sgnl = NULL, *exe = NULL, *comm = NULL, *cmdline = NULL,
                 *unit = NULL, *user_unit = NULL, *session = NULL,
                 *boot_id = NULL, *machine_id = NULL, *hostname = NULL,
@@ -403,12 +406,14 @@ static int print_info(FILE *file, sd_journal *j, bool need_space) {
                 *coredump = NULL;
         const void *d;
         size_t l;
+        bool normal_coredump;
         int r;
 
         assert(file);
         assert(j);
 
         SD_JOURNAL_FOREACH_DATA(j, d, l) {
+                RETRIEVE(d, l, "MESSAGE_ID", mid);
                 RETRIEVE(d, l, "COREDUMP_PID", pid);
                 RETRIEVE(d, l, "COREDUMP_UID", uid);
                 RETRIEVE(d, l, "COREDUMP_GID", gid);
@@ -434,6 +439,8 @@ static int print_info(FILE *file, sd_journal *j, bool need_space) {
         if (need_space)
                 fputs("\n", file);
 
+        normal_coredump = streq_ptr(mid, SD_MESSAGE_COREDUMP_STR);
+
         if (comm)
                 fprintf(file,
                         "           PID: %s%s%s (%s)\n",
@@ -479,11 +486,12 @@ static int print_info(FILE *file, sd_journal *j, bool need_space) {
 
         if (sgnl) {
                 int sig;
+                const char *name = normal_coredump ? "Signal" : "Reason";
 
-                if (safe_atoi(sgnl, &sig) >= 0)
-                        fprintf(file, "        Signal: %s (%s)\n", sgnl, signal_to_string(sig));
+                if (normal_coredump && safe_atoi(sgnl, &sig) >= 0)
+                        fprintf(file, "        %s: %s (%s)\n", name, sgnl, signal_to_string(sig));
                 else
-                        fprintf(file, "        Signal: %s\n", sgnl);
+                        fprintf(file, "        %s: %s\n", name, sgnl);
         }
 
         if (timestamp) {
@@ -602,10 +610,18 @@ static int dump_list(sd_journal *j) {
 
                 return print_entry(j, 0);
         } else {
-                SD_JOURNAL_FOREACH(j) {
-                        r = print_entry(j, n_found++);
-                        if (r < 0)
-                                return r;
+                if (!arg_reverse) {
+                        SD_JOURNAL_FOREACH(j) {
+                                r = print_entry(j, n_found++);
+                                if (r < 0)
+                                        return r;
+                        }
+                } else {
+                        SD_JOURNAL_FOREACH_BACKWARDS(j) {
+                                r = print_entry(j, n_found++);
+                                if (r < 0)
+                                        return r;
+                        }
                 }
 
                 if (!arg_field && n_found <= 0) {
@@ -858,24 +874,71 @@ finish:
         return r;
 }
 
+static int check_units_active(void) {
+        _cleanup_(sd_bus_unrefp) sd_bus *bus = NULL;
+        _cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL;
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
+        _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
+        int c = 0, r;
+        const char *state;
+
+        r = sd_bus_default_system(&bus);
+        if (r < 0)
+                return log_error_errno(r, "Failed to acquire bus: %m");
+
+        r = sd_bus_message_new_method_call(
+                        bus,
+                        &m,
+                        "org.freedesktop.systemd1",
+                        "/org/freedesktop/systemd1",
+                        "org.freedesktop.systemd1.Manager",
+                        "ListUnitsByPatterns");
+        if (r < 0)
+                return bus_log_create_error(r);
+
+        r = sd_bus_message_append_strv(m, NULL);
+        if (r < 0)
+                return bus_log_create_error(r);
+
+        r = sd_bus_message_append_strv(m, STRV_MAKE("systemd-coredump@*.service"));
+        if (r < 0)
+                return bus_log_create_error(r);
+
+        r = sd_bus_call(bus, m, 0, &error, &reply);
+        if (r < 0)
+                return log_error_errno(r, "Failed to check if any systemd-coredump@.service units are running: %s",
+                                       bus_error_message(&error, r));
+
+        r = sd_bus_message_enter_container(reply, SD_BUS_TYPE_ARRAY, "(ssssssouso)");
+        if (r < 0)
+                return bus_log_parse_error(r);
+
+        while ((r = sd_bus_message_read(
+                                reply, "(ssssssouso)",
+                                NULL,  NULL,  NULL,  &state,  NULL,
+                                NULL,  NULL,  NULL,  NULL,  NULL) > 0))
+                if (!STR_IN_SET(state, "dead", "failed"))
+                        c++;
+
+        if (r < 0)
+                return bus_log_parse_error(r);
+
+        r = sd_bus_message_exit_container(reply);
+        if (r < 0)
+                return bus_log_parse_error(r);
+
+        return c;
+}
+
 int main(int argc, char *argv[]) {
         _cleanup_(sd_journal_closep) sd_journal*j = NULL;
-        const char* match;
-        Iterator it;
-        int r = 0;
-        _cleanup_set_free_free_ Set *matches = NULL;
+        int r = 0, units_active;
 
         setlocale(LC_ALL, "");
         log_parse_environment();
         log_open();
 
-        matches = new_matches();
-        if (!matches) {
-                r = -ENOMEM;
-                goto end;
-        }
-
-        r = parse_argv(argc, argv, matches);
+        r = parse_argv(argc, argv);
         if (r < 0)
                 goto end;
 
@@ -898,14 +961,9 @@ int main(int argc, char *argv[]) {
                 }
         }
 
-        SET_FOREACH(match, matches, it) {
-                r = sd_journal_add_match(j, match, strlen(match));
-                if (r != 0) {
-                        log_error_errno(r, "Failed to add match '%s': %m",
-                                        match);
-                        goto end;
-                }
-        }
+        r = add_matches(j);
+        if (r < 0)
+                goto end;
 
         if (_unlikely_(log_get_max_level() >= LOG_DEBUG)) {
                 _cleanup_free_ char *filter;
@@ -914,6 +972,8 @@ int main(int argc, char *argv[]) {
                 log_debug("Journal filter: %s", filter);
         }
 
+        units_active = check_units_active(); /* error is treated the same as 0 */
+
         switch(arg_action) {
 
         case ACTION_LIST:
@@ -934,6 +994,11 @@ int main(int argc, char *argv[]) {
                 assert_not_reached("Shouldn't be here");
         }
 
+        if (units_active > 0)
+                printf("%s-- Notice: %d systemd-coredump@.service %s, output may be incomplete.%s\n",
+                       ansi_highlight_red(),
+                       units_active, units_active == 1 ? "unit is running" : "units are running",
+                       ansi_normal());
 end:
         pager_close();
 
index fd7051f21eb14b7f4916d4c96a6fccb3a0cd2e24..bc16290c7245dc0b5078e3524fec86d46e992b41 100644 (file)
@@ -252,7 +252,7 @@ static int process_locale(void) {
         if (arg_copy_locale && arg_root) {
 
                 mkdir_parents(etc_localeconf, 0755);
-                r = copy_file("/etc/locale.conf", etc_localeconf, 0, 0644, 0);
+                r = copy_file("/etc/locale.conf", etc_localeconf, 0, 0644, 0, COPY_REFLINK);
                 if (r != -ENOENT) {
                         if (r < 0)
                                 return log_error_errno(r, "Failed to copy %s: %m", etc_localeconf);
index d97bafd1fb2a58a4f1506ad78a0195456d9d88b0..2677a3fb3212b78686efaba623303d315d310ca4 100644 (file)
@@ -209,7 +209,8 @@ static int write_mount_timeout(FILE *f, const char *where, const char *opts) {
                              "x-systemd.mount-timeout\0", "TimeoutSec");
 }
 
-static int write_requires_after(FILE *f, const char *opts) {
+static int write_dependency(FILE *f, const char *opts,
+                const char *filter, const char *format) {
         _cleanup_strv_free_ char **names = NULL, **units = NULL;
         _cleanup_free_ char *res = NULL;
         char **s;
@@ -218,7 +219,7 @@ static int write_requires_after(FILE *f, const char *opts) {
         assert(f);
         assert(opts);
 
-        r = fstab_extract_values(opts, "x-systemd.requires", &names);
+        r = fstab_extract_values(opts, filter, &names);
         if (r < 0)
                 return log_warning_errno(r, "Failed to parse options: %m");
         if (r == 0)
@@ -239,12 +240,29 @@ static int write_requires_after(FILE *f, const char *opts) {
                 res = strv_join(units, " ");
                 if (!res)
                         return log_oom();
-                fprintf(f, "After=%1$s\nRequires=%1$s\n", res);
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+                fprintf(f, format, res);
+#pragma GCC diagnostic pop
         }
 
         return 0;
 }
 
+static int write_after(FILE *f, const char *opts) {
+        return write_dependency(f, opts, "x-systemd.after", "After=%1$s\n");
+}
+
+static int write_requires_after(FILE *f, const char *opts) {
+        return write_dependency(f, opts,
+                                "x-systemd.requires", "After=%1$s\nRequires=%1$s\n");
+}
+
+static int write_before(FILE *f, const char *opts) {
+        return write_dependency(f, opts,
+                                "x-systemd.before", "Before=%1$s\n");
+}
+
 static int write_requires_mounts_for(FILE *f, const char *opts) {
         _cleanup_strv_free_ char **paths = NULL;
         _cleanup_free_ char *res = NULL;
@@ -344,7 +362,13 @@ static int add_mount(
                 fprintf(f, "Before=%s\n", post);
 
         if (!automount && opts) {
+                 r = write_after(f, opts);
+                 if (r < 0)
+                         return r;
                  r = write_requires_after(f, opts);
+                 if (r < 0)
+                         return r;
+                 r = write_before(f, opts);
                  if (r < 0)
                          return r;
                  r = write_requires_mounts_for(f, opts);
@@ -421,7 +445,13 @@ static int add_mount(
                 fprintf(f, "Before=%s\n", post);
 
                 if (opts) {
+                        r = write_after(f, opts);
+                        if (r < 0)
+                                return r;
                         r = write_requires_after(f, opts);
+                        if (r < 0)
+                                return r;
+                        r = write_before(f, opts);
                         if (r < 0)
                                 return r;
                         r = write_requires_mounts_for(f, opts);
index 07c57fb56734b6fd7aacd85001e0af809f72011d..f5a9de94a60f3544469633e9c5b6e4c64ace1108 100644 (file)
@@ -137,10 +137,8 @@ static int show_one_name(sd_bus *bus, const char* attr) {
                         "org.freedesktop.hostname1",
                         attr,
                         &error, &reply, "s");
-        if (r < 0) {
-                log_error("Could not get property: %s", bus_error_message(&error, -r));
-                return r;
-        }
+        if (r < 0)
+                return log_error_errno(r, "Could not get property: %s", bus_error_message(&error, r));
 
         r = sd_bus_message_read(reply, "s", &s);
         if (r < 0)
@@ -151,7 +149,7 @@ static int show_one_name(sd_bus *bus, const char* attr) {
         return 0;
 }
 
-static int show_all_names(sd_bus *bus) {
+static int show_all_names(sd_bus *bus, sd_bus_error *error) {
         StatusInfo info = {};
 
         static const struct bus_properties_map hostname_map[]  = {
@@ -181,6 +179,7 @@ static int show_all_names(sd_bus *bus) {
                                    "org.freedesktop.hostname1",
                                    "/org/freedesktop/hostname1",
                                    hostname_map,
+                                   error,
                                    &info);
         if (r < 0)
                 goto fail;
@@ -189,6 +188,7 @@ static int show_all_names(sd_bus *bus) {
                                "org.freedesktop.systemd1",
                                "/org/freedesktop/systemd1",
                                manager_map,
+                               error,
                                &info);
 
         print_status_info(&info);
@@ -212,6 +212,8 @@ fail:
 }
 
 static int show_status(sd_bus *bus, char **args, unsigned n) {
+        int r;
+
         assert(args);
 
         if (arg_pretty || arg_static || arg_transient) {
@@ -226,8 +228,15 @@ static int show_status(sd_bus *bus, char **args, unsigned n) {
                         arg_static ? "StaticHostname" : "Hostname";
 
                 return show_one_name(bus, attr);
-        } else
-                return show_all_names(bus);
+        } else {
+                _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
+
+                r = show_all_names(bus, &error);
+                if (r < 0)
+                        return log_error_errno(r, "Failed to query system properties: %s", bus_error_message(&error, r));
+
+                return 0;
+        }
 }
 
 static int set_simple_string(sd_bus *bus, const char *method, const char *value) {
index 9d31a956a548e0362b644b822ae65e488c5827a3..3d379d6de9ea3de2a5015f3784b37e403996ab1c 100644 (file)
@@ -449,8 +449,11 @@ static int transfer_start(Transfer *t) {
 
                 stdio_unset_cloexec();
 
-                setenv("SYSTEMD_LOG_TARGET", "console-prefixed", 1);
-                setenv("NOTIFY_SOCKET", "/run/systemd/import/notify", 1);
+                if (setenv("SYSTEMD_LOG_TARGET", "console-prefixed", 1) < 0 ||
+                    setenv("NOTIFY_SOCKET", "/run/systemd/import/notify", 1) < 0) {
+                        log_error_errno(errno, "setenv() failed: %m");
+                        _exit(EXIT_FAILURE);
+                }
 
                 if (IN_SET(t->type, TRANSFER_IMPORT_TAR, TRANSFER_IMPORT_RAW))
                         cmd[k++] = SYSTEMD_IMPORT_PATH;
index ef7fb6ac42fcb930e44bebf706e37629c741b69e..60a769e94438724e31362f95468ab68dd337fe0a 100644 (file)
@@ -315,7 +315,7 @@ static int raw_pull_copy_auxiliary_file(
 
         local = strjoina(i->image_root, "/", i->local, suffix);
 
-        r = copy_file_atomic(*path, local, 0644, i->force_local, 0);
+        r = copy_file_atomic(*path, local, 0644, 0, COPY_REFLINK | (i->force_local ? COPY_REPLACE : 0));
         if (r == -EEXIST)
                 log_warning_errno(r, "File %s already exists, not replacing.", local);
         else if (r == -ENOENT)
@@ -378,7 +378,7 @@ static int raw_pull_make_local_copy(RawPull *i) {
         if (r < 0)
                 log_warning_errno(r, "Failed to set file attributes on %s: %m", tp);
 
-        r = copy_bytes(i->raw_job->disk_fd, dfd, (uint64_t) -1, true);
+        r = copy_bytes(i->raw_job->disk_fd, dfd, (uint64_t) -1, COPY_REFLINK);
         if (r < 0) {
                 unlink(tp);
                 return log_error_errno(r, "Failed to make writable copy of image: %m");
index 375ee778e24a72faa48c74925d16dc6ef0b56676..91833d61747e4e1f3c3218bd3a3c99db4a653651 100644 (file)
@@ -256,7 +256,7 @@ static int tar_pull_make_local_copy(TarPull *i) {
 
                 local_settings = strjoina(i->image_root, "/", i->local, ".nspawn");
 
-                r = copy_file_atomic(i->settings_path, local_settings, 0664, i->force_local, 0);
+                r = copy_file_atomic(i->settings_path, local_settings, 0664, 0, COPY_REFLINK | (i->force_local ? COPY_REPLACE : 0));
                 if (r == -EEXIST)
                         log_warning_errno(r, "Settings file %s already exists, not replacing.", local_settings);
                 else if (r == -ENOENT)
index 9ba9ee3fc041e01b843e43b2971a80fe61bb6734..79afe6604c053805da62a5dfdb4fb7fe17f4d13a 100644 (file)
 #include "parse-util.h"
 #include "string-util.h"
 
-#define LINE_CHUNK 8*1024u
-
 void source_free(RemoteSource *source) {
         if (!source)
                 return;
 
-        if (source->fd >= 0 && !source->passive_fd) {
-                log_debug("Closing fd:%d (%s)", source->fd, source->name);
-                safe_close(source->fd);
-        }
-
-        free(source->name);
-        free(source->buf);
-        iovw_free_contents(&source->iovw);
+        journal_importer_cleanup(&source->importer);
 
         log_debug("Writer ref count %i", source->writer->n_ref);
         writer_unref(source->writer);
@@ -65,442 +56,44 @@ RemoteSource* source_new(int fd, bool passive_fd, char *name, Writer *writer) {
         if (!source)
                 return NULL;
 
-        source->fd = fd;
-        source->passive_fd = passive_fd;
-        source->name = name;
+        source->importer.fd = fd;
+        source->importer.passive_fd = passive_fd;
+        source->importer.name = name;
+
         source->writer = writer;
 
         return source;
 }
 
-static char* realloc_buffer(RemoteSource *source, size_t size) {
-        char *b, *old = source->buf;
-
-        b = GREEDY_REALLOC(source->buf, source->size, size);
-        if (!b)
-                return NULL;
-
-        iovw_rebase(&source->iovw, old, source->buf);
-
-        return b;
-}
-
-static int get_line(RemoteSource *source, char **line, size_t *size) {
-        ssize_t n;
-        char *c = NULL;
-
-        assert(source);
-        assert(source->state == STATE_LINE);
-        assert(source->offset <= source->filled);
-        assert(source->filled <= source->size);
-        assert(source->buf == NULL || source->size > 0);
-        assert(source->fd >= 0);
-
-        for (;;) {
-                if (source->buf) {
-                        size_t start = MAX(source->scanned, source->offset);
-
-                        c = memchr(source->buf + start, '\n',
-                                   source->filled - start);
-                        if (c != NULL)
-                                break;
-                }
-
-                source->scanned = source->filled;
-                if (source->scanned >= DATA_SIZE_MAX) {
-                        log_error("Entry is bigger than %u bytes.", DATA_SIZE_MAX);
-                        return -E2BIG;
-                }
-
-                if (source->passive_fd)
-                        /* we have to wait for some data to come to us */
-                        return -EAGAIN;
-
-                /* We know that source->filled is at most DATA_SIZE_MAX, so if
-                   we reallocate it, we'll increase the size at least a bit. */
-                assert_cc(DATA_SIZE_MAX < ENTRY_SIZE_MAX);
-                if (source->size - source->filled < LINE_CHUNK &&
-                    !realloc_buffer(source, MIN(source->filled + LINE_CHUNK, ENTRY_SIZE_MAX)))
-                                return log_oom();
-
-                assert(source->buf);
-                assert(source->size - source->filled >= LINE_CHUNK ||
-                       source->size == ENTRY_SIZE_MAX);
-
-                n = read(source->fd,
-                         source->buf + source->filled,
-                         source->size - source->filled);
-                if (n < 0) {
-                        if (errno != EAGAIN)
-                                log_error_errno(errno, "read(%d, ..., %zu): %m",
-                                                source->fd,
-                                                source->size - source->filled);
-                        return -errno;
-                } else if (n == 0)
-                        return 0;
-
-                source->filled += n;
-        }
-
-        *line = source->buf + source->offset;
-        *size = c + 1 - source->buf - source->offset;
-        source->offset += *size;
-
-        return 1;
-}
-
-int push_data(RemoteSource *source, const char *data, size_t size) {
-        assert(source);
-        assert(source->state != STATE_EOF);
-
-        if (!realloc_buffer(source, source->filled + size)) {
-                log_error("Failed to store received data of size %zu "
-                          "(in addition to existing %zu bytes with %zu filled): %s",
-                          size, source->size, source->filled, strerror(ENOMEM));
-                return -ENOMEM;
-        }
-
-        memcpy(source->buf + source->filled, data, size);
-        source->filled += size;
-
-        return 0;
-}
-
-static int fill_fixed_size(RemoteSource *source, void **data, size_t size) {
-
-        assert(source);
-        assert(source->state == STATE_DATA_START ||
-               source->state == STATE_DATA ||
-               source->state == STATE_DATA_FINISH);
-        assert(size <= DATA_SIZE_MAX);
-        assert(source->offset <= source->filled);
-        assert(source->filled <= source->size);
-        assert(source->buf != NULL || source->size == 0);
-        assert(source->buf == NULL || source->size > 0);
-        assert(source->fd >= 0);
-        assert(data);
-
-        while (source->filled - source->offset < size) {
-                int n;
-
-                if (source->passive_fd)
-                        /* we have to wait for some data to come to us */
-                        return -EAGAIN;
-
-                if (!realloc_buffer(source, source->offset + size))
-                        return log_oom();
-
-                n = read(source->fd, source->buf + source->filled,
-                         source->size - source->filled);
-                if (n < 0) {
-                        if (errno != EAGAIN)
-                                log_error_errno(errno, "read(%d, ..., %zu): %m", source->fd,
-                                                source->size - source->filled);
-                        return -errno;
-                } else if (n == 0)
-                        return 0;
-
-                source->filled += n;
-        }
-
-        *data = source->buf + source->offset;
-        source->offset += size;
-
-        return 1;
-}
-
-static int get_data_size(RemoteSource *source) {
-        int r;
-        void *data;
-
-        assert(source);
-        assert(source->state == STATE_DATA_START);
-        assert(source->data_size == 0);
-
-        r = fill_fixed_size(source, &data, sizeof(uint64_t));
-        if (r <= 0)
-                return r;
-
-        source->data_size = le64toh( *(uint64_t *) data );
-        if (source->data_size > DATA_SIZE_MAX) {
-                log_error("Stream declares field with size %zu > DATA_SIZE_MAX = %u",
-                          source->data_size, DATA_SIZE_MAX);
-                return -EINVAL;
-        }
-        if (source->data_size == 0)
-                log_warning("Binary field with zero length");
-
-        return 1;
-}
-
-static int get_data_data(RemoteSource *source, void **data) {
-        int r;
-
-        assert(source);
-        assert(data);
-        assert(source->state == STATE_DATA);
-
-        r = fill_fixed_size(source, data, source->data_size);
-        if (r <= 0)
-                return r;
-
-        return 1;
-}
-
-static int get_data_newline(RemoteSource *source) {
-        int r;
-        char *data;
-
-        assert(source);
-        assert(source->state == STATE_DATA_FINISH);
-
-        r = fill_fixed_size(source, (void**) &data, 1);
-        if (r <= 0)
-                return r;
-
-        assert(data);
-        if (*data != '\n') {
-                log_error("expected newline, got '%c'", *data);
-                return -EINVAL;
-        }
-
-        return 1;
-}
-
-static int process_dunder(RemoteSource *source, char *line, size_t n) {
-        const char *timestamp;
-        int r;
-
-        assert(line);
-        assert(n > 0);
-        assert(line[n-1] == '\n');
-
-        /* XXX: is it worth to support timestamps in extended format?
-         * We don't produce them, but who knows... */
-
-        timestamp = startswith(line, "__CURSOR=");
-        if (timestamp)
-                /* ignore __CURSOR */
-                return 1;
-
-        timestamp = startswith(line, "__REALTIME_TIMESTAMP=");
-        if (timestamp) {
-                long long unsigned x;
-                line[n-1] = '\0';
-                r = safe_atollu(timestamp, &x);
-                if (r < 0)
-                        log_warning("Failed to parse __REALTIME_TIMESTAMP: '%s'", timestamp);
-                else
-                        source->ts.realtime = x;
-                return r < 0 ? r : 1;
-        }
-
-        timestamp = startswith(line, "__MONOTONIC_TIMESTAMP=");
-        if (timestamp) {
-                long long unsigned x;
-                line[n-1] = '\0';
-                r = safe_atollu(timestamp, &x);
-                if (r < 0)
-                        log_warning("Failed to parse __MONOTONIC_TIMESTAMP: '%s'", timestamp);
-                else
-                        source->ts.monotonic = x;
-                return r < 0 ? r : 1;
-        }
-
-        timestamp = startswith(line, "__");
-        if (timestamp) {
-                log_notice("Unknown dunder line %s", line);
-                return 1;
-        }
-
-        /* no dunder */
-        return 0;
-}
-
-static int process_data(RemoteSource *source) {
-        int r;
-
-        switch(source->state) {
-        case STATE_LINE: {
-                char *line, *sep;
-                size_t n = 0;
-
-                assert(source->data_size == 0);
-
-                r = get_line(source, &line, &n);
-                if (r < 0)
-                        return r;
-                if (r == 0) {
-                        source->state = STATE_EOF;
-                        return r;
-                }
-                assert(n > 0);
-                assert(line[n-1] == '\n');
-
-                if (n == 1) {
-                        log_trace("Received empty line, event is ready");
-                        return 1;
-                }
-
-                r = process_dunder(source, line, n);
-                if (r != 0)
-                        return r < 0 ? r : 0;
-
-                /* MESSAGE=xxx\n
-                   or
-                   COREDUMP\n
-                   LLLLLLLL0011223344...\n
-                */
-                sep = memchr(line, '=', n);
-                if (sep) {
-                        /* chomp newline */
-                        n--;
-
-                        r = iovw_put(&source->iovw, line, n);
-                        if (r < 0)
-                                return r;
-                } else {
-                        /* replace \n with = */
-                        line[n-1] = '=';
-
-                        source->field_len = n;
-                        source->state = STATE_DATA_START;
-
-                        /* we cannot put the field in iovec until we have all data */
-                }
-
-                log_trace("Received: %.*s (%s)", (int) n, line, sep ? "text" : "binary");
-
-                return 0; /* continue */
-        }
-
-        case STATE_DATA_START:
-                assert(source->data_size == 0);
-
-                r = get_data_size(source);
-                // log_debug("get_data_size() -> %d", r);
-                if (r < 0)
-                        return r;
-                if (r == 0) {
-                        source->state = STATE_EOF;
-                        return 0;
-                }
-
-                source->state = source->data_size > 0 ?
-                        STATE_DATA : STATE_DATA_FINISH;
-
-                return 0; /* continue */
-
-        case STATE_DATA: {
-                void *data;
-                char *field;
-
-                assert(source->data_size > 0);
-
-                r = get_data_data(source, &data);
-                // log_debug("get_data_data() -> %d", r);
-                if (r < 0)
-                        return r;
-                if (r == 0) {
-                        source->state = STATE_EOF;
-                        return 0;
-                }
-
-                assert(data);
-
-                field = (char*) data - sizeof(uint64_t) - source->field_len;
-                memmove(field + sizeof(uint64_t), field, source->field_len);
-
-                r = iovw_put(&source->iovw, field + sizeof(uint64_t), source->field_len + source->data_size);
-                if (r < 0)
-                        return r;
-
-                source->state = STATE_DATA_FINISH;
-
-                return 0; /* continue */
-        }
-
-        case STATE_DATA_FINISH:
-                r = get_data_newline(source);
-                // log_debug("get_data_newline() -> %d", r);
-                if (r < 0)
-                        return r;
-                if (r == 0) {
-                        source->state = STATE_EOF;
-                        return 0;
-                }
-
-                source->data_size = 0;
-                source->state = STATE_LINE;
-
-                return 0; /* continue */
-        default:
-                assert_not_reached("wtf?");
-        }
-}
-
 int process_source(RemoteSource *source, bool compress, bool seal) {
-        size_t remain, target;
         int r;
 
         assert(source);
         assert(source->writer);
 
-        r = process_data(source);
+        r = journal_importer_process_data(&source->importer);
         if (r <= 0)
                 return r;
 
         /* We have a full event */
         log_trace("Received full event from source@%p fd:%d (%s)",
-                  source, source->fd, source->name);
+                  source, source->importer.fd, source->importer.name);
 
-        if (!source->iovw.count) {
+        if (source->importer.iovw.count == 0) {
                 log_warning("Entry with no payload, skipping");
                 goto freeing;
         }
 
-        assert(source->iovw.iovec);
-        assert(source->iovw.count);
+        assert(source->importer.iovw.iovec);
 
-        r = writer_write(source->writer, &source->iovw, &source->ts, compress, seal);
+        r = writer_write(source->writer, &source->importer.iovw, &source->importer.ts, compress, seal);
         if (r < 0)
                 log_error_errno(r, "Failed to write entry of %zu bytes: %m",
-                                iovw_size(&source->iovw));
+                                iovw_size(&source->importer.iovw));
         else
                 r = 1;
 
  freeing:
-        iovw_free_contents(&source->iovw);
-
-        /* possibly reset buffer position */
-        remain = source->filled - source->offset;
-
-        if (remain == 0) /* no brainer */
-                source->offset = source->scanned = source->filled = 0;
-        else if (source->offset > source->size - source->filled &&
-                 source->offset > remain) {
-                memcpy(source->buf, source->buf + source->offset, remain);
-                source->offset = source->scanned = 0;
-                source->filled = remain;
-        }
-
-        target = source->size;
-        while (target > 16 * LINE_CHUNK && source->filled < target / 2)
-                target /= 2;
-        if (target < source->size) {
-                char *tmp;
-
-                tmp = realloc(source->buf, target);
-                if (!tmp)
-                        log_warning("Failed to reallocate buffer to (smaller) size %zu",
-                                    target);
-                else {
-                        log_debug("Reallocated buffer from %zu to %zu bytes",
-                                  source->size, target);
-                        source->buf = tmp;
-                        source->size = target;
-                }
-        }
-
+        journal_importer_drop_iovw(&source->importer);
         return r;
 }
index 1740a21f92ad4c085bf9386c78d370501e72fb28..e3632528cf86f8677d8df92cb0ef5d812f8161ae 100644 (file)
 
 #include "sd-event.h"
 
+#include "journal-importer.h"
 #include "journal-remote-write.h"
 
-typedef enum {
-        STATE_LINE = 0,    /* waiting to read, or reading line */
-        STATE_DATA_START,  /* reading binary data header */
-        STATE_DATA,        /* reading binary data */
-        STATE_DATA_FINISH, /* expecting newline */
-        STATE_EOF,         /* done */
-} source_state;
-
 typedef struct RemoteSource {
-        char *name;
-        int fd;
-        bool passive_fd;
-
-        char *buf;
-        size_t size;       /* total size of the buffer */
-        size_t offset;     /* offset to the beginning of live data in the buffer */
-        size_t scanned;    /* number of bytes since the beginning of data without a newline */
-        size_t filled;     /* total number of bytes in the buffer */
-
-        size_t field_len;  /* used for binary fields: the field name length */
-        size_t data_size;  /* and the size of the binary data chunk being processed */
-
-        struct iovec_wrapper iovw;
-
-        source_state state;
-        dual_timestamp ts;
+        JournalImporter importer;
 
         Writer *writer;
 
@@ -57,13 +34,5 @@ typedef struct RemoteSource {
 } RemoteSource;
 
 RemoteSource* source_new(int fd, bool passive_fd, char *name, Writer *writer);
-
-static inline size_t source_non_empty(RemoteSource *source) {
-        assert(source);
-
-        return source->filled;
-}
-
 void source_free(RemoteSource *source);
-int push_data(RemoteSource *source, const char *data, size_t size);
 int process_source(RemoteSource *source, bool compress, bool seal);
index 8729372aa391ec3577adc73c7d581663fbad2d4c..734cad333f40065c4bf5b7622dc05d1ddc490cc4 100644 (file)
 #include "alloc-util.h"
 #include "journal-remote.h"
 
-int iovw_put(struct iovec_wrapper *iovw, void* data, size_t len) {
-        if (!GREEDY_REALLOC(iovw->iovec, iovw->size_bytes, iovw->count + 1))
-                return log_oom();
-
-        iovw->iovec[iovw->count++] = (struct iovec) {data, len};
-        return 0;
-}
-
-void iovw_free_contents(struct iovec_wrapper *iovw) {
-        iovw->iovec = mfree(iovw->iovec);
-        iovw->size_bytes = iovw->count = 0;
-}
-
-size_t iovw_size(struct iovec_wrapper *iovw) {
-        size_t n = 0, i;
-
-        for (i = 0; i < iovw->count; i++)
-                n += iovw->iovec[i].iov_len;
-
-        return n;
-}
-
-void iovw_rebase(struct iovec_wrapper *iovw, char *old, char *new) {
-        size_t i;
-
-        for (i = 0; i < iovw->count; i++)
-                iovw->iovec[i].iov_base = (char*) iovw->iovec[i].iov_base - old + new;
-}
-
-/**********************************************************************
- **********************************************************************
- **********************************************************************/
-
 static int do_rotate(JournalFile **f, bool compress, bool seal) {
         int r = journal_file_rotate(f, compress, seal, NULL);
         if (r < 0) {
index 53ba45fc04ef009623f48e49134a0e7db9bdd9f7..e04af54e55268e8aad3afbb5837c99cd10c08aae 100644 (file)
 ***/
 
 #include "journal-file.h"
+#include "journal-importer.h"
 
 typedef struct RemoteServer RemoteServer;
 
-struct iovec_wrapper {
-        struct iovec *iovec;
-        size_t size_bytes;
-        size_t count;
-};
-
-int iovw_put(struct iovec_wrapper *iovw, void* data, size_t len);
-void iovw_free_contents(struct iovec_wrapper *iovw);
-size_t iovw_size(struct iovec_wrapper *iovw);
-void iovw_rebase(struct iovec_wrapper *iovw, char *old, char *new);
-
 typedef struct Writer {
         JournalFile *journal;
         JournalMetrics metrics;
index d0d8d936e3333e44b4c18137dd84546f2f4c1f9c..202a5a3f97d23ca916a926b95f5362353f85ece9 100644 (file)
@@ -512,7 +512,8 @@ static int process_http_upload(
         if (*upload_data_size) {
                 log_trace("Received %zu bytes", *upload_data_size);
 
-                r = push_data(source, upload_data, *upload_data_size);
+                r = journal_importer_push_data(&source->importer,
+                                               upload_data, *upload_data_size);
                 if (r < 0)
                         return mhd_respond_oom(connection);
 
@@ -542,7 +543,7 @@ static int process_http_upload(
 
         /* The upload is finished */
 
-        remaining = source_non_empty(source);
+        remaining = journal_importer_bytes_remaining(&source->importer);
         if (remaining > 0) {
                 log_warning("Premature EOF byte. %zu bytes lost.", remaining);
                 return mhd_respondf(connection,
@@ -1036,19 +1037,19 @@ static int handle_raw_source(sd_event_source *event,
 
         assert(fd >= 0 && fd < (ssize_t) s->sources_size);
         source = s->sources[fd];
-        assert(source->fd == fd);
+        assert(source->importer.fd == fd);
 
         r = process_source(source, arg_compress, arg_seal);
-        if (source->state == STATE_EOF) {
+        if (journal_importer_eof(&source->importer)) {
                 size_t remaining;
 
-                log_debug("EOF reached with source fd:%d (%s)",
-                          source->fd, source->name);
+                log_debug("EOF reached with source %s (fd=%d)",
+                          source->importer.name, source->importer.fd);
 
-                remaining = source_non_empty(source);
+                remaining = journal_importer_bytes_remaining(&source->importer);
                 if (remaining > 0)
                         log_notice("Premature EOF. %zu bytes lost.", remaining);
-                remove_source(s, source->fd);
+                remove_source(s, source->importer.fd);
                 log_debug("%zu active sources remaining", s->active);
                 return 0;
         } else if (r == -E2BIG) {
@@ -1072,7 +1073,7 @@ static int dispatch_raw_source_until_block(sd_event_source *event,
         /* Make sure event stays around even if source is destroyed */
         sd_event_source_ref(event);
 
-        r = handle_raw_source(event, source->fd, EPOLLIN, server);
+        r = handle_raw_source(event, source->importer.fd, EPOLLIN, server);
         if (r != 1)
                 /* No more data for now */
                 sd_event_source_set_enabled(event, SD_EVENT_OFF);
@@ -1105,7 +1106,7 @@ static int dispatch_blocking_source_event(sd_event_source *event,
                                           void *userdata) {
         RemoteSource *source = userdata;
 
-        return handle_raw_source(event, source->fd, EPOLLIN, server);
+        return handle_raw_source(event, source->importer.fd, EPOLLIN, server);
 }
 
 static int accept_connection(const char* type, int fd,
index 9ad6f115a19b0598f1383b143cde0f6e09ca2c79..d785b32f1cb88794ca56b65b3b87fbaaeed457c6 100644 (file)
@@ -912,7 +912,7 @@ static int generate_new_id128(void) {
                SD_ID128_FORMAT_STR "\n\n"
                "As UUID:\n"
                "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\n\n"
-               "As macro:\n"
+               "As man:sd-id128(3) macro:\n"
                "#define MESSAGE_XYZ SD_ID128_MAKE(",
                SD_ID128_FORMAT_VAL(id),
                SD_ID128_FORMAT_VAL(id));
index 18c86445074b30f042d226b543dfd25203fc2e87..8afaec0ced1a64a22d48a1e8ef9ad880d61db459 100644 (file)
@@ -156,7 +156,8 @@ static void dev_kmsg_record(Server *s, const char *p, size_t l) {
 
                 /* Did we lose any? */
                 if (serial > *s->kernel_seqnum)
-                        server_driver_message(s, SD_MESSAGE_JOURNAL_MISSED,
+                        server_driver_message(s,
+                                              "MESSAGE_ID=" SD_MESSAGE_JOURNAL_MISSED_STR,
                                               LOG_MESSAGE("Missed %"PRIu64" kernel messages",
                                                           serial - *s->kernel_seqnum),
                                               NULL);
index 0a1ce205c2f53363b56481aed9c8483a1d26687c..3c03b83754dbae12931c9621bbbf32142322e75b 100644 (file)
@@ -27,6 +27,7 @@
 #include "fd-util.h"
 #include "fs-util.h"
 #include "io-util.h"
+#include "journal-importer.h"
 #include "journald-console.h"
 #include "journald-kmsg.h"
 #include "journald-native.h"
index c13b80aa4f710f50c2d7a03572e18b454998d072..1ab415ac850847148857920898941fc6f17b0305 100644 (file)
 
 #include "journald-server.h"
 
-/* Make sure not to make this smaller than the maximum coredump
- * size. See COREDUMP_MAX in coredump.c */
-#define ENTRY_SIZE_MAX (1024*1024*770u)
-#define DATA_SIZE_MAX (1024*1024*768u)
-
 bool valid_user_field(const char *p, size_t l, bool allow_protected);
 
 void server_process_native_message(Server *s, const void *buffer, size_t buffer_size, const struct ucred *ucred, const struct timeval *tv, const char *label, size_t label_len);
index 8b92ea3defc7dd375fc19cb88c03b357674e7257..451f16483f38d7de89d14fd2d9d37820e8dfb534 100644 (file)
@@ -214,7 +214,7 @@ void server_space_usage_message(Server *s, JournalStorage *storage) {
         format_bytes(fb5, sizeof(fb5), storage->space.limit);
         format_bytes(fb6, sizeof(fb6), storage->space.available);
 
-        server_driver_message(s, SD_MESSAGE_JOURNAL_USAGE,
+        server_driver_message(s, "MESSAGE_ID=" SD_MESSAGE_JOURNAL_USAGE_STR,
                               LOG_MESSAGE("%s (%s) is %s, max %s, %s free.",
                                           storage->name, storage->path, fb1, fb5, fb6),
                               "JOURNAL_NAME=%s", storage->name,
@@ -1061,8 +1061,7 @@ static void dispatch_message_real(
         write_to_journal(s, journal_uid, iovec, n, priority);
 }
 
-void server_driver_message(Server *s, sd_id128_t message_id, const char *format, ...) {
-        char mid[11 + 32 + 1];
+void server_driver_message(Server *s, const char *message_id, const char *format, ...) {
         struct iovec iovec[N_IOVEC_META_FIELDS + 5 + N_IOVEC_PAYLOAD_FIELDS];
         unsigned n = 0, m;
         int r;
@@ -1080,11 +1079,8 @@ void server_driver_message(Server *s, sd_id128_t message_id, const char *format,
         assert_cc(6 == LOG_INFO);
         IOVEC_SET_STRING(iovec[n++], "PRIORITY=6");
 
-        if (!sd_id128_is_null(message_id)) {
-                snprintf(mid, sizeof(mid), LOG_MESSAGE_ID(message_id));
-                IOVEC_SET_STRING(iovec[n++], mid);
-        }
-
+        if (message_id)
+                IOVEC_SET_STRING(iovec[n++], message_id);
         m = n;
 
         va_start(ap, format);
@@ -1174,7 +1170,7 @@ void server_dispatch_message(
 
         /* Write a suppression message if we suppressed something */
         if (rl > 1)
-                server_driver_message(s, SD_MESSAGE_JOURNAL_DROPPED,
+                server_driver_message(s, "MESSAGE_ID=" SD_MESSAGE_JOURNAL_DROPPED_STR,
                                       LOG_MESSAGE("Suppressed %u messages from %s", rl - 1, path),
                                       NULL);
 
@@ -1273,7 +1269,7 @@ finish:
 
         sd_journal_close(j);
 
-        server_driver_message(s, SD_ID128_NULL,
+        server_driver_message(s, NULL,
                               LOG_MESSAGE("Time spent on flushing to /var is %s for %u entries.",
                                           format_timespan(ts, sizeof(ts), now(CLOCK_MONOTONIC) - start, 0),
                                           n),
index 716e758b7c7e5702745924086d4c08d393cfb2e1..75ac114d2493b30442a16891f4da44a4ae3023fb 100644 (file)
@@ -176,7 +176,7 @@ struct Server {
 #define N_IOVEC_PAYLOAD_FIELDS 15
 
 void server_dispatch_message(Server *s, struct iovec *iovec, unsigned n, unsigned m, const struct ucred *ucred, const struct timeval *tv, const char *label, size_t label_len, const char *unit_id, int priority, pid_t object_pid);
-void server_driver_message(Server *s, sd_id128_t message_id, const char *format, ...) _printf_(3,0) _sentinel_;
+void server_driver_message(Server *s, const char *message_id, const char *format, ...) _printf_(3,0) _sentinel_;
 
 /* gperf lookup function */
 const struct ConfigPerfItem* journald_gperf_lookup(const char *key, GPERF_LEN_TYPE length);
index 896303fb8544acae1cae15e63a568065e3387429..474369039a6ce5501d73d7f2f941c404ea661057 100644 (file)
@@ -444,7 +444,8 @@ void server_maybe_warn_forward_syslog_missed(Server *s) {
         if (s->last_warn_forward_syslog_missed + WARN_FORWARD_SYSLOG_MISSED_USEC > n)
                 return;
 
-        server_driver_message(s, SD_MESSAGE_FORWARD_SYSLOG_MISSED,
+        server_driver_message(s,
+                              "MESSAGE_ID=" SD_MESSAGE_FORWARD_SYSLOG_MISSED_STR,
                               LOG_MESSAGE("Forwarding to syslog missed %u messages.",
                                           s->n_forward_syslog_missed),
                               NULL);
index 54fd1f999dfc01bb129034761e6cc0ce3c634084..1aaef387b49ab1ad3fa0c8d19f8a145bbbb28976 100644 (file)
@@ -56,7 +56,8 @@ int main(int argc, char *argv[]) {
         server_flush_dev_kmsg(&server);
 
         log_debug("systemd-journald running as pid "PID_FMT, getpid());
-        server_driver_message(&server, SD_MESSAGE_JOURNAL_START,
+        server_driver_message(&server,
+                              "MESSAGE_ID=" SD_MESSAGE_JOURNAL_START_STR,
                               LOG_MESSAGE("Journal started"),
                               NULL);
 
@@ -114,7 +115,8 @@ int main(int argc, char *argv[]) {
         }
 
         log_debug("systemd-journald stopped as pid "PID_FMT, getpid());
-        server_driver_message(&server, SD_MESSAGE_JOURNAL_STOP,
+        server_driver_message(&server,
+                              "MESSAGE_ID=" SD_MESSAGE_JOURNAL_STOP_STR,
                               LOG_MESSAGE("Journal stopped"),
                               NULL);
 
index b4bf75a3dc2cda58fe8050e59567d0710398a669..7c0317640fa5e84485296608596e30a6383204a2 100644 (file)
@@ -825,6 +825,15 @@ static int client_send_request(sd_dhcp_client *client) {
                         return r;
         }
 
+        if (client->vendor_class_identifier) {
+                r = dhcp_option_append(&request->dhcp, optlen, &optoffset, 0,
+                                       SD_DHCP_OPTION_VENDOR_CLASS_IDENTIFIER,
+                                       strlen(client->vendor_class_identifier),
+                                       client->vendor_class_identifier);
+                if (r < 0)
+                        return r;
+        }
+
         r = dhcp_option_append(&request->dhcp, optlen, &optoffset, 0,
                                SD_DHCP_OPTION_END, 0, NULL);
         if (r < 0)
index 4dd343c101e23eb73839e95598caba2931999352..2ebc00f247d966eed98fa4a797bcac3c51b2b49b 100644 (file)
@@ -242,8 +242,6 @@ static int ipv4acd_on_timeout(sd_event_source *s, uint64_t usec, void *userdata)
                         r = ipv4acd_set_next_wakeup(acd, RATE_LIMIT_INTERVAL_USEC, PROBE_WAIT_USEC);
                         if (r < 0)
                                 goto fail;
-
-                        acd->n_conflict = 0;
                 } else {
                         r = ipv4acd_set_next_wakeup(acd, 0, PROBE_WAIT_USEC);
                         if (r < 0)
index efeadf0cd4ba1219e5ee02401c620b2fba68835c..04ead29338bbe88298ac888370b9dd8fddd12cc2 100644 (file)
@@ -1859,8 +1859,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
         _cleanup_free_ char *value = NULL;
         const char *syspath;
         char *path;
-        struct stat statbuf;
-        size_t value_len = 0;
+        size_t len = 0;
         ssize_t size;
         int r;
 
@@ -1878,8 +1877,14 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
                 return r;
 
         path = strjoina(syspath, "/", sysattr);
-        r = lstat(path, &statbuf);
-        if (r < 0) {
+
+        fd = open(path, O_WRONLY | O_CLOEXEC | O_NOFOLLOW);
+        if (fd < 0) {
+                if (errno == ELOOP)
+                        return -EINVAL;
+                if (errno == EISDIR)
+                        return -EISDIR;
+
                 value = strdup("");
                 if (!value)
                         return -ENOMEM;
@@ -1891,46 +1896,30 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
                 return -ENXIO;
         }
 
-        if (S_ISLNK(statbuf.st_mode))
-                return -EINVAL;
-
-        /* skip directories */
-        if (S_ISDIR(statbuf.st_mode))
-                return -EISDIR;
-
-        /* skip non-readable files */
-        if ((statbuf.st_mode & S_IRUSR) == 0)
-                return -EACCES;
-
-        value_len = strlen(_value);
+        len = strlen(_value);
 
         /* drop trailing newlines */
-        while (value_len > 0 && _value[value_len - 1] == '\n')
-                _value[--value_len] = '\0';
+        while (len > 0 && _value[len - 1] == '\n')
+                len --;
 
         /* value length is limited to 4k */
-        if (value_len > 4096)
+        if (len > 4096)
                 return -EINVAL;
 
-        fd = open(path, O_WRONLY | O_CLOEXEC);
-        if (fd < 0)
-                return -errno;
-
-        value = strdup(_value);
+        value = strndup(_value, len);
         if (!value)
                 return -ENOMEM;
 
-        size = write(fd, value, value_len);
+        size = write(fd, value, len);
         if (size < 0)
                 return -errno;
 
-        if ((size_t)size != value_len)
+        if ((size_t)size != len)
                 return -EIO;
 
         r = device_add_sysattr_value(device, sysattr, value);
         if (r < 0)
                 return r;
-
         value = NULL;
 
         return 0;
index 81afb4909fbe7be80639d5ffbaafd6f21787a409..0bd18a5c0b2d71500b2d15d3c318045ada329176 100644 (file)
@@ -166,6 +166,8 @@ static int show_status(sd_bus *bus, char **args, unsigned n) {
                 { "Locale",               "as", NULL, offsetof(StatusInfo, locale) },
                 {}
         };
+
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         int r;
 
         assert(bus);
@@ -174,9 +176,10 @@ static int show_status(sd_bus *bus, char **args, unsigned n) {
                                    "org.freedesktop.locale1",
                                    "/org/freedesktop/locale1",
                                    map,
+                                   &error,
                                    &info);
         if (r < 0)
-                return log_error_errno(r, "Could not get properties: %m");
+                return log_error_errno(r, "Could not get properties: %s", bus_error_message(&error, r));
 
         print_overridden_variables();
         print_status_info(&info);
index 1aac7ae9793564cba8a8a3a504cec33689e37bfb..7dea5c08597ac549ffb32000e0df151427db92d3 100644 (file)
@@ -482,14 +482,15 @@ static int print_session_status_info(sd_bus *bus, const char *path, bool *new_li
                 {}
         };
 
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         char since1[FORMAT_TIMESTAMP_RELATIVE_MAX], *s1;
         char since2[FORMAT_TIMESTAMP_MAX], *s2;
         _cleanup_(session_status_info_clear) SessionStatusInfo i = {};
         int r;
 
-        r = bus_map_all_properties(bus, "org.freedesktop.login1", path, map, &i);
+        r = bus_map_all_properties(bus, "org.freedesktop.login1", path, map, &error, &i);
         if (r < 0)
-                return log_error_errno(r, "Could not get properties: %m");
+                return log_error_errno(r, "Could not get properties: %s", bus_error_message(&error, r));
 
         if (*new_line)
                 printf("\n");
@@ -611,14 +612,15 @@ static int print_user_status_info(sd_bus *bus, const char *path, bool *new_line)
                 {}
         };
 
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         char since1[FORMAT_TIMESTAMP_RELATIVE_MAX], *s1;
         char since2[FORMAT_TIMESTAMP_MAX], *s2;
         _cleanup_(user_status_info_clear) UserStatusInfo i = {};
         int r;
 
-        r = bus_map_all_properties(bus, "org.freedesktop.login1", path, map, &i);
+        r = bus_map_all_properties(bus, "org.freedesktop.login1", path, map, &error, &i);
         if (r < 0)
-                return log_error_errno(r, "Could not get properties: %m");
+                return log_error_errno(r, "Could not get properties: %s", bus_error_message(&error, r));
 
         if (*new_line)
                 printf("\n");
@@ -685,12 +687,13 @@ static int print_seat_status_info(sd_bus *bus, const char *path, bool *new_line)
                 {}
         };
 
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         _cleanup_(seat_status_info_clear) SeatStatusInfo i = {};
         int r;
 
-        r = bus_map_all_properties(bus, "org.freedesktop.login1", path, map, &i);
+        r = bus_map_all_properties(bus, "org.freedesktop.login1", path, map, &error, &i);
         if (r < 0)
-                return log_error_errno(r, "Could not get properties: %m");
+                return log_error_errno(r, "Could not get properties: %s", bus_error_message(&error, r));
 
         if (*new_line)
                 printf("\n");
index 90fb93bbaf85ecc6b80bd3383cfcc6381eb59dd7..d739af8ea2c3f7c023a9455bbca318b9afa99384 100644 (file)
@@ -155,7 +155,7 @@ static int button_dispatch(sd_event_source *s, int fd, uint32_t revents, void *u
                 case KEY_POWER2:
                         log_struct(LOG_INFO,
                                    LOG_MESSAGE("Power key pressed."),
-                                   LOG_MESSAGE_ID(SD_MESSAGE_POWER_KEY),
+                                   "MESSAGE_ID=" SD_MESSAGE_POWER_KEY_STR,
                                    NULL);
 
                         manager_handle_action(b->manager, INHIBIT_HANDLE_POWER_KEY, b->manager->handle_power_key, b->manager->power_key_ignore_inhibited, true);
@@ -170,7 +170,7 @@ static int button_dispatch(sd_event_source *s, int fd, uint32_t revents, void *u
                 case KEY_SLEEP:
                         log_struct(LOG_INFO,
                                    LOG_MESSAGE("Suspend key pressed."),
-                                   LOG_MESSAGE_ID(SD_MESSAGE_SUSPEND_KEY),
+                                   "MESSAGE_ID=" SD_MESSAGE_SUSPEND_KEY_STR,
                                    NULL);
 
                         manager_handle_action(b->manager, INHIBIT_HANDLE_SUSPEND_KEY, b->manager->handle_suspend_key, b->manager->suspend_key_ignore_inhibited, true);
@@ -179,7 +179,7 @@ static int button_dispatch(sd_event_source *s, int fd, uint32_t revents, void *u
                 case KEY_SUSPEND:
                         log_struct(LOG_INFO,
                                    LOG_MESSAGE("Hibernate key pressed."),
-                                   LOG_MESSAGE_ID(SD_MESSAGE_HIBERNATE_KEY),
+                                   "MESSAGE_ID=" SD_MESSAGE_HIBERNATE_KEY_STR,
                                    NULL);
 
                         manager_handle_action(b->manager, INHIBIT_HANDLE_HIBERNATE_KEY, b->manager->handle_hibernate_key, b->manager->hibernate_key_ignore_inhibited, true);
@@ -191,7 +191,7 @@ static int button_dispatch(sd_event_source *s, int fd, uint32_t revents, void *u
                 if (ev.code == SW_LID) {
                         log_struct(LOG_INFO,
                                    LOG_MESSAGE("Lid closed."),
-                                   LOG_MESSAGE_ID(SD_MESSAGE_LID_CLOSED),
+                                   "MESSAGE_ID=" SD_MESSAGE_LID_CLOSED_STR,
                                    NULL);
 
                         b->lid_closed = true;
@@ -201,7 +201,7 @@ static int button_dispatch(sd_event_source *s, int fd, uint32_t revents, void *u
                 } else if (ev.code == SW_DOCK) {
                         log_struct(LOG_INFO,
                                    LOG_MESSAGE("System docked."),
-                                   LOG_MESSAGE_ID(SD_MESSAGE_SYSTEM_DOCKED),
+                                   "MESSAGE_ID=" SD_MESSAGE_SYSTEM_DOCKED_STR,
                                    NULL);
 
                         b->docked = true;
@@ -212,7 +212,7 @@ static int button_dispatch(sd_event_source *s, int fd, uint32_t revents, void *u
                 if (ev.code == SW_LID) {
                         log_struct(LOG_INFO,
                                    LOG_MESSAGE("Lid opened."),
-                                   LOG_MESSAGE_ID(SD_MESSAGE_LID_OPENED),
+                                   "MESSAGE_ID=" SD_MESSAGE_LID_OPENED_STR,
                                    NULL);
 
                         b->lid_closed = false;
@@ -221,7 +221,7 @@ static int button_dispatch(sd_event_source *s, int fd, uint32_t revents, void *u
                 } else if (ev.code == SW_DOCK) {
                         log_struct(LOG_INFO,
                                    LOG_MESSAGE("System undocked."),
-                                   LOG_MESSAGE_ID(SD_MESSAGE_SYSTEM_UNDOCKED),
+                                   "MESSAGE_ID=" SD_MESSAGE_SYSTEM_UNDOCKED_STR,
                                    NULL);
 
                         b->docked = false;
index ad44ca290e8e61d3ef3be12a79cccd377c8de22c..c6be596af31fe3f760c369b430788937444ca26c 100644 (file)
@@ -1430,7 +1430,7 @@ static int bus_manager_log_shutdown(
                 p = strjoina(p, " (", m->wall_message, ").");
 
         return log_struct(LOG_NOTICE,
-                          LOG_MESSAGE_ID(SD_MESSAGE_SHUTDOWN),
+                          "MESSAGE_ID=" SD_MESSAGE_SHUTDOWN_STR,
                           p,
                           q,
                           NULL);
index bfbd07309d055a487f5a89d83470b6fe72951a1a..30dac7997b8d6a787b35c8fabf5e7a94c1ff6afe 100644 (file)
@@ -379,7 +379,8 @@ int seat_read_active_vt(Seat *s) {
         if (!seat_has_vts(s))
                 return 0;
 
-        lseek(s->manager->console_active_fd, SEEK_SET, 0);
+        if (lseek(s->manager->console_active_fd, SEEK_SET, 0) < 0)
+                return log_error_errno(errno, "lseek on console_active_fd failed: %m");
 
         k = read(s->manager->console_active_fd, t, sizeof(t)-1);
         if (k <= 0) {
@@ -396,10 +397,8 @@ int seat_read_active_vt(Seat *s) {
         }
 
         r = safe_atou(t+3, &vtnr);
-        if (r < 0) {
-                log_error("Failed to parse VT number %s", t+3);
-                return r;
-        }
+        if (r < 0)
+                return log_error_errno(r, "Failed to parse VT number \"%s\": %m", t+3);
 
         if (!vtnr) {
                 log_error("VT number invalid: %s", t+3);
@@ -416,7 +415,7 @@ int seat_start(Seat *s) {
                 return 0;
 
         log_struct(LOG_INFO,
-                   LOG_MESSAGE_ID(SD_MESSAGE_SEAT_START),
+                   "MESSAGE_ID=" SD_MESSAGE_SEAT_START_STR,
                    "SEAT_ID=%s", s->id,
                    LOG_MESSAGE("New seat %s.", s->id),
                    NULL);
@@ -444,7 +443,7 @@ int seat_stop(Seat *s, bool force) {
 
         if (s->started)
                 log_struct(LOG_INFO,
-                           LOG_MESSAGE_ID(SD_MESSAGE_SEAT_STOP),
+                           "MESSAGE_ID=" SD_MESSAGE_SEAT_STOP_STR,
                            "SEAT_ID=%s", s->id,
                            LOG_MESSAGE("Removed seat %s.", s->id),
                            NULL);
index fd7fcf7f2c1019a939d2ad859f857f3a87459b29..4a168906d6f8f70391289ba9de7fbc11189490a4 100644 (file)
@@ -561,7 +561,7 @@ int session_start(Session *s) {
                 return r;
 
         log_struct(s->class == SESSION_BACKGROUND ? LOG_DEBUG : LOG_INFO,
-                   LOG_MESSAGE_ID(SD_MESSAGE_SESSION_START),
+                   "MESSAGE_ID=" SD_MESSAGE_SESSION_START_STR,
                    "SESSION_ID=%s", s->id,
                    "USER_ID=%s", s->user->name,
                    "LEADER="PID_FMT, s->leader,
@@ -666,7 +666,7 @@ int session_finalize(Session *s) {
 
         if (s->started)
                 log_struct(s->class == SESSION_BACKGROUND ? LOG_DEBUG : LOG_INFO,
-                           LOG_MESSAGE_ID(SD_MESSAGE_SESSION_STOP),
+                           "MESSAGE_ID=" SD_MESSAGE_SESSION_STOP_STR,
                            "SESSION_ID=%s", s->id,
                            "USER_ID=%s", s->user->name,
                            "LEADER="PID_FMT, s->leader,
index d5051007fc163db096ae40fdd5dee1bdeeaffcdd..2f69e2c7b74b5edb641a1efa279ae7890a140f51 100644 (file)
@@ -374,7 +374,7 @@ static int raw_image_get_os_release(Image *image, char ***ret, sd_bus_error *err
                 if (fd < 0)
                         _exit(EXIT_FAILURE);
 
-                r = copy_bytes(fd, pair[1], (uint64_t) -1, false);
+                r = copy_bytes(fd, pair[1], (uint64_t) -1, 0);
                 if (r < 0)
                         _exit(EXIT_FAILURE);
 
index af745b65677b67d74d5d26d6ff00feefae8db15a..36568b65ef2cb5ff035be4cd4991827f72b6cb3a 100644 (file)
@@ -411,7 +411,7 @@ int bus_machine_method_get_os_release(sd_bus_message *message, void *userdata, s
                         if (fd < 0)
                                 _exit(EXIT_FAILURE);
 
-                        r = copy_bytes(fd, pair[1], (uint64_t) -1, false);
+                        r = copy_bytes(fd, pair[1], (uint64_t) -1, 0);
                         if (r < 0)
                                 _exit(EXIT_FAILURE);
 
@@ -841,6 +841,7 @@ int bus_machine_method_bind_mount(sd_bus_message *message, void *userdata, sd_bu
         int read_only, make_directory;
         pid_t child;
         siginfo_t si;
+        uid_t uid;
         int r;
 
         assert(message);
@@ -875,6 +876,12 @@ int bus_machine_method_bind_mount(sd_bus_message *message, void *userdata, sd_bu
         if (r == 0)
                 return 1; /* Will call us back */
 
+        r = machine_get_uid_shift(m, &uid);
+        if (r < 0)
+                return r;
+        if (uid != 0)
+                return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, "Can't bind mount on container with user namespacing applied.");
+
         /* One day, when bind mounting /proc/self/fd/n works across
          * namespace boundaries we should rework this logic to make
          * use of it... */
@@ -1055,10 +1062,12 @@ finish:
 int bus_machine_method_copy(sd_bus_message *message, void *userdata, sd_bus_error *error) {
         const char *src, *dest, *host_path, *container_path, *host_basename, *host_dirname, *container_basename, *container_dirname;
         _cleanup_close_pair_ int errno_pipe_fd[2] = { -1, -1 };
+        CopyFlags copy_flags = COPY_REFLINK|COPY_MERGE;
         _cleanup_close_ int hostfd = -1;
         Machine *m = userdata;
         bool copy_from;
         pid_t child;
+        uid_t uid_shift;
         char *t;
         int r;
 
@@ -1097,6 +1106,10 @@ int bus_machine_method_copy(sd_bus_message *message, void *userdata, sd_bus_erro
         if (r == 0)
                 return 1; /* Will call us back */
 
+        r = machine_get_uid_shift(m, &uid_shift);
+        if (r < 0)
+                return r;
+
         copy_from = strstr(sd_bus_message_get_member(message), "CopyFrom");
 
         if (copy_from) {
@@ -1151,10 +1164,13 @@ int bus_machine_method_copy(sd_bus_message *message, void *userdata, sd_bus_erro
                         goto child_fail;
                 }
 
+                /* Run the actual copy operation. Note that when an UID shift is set we'll either clamp the UID/GID to
+                 * 0 or to the actual UID shift depending on the direction we copy. If no UID shift is set we'll copy
+                 * the UID/GIDs as they are. */
                 if (copy_from)
-                        r = copy_tree_at(containerfd, container_basename, hostfd, host_basename, true);
+                        r = copy_tree_at(containerfd, container_basename, hostfd, host_basename, uid_shift == 0 ? UID_INVALID : 0, uid_shift == 0 ? GID_INVALID : 0, copy_flags);
                 else
-                        r = copy_tree_at(hostfd, host_basename, containerfd, container_basename, true);
+                        r = copy_tree_at(hostfd, host_basename, containerfd, container_basename, uid_shift == 0 ? UID_INVALID : uid_shift, uid_shift == 0 ? GID_INVALID : uid_shift, copy_flags);
 
                 hostfd = safe_close(hostfd);
                 containerfd = safe_close(containerfd);
@@ -1276,6 +1292,32 @@ int bus_machine_method_open_root_directory(sd_bus_message *message, void *userda
         return sd_bus_reply_method_return(message, "h", fd);
 }
 
+int bus_machine_method_get_uid_shift(sd_bus_message *message, void *userdata, sd_bus_error *error) {
+        Machine *m = userdata;
+        uid_t shift = 0;
+        int r;
+
+        assert(message);
+        assert(m);
+
+        /* You wonder why this is a method and not a property? Well, properties are not supposed to return errors, but
+         * we kinda have to for this. */
+
+        if (m->class == MACHINE_HOST)
+                return sd_bus_reply_method_return(message, "u", UINT32_C(0));
+
+        if (m->class != MACHINE_CONTAINER)
+                return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, "UID/GID shift may only be determined for container machines.");
+
+        r = machine_get_uid_shift(m, &shift);
+        if (r == -ENXIO)
+                return sd_bus_error_setf(error, SD_BUS_ERROR_NOT_SUPPORTED, "Machine %s uses a complex UID/GID mapping, cannot determine shift", m->name);
+        if (r < 0)
+                return r;
+
+        return sd_bus_reply_method_return(message, "u", (uint32_t) shift);
+}
+
 const sd_bus_vtable machine_vtable[] = {
         SD_BUS_VTABLE_START(0),
         SD_BUS_PROPERTY("Name", "s", NULL, offsetof(Machine, name), SD_BUS_VTABLE_PROPERTY_CONST),
@@ -1293,6 +1335,7 @@ const sd_bus_vtable machine_vtable[] = {
         SD_BUS_METHOD("Kill", "si", NULL, bus_machine_method_kill, SD_BUS_VTABLE_UNPRIVILEGED),
         SD_BUS_METHOD("GetAddresses", NULL, "a(iay)", bus_machine_method_get_addresses, SD_BUS_VTABLE_UNPRIVILEGED),
         SD_BUS_METHOD("GetOSRelease", NULL, "a{ss}", bus_machine_method_get_os_release, SD_BUS_VTABLE_UNPRIVILEGED),
+        SD_BUS_METHOD("GetUIDShift", NULL, "u", bus_machine_method_get_uid_shift, SD_BUS_VTABLE_UNPRIVILEGED),
         SD_BUS_METHOD("OpenPTY", NULL, "hs", bus_machine_method_open_pty, SD_BUS_VTABLE_UNPRIVILEGED),
         SD_BUS_METHOD("OpenLogin", NULL, "hs", bus_machine_method_open_login, SD_BUS_VTABLE_UNPRIVILEGED),
         SD_BUS_METHOD("OpenShell", "ssasas", "hs", bus_machine_method_open_shell, SD_BUS_VTABLE_UNPRIVILEGED),
index c51378348034e146f1c338ec0cad98dbbc68cb6c..2aa7b4ce06d51a88c1cfa537d93da19ebcc602d9 100644 (file)
@@ -39,6 +39,7 @@ int bus_machine_method_open_shell(sd_bus_message *message, void *userdata, sd_bu
 int bus_machine_method_bind_mount(sd_bus_message *message, void *userdata, sd_bus_error *error);
 int bus_machine_method_copy(sd_bus_message *message, void *userdata, sd_bus_error *error);
 int bus_machine_method_open_root_directory(sd_bus_message *message, void *userdata, sd_bus_error *error);
+int bus_machine_method_get_uid_shift(sd_bus_message *message, void *userdata, sd_bus_error *error);
 
 int machine_send_signal(Machine *m, bool new_machine);
 int machine_send_create_reply(Machine *m, sd_bus_error *error);
index eb4b35d52a5e298e595825bc7baada19e6261551..d3433d9b965f4d8dcf10bfec9f9a1a5b45b79586 100644 (file)
@@ -38,6 +38,7 @@
 #include "parse-util.h"
 #include "process-util.h"
 #include "special.h"
+#include "stdio-util.h"
 #include "string-table.h"
 #include "terminal-util.h"
 #include "unit-name.h"
@@ -401,7 +402,7 @@ int machine_start(Machine *m, sd_bus_message *properties, sd_bus_error *error) {
                 return r;
 
         log_struct(LOG_INFO,
-                   LOG_MESSAGE_ID(SD_MESSAGE_MACHINE_START),
+                   "MESSAGE_ID=" SD_MESSAGE_MACHINE_START_STR,
                    "NAME=%s", m->name,
                    "LEADER="PID_FMT, m->leader,
                    LOG_MESSAGE("New machine %s.", m->name),
@@ -464,7 +465,7 @@ int machine_finalize(Machine *m) {
 
         if (m->started)
                 log_struct(LOG_INFO,
-                           LOG_MESSAGE_ID(SD_MESSAGE_MACHINE_STOP),
+                           "MESSAGE_ID=" SD_MESSAGE_MACHINE_STOP_STR,
                            "NAME=%s", m->name,
                            "LEADER="PID_FMT, m->leader,
                            LOG_MESSAGE("Machine %s terminated.", m->name),
@@ -604,6 +605,96 @@ void machine_release_unit(Machine *m) {
         m->unit = mfree(m->unit);
 }
 
+int machine_get_uid_shift(Machine *m, uid_t *ret) {
+        char p[strlen("/proc//uid_map") + DECIMAL_STR_MAX(pid_t) + 1];
+        uid_t uid_base, uid_shift, uid_range;
+        gid_t gid_base, gid_shift, gid_range;
+        _cleanup_fclose_ FILE *f = NULL;
+        int k;
+
+        assert(m);
+        assert(ret);
+
+        /* Return the base UID/GID of the specified machine. Note that this only works for containers with simple
+         * mappings. In most cases setups should be simple like this, and administrators should only care about the
+         * basic offset a container has relative to the host. This is what this function exposes.
+         *
+         * If we encounter any more complex mappings we politely refuse this with ENXIO. */
+
+        if (m->class == MACHINE_HOST) {
+                *ret = 0;
+                return 0;
+        }
+
+        if (m->class != MACHINE_CONTAINER)
+                return -EOPNOTSUPP;
+
+        xsprintf(p, "/proc/" PID_FMT "/uid_map", m->leader);
+        f = fopen(p, "re");
+        if (!f) {
+                if (errno == ENOENT) {
+                        /* If the file doesn't exist, user namespacing is off in the kernel, return a zero mapping hence. */
+                        *ret = 0;
+                        return 0;
+                }
+
+                return -errno;
+        }
+
+        /* Read the first line. There's at least one. */
+        errno = 0;
+        k = fscanf(f, UID_FMT " " UID_FMT " " UID_FMT "\n", &uid_base, &uid_shift, &uid_range);
+        if (k != 3) {
+                if (ferror(f))
+                        return -errno;
+
+                return -EBADMSG;
+        }
+
+        /* Not a mapping starting at 0? Then it's a complex mapping we can't expose here. */
+        if (uid_base != 0)
+                return -ENXIO;
+        /* Insist that at least the nobody user is mapped, everything else is weird, and hence complex, and we don't support it */
+        if (uid_range < (uid_t) 65534U)
+                return -ENXIO;
+
+        /* If there's more than one line, then we don't support this mapping. */
+        if (fgetc(f) != EOF)
+                return -ENXIO;
+
+        fclose(f);
+
+        xsprintf(p, "/proc/" PID_FMT "/gid_map", m->leader);
+        f = fopen(p, "re");
+        if (!f)
+                return -errno;
+
+        /* Read the first line. There's at least one. */
+        errno = 0;
+        k = fscanf(f, GID_FMT " " GID_FMT " " GID_FMT "\n", &gid_base, &gid_shift, &gid_range);
+        if (k != 3) {
+                if (ferror(f))
+                        return -errno;
+
+                return -EBADMSG;
+        }
+
+        /* If there's more than one line, then we don't support this file. */
+        if (fgetc(f) != EOF)
+                return -ENXIO;
+
+        /* If the UID and GID mapping doesn't match, we don't support this mapping. */
+        if (uid_base != (uid_t) gid_base)
+                return -ENXIO;
+        if (uid_shift != (uid_t) gid_shift)
+                return -ENXIO;
+        if (uid_range != (uid_t) gid_range)
+                return -ENXIO;
+
+        *ret = uid_shift;
+        return 0;
+}
+
 static const char* const machine_class_table[_MACHINE_CLASS_MAX] = {
         [MACHINE_CONTAINER] = "container",
         [MACHINE_VM] = "vm",
index e5d75361a9a635b23db77dc448a040556197a94f..6bdb204ed6a7da95ed9faba354866fd00717c20b 100644 (file)
@@ -108,3 +108,5 @@ KillWho kill_who_from_string(const char *s) _pure_;
 
 int machine_openpt(Machine *m, int flags);
 int machine_open_terminal(Machine *m, const char *path, int mode);
+
+int machine_get_uid_shift(Machine *m, uid_t *ret);
index 4f5f659c7cdefe875837f9365add664f5b13e4bd..28384286fb7b2bc69af6800ed1b49d02118cf6c5 100644 (file)
@@ -327,8 +327,10 @@ static int list_machines(int argc, char *argv[], void *userdata) {
                        (int) max_version_id, strdash_if_empty(machines[j].version_id));
 
                 r = print_addresses(bus, machines[j].name, 0, "", prefix, arg_addrs);
-                if (r == -EOPNOTSUPP)
-                        printf("-\n");
+                if (r <= 0) /* error or no addresses defined? */
+                        fputs("-\n", stdout);
+                else
+                        fputc('\n', stdout);
         }
 
         if (arg_legend) {
@@ -520,6 +522,7 @@ static int print_addresses(sd_bus *bus, const char *name, int ifi, const char *p
         _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
         _cleanup_free_ char *addresses = NULL;
         bool truncate = false;
+        unsigned n = 0;
         int r;
 
         assert(bus);
@@ -567,7 +570,7 @@ static int print_addresses(sd_bus *bus, const char *name, int ifi, const char *p
                         else
                                 strcpy(buf_ifi, "");
 
-                        if(!strextend(&addresses, prefix, inet_ntop(family, a, buffer, sizeof(buffer)), buf_ifi, NULL))
+                        if (!strextend(&addresses, prefix, inet_ntop(family, a, buffer, sizeof(buffer)), buf_ifi, NULL))
                                 return log_oom();
                 } else
                         truncate = true;
@@ -581,6 +584,8 @@ static int print_addresses(sd_bus *bus, const char *name, int ifi, const char *p
 
                 if (n_addr > 0)
                         n_addr -= 1;
+
+                n++;
         }
         if (r < 0)
                 return bus_log_parse_error(r);
@@ -589,8 +594,10 @@ static int print_addresses(sd_bus *bus, const char *name, int ifi, const char *p
         if (r < 0)
                 return bus_log_parse_error(r);
 
-        fprintf(stdout, "%s%s\n", addresses, truncate ? "..." : "");
-        return 0;
+        if (n > 0)
+                fprintf(stdout, "%s%s", addresses, truncate ? "..." : "");
+
+        return (int) n;
 }
 
 static int print_os_release(sd_bus *bus, const char *method, const char *name, const char *prefix) {
@@ -611,6 +618,37 @@ static int print_os_release(sd_bus *bus, const char *method, const char *name, c
         return 0;
 }
 
+static int print_uid_shift(sd_bus *bus, const char *name) {
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
+        _cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
+        uint32_t shift;
+        int r;
+
+        assert(bus);
+        assert(name);
+
+        r = sd_bus_call_method(bus,
+                               "org.freedesktop.machine1",
+                               "/org/freedesktop/machine1",
+                               "org.freedesktop.machine1.Manager",
+                               "GetMachineUIDShift",
+                               &error,
+                               &reply,
+                               "s", name);
+        if (r < 0)
+                return log_debug_errno(r, "Failed to query UID/GID shift: %s", bus_error_message(&error, r));
+
+        r = sd_bus_message_read(reply, "u", &shift);
+        if (r < 0)
+                return r;
+
+        if (shift == 0) /* Don't show trivial mappings */
+                return 0;
+
+        printf("       UID Shift: %" PRIu32 "\n", shift);
+        return 0;
+}
+
 typedef struct MachineStatusInfo {
         char *name;
         sd_id128_t id;
@@ -707,13 +745,16 @@ static void print_machine_status_info(sd_bus *bus, MachineStatusInfo *i) {
                 fputc('\n', stdout);
         }
 
-        print_addresses(bus, i->name, ifi,
-                       "\t Address: ",
-                       "\n\t          ",
-                       ALL_IP_ADDRESSES);
+        if (print_addresses(bus, i->name, ifi,
+                            "\t Address: ",
+                            "\n\t          ",
+                            ALL_IP_ADDRESSES) > 0)
+                fputc('\n', stdout);
 
         print_os_release(bus, "GetMachineOSRelease", i->name, "\t      OS: ");
 
+        print_uid_shift(bus, i->name);
+
         if (i->unit) {
                 printf("\t    Unit: %s\n", i->unit);
                 show_unit_cgroup(bus, i->unit, i->leader);
@@ -772,6 +813,7 @@ static int show_machine_info(const char *verb, sd_bus *bus, const char *path, bo
                 {}
         };
 
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         _cleanup_(machine_status_info_clear) MachineStatusInfo info = {};
         int r;
 
@@ -784,9 +826,10 @@ static int show_machine_info(const char *verb, sd_bus *bus, const char *path, bo
                                    "org.freedesktop.machine1",
                                    path,
                                    map,
+                                   &error,
                                    &info);
         if (r < 0)
-                return log_error_errno(r, "Could not get properties: %m");
+                return log_error_errno(r, "Could not get properties: %s", bus_error_message(&error, r));
 
         if (*new_line)
                 printf("\n");
@@ -962,6 +1005,7 @@ static int show_image_info(sd_bus *bus, const char *path, bool *new_line) {
                 {}
         };
 
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         _cleanup_(image_status_info_clear) ImageStatusInfo info = {};
         int r;
 
@@ -973,9 +1017,10 @@ static int show_image_info(sd_bus *bus, const char *path, bool *new_line) {
                                    "org.freedesktop.machine1",
                                    path,
                                    map,
+                                   &error,
                                    &info);
         if (r < 0)
-                return log_error_errno(r, "Could not get properties: %m");
+                return log_error_errno(r, "Could not get properties: %s", bus_error_message(&error, r));
 
         if (*new_line)
                 printf("\n");
@@ -1029,6 +1074,8 @@ static int show_pool_info(sd_bus *bus) {
                 .usage = (uint64_t) -1,
                 .limit = (uint64_t) -1,
         };
+
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         int r;
 
         assert(bus);
@@ -1037,9 +1084,10 @@ static int show_pool_info(sd_bus *bus) {
                                    "org.freedesktop.machine1",
                                    "/org/freedesktop/machine1",
                                    map,
+                                   &error,
                                    &info);
         if (r < 0)
-                return log_error_errno(r, "Could not get properties: %m");
+                return log_error_errno(r, "Could not get properties: %s", bus_error_message(&error, r));
 
         print_pool_status_info(bus, &info);
 
index fd9e5b56fcaa62a8e38802ecb520f28245272397..c9b92d2765ab0df85c7f10d61833e05d892d1669 100644 (file)
@@ -729,6 +729,26 @@ static int method_open_machine_root_directory(sd_bus_message *message, void *use
         return bus_machine_method_open_root_directory(message, machine, error);
 }
 
+static int method_get_machine_uid_shift(sd_bus_message *message, void *userdata, sd_bus_error *error) {
+        Manager *m = userdata;
+        Machine *machine;
+        const char *name;
+        int r;
+
+        assert(message);
+        assert(m);
+
+        r = sd_bus_message_read(message, "s", &name);
+        if (r < 0)
+                return r;
+
+        machine = hashmap_get(m->machines, name);
+        if (!machine)
+                return sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_MACHINE, "No machine '%s' known", name);
+
+        return bus_machine_method_get_uid_shift(message, machine, error);
+}
+
 static int method_remove_image(sd_bus_message *message, void *userdata, sd_bus_error *error) {
         _cleanup_(image_unrefp) Image* i = NULL;
         const char *name;
@@ -1416,6 +1436,7 @@ const sd_bus_vtable manager_vtable[] = {
         SD_BUS_METHOD("CopyFromMachine", "sss", NULL, method_copy_machine, SD_BUS_VTABLE_UNPRIVILEGED),
         SD_BUS_METHOD("CopyToMachine", "sss", NULL, method_copy_machine, SD_BUS_VTABLE_UNPRIVILEGED),
         SD_BUS_METHOD("OpenMachineRootDirectory", "s", "h", method_open_machine_root_directory, SD_BUS_VTABLE_UNPRIVILEGED),
+        SD_BUS_METHOD("GetMachineUIDShift", "s", "u", method_get_machine_uid_shift, SD_BUS_VTABLE_UNPRIVILEGED),
         SD_BUS_METHOD("RemoveImage", "s", NULL, method_remove_image, SD_BUS_VTABLE_UNPRIVILEGED),
         SD_BUS_METHOD("RenameImage", "ss", NULL, method_rename_image, SD_BUS_VTABLE_UNPRIVILEGED),
         SD_BUS_METHOD("CloneImage", "ssb", NULL, method_clone_image, SD_BUS_VTABLE_UNPRIVILEGED),
index c966d0d21c07da26493cf2bcc9b7fe48a1887884..f7d5310f44395a0d5b181df94b4ac9f8ecb7a781 100644 (file)
@@ -61,8 +61,10 @@ static int operation_done(sd_event_source *s, const siginfo_t *si, void *userdat
         } else {
                 /* The default operation when done is to simply return an error on failure or an empty success
                  * message on success. */
-                if (r < 0)
+                if (r < 0) {
+                        sd_bus_error_set_errno(&error, r);
                         goto fail;
+                }
 
                 r = sd_bus_reply_method_return(o->message, NULL);
                 if (r < 0)
index 82ebfba50c922dd8176e2e303b70dba72eca9aa2..daa365a9dd233e4cf530f3dced5c43a8bd4eb27e 100644 (file)
                        send_interface="org.freedesktop.machine1.Manager"
                        send_member="GetMachineOSRelease"/>
 
+                <allow send_destination="org.freedesktop.machine1"
+                       send_interface="org.freedesktop.machine1.Manager"
+                       send_member="GetMachineUIDShift"/>
+
                 <allow send_destination="org.freedesktop.machine1"
                        send_interface="org.freedesktop.machine1.Manager"
                        send_member="OpenMachineLogin"/>
                        send_interface="org.freedesktop.machine1.Machine"
                        send_member="GetOSRelease"/>
 
+                <allow send_destination="org.freedesktop.machine1"
+                       send_interface="org.freedesktop.machine1.Machine"
+                       send_member="GetUIDShift"/>
+
                 <allow send_destination="org.freedesktop.machine1"
                        send_interface="org.freedesktop.machine1.Machine"
                        send_member="OpenLogin"/>
index ffd2e18a45fdb3d944bc729901e2e61cb0aeb96b..9d0311d76f9fdcaffe8837179a644178e768ce4d 100644 (file)
@@ -53,15 +53,21 @@ int address_new(Address **ret) {
         return 0;
 }
 
-int address_new_static(Network *network, unsigned section, Address **ret) {
+int address_new_static(Network *network, const char *filename, unsigned section_line, Address **ret) {
+        _cleanup_network_config_section_free_ NetworkConfigSection *n = NULL;
         _cleanup_address_free_ Address *address = NULL;
         int r;
 
         assert(network);
         assert(ret);
+        assert(!!filename == (section_line > 0));
 
-        if (section) {
-                address = hashmap_get(network->addresses_by_section, UINT_TO_PTR(section));
+        if (filename) {
+                r = network_config_section_new(filename, section_line, &n);
+                if (r < 0)
+                        return r;
+
+                address = hashmap_get(network->addresses_by_section, n);
                 if (address) {
                         *ret = address;
                         address = NULL;
@@ -77,9 +83,9 @@ int address_new_static(Network *network, unsigned section, Address **ret) {
         if (r < 0)
                 return r;
 
-        if (section) {
-                address->section = section;
-                hashmap_put(network->addresses_by_section, UINT_TO_PTR(address->section), address);
+        if (filename) {
+                address->section = n;
+                hashmap_put(network->addresses_by_section, n, address);
         }
 
         address->network = network;
@@ -88,6 +94,7 @@ int address_new_static(Network *network, unsigned section, Address **ret) {
 
         *ret = address;
         address = NULL;
+        n = NULL;
 
         return 0;
 }
@@ -101,8 +108,10 @@ void address_free(Address *address) {
                 assert(address->network->n_static_addresses > 0);
                 address->network->n_static_addresses--;
 
-                if (address->section)
-                        hashmap_remove(address->network->addresses_by_section, UINT_TO_PTR(address->section));
+                if (address->section) {
+                        hashmap_remove(address->network->addresses_by_section, address->section);
+                        network_config_section_free(address->section);
+                }
         }
 
         if (address->link) {
@@ -676,7 +685,7 @@ int config_parse_broadcast(
         assert(rvalue);
         assert(data);
 
-        r = address_new_static(network, section_line, &n);
+        r = address_new_static(network, filename, section_line, &n);
         if (r < 0)
                 return r;
 
@@ -723,10 +732,10 @@ int config_parse_address(const char *unit,
         if (streq(section, "Network")) {
                 /* we are not in an Address section, so treat
                  * this as the special '0' section */
-                section_line = 0;
-        }
+                r = address_new_static(network, NULL, 0, &n);
+        } else
+                r = address_new_static(network, filename, section_line, &n);
 
-        r = address_new_static(network, section_line, &n);
         if (r < 0)
                 return r;
 
@@ -805,7 +814,7 @@ int config_parse_label(
         assert(rvalue);
         assert(data);
 
-        r = address_new_static(network, section_line, &n);
+        r = address_new_static(network, filename, section_line, &n);
         if (r < 0)
                 return r;
 
@@ -844,7 +853,7 @@ int config_parse_lifetime(const char *unit,
         assert(rvalue);
         assert(data);
 
-        r = address_new_static(network, section_line, &n);
+        r = address_new_static(network, filename, section_line, &n);
         if (r < 0)
                 return r;
 
@@ -891,7 +900,7 @@ int config_parse_address_flags(const char *unit,
         assert(rvalue);
         assert(data);
 
-        r = address_new_static(network, section_line, &n);
+        r = address_new_static(network, filename, section_line, &n);
         if (r < 0)
                 return r;
 
index bc3b4fc7f3ca77112f0f766e40be98d83a54b60f..71a07ea7a337ff7435b32ee30785c9d94b898e79 100644 (file)
@@ -33,10 +33,11 @@ typedef struct Address Address;
 
 typedef struct Network Network;
 typedef struct Link Link;
+typedef struct NetworkConfigSection NetworkConfigSection;
 
 struct Address {
         Network *network;
-        unsigned section;
+        NetworkConfigSection *section;
 
         Link *link;
 
@@ -62,7 +63,7 @@ struct Address {
         LIST_FIELDS(Address, addresses);
 };
 
-int address_new_static(Network *network, unsigned section, Address **ret);
+int address_new_static(Network *network, const char *filename, unsigned section, Address **ret);
 int address_new(Address **ret);
 void address_free(Address *address);
 int address_add_foreign(Link *link, int family, const union in_addr_union *in_addr, unsigned char prefixlen, Address **ret);
diff --git a/src/network/networkd-ipv6-proxy-ndp.c b/src/network/networkd-ipv6-proxy-ndp.c
new file mode 100644 (file)
index 0000000..11c1cd9
--- /dev/null
@@ -0,0 +1,209 @@
+/***
+  This file is part of systemd.
+
+  Copyright 2017 Florian Klink <flokli@flokli.de>
+
+  systemd is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
+  (at your option) any later version.
+
+  systemd is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <netinet/ether.h>
+#include <linux/if.h>
+#include <unistd.h>
+
+#include "fileio.h"
+#include "netlink-util.h"
+#include "networkd-ipv6-proxy-ndp.h"
+#include "networkd-link.h"
+#include "networkd-manager.h"
+#include "networkd-network.h"
+#include "string-util.h"
+
+static bool ipv6_proxy_ndp_is_needed(Link *link) {
+        assert(link);
+
+        if (link->flags & IFF_LOOPBACK)
+                return false;
+
+        if (!link->network)
+                return false;
+
+        if (link->network->n_ipv6_proxy_ndp_addresses == 0)
+                return false;
+
+        return true;
+}
+
+static int ipv6_proxy_ndp_set(Link *link) {
+        const char *p = NULL;
+        int r, v;
+
+        assert(link);
+
+        v = ipv6_proxy_ndp_is_needed(link);
+        p = strjoina("/proc/sys/net/ipv6/conf/", link->ifname, "/proxy_ndp");
+
+        r = write_string_file(p, one_zero(v), WRITE_STRING_FILE_VERIFY_ON_FAILURE);
+        if (r < 0)
+                log_link_warning_errno(link, r, "Cannot configure proxy NDP for interface: %m");
+
+        return 0;
+}
+
+int ipv6_proxy_ndp_address_new_static(Network *network, IPv6ProxyNDPAddress **ret) {
+        _cleanup_(ipv6_proxy_ndp_address_freep) IPv6ProxyNDPAddress *ipv6_proxy_ndp_address = NULL;
+
+        assert(network);
+        assert(ret);
+
+        /* allocate space for IPv6ProxyNDPAddress entry */
+        ipv6_proxy_ndp_address = new0(IPv6ProxyNDPAddress, 1);
+        if (!ipv6_proxy_ndp_address)
+                return -ENOMEM;
+
+        ipv6_proxy_ndp_address->network = network;
+
+        LIST_PREPEND(ipv6_proxy_ndp_addresses, network->ipv6_proxy_ndp_addresses, ipv6_proxy_ndp_address);
+        network->n_ipv6_proxy_ndp_addresses++;
+
+        *ret = ipv6_proxy_ndp_address;
+        ipv6_proxy_ndp_address = NULL;
+
+        return 0;
+}
+
+void ipv6_proxy_ndp_address_free(IPv6ProxyNDPAddress *ipv6_proxy_ndp_address) {
+        if (!ipv6_proxy_ndp_address)
+                return;
+
+        if (ipv6_proxy_ndp_address->network) {
+                LIST_REMOVE(ipv6_proxy_ndp_addresses, ipv6_proxy_ndp_address->network->ipv6_proxy_ndp_addresses,
+                            ipv6_proxy_ndp_address);
+
+                assert(ipv6_proxy_ndp_address->network->n_ipv6_proxy_ndp_addresses > 0);
+                ipv6_proxy_ndp_address->network->n_ipv6_proxy_ndp_addresses--;
+        }
+
+        free(ipv6_proxy_ndp_address);
+}
+
+int config_parse_ipv6_proxy_ndp_address(
+        const char *unit,
+        const char *filename,
+        unsigned line,
+        const char *section,
+        unsigned section_line,
+        const char *lvalue,
+        int ltype,
+        const char *rvalue,
+        void *data,
+        void *userdata) {
+
+        Network *network = userdata;
+        _cleanup_(ipv6_proxy_ndp_address_freep) IPv6ProxyNDPAddress *ipv6_proxy_ndp_address = NULL;
+        int r;
+        union in_addr_union buffer;
+
+        assert(filename);
+        assert(section);
+        assert(lvalue);
+        assert(rvalue);
+        assert(data);
+
+        r = ipv6_proxy_ndp_address_new_static(network, &ipv6_proxy_ndp_address);
+        if (r < 0)
+                return r;
+
+        r = in_addr_from_string(AF_INET6, rvalue, &buffer);
+        if (r < 0) {
+                log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse IPv6 proxy NDP address, ignoring: %s",
+                           rvalue);
+                return 0;
+        }
+
+        r = in_addr_is_null(AF_INET6, &buffer);
+        if (r != 0) {
+                log_syntax(unit, LOG_ERR, filename, line, r,
+                           "IPv6 proxy NDP address can not be the ANY address, ignoring: %s", rvalue);
+                return 0;
+        }
+
+        ipv6_proxy_ndp_address->in_addr = buffer.in6;
+        ipv6_proxy_ndp_address = NULL;
+
+        return 0;
+}
+
+static int set_ipv6_proxy_ndp_address_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata) {
+        Link *link = userdata;
+        int r;
+
+        assert(link);
+
+        r = sd_netlink_message_get_errno(m);
+        if (r < 0 && r != -EEXIST)
+                log_link_error_errno(link, r, "Could not add IPv6 proxy ndp address entry: %m");
+
+        return 1;
+}
+
+/* send a request to the kernel to add a IPv6 Proxy entry to the neighbour table */
+int ipv6_proxy_ndp_address_configure(Link *link, IPv6ProxyNDPAddress *ipv6_proxy_ndp_address) {
+        _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *req = NULL;
+        sd_netlink *rtnl;
+        int r;
+
+        assert(link);
+        assert(link->network);
+        assert(link->manager);
+        assert(ipv6_proxy_ndp_address);
+
+        rtnl = link->manager->rtnl;
+
+        /* create new netlink message */
+        r = sd_rtnl_message_new_neigh(rtnl, &req, RTM_NEWNEIGH, link->ifindex, AF_INET6);
+        if (r < 0)
+                return rtnl_log_create_error(r);
+
+        r = sd_rtnl_message_neigh_set_flags(req, NLM_F_REQUEST | NTF_PROXY);
+        if (r < 0)
+                return rtnl_log_create_error(r);
+
+        r = sd_netlink_message_append_in6_addr(req, NDA_DST, &ipv6_proxy_ndp_address->in_addr);
+        if (r < 0)
+                return rtnl_log_create_error(r);
+
+        r = sd_netlink_call_async(rtnl, req, set_ipv6_proxy_ndp_address_handler, link, 0, NULL);
+        if (r < 0)
+                return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
+
+        return 0;
+}
+
+/* configure all ipv6 proxy ndp addresses */
+int ipv6_proxy_ndp_addresses_configure(Link *link) {
+        IPv6ProxyNDPAddress *ipv6_proxy_ndp_address;
+        int r;
+
+        /* enable or disable proxy_ndp itself depending on whether ipv6_proxy_ndp_addresses are set or not */
+        r = ipv6_proxy_ndp_set(link);
+        if (r != 0)
+                return r;
+
+        LIST_FOREACH(ipv6_proxy_ndp_addresses, ipv6_proxy_ndp_address, link->network->ipv6_proxy_ndp_addresses) {
+                r = ipv6_proxy_ndp_address_configure(link, ipv6_proxy_ndp_address);
+                if (r != 0)
+                        return r;
+        }
+        return 0;
+}
diff --git a/src/network/networkd-ipv6-proxy-ndp.h b/src/network/networkd-ipv6-proxy-ndp.h
new file mode 100644 (file)
index 0000000..f09169f
--- /dev/null
@@ -0,0 +1,44 @@
+#pragma once
+
+/***
+  This file is part of systemd.
+
+  Copyright 2017 Florian Klink <flokli@flokli.de>
+
+  systemd is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
+  (at your option) any later version.
+
+  systemd is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include "list.h"
+#include "macro.h"
+
+typedef struct Network Network;
+typedef struct IPv6ProxyNDPAddress IPv6ProxyNDPAddress;
+typedef struct Link Link;
+
+struct IPv6ProxyNDPAddress {
+    Network *network;
+    struct in6_addr in_addr;
+
+    LIST_FIELDS(IPv6ProxyNDPAddress, ipv6_proxy_ndp_addresses);
+};
+
+
+int ipv6_proxy_ndp_address_new_static(Network *network, IPv6ProxyNDPAddress ** ipv6_proxy_ndp_address);
+void ipv6_proxy_ndp_address_free(IPv6ProxyNDPAddress *ipv6_proxy_ndp_address);
+int ipv6_proxy_ndp_address_configure(Link *link, IPv6ProxyNDPAddress *ipv6_proxy_ndp_address);
+int ipv6_proxy_ndp_addresses_configure(Link *link);
+
+DEFINE_TRIVIAL_CLEANUP_FUNC(IPv6ProxyNDPAddress*, ipv6_proxy_ndp_address_free);
+
+int config_parse_ipv6_proxy_ndp_address(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);
index b993d27c2f54de09add6a8dbd2711a2480ff4c10..0c1229336b87c8d4b8db7e106ef504e2d68f0af1 100644 (file)
@@ -28,6 +28,7 @@
 #include "fileio.h"
 #include "netlink-util.h"
 #include "network-internal.h"
+#include "networkd-ipv6-proxy-ndp.h"
 #include "networkd-lldp-tx.h"
 #include "networkd-manager.h"
 #include "networkd-ndisc.h"
@@ -2448,6 +2449,10 @@ static int link_configure(Link *link) {
         if (r < 0)
                return r;
 
+        r = ipv6_proxy_ndp_addresses_configure(link);
+        if (r < 0)
+                return r;
+
         r = link_set_ipv4_forward(link);
         if (r < 0)
                 return r;
index 7b54e81fb89814e308247079bafda9bd38afb344..68052ba54439840b2bac6dc3a8b20db51d160653 100644 (file)
@@ -67,6 +67,7 @@ Network.ActiveSlave,                    config_parse_bool,
 Network.PrimarySlave,                   config_parse_bool,                              0,                             offsetof(Network, primary_slave)
 Network.IPv4ProxyARP,                   config_parse_tristate,                          0,                             offsetof(Network, proxy_arp)
 Network.ProxyARP,                       config_parse_tristate,                          0,                             offsetof(Network, proxy_arp)
+Network.IPv6ProxyNDPAddress,            config_parse_ipv6_proxy_ndp_address,            0,                             0
 Network.BindCarrier,                    config_parse_strv,                              0,                             offsetof(Network, bind_carrier)
 Address.Address,                        config_parse_address,                           0,                             0
 Address.Peer,                           config_parse_address,                           0,                             0
index bc4dc95ff9d48182cc99e9919058e14fea4c1361..ab372568de819e1d711fbc97712a54e3966e0173 100644 (file)
 #include "string-util.h"
 #include "util.h"
 
+static void network_config_hash_func(const void *p, struct siphash *state) {
+        const NetworkConfigSection *c = p;
+
+        siphash24_compress(c->filename, strlen(c->filename), state);
+        siphash24_compress(&c->line, sizeof(c->line), state);
+}
+
+static int network_config_compare_func(const void *a, const void *b) {
+        const NetworkConfigSection *x = a, *y = b;
+        int r;
+
+        r = strcmp(x->filename, y->filename);
+        if (r != 0)
+                return r;
+
+        return y->line - x->line;
+}
+
+const struct hash_ops network_config_hash_ops = {
+        .hash = network_config_hash_func,
+        .compare = network_config_compare_func,
+};
+
+int network_config_section_new(const char *filename, unsigned line, NetworkConfigSection **s) {
+        NetworkConfigSection *cs;
+
+        cs = malloc0(offsetof(NetworkConfigSection, filename) + strlen(filename) + 1);
+        if (!cs)
+                return -ENOMEM;
+
+        strcpy(cs->filename, filename);
+        cs->line = line;
+
+        *s = cs;
+        cs = NULL;
+
+        return 0;
+}
+
+void network_config_section_free(NetworkConfigSection *cs) {
+          free(cs);
+}
+
 static int network_load_one(Manager *manager, const char *filename) {
         _cleanup_network_free_ Network *network = NULL;
         _cleanup_fclose_ FILE *file = NULL;
@@ -70,16 +113,17 @@ static int network_load_one(Manager *manager, const char *filename) {
         LIST_HEAD_INIT(network->static_addresses);
         LIST_HEAD_INIT(network->static_routes);
         LIST_HEAD_INIT(network->static_fdb_entries);
+        LIST_HEAD_INIT(network->ipv6_proxy_ndp_addresses);
 
         network->stacked_netdevs = hashmap_new(&string_hash_ops);
         if (!network->stacked_netdevs)
                 return log_oom();
 
-        network->addresses_by_section = hashmap_new(NULL);
+        network->addresses_by_section = hashmap_new(&network_config_hash_ops);
         if (!network->addresses_by_section)
                 return log_oom();
 
-        network->routes_by_section = hashmap_new(NULL);
+        network->routes_by_section = hashmap_new(&network_config_hash_ops);
         if (!network->routes_by_section)
                 return log_oom();
 
@@ -152,6 +196,7 @@ static int network_load_one(Manager *manager, const char *filename) {
                               "DHCPv4\0" /* compat */
                               "DHCPServer\0"
                               "IPv6AcceptRA\0"
+                              "IPv6NDPProxyAddress\0"
                               "Bridge\0"
                               "BridgeFDB\0"
                               "BridgeVLAN\0",
@@ -224,6 +269,7 @@ void network_free(Network *network) {
         Route *route;
         Address *address;
         FdbEntry *fdb_entry;
+        IPv6ProxyNDPAddress *ipv6_proxy_ndp_address;
         Iterator i;
 
         if (!network)
@@ -268,6 +314,9 @@ void network_free(Network *network) {
         while ((fdb_entry = network->static_fdb_entries))
                 fdb_entry_free(fdb_entry);
 
+        while ((ipv6_proxy_ndp_address = network->ipv6_proxy_ndp_addresses))
+                ipv6_proxy_ndp_address_free(ipv6_proxy_ndp_address);
+
         hashmap_free(network->addresses_by_section);
         hashmap_free(network->routes_by_section);
         hashmap_free(network->fdb_entries_by_section);
@@ -379,7 +428,7 @@ int network_apply(Network *network, Link *link) {
         if (network->ipv4ll_route) {
                 Route *route;
 
-                r = route_new_static(network, 0, &route);
+                r = route_new_static(network, "Network", 0, &route);
                 if (r < 0)
                         return r;
 
index b7da9d22d407643bd12ca3b03da7e53e1da07287..4ce066a76463b16091eba7786b27cec7884bb5fa 100644 (file)
@@ -31,6 +31,7 @@
 #include "networkd-brvlan.h"
 #include "networkd-fdb.h"
 #include "networkd-lldp-tx.h"
+#include "networkd-ipv6-proxy-ndp.h"
 #include "networkd-route.h"
 #include "networkd-util.h"
 #include "netdev/netdev.h"
@@ -81,6 +82,17 @@ typedef struct DUID {
         uint8_t raw_data[MAX_DUID_LEN];
 } DUID;
 
+typedef struct NetworkConfigSection {
+        unsigned line;
+        char filename[];
+} NetworkConfigSection;
+
+int network_config_section_new(const char *filename, unsigned line, NetworkConfigSection **s);
+void network_config_section_free(NetworkConfigSection *network);
+
+DEFINE_TRIVIAL_CLEANUP_FUNC(NetworkConfigSection*, network_config_section_free);
+#define _cleanup_network_config_section_free_ _cleanup_(network_config_section_freep)
+
 typedef struct Manager Manager;
 
 struct Network {
@@ -188,10 +200,12 @@ struct Network {
         LIST_HEAD(Address, static_addresses);
         LIST_HEAD(Route, static_routes);
         LIST_HEAD(FdbEntry, static_fdb_entries);
+        LIST_HEAD(IPv6ProxyNDPAddress, ipv6_proxy_ndp_addresses);
 
         unsigned n_static_addresses;
         unsigned n_static_routes;
         unsigned n_static_fdb_entries;
+        unsigned n_ipv6_proxy_ndp_addresses;
 
         Hashmap *addresses_by_section;
         Hashmap *routes_by_section;
index bde26a42d42f66d7371b3150bf6586782ad5467c..a8ba293ae8ab88ec1ea9ad713bc1421053622ae6 100644 (file)
@@ -77,15 +77,21 @@ int route_new(Route **ret) {
         return 0;
 }
 
-int route_new_static(Network *network, unsigned section, Route **ret) {
+int route_new_static(Network *network, const char *filename, unsigned section_line, Route **ret) {
+        _cleanup_network_config_section_free_ NetworkConfigSection *n = NULL;
         _cleanup_route_free_ Route *route = NULL;
         int r;
 
         assert(network);
         assert(ret);
+        assert(!!filename == (section_line > 0));
 
-        if (section) {
-                route = hashmap_get(network->routes_by_section, UINT_TO_PTR(section));
+        if (filename) {
+                r = network_config_section_new(filename, section_line, &n);
+                if (r < 0)
+                        return r;
+
+                route = hashmap_get(network->routes_by_section, n);
                 if (route) {
                         *ret = route;
                         route = NULL;
@@ -103,10 +109,11 @@ int route_new_static(Network *network, unsigned section, Route **ret) {
 
         route->protocol = RTPROT_STATIC;
 
-        if (section) {
-                route->section = section;
+        if (filename) {
+                route->section = n;
+                n = NULL;
 
-                r = hashmap_put(network->routes_by_section, UINT_TO_PTR(route->section), route);
+                r = hashmap_put(network->routes_by_section, n, route);
                 if (r < 0)
                         return r;
         }
@@ -132,9 +139,11 @@ void route_free(Route *route) {
                 route->network->n_static_routes--;
 
                 if (route->section)
-                        hashmap_remove(route->network->routes_by_section, UINT_TO_PTR(route->section));
+                        hashmap_remove(route->network->routes_by_section, route->section);
         }
 
+        network_config_section_free(route->section);
+
         if (route->link) {
                 set_remove(route->link->routes, route);
                 set_remove(route->link->routes_foreign, route);
@@ -673,10 +682,10 @@ int config_parse_gateway(const char *unit,
         if (streq(section, "Network")) {
                 /* we are not in an Route section, so treat
                  * this as the special '0' section */
-                section_line = 0;
-        }
+                r = route_new_static(network, NULL, 0, &n);
+        } else
+                r = route_new_static(network, filename, section_line, &n);
 
-        r = route_new_static(network, section_line, &n);
         if (r < 0)
                 return r;
 
@@ -715,7 +724,7 @@ int config_parse_preferred_src(const char *unit,
         assert(rvalue);
         assert(data);
 
-        r = route_new_static(network, section_line, &n);
+        r = route_new_static(network, filename, section_line, &n);
         if (r < 0)
                 return r;
 
@@ -757,7 +766,7 @@ int config_parse_destination(const char *unit,
         assert(rvalue);
         assert(data);
 
-        r = route_new_static(network, section_line, &n);
+        r = route_new_static(network, filename, section_line, &n);
         if (r < 0)
                 return r;
 
@@ -835,7 +844,7 @@ int config_parse_route_priority(const char *unit,
         assert(rvalue);
         assert(data);
 
-        r = route_new_static(network, section_line, &n);
+        r = route_new_static(network, filename, section_line, &n);
         if (r < 0)
                 return r;
 
@@ -872,7 +881,7 @@ int config_parse_route_scope(const char *unit,
         assert(rvalue);
         assert(data);
 
-        r = route_new_static(network, section_line, &n);
+        r = route_new_static(network, filename, section_line, &n);
         if (r < 0)
                 return r;
 
@@ -913,7 +922,7 @@ int config_parse_route_table(const char *unit,
         assert(rvalue);
         assert(data);
 
-        r = route_new_static(network, section_line, &n);
+        r = route_new_static(network, filename, section_line, &n);
         if (r < 0)
                 return r;
 
index 02f0b27675fa8ddeea58074c93f364645399aeec..4ebfa0f0bdcf77586031b40e53e8c3abeee7fe18 100644 (file)
 ***/
 
 typedef struct Route Route;
+typedef struct NetworkConfigSection NetworkConfigSection;
 
 #include "networkd-network.h"
 
 struct Route {
         Network *network;
-        unsigned section;
+        NetworkConfigSection *section;
 
         Link *link;
 
@@ -52,7 +53,7 @@ struct Route {
         LIST_FIELDS(Route, routes);
 };
 
-int route_new_static(Network *network, unsigned section, Route **ret);
+int route_new_static(Network *network, const char *filename, unsigned section_line, Route **ret);
 int route_new(Route **ret);
 void route_free(Route *route);
 int route_configure(Route *route, Link *link, sd_netlink_message_handler_t callback);
index b172b4493368d7842757d2ae3427a1c3440c9363..751f26272b2ddf71d9be27df23ad643cbcb62b3b 100644 (file)
@@ -41,6 +41,7 @@
 #include <sys/wait.h>
 #include <unistd.h>
 
+#include "sd-bus.h"
 #include "sd-daemon.h"
 #include "sd-id128.h"
 
@@ -49,6 +50,7 @@
 #include "base-filesystem.h"
 #include "blkid-util.h"
 #include "btrfs-util.h"
+#include "bus-util.h"
 #include "cap-list.h"
 #include "capability-util.h"
 #include "cgroup-util.h"
@@ -1323,6 +1325,19 @@ static int setup_timezone(const char *dest) {
         return 0;
 }
 
+static int resolved_running(void) {
+        _cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
+        int r;
+
+        /* Check if resolved is running */
+
+        r = sd_bus_open_system(&bus);
+        if (r < 0)
+                return r;
+
+        return bus_name_has_owner(bus, "org.freedesktop.resolve1", NULL);
+}
+
 static int setup_resolv_conf(const char *dest) {
         _cleanup_free_ char *resolved = NULL, *etc = NULL;
         const char *where;
@@ -1346,8 +1361,8 @@ static int setup_resolv_conf(const char *dest) {
                 return 0;
         }
 
-        if (access("/run/systemd/resolve/resolv.conf", F_OK) >= 0 &&
-            access("/usr/lib/systemd/resolv.conf", F_OK) >= 0) {
+        if (access("/usr/lib/systemd/resolv.conf", F_OK) >= 0 &&
+            resolved_running() > 0) {
 
                 /* resolved is enabled on the host. In this, case bind mount its static resolv.conf file into the
                  * container, so that the container can use the host's resolver. Given that network namespacing is
@@ -1364,7 +1379,7 @@ static int setup_resolv_conf(const char *dest) {
         }
 
         /* If that didn't work, let's copy the file */
-        r = copy_file("/etc/resolv.conf", where, O_TRUNC|O_NOFOLLOW, 0644, 0);
+        r = copy_file("/etc/resolv.conf", where, O_TRUNC|O_NOFOLLOW, 0644, 0, COPY_REFLINK);
         if (r < 0) {
                 /* If the file already exists as symlink, let's suppress the warning, under the assumption that
                  * resolved or something similar runs inside and the symlink points there.
@@ -3700,7 +3715,7 @@ int main(int argc, char *argv[]) {
                                 goto finish;
                         }
 
-                        r = copy_file(arg_image, np, O_EXCL, arg_read_only ? 0400 : 0600, FS_NOCOW_FL);
+                        r = copy_file(arg_image, np, O_EXCL, arg_read_only ? 0400 : 0600, FS_NOCOW_FL, COPY_REFLINK);
                         if (r < 0) {
                                 r = log_error_errno(r, "Failed to copy image file: %m");
                                 goto finish;
@@ -3856,7 +3871,7 @@ finish:
 
         /* Try to flush whatever is still queued in the pty */
         if (master >= 0) {
-                (void) copy_bytes(master, STDOUT_FILENO, (uint64_t) -1, false);
+                (void) copy_bytes(master, STDOUT_FILENO, (uint64_t) -1, 0);
                 master = safe_close(master);
         }
 
index 11c27575c0e1365a2b01df0814efa8a1b813ebc1..0570fde5920aad972bbabe139b677f5a984baebd 100644 (file)
@@ -55,7 +55,7 @@ enum nss_status _nss_myhostname_gethostbyname4_r(
         _cleanup_free_ struct local_address *addresses = NULL;
         _cleanup_free_ char *hn = NULL;
         const char *canonical = NULL;
-        int n_addresses = 0, lo_ifi;
+        int n_addresses = 0;
         uint32_t local_address_ipv4;
         struct local_address *a;
         size_t l, idx, ms;
@@ -111,14 +111,11 @@ enum nss_status _nss_myhostname_gethostbyname4_r(
                 local_address_ipv4 = LOCALADDRESS_IPV4;
         }
 
-        /* If this call fails we fill in 0 as scope. Which is fine */
-        lo_ifi = n_addresses <= 0 ? LOOPBACK_IFINDEX : 0;
-
         l = strlen(canonical);
         ms = ALIGN(l+1) + ALIGN(sizeof(struct gaih_addrtuple)) * (n_addresses > 0 ? n_addresses : 2);
         if (buflen < ms) {
-                *errnop = ENOMEM;
-                *h_errnop = NO_RECOVERY;
+                *errnop = ERANGE;
+                *h_errnop = NETDB_INTERNAL;
                 return NSS_STATUS_TRYAGAIN;
         }
 
@@ -135,7 +132,7 @@ enum nss_status _nss_myhostname_gethostbyname4_r(
                 r_tuple->name = r_name;
                 r_tuple->family = AF_INET6;
                 memcpy(r_tuple->addr, LOCALADDRESS_IPV6, 16);
-                r_tuple->scopeid = (uint32_t) lo_ifi;
+                r_tuple->scopeid = 0;
 
                 idx += ALIGN(sizeof(struct gaih_addrtuple));
                 r_tuple_prev = r_tuple;
@@ -146,7 +143,7 @@ enum nss_status _nss_myhostname_gethostbyname4_r(
                 r_tuple->name = r_name;
                 r_tuple->family = AF_INET;
                 *(uint32_t*) r_tuple->addr = local_address_ipv4;
-                r_tuple->scopeid = (uint32_t) lo_ifi;
+                r_tuple->scopeid = 0;
 
                 idx += ALIGN(sizeof(struct gaih_addrtuple));
                 r_tuple_prev = r_tuple;
@@ -158,7 +155,7 @@ enum nss_status _nss_myhostname_gethostbyname4_r(
                 r_tuple->next = r_tuple_prev;
                 r_tuple->name = r_name;
                 r_tuple->family = a->family;
-                r_tuple->scopeid = a->ifindex;
+                r_tuple->scopeid = a->family == AF_INET6 && IN6_IS_ADDR_LINKLOCAL(&a->address.in6) ? a->ifindex : 0;
                 memcpy(r_tuple->addr, &a->address, 16);
 
                 idx += ALIGN(sizeof(struct gaih_addrtuple));
@@ -223,8 +220,8 @@ static enum nss_status fill_in_hostent(
                 (c > 0 ? c+1 : 2) * sizeof(char*);
 
         if (buflen < ms) {
-                *errnop = ENOMEM;
-                *h_errnop = NO_RECOVERY;
+                *errnop = ERANGE;
+                *h_errnop = NETDB_INTERNAL;
                 return NSS_STATUS_TRYAGAIN;
         }
 
index fac37faea5ef7cebde5c280a08de5b190c3082ce..ea90953abbf3ec956dda1f55a74a6d96ea820999 100644 (file)
@@ -151,8 +151,8 @@ enum nss_status _nss_mymachines_gethostbyname4_r(
         l = strlen(name);
         ms = ALIGN(l+1) + ALIGN(sizeof(struct gaih_addrtuple)) * c;
         if (buflen < ms) {
-                *errnop = ENOMEM;
-                *h_errnop = TRY_AGAIN;
+                *errnop = ERANGE;
+                *h_errnop = NETDB_INTERNAL;
                 return NSS_STATUS_TRYAGAIN;
         }
 
@@ -306,8 +306,8 @@ enum nss_status _nss_mymachines_gethostbyname3_r(
         ms = ALIGN(l+1) + c * ALIGN(alen) + (c+2) * sizeof(char*);
 
         if (buflen < ms) {
-                *errnop = ENOMEM;
-                *h_errnop = NO_RECOVERY;
+                *errnop = ERANGE;
+                *h_errnop = NETDB_INTERNAL;
                 return NSS_STATUS_TRYAGAIN;
         }
 
@@ -471,7 +471,7 @@ enum nss_status _nss_mymachines_getpwnam_r(
 
         l = strlen(name);
         if (buflen < l+1) {
-                *errnop = ENOMEM;
+                *errnop = ERANGE;
                 return NSS_STATUS_TRYAGAIN;
         }
 
@@ -550,7 +550,7 @@ enum nss_status _nss_mymachines_getpwuid_r(
                 goto not_found;
 
         if (snprintf(buffer, buflen, "vu-%s-" UID_FMT, machine, (uid_t) mapped) >= (int) buflen) {
-                *errnop = ENOMEM;
+                *errnop = ERANGE;
                 return NSS_STATUS_TRYAGAIN;
         }
 
@@ -645,7 +645,7 @@ enum nss_status _nss_mymachines_getgrnam_r(
 
         l = sizeof(char*) + strlen(name) + 1;
         if (buflen < l) {
-                *errnop = ENOMEM;
+                *errnop = ERANGE;
                 return NSS_STATUS_TRYAGAIN;
         }
 
@@ -722,13 +722,13 @@ enum nss_status _nss_mymachines_getgrgid_r(
                 goto not_found;
 
         if (buflen < sizeof(char*) + 1) {
-                *errnop = ENOMEM;
+                *errnop = ERANGE;
                 return NSS_STATUS_TRYAGAIN;
         }
 
         memzero(buffer, sizeof(char*));
         if (snprintf(buffer + sizeof(char*), buflen - sizeof(char*), "vg-%s-" GID_FMT, machine, (gid_t) mapped) >= (int) buflen) {
-                *errnop = ENOMEM;
+                *errnop = ERANGE;
                 return NSS_STATUS_TRYAGAIN;
         }
 
index d46a3afe91cdfe6aa37876c0d1d81dfbade1917a..d155625e111fc7c04172124e90d072e7365d33f9 100644 (file)
@@ -110,6 +110,20 @@ static int count_addresses(sd_bus_message *m, int af, const char **canonical) {
         return c;
 }
 
+static uint32_t ifindex_to_scopeid(int family, const void *a, int ifindex) {
+        struct in6_addr in6;
+
+        if (family != AF_INET6)
+                return 0;
+
+        /* Some apps can't deal with the scope ID attached to non-link-local addresses. Hence, let's suppress that. */
+
+        assert(sizeof(in6) == FAMILY_ADDRESS_SIZE(AF_INET6));
+        memcpy(&in6, a, sizeof(struct in6_addr));
+
+        return IN6_IS_ADDR_LINKLOCAL(&in6) ? ifindex : 0;
+}
+
 enum nss_status _nss_resolve_gethostbyname4_r(
                 const char *name,
                 struct gaih_addrtuple **pat,
@@ -192,8 +206,8 @@ enum nss_status _nss_resolve_gethostbyname4_r(
         l = strlen(canonical);
         ms = ALIGN(l+1) + ALIGN(sizeof(struct gaih_addrtuple)) * c;
         if (buflen < ms) {
-                *errnop = ENOMEM;
-                *h_errnop = TRY_AGAIN;
+                *errnop = ERANGE;
+                *h_errnop = NETDB_INTERNAL;
                 return NSS_STATUS_TRYAGAIN;
         }
 
@@ -245,7 +259,7 @@ enum nss_status _nss_resolve_gethostbyname4_r(
                 r_tuple->next = i == c-1 ? NULL : (struct gaih_addrtuple*) ((char*) r_tuple + ALIGN(sizeof(struct gaih_addrtuple)));
                 r_tuple->name = r_name;
                 r_tuple->family = family;
-                r_tuple->scopeid = ifindex;
+                r_tuple->scopeid = ifindex_to_scopeid(family, a, ifindex);
                 memcpy(r_tuple->addr, a, sz);
 
                 idx += ALIGN(sizeof(struct gaih_addrtuple));
@@ -380,8 +394,8 @@ enum nss_status _nss_resolve_gethostbyname3_r(
         ms = ALIGN(l+1) + c * ALIGN(alen) + (c+2) * sizeof(char*);
 
         if (buflen < ms) {
-                *errnop = ENOMEM;
-                *h_errnop = TRY_AGAIN;
+                *errnop = ERANGE;
+                *h_errnop = NETDB_INTERNAL;
                 return NSS_STATUS_TRYAGAIN;
         }
 
@@ -601,8 +615,8 @@ enum nss_status _nss_resolve_gethostbyaddr2_r(
               c * sizeof(char*);        /* pointers to aliases, plus trailing NULL */
 
         if (buflen < ms) {
-                *errnop = ENOMEM;
-                *h_errnop = TRY_AGAIN;
+                *errnop = ERANGE;
+                *h_errnop = NETDB_INTERNAL;
                 return NSS_STATUS_TRYAGAIN;
         }
 
index fd5064c9379f4b47d63b279df794d0b789b4574a..f404755dac17cede238faf3cda6354c10f3a33fb 100644 (file)
@@ -185,7 +185,7 @@ enum nss_status _nss_systemd_getpwnam_r(
 
         l = strlen(name);
         if (buflen < l+1) {
-                *errnop = ENOMEM;
+                *errnop = ERANGE;
                 return NSS_STATUS_TRYAGAIN;
         }
 
@@ -286,7 +286,7 @@ enum nss_status _nss_systemd_getpwuid_r(
 
         l = strlen(translated) + 1;
         if (buflen < l) {
-                *errnop = ENOMEM;
+                *errnop = ERANGE;
                 return NSS_STATUS_TRYAGAIN;
         }
 
@@ -386,7 +386,7 @@ enum nss_status _nss_systemd_getgrnam_r(
 
         l = sizeof(char*) + strlen(name) + 1;
         if (buflen < l) {
-                *errnop = ENOMEM;
+                *errnop = ERANGE;
                 return NSS_STATUS_TRYAGAIN;
         }
 
@@ -484,7 +484,7 @@ enum nss_status _nss_systemd_getgrgid_r(
 
         l = sizeof(char*) + strlen(translated) + 1;
         if (buflen < l) {
-                *errnop = ENOMEM;
+                *errnop = ERANGE;
                 return NSS_STATUS_TRYAGAIN;
         }
 
index 07d9582ccb243c5742835e47aff3c420d4719fc6..32537ce6e8acb6db5f24fb7de931ee5bb44148df 100644 (file)
@@ -38,7 +38,7 @@
 #include "strv.h"
 #include "terminal-util.h"
 
-#define DNS_CALL_TIMEOUT_USEC (45*USEC_PER_SEC)
+#define DNS_CALL_TIMEOUT_USEC (90*USEC_PER_SEC)
 
 static int arg_family = AF_UNSPEC;
 static int arg_ifindex = 0;
@@ -1186,6 +1186,7 @@ static int status_ifindex(sd_bus *bus, int ifindex, const char *name, bool *empt
                 {}
         };
 
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         _cleanup_free_ char *ifi = NULL, *p = NULL;
         char ifname[IF_NAMESIZE] = "";
         char **i;
@@ -1213,9 +1214,10 @@ static int status_ifindex(sd_bus *bus, int ifindex, const char *name, bool *empt
                                    "org.freedesktop.resolve1",
                                    p,
                                    property_map,
+                                   &error,
                                    &link_info);
         if (r < 0) {
-                log_error_errno(r, "Failed to get link data for %i: %m", ifindex);
+                log_error_errno(r, "Failed to get link data for %i: %s", ifindex, bus_error_message(&error, r));
                 goto finish;
         }
 
@@ -1405,6 +1407,7 @@ static int status_global(sd_bus *bus, bool *empty_line) {
                 {}
         };
 
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         char **i;
         int r;
 
@@ -1415,9 +1418,10 @@ static int status_global(sd_bus *bus, bool *empty_line) {
                                    "org.freedesktop.resolve1",
                                    "/org/freedesktop/resolve1",
                                    property_map,
+                                   &error,
                                    &global_info);
         if (r < 0) {
-                log_error_errno(r, "Failed to get global data: %m");
+                log_error_errno(r, "Failed to get global data: %s", bus_error_message(&error, r));
                 goto finish;
         }
 
@@ -1524,7 +1528,7 @@ static int status_all(sd_bus *bus) {
 static void help_protocol_types(void) {
         if (arg_legend)
                 puts("Known protocol types:");
-        puts("dns\nllmnr\nllmnr-ipv4\nllmnr-ipv6");
+        puts("dns\nllmnr\nllmnr-ipv4\nllmnr-ipv6\nmdns\nmnds-ipv4\nmdns-ipv6");
 }
 
 static void help_dns_types(void) {
@@ -1722,6 +1726,12 @@ static int parse_argv(int argc, char *argv[]) {
                                 arg_flags |= SD_RESOLVED_LLMNR_IPV4;
                         else if (streq(optarg, "llmnr-ipv6"))
                                 arg_flags |= SD_RESOLVED_LLMNR_IPV6;
+                        else if (streq(optarg, "mdns"))
+                                arg_flags |= SD_RESOLVED_MDNS;
+                        else if (streq(optarg, "mdns-ipv4"))
+                                arg_flags |= SD_RESOLVED_MDNS_IPV4;
+                        else if (streq(optarg, "mdns-ipv6"))
+                                arg_flags |= SD_RESOLVED_MDNS_IPV6;
                         else {
                                 log_error("Unknown protocol specifier: %s", optarg);
                                 return -EINVAL;
index 2ca65e695369222e08b2be5ea226cde1bf66784c..2c501093882635e605af5e2857fcc3bcc34dcabc 100644 (file)
@@ -211,7 +211,7 @@ static void bus_method_resolve_hostname_complete(DnsQuery *q) {
         r = sd_bus_message_append(
                         reply, "st",
                         normalized,
-                        SD_RESOLVED_FLAGS_MAKE(q->answer_protocol, q->answer_family, q->answer_authenticated));
+                        SD_RESOLVED_FLAGS_MAKE(q->answer_protocol, q->answer_family, dns_query_fully_authenticated(q)));
         if (r < 0)
                 goto finish;
 
@@ -439,7 +439,7 @@ static void bus_method_resolve_address_complete(DnsQuery *q) {
         if (r < 0)
                 goto finish;
 
-        r = sd_bus_message_append(reply, "t", SD_RESOLVED_FLAGS_MAKE(q->answer_protocol, q->answer_family, q->answer_authenticated));
+        r = sd_bus_message_append(reply, "t", SD_RESOLVED_FLAGS_MAKE(q->answer_protocol, q->answer_family, dns_query_fully_authenticated(q)));
         if (r < 0)
                 goto finish;
 
@@ -605,7 +605,7 @@ static void bus_method_resolve_record_complete(DnsQuery *q) {
         if (r < 0)
                 goto finish;
 
-        r = sd_bus_message_append(reply, "t", SD_RESOLVED_FLAGS_MAKE(q->answer_protocol, q->answer_family, q->answer_authenticated));
+        r = sd_bus_message_append(reply, "t", SD_RESOLVED_FLAGS_MAKE(q->answer_protocol, q->answer_family, dns_query_fully_authenticated(q)));
         if (r < 0)
                 goto finish;
 
@@ -979,7 +979,7 @@ static void resolve_service_all_complete(DnsQuery *q) {
                         reply,
                         "ssst",
                         name, type, domain,
-                        SD_RESOLVED_FLAGS_MAKE(q->answer_protocol, q->answer_family, q->answer_authenticated));
+                        SD_RESOLVED_FLAGS_MAKE(q->answer_protocol, q->answer_family, dns_query_fully_authenticated(q)));
         if (r < 0)
                 goto finish;
 
index 4a92bd1150065c7ce72b3677784744f159f0738d..11d2e25eebd815d6bcc771d4a8e31a8b9399c65f 100644 (file)
@@ -33,9 +33,11 @@ typedef struct DnsAnswerItem DnsAnswerItem;
  * Note that we usually encode the empty DnsAnswer object as a simple NULL. */
 
 typedef enum DnsAnswerFlags {
-        DNS_ANSWER_AUTHENTICATED = 1, /* Item has been authenticated */
-        DNS_ANSWER_CACHEABLE     = 2, /* Item is subject to caching */
-        DNS_ANSWER_SHARED_OWNER  = 4, /* For mDNS: RRset may be owner by multiple peers */
+        DNS_ANSWER_AUTHENTICATED = 1,  /* Item has been authenticated */
+        DNS_ANSWER_CACHEABLE     = 2,  /* Item is subject to caching */
+        DNS_ANSWER_SHARED_OWNER  = 4,  /* For mDNS: RRset may be owner by multiple peers */
+        DNS_ANSWER_CACHE_FLUSH   = 8,  /* For mDNS: sets cache-flush bit in the rrclass of response records */
+        DNS_ANSWER_GOODBYE       = 16, /* For mDNS: item is subject to disappear */
 } DnsAnswerFlags;
 
 struct DnsAnswerItem {
index 9233fb0ac17b987fd783c79828c23cddcde06010..46a25c2bee44831442617818271c533e5fe1420c 100644 (file)
 /* We never keep any item longer than 2h in our cache */
 #define CACHE_TTL_MAX_USEC (2 * USEC_PER_HOUR)
 
+/* How long to cache strange rcodes, i.e. rcodes != SUCCESS and != NXDOMAIN (specifically: that's only SERVFAIL for
+ * now) */
+#define CACHE_TTL_STRANGE_RCODE_USEC (30 * USEC_PER_SEC)
+
 typedef enum DnsCacheItemType DnsCacheItemType;
 typedef struct DnsCacheItem DnsCacheItem;
 
@@ -41,12 +45,14 @@ enum DnsCacheItemType {
         DNS_CACHE_POSITIVE,
         DNS_CACHE_NODATA,
         DNS_CACHE_NXDOMAIN,
+        DNS_CACHE_RCODE,      /* "strange" RCODE (effective only SERVFAIL for now) */
 };
 
 struct DnsCacheItem {
         DnsCacheItemType type;
         DnsResourceKey *key;
         DnsResourceRecord *rr;
+        int rcode;
 
         usec_t until;
         bool authenticated:1;
@@ -60,6 +66,27 @@ struct DnsCacheItem {
         LIST_FIELDS(DnsCacheItem, by_key);
 };
 
+static const char *dns_cache_item_type_to_string(DnsCacheItem *item) {
+        assert(item);
+
+        switch (item->type) {
+
+        case DNS_CACHE_POSITIVE:
+                return "POSITIVE";
+
+        case DNS_CACHE_NODATA:
+                return "NODATA";
+
+        case DNS_CACHE_NXDOMAIN:
+                return "NXDOMAIN";
+
+        case DNS_CACHE_RCODE:
+                return dns_rcode_to_string(item->rcode);
+        }
+
+        return NULL;
+}
+
 static void dns_cache_item_free(DnsCacheItem *i) {
         if (!i)
                 return;
@@ -484,7 +511,6 @@ static int dns_cache_put_negative(
 
         assert(c);
         assert(key);
-        assert(soa);
         assert(owner_address);
 
         /* Never cache pseudo RR keys. DNS_TYPE_ANY is particularly
@@ -495,13 +521,17 @@ static int dns_cache_put_negative(
         if (dns_type_is_pseudo(key->type))
                 return 0;
 
-        if (nsec_ttl <= 0 || soa->soa.minimum <= 0 || soa->ttl <= 0) {
-                log_debug("Not caching negative entry with zero SOA/NSEC/NSEC3 TTL: %s",
-                          dns_resource_key_to_string(key, key_str, sizeof key_str));
-                return 0;
-        }
+        if (IN_SET(rcode, DNS_RCODE_SUCCESS, DNS_RCODE_NXDOMAIN)) {
+                if (!soa)
+                        return 0;
 
-        if (!IN_SET(rcode, DNS_RCODE_SUCCESS, DNS_RCODE_NXDOMAIN))
+                /* For negative replies, check if we have a TTL of a SOA */
+                if (nsec_ttl <= 0 || soa->soa.minimum <= 0 || soa->ttl <= 0) {
+                        log_debug("Not caching negative entry with zero SOA/NSEC/NSEC3 TTL: %s",
+                                  dns_resource_key_to_string(key, key_str, sizeof key_str));
+                        return 0;
+                }
+        } else if (rcode != DNS_RCODE_SERVFAIL)
                 return 0;
 
         r = dns_cache_init(c);
@@ -514,12 +544,17 @@ static int dns_cache_put_negative(
         if (!i)
                 return -ENOMEM;
 
-        i->type = rcode == DNS_RCODE_SUCCESS ? DNS_CACHE_NODATA : DNS_CACHE_NXDOMAIN;
-        i->until = calculate_until(soa, nsec_ttl, timestamp, true);
+        i->type =
+                rcode == DNS_RCODE_SUCCESS ? DNS_CACHE_NODATA :
+                rcode == DNS_RCODE_NXDOMAIN ? DNS_CACHE_NXDOMAIN : DNS_CACHE_RCODE;
+        i->until =
+                i->type == DNS_CACHE_RCODE ? timestamp + CACHE_TTL_STRANGE_RCODE_USEC :
+                calculate_until(soa, nsec_ttl, timestamp, true);
         i->authenticated = authenticated;
         i->owner_family = owner_family;
         i->owner_address = *owner_address;
         i->prioq_idx = PRIOQ_IDX_NULL;
+        i->rcode = rcode;
 
         if (i->type == DNS_CACHE_NXDOMAIN) {
                 /* NXDOMAIN entries should apply equally to all types, so we use ANY as
@@ -543,7 +578,7 @@ static int dns_cache_put_negative(
                 return r;
 
         log_debug("Added %s cache entry for %s "USEC_FMT"s",
-                  i->type == DNS_CACHE_NODATA ? "NODATA" : "NXDOMAIN",
+                  dns_cache_item_type_to_string(i),
                   dns_resource_key_to_string(i->key, key_str, sizeof key_str),
                   (i->until - timestamp) / USEC_PER_SEC);
 
@@ -615,6 +650,7 @@ int dns_cache_put(
                 const union in_addr_union *owner_address) {
 
         DnsResourceRecord *soa = NULL, *rr;
+        bool weird_rcode = false;
         DnsAnswerFlags flags;
         unsigned cache_keys;
         int r, ifindex;
@@ -624,18 +660,28 @@ int dns_cache_put(
 
         dns_cache_remove_previous(c, key, answer);
 
-        /* We only care for positive replies and NXDOMAINs, on all
-         * other replies we will simply flush the respective entries,
-         * and that's it */
-        if (!IN_SET(rcode, DNS_RCODE_SUCCESS, DNS_RCODE_NXDOMAIN))
-                return 0;
+        /* We only care for positive replies and NXDOMAINs, on all other replies we will simply flush the respective
+         * entries, and that's it. (Well, with one further exception: since some DNS zones (akamai!) return SERVFAIL
+         * consistently for some lookups, and forwarders tend to propagate that we'll cache that too, but only for a
+         * short time.) */
 
-        if (dns_answer_size(answer) <= 0) {
-                char key_str[DNS_RESOURCE_KEY_STRING_MAX];
+        if (IN_SET(rcode, DNS_RCODE_SUCCESS, DNS_RCODE_NXDOMAIN)) {
 
-                log_debug("Not caching negative entry without a SOA record: %s",
-                          dns_resource_key_to_string(key, key_str, sizeof key_str));
-                return 0;
+                if (dns_answer_size(answer) <= 0) {
+                        char key_str[DNS_RESOURCE_KEY_STRING_MAX];
+
+                        log_debug("Not caching negative entry without a SOA record: %s",
+                                  dns_resource_key_to_string(key, key_str, sizeof key_str));
+                        return 0;
+                }
+
+        } else {
+                /* Only cache SERVFAIL as "weird" rcode for now. We can add more later, should that turn out to be
+                 * beneficial. */
+                if (rcode != DNS_RCODE_SERVFAIL)
+                        return 0;
+
+                weird_rcode = true;
         }
 
         cache_keys = dns_answer_size(answer);
@@ -690,19 +736,20 @@ int dns_cache_put(
         if (r > 0)
                 return 0;
 
-        /* See https://tools.ietf.org/html/rfc2308, which say that a
-         * matching SOA record in the packet is used to enable
-         * negative caching. */
+        /* See https://tools.ietf.org/html/rfc2308, which say that a matching SOA record in the packet is used to
+         * enable negative caching. We apply one exception though: if we are about to cache a weird rcode we do so
+         * regardless of a SOA. */
         r = dns_answer_find_soa(answer, key, &soa, &flags);
         if (r < 0)
                 goto fail;
-        if (r == 0)
-                return 0;
-
-        /* Refuse using the SOA data if it is unsigned, but the key is
-         * signed */
-        if (authenticated && (flags & DNS_ANSWER_AUTHENTICATED) == 0)
+        if (r == 0 && !weird_rcode)
                 return 0;
+        if (r > 0) {
+                /* Refuse using the SOA data if it is unsigned, but the key is
+                 * signed */
+                if (authenticated && (flags & DNS_ANSWER_AUTHENTICATED) == 0)
+                        return 0;
+        }
 
         r = dns_cache_put_negative(
                         c,
@@ -799,6 +846,7 @@ int dns_cache_lookup(DnsCache *c, DnsResourceKey *key, bool clamp_ttl, int *rcod
         DnsCacheItem *j, *first, *nsec = NULL;
         bool have_authenticated = false, have_non_authenticated = false;
         usec_t current;
+        int found_rcode = -1;
 
         assert(c);
         assert(key);
@@ -817,6 +865,8 @@ int dns_cache_lookup(DnsCache *c, DnsResourceKey *key, bool clamp_ttl, int *rcod
 
                 *ret = NULL;
                 *rcode = DNS_RCODE_SUCCESS;
+                *authenticated = false;
+
                 return 0;
         }
 
@@ -831,6 +881,8 @@ int dns_cache_lookup(DnsCache *c, DnsResourceKey *key, bool clamp_ttl, int *rcod
 
                 *ret = NULL;
                 *rcode = DNS_RCODE_SUCCESS;
+                *authenticated = false;
+
                 return 0;
         }
 
@@ -842,6 +894,8 @@ int dns_cache_lookup(DnsCache *c, DnsResourceKey *key, bool clamp_ttl, int *rcod
                         n++;
                 } else if (j->type == DNS_CACHE_NXDOMAIN)
                         nxdomain = true;
+                else if (j->type == DNS_CACHE_RCODE)
+                        found_rcode = j->rcode;
 
                 if (j->authenticated)
                         have_authenticated = true;
@@ -849,6 +903,19 @@ int dns_cache_lookup(DnsCache *c, DnsResourceKey *key, bool clamp_ttl, int *rcod
                         have_non_authenticated = true;
         }
 
+        if (found_rcode >= 0) {
+                log_debug("RCODE %s cache hit for %s",
+                          dns_rcode_to_string(found_rcode),
+                          dns_resource_key_to_string(key, key_str, sizeof(key_str)));
+
+                *ret = NULL;
+                *rcode = found_rcode;
+                *authenticated = false;
+
+                c->n_hit++;
+                return 1;
+        }
+
         if (nsec && !IN_SET(key->type, DNS_TYPE_NSEC, DNS_TYPE_DS)) {
                 /* Note that we won't derive information for DS RRs from an NSEC, because we only cache NSEC RRs from
                  * the lower-zone of a zone cut, but the DS RRs are on the upper zone. */
@@ -980,7 +1047,7 @@ int dns_cache_export_shared_to_packet(DnsCache *cache, DnsPacket *p) {
                         if (!j->shared_owner)
                                 continue;
 
-                        r = dns_packet_append_rr(p, j->rr, NULL, NULL);
+                        r = dns_packet_append_rr(p, j->rr, 0, NULL, NULL);
                         if (r == -EMSGSIZE && p->protocol == DNS_PROTOCOL_MDNS) {
                                 /* For mDNS, if we're unable to stuff all known answers into the given packet,
                                  * allocate a new one, push the RR into that one and link it to the current one.
@@ -995,7 +1062,7 @@ int dns_cache_export_shared_to_packet(DnsCache *cache, DnsPacket *p) {
 
                                 /* continue with new packet */
                                 p = p->more;
-                                r = dns_packet_append_rr(p, j->rr, NULL, NULL);
+                                r = dns_packet_append_rr(p, j->rr, 0, NULL, NULL);
                         }
 
                         if (r < 0)
@@ -1042,7 +1109,7 @@ void dns_cache_dump(DnsCache *cache, FILE *f) {
 
                                 fputs(dns_resource_key_to_string(j->key, key_str, sizeof key_str), f);
                                 fputs(" -- ", f);
-                                fputs(j->type == DNS_CACHE_NODATA ? "NODATA" : "NXDOMAIN", f);
+                                fputs(dns_cache_item_type_to_string(j), f);
                                 fputc('\n', f);
                         }
                 }
index 51327105d04af3458384242c3700f8c9a9f750c0..eddab58a818d32444c9624d8d1c7354d88b2fe49 100644 (file)
@@ -1710,7 +1710,8 @@ static int dnssec_nsec_covers(DnsResourceRecord *rr, const char *name) {
 }
 
 static int dnssec_nsec_covers_wildcard(DnsResourceRecord *rr, const char *name) {
-        const char *common_suffix, *wc;
+        _cleanup_free_ char *wc = NULL;
+        const char *common_suffix;
         int r;
 
         assert(rr);
@@ -1734,7 +1735,10 @@ static int dnssec_nsec_covers_wildcard(DnsResourceRecord *rr, const char *name)
         if (r <= 0)
                 return r;
 
-        wc = strjoina("*.", common_suffix);
+        r = dns_name_concat("*", common_suffix, &wc);
+        if (r < 0)
+                return r;
+
         return dns_name_between(dns_resource_key_name(rr->key), wc, rr->nsec.next_domain_name);
 }
 
index 337a8c473fb84810f60e44ce15b7d57c17ec8ac4..652970284ed666ba09ce75f8e2aa50c0da63557f 100644 (file)
@@ -569,8 +569,9 @@ fail:
         return r;
 }
 
-int dns_packet_append_key(DnsPacket *p, const DnsResourceKey *k, size_t *start) {
+int dns_packet_append_key(DnsPacket *p, const DnsResourceKey *k, const DnsAnswerFlags flags, size_t *start) {
         size_t saved_size;
+        uint16_t class;
         int r;
 
         assert(p);
@@ -586,7 +587,8 @@ int dns_packet_append_key(DnsPacket *p, const DnsResourceKey *k, size_t *start)
         if (r < 0)
                 goto fail;
 
-        r = dns_packet_append_uint16(p, k->class, NULL);
+        class = flags & DNS_ANSWER_CACHE_FLUSH ? k->class | MDNS_RR_CACHE_FLUSH : k->class;
+        r = dns_packet_append_uint16(p, class, NULL);
         if (r < 0)
                 goto fail;
 
@@ -791,9 +793,10 @@ int dns_packet_truncate_opt(DnsPacket *p) {
         return 1;
 }
 
-int dns_packet_append_rr(DnsPacket *p, const DnsResourceRecord *rr, size_t *start, size_t *rdata_start) {
+int dns_packet_append_rr(DnsPacket *p, const DnsResourceRecord *rr, const DnsAnswerFlags flags, size_t *start, size_t *rdata_start) {
 
         size_t saved_size, rdlength_offset, end, rdlength, rds;
+        uint32_t ttl;
         int r;
 
         assert(p);
@@ -801,11 +804,12 @@ int dns_packet_append_rr(DnsPacket *p, const DnsResourceRecord *rr, size_t *star
 
         saved_size = p->size;
 
-        r = dns_packet_append_key(p, rr->key, NULL);
+        r = dns_packet_append_key(p, rr->key, flags, NULL);
         if (r < 0)
                 goto fail;
 
-        r = dns_packet_append_uint32(p, rr->ttl, NULL);
+        ttl = flags & DNS_ANSWER_GOODBYE ? 0 : rr->ttl;
+        r = dns_packet_append_uint32(p, ttl, NULL);
         if (r < 0)
                 goto fail;
 
@@ -1143,7 +1147,7 @@ int dns_packet_append_question(DnsPacket *p, DnsQuestion *q) {
         assert(p);
 
         DNS_QUESTION_FOREACH(key, q) {
-                r = dns_packet_append_key(p, key, NULL);
+                r = dns_packet_append_key(p, key, 0, NULL);
                 if (r < 0)
                         return r;
         }
@@ -1153,12 +1157,13 @@ int dns_packet_append_question(DnsPacket *p, DnsQuestion *q) {
 
 int dns_packet_append_answer(DnsPacket *p, DnsAnswer *a) {
         DnsResourceRecord *rr;
+        DnsAnswerFlags flags;
         int r;
 
         assert(p);
 
-        DNS_ANSWER_FOREACH(rr, a) {
-                r = dns_packet_append_rr(p, rr, NULL, NULL);
+        DNS_ANSWER_FOREACH_FLAGS(rr, flags, a) {
+                r = dns_packet_append_rr(p, rr, flags, NULL, NULL);
                 if (r < 0)
                         return r;
         }
index 054dc88a85eeac796e4a7014bfd3755d4485923d..2c92392e4d78ee93dfcb5cceeb4e672a0f4dbc8b 100644 (file)
@@ -209,8 +209,8 @@ int dns_packet_append_string(DnsPacket *p, const char *s, size_t *start);
 int dns_packet_append_raw_string(DnsPacket *p, const void *s, size_t size, size_t *start);
 int dns_packet_append_label(DnsPacket *p, const char *s, size_t l, bool canonical_candidate, size_t *start);
 int dns_packet_append_name(DnsPacket *p, const char *name, bool allow_compression, bool canonical_candidate, size_t *start);
-int dns_packet_append_key(DnsPacket *p, const DnsResourceKey *key, size_t *start);
-int dns_packet_append_rr(DnsPacket *p, const DnsResourceRecord *rr, size_t *start, size_t *rdata_start);
+int dns_packet_append_key(DnsPacket *p, const DnsResourceKey *key, const DnsAnswerFlags flags, size_t *start);
+int dns_packet_append_rr(DnsPacket *p, const DnsResourceRecord *rr, const DnsAnswerFlags flags, size_t *start, size_t *rdata_start);
 int dns_packet_append_opt(DnsPacket *p, uint16_t max_udp_size, bool edns0_do, int rcode, size_t *start);
 int dns_packet_append_question(DnsPacket *p, DnsQuestion *q);
 int dns_packet_append_answer(DnsPacket *p, DnsAnswer *a);
index e03db4d003ee3630ec9a6d1fbd9a96a7ef27c5cb..2b091e6c45dc57856abc7eabd754f77150efe4d4 100644 (file)
@@ -28,7 +28,7 @@
 #include "string-util.h"
 
 /* How long to wait for the query in total */
-#define QUERY_TIMEOUT_USEC (30 * USEC_PER_SEC)
+#define QUERY_TIMEOUT_USEC (60 * USEC_PER_SEC)
 
 #define CNAME_MAX 8
 #define QUERIES_MAX 2048
@@ -403,6 +403,7 @@ DnsQuery *dns_query_free(DnsQuery *q) {
         sd_bus_track_unref(q->bus_track);
 
         dns_packet_unref(q->request_dns_packet);
+        dns_packet_unref(q->reply_dns_packet);
 
         if (q->request_dns_stream) {
                 /* Detach the stream from our query, in case something else keeps a reference to it. */
@@ -810,6 +811,7 @@ static void dns_query_accept(DnsQuery *q, DnsQueryCandidate *c) {
                 q->answer = dns_answer_unref(q->answer);
                 q->answer_rcode = 0;
                 q->answer_dnssec_result = _DNSSEC_RESULT_INVALID;
+                q->answer_authenticated = false;
                 q->answer_errno = c->error_code;
         }
 
@@ -846,15 +848,18 @@ static void dns_query_accept(DnsQuery *q, DnsQueryCandidate *c) {
                         continue;
 
                 default:
-                        /* Any kind of failure? Store the data away,
-                         * if there's nothing stored yet. */
-
+                        /* Any kind of failure? Store the data away, if there's nothing stored yet. */
                         if (state == DNS_TRANSACTION_SUCCESS)
                                 continue;
 
+                        /* If there's already an authenticated negative reply stored, then prefer that over any unauthenticated one */
+                        if (q->answer_authenticated && !t->answer_authenticated)
+                                continue;
+
                         q->answer = dns_answer_unref(q->answer);
                         q->answer_rcode = t->answer_rcode;
                         q->answer_dnssec_result = t->answer_dnssec_result;
+                        q->answer_authenticated = t->answer_authenticated;
                         q->answer_errno = t->answer_errno;
 
                         state = t->state;
@@ -1028,6 +1033,9 @@ int dns_query_process_cname(DnsQuery *q) {
         if (q->flags & SD_RESOLVED_NO_CNAME)
                 return -ELOOP;
 
+        if (!q->answer_authenticated)
+                q->previous_redirect_unauthenticated = true;
+
         /* OK, let's actually follow the CNAME */
         r = dns_query_cname_redirect(q, cname);
         if (r < 0)
@@ -1115,3 +1123,9 @@ const char *dns_query_string(DnsQuery *q) {
 
         return dns_question_first_name(q->question_idna);
 }
+
+bool dns_query_fully_authenticated(DnsQuery *q) {
+        assert(q);
+
+        return q->answer_authenticated && !q->previous_redirect_unauthenticated;
+}
index 49a35b846bdac6265a64e01437e67c6ec13bb757..b8ea48f6afcd7fa4b8d79f55a17dc00bb0d0ea5a 100644 (file)
@@ -71,7 +71,6 @@ struct DnsQuery {
          * family */
         bool suppress_unroutable_family;
 
-
         /* If true, the RR TTLs of the answer will be clamped by their current left validity in the cache */
         bool clamp_ttl;
 
@@ -90,6 +89,7 @@ struct DnsQuery {
         int answer_family;
         DnsSearchDomain *answer_search_domain;
         int answer_errno; /* if state is DNS_TRANSACTION_ERRNO */
+        bool previous_redirect_unauthenticated;
 
         /* Bus client information */
         sd_bus_message *request;
@@ -102,6 +102,7 @@ struct DnsQuery {
         /* DNS stub information */
         DnsPacket *request_dns_packet;
         DnsStream *request_dns_stream;
+        DnsPacket *reply_dns_packet;
 
         /* Completion callback */
         void (*complete)(DnsQuery* q);
@@ -139,3 +140,5 @@ DnsQuestion* dns_query_question_for_protocol(DnsQuery *q, DnsProtocol protocol);
 const char *dns_query_string(DnsQuery *q);
 
 DEFINE_TRIVIAL_CLEANUP_FUNC(DnsQuery*, dns_query_free);
+
+bool dns_query_fully_authenticated(DnsQuery *q);
index 209d565033c503a405843804d0b6b1780f84a554..e8c05ed0daf985f07ad799f2f631cf0f95773ca9 100644 (file)
@@ -1262,7 +1262,7 @@ int dns_resource_record_to_wire_format(DnsResourceRecord *rr, bool canonical) {
         if (rr->wire_format && rr->wire_format_canonical == canonical)
                 return 0;
 
-        r = dns_packet_append_rr(&packet, rr, &start, &rds);
+        r = dns_packet_append_rr(&packet, rr, 0, &start, &rds);
         if (r < 0)
                 return r;
 
index 8dbc7f623b8faa576e8facd025ebf8022ab1dd82..ffaefbe3f2b92b3c7d3278e277e8cb39df993418 100644 (file)
@@ -124,6 +124,8 @@ DnsScope* dns_scope_free(DnsScope *s) {
         ordered_hashmap_free(s->conflict_queue);
         sd_event_source_unref(s->conflict_event_source);
 
+        sd_event_source_unref(s->announce_event_source);
+
         dns_cache_flush(&s->cache);
         dns_zone_flush(&s->zone);
 
@@ -549,7 +551,11 @@ static int dns_scope_multicast_membership(DnsScope *s, bool b, struct in_addr in
                         .imr_ifindex = s->link->ifindex,
                 };
 
-                fd = manager_llmnr_ipv4_udp_fd(s->manager);
+                if (s->protocol == DNS_PROTOCOL_LLMNR)
+                        fd = manager_llmnr_ipv4_udp_fd(s->manager);
+                else
+                        fd = manager_mdns_ipv4_fd(s->manager);
+
                 if (fd < 0)
                         return fd;
 
@@ -568,7 +574,11 @@ static int dns_scope_multicast_membership(DnsScope *s, bool b, struct in_addr in
                         .ipv6mr_interface = s->link->ifindex,
                 };
 
-                fd = manager_llmnr_ipv6_udp_fd(s->manager);
+                if (s->protocol == DNS_PROTOCOL_LLMNR)
+                        fd = manager_llmnr_ipv6_udp_fd(s->manager);
+                else
+                        fd = manager_mdns_ipv6_fd(s->manager);
+
                 if (fd < 0)
                         return fd;
 
@@ -601,7 +611,7 @@ int dns_scope_mdns_membership(DnsScope *s, bool b) {
         return dns_scope_multicast_membership(s, b, MDNS_MULTICAST_IPV4_ADDRESS, MDNS_MULTICAST_IPV6_ADDRESS);
 }
 
-static int dns_scope_make_reply_packet(
+int dns_scope_make_reply_packet(
                 DnsScope *s,
                 uint16_t id,
                 int rcode,
@@ -830,11 +840,11 @@ static int dns_scope_make_conflict_packet(
         DNS_PACKET_HEADER(p)->qdcount = htobe16(1);
         DNS_PACKET_HEADER(p)->arcount = htobe16(1);
 
-        r = dns_packet_append_key(p, rr->key, NULL);
+        r = dns_packet_append_key(p, rr->key, 0, NULL);
         if (r < 0)
                 return r;
 
-        r = dns_packet_append_rr(p, rr, NULL, NULL);
+        r = dns_packet_append_rr(p, rr, 0, NULL, NULL);
         if (r < 0)
                 return r;
 
@@ -928,17 +938,19 @@ void dns_scope_check_conflicts(DnsScope *scope, DnsPacket *p) {
         assert(scope);
         assert(p);
 
-        if (p->protocol != DNS_PROTOCOL_LLMNR)
+        if (!IN_SET(p->protocol, DNS_PROTOCOL_LLMNR, DNS_PROTOCOL_MDNS))
                 return;
 
         if (DNS_PACKET_RRCOUNT(p) <= 0)
                 return;
 
-        if (DNS_PACKET_LLMNR_C(p) != 0)
-                return;
+        if (p->protocol == DNS_PROTOCOL_LLMNR) {
+                if (DNS_PACKET_LLMNR_C(p) != 0)
+                        return;
 
-        if (DNS_PACKET_LLMNR_T(p) != 0)
-                return;
+                if (DNS_PACKET_LLMNR_T(p) != 0)
+                        return;
+        }
 
         if (manager_our_packet(scope->manager, p))
                 return;
@@ -1041,3 +1053,77 @@ int dns_scope_ifindex(DnsScope *s) {
 
         return 0;
 }
+
+static int on_announcement_timeout(sd_event_source *s, usec_t usec, void *userdata) {
+        DnsScope *scope = userdata;
+
+        assert(s);
+
+        scope->announce_event_source = sd_event_source_unref(scope->announce_event_source);
+
+        (void) dns_scope_announce(scope, false);
+        return 0;
+}
+
+int dns_scope_announce(DnsScope *scope, bool goodbye) {
+        _cleanup_(dns_answer_unrefp) DnsAnswer *answer = NULL;
+        _cleanup_(dns_packet_unrefp) DnsPacket *p = NULL;
+        LinkAddress *a;
+        int r;
+
+        if (!scope)
+                return 0;
+
+        if (scope->protocol != DNS_PROTOCOL_MDNS)
+                return 0;
+
+        answer = dns_answer_new(scope->link->n_addresses * 2);
+        if (!answer)
+                return log_oom();
+
+        LIST_FOREACH(addresses, a, scope->link->addresses) {
+                r = dns_answer_add(answer, a->mdns_address_rr, 0, goodbye ? DNS_ANSWER_GOODBYE : DNS_ANSWER_CACHE_FLUSH);
+                if (r < 0)
+                        return log_debug_errno(r, "Failed to add address RR to answer: %m");
+
+                r = dns_answer_add(answer, a->mdns_ptr_rr, 0, goodbye ? DNS_ANSWER_GOODBYE : DNS_ANSWER_CACHE_FLUSH);
+                if (r < 0)
+                        return log_debug_errno(r, "Failed to add PTR RR to answer: %m");
+        }
+
+        if (dns_answer_isempty(answer))
+                return 0;
+
+        r = dns_scope_make_reply_packet(scope, 0, DNS_RCODE_SUCCESS, NULL, answer, NULL, false, &p);
+        if (r < 0)
+                return log_debug_errno(r, "Failed to build reply packet: %m");
+
+        r = dns_scope_emit_udp(scope, -1, p);
+        if (r < 0)
+                return log_debug_errno(r, "Failed to send reply packet: %m");
+
+        /* In section 8.3 of RFC6762: "The Multicast DNS responder MUST send at least two unsolicited
+         * responses, one second apart." */
+        if (!scope->announced) {
+                usec_t ts;
+
+                scope->announced = true;
+
+                assert_se(sd_event_now(scope->manager->event, clock_boottime_or_monotonic(), &ts) >= 0);
+                ts += MDNS_ANNOUNCE_DELAY;
+
+                r = sd_event_add_time(
+                                scope->manager->event,
+                                &scope->announce_event_source,
+                                clock_boottime_or_monotonic(),
+                                ts,
+                                MDNS_JITTER_RANGE_USEC,
+                                on_announcement_timeout, scope);
+                if (r < 0)
+                        return log_debug_errno(r, "Failed to schedule second announcement: %m");
+
+                (void) sd_event_source_set_description(scope->announce_event_source, "mdns-announce");
+        }
+
+        return 0;
+}
index 01a83a76b2cc61c952395b8a31d4564a688e43d7..6f94b1fdcdd65e66f51d465a03ac1328c8bf32c9 100644 (file)
@@ -56,6 +56,9 @@ struct DnsScope {
         OrderedHashmap *conflict_queue;
         sd_event_source *conflict_event_source;
 
+        bool announced:1;
+        sd_event_source *announce_event_source;
+
         RateLimit ratelimit;
 
         usec_t resend_timeout;
@@ -96,6 +99,7 @@ void dns_scope_next_dns_server(DnsScope *s);
 int dns_scope_llmnr_membership(DnsScope *s, bool b);
 int dns_scope_mdns_membership(DnsScope *s, bool b);
 
+int dns_scope_make_reply_packet(DnsScope *s, uint16_t id, int rcode, DnsQuestion *q, DnsAnswer *answer, DnsAnswer *soa, bool tentative, DnsPacket **ret);
 void dns_scope_process_query(DnsScope *s, DnsStream *stream, DnsPacket *p);
 
 DnsTransaction *dns_scope_find_transaction(DnsScope *scope, DnsResourceKey *key, bool cache_ok);
@@ -112,3 +116,5 @@ bool dns_scope_name_needs_search_domain(DnsScope *s, const char *name);
 bool dns_scope_network_good(DnsScope *s);
 
 int dns_scope_ifindex(DnsScope *s);
+
+int dns_scope_announce(DnsScope *scope, bool goodbye);
index 22c64e849160de5a56a862c52ae040143fd9eafe..5498f7b9cbdcd0f985f626a9652a64b16383b857 100644 (file)
@@ -28,7 +28,7 @@
 #include "string-util.h"
 
 /* After how much time to repeat classic DNS requests */
-#define DNS_TIMEOUT_MIN_USEC (500 * USEC_PER_MSEC)
+#define DNS_TIMEOUT_MIN_USEC (750 * USEC_PER_MSEC)
 #define DNS_TIMEOUT_MAX_USEC (5 * USEC_PER_SEC)
 
 /* The amount of time to wait before retrying with a full feature set */
@@ -399,12 +399,24 @@ static bool dns_server_grace_period_expired(DnsServer *s) {
 }
 
 DnsServerFeatureLevel dns_server_possible_feature_level(DnsServer *s) {
+        DnsServerFeatureLevel best;
+
         assert(s);
 
-        if (s->possible_feature_level != DNS_SERVER_FEATURE_LEVEL_BEST &&
-            dns_server_grace_period_expired(s)) {
+        /* Determine the best feature level we care about. If DNSSEC mode is off there's no point in using anything
+         * better than EDNS0, hence don't even try. */
+        best = dns_server_get_dnssec_mode(s) == DNSSEC_NO ?
+                DNS_SERVER_FEATURE_LEVEL_EDNS0 :
+                DNS_SERVER_FEATURE_LEVEL_BEST;
+
+        /* Clamp the feature level the highest level we care about. The DNSSEC mode might have changed since the last
+         * time, hence let's downgrade if we are still at a higher level. */
+        if (s->possible_feature_level > best)
+                s->possible_feature_level = best;
+
+        if (s->possible_feature_level < best && dns_server_grace_period_expired(s)) {
 
-                s->possible_feature_level = DNS_SERVER_FEATURE_LEVEL_BEST;
+                s->possible_feature_level = best;
 
                 dns_server_reset_counters(s);
 
@@ -415,6 +427,8 @@ DnsServerFeatureLevel dns_server_possible_feature_level(DnsServer *s) {
                          dns_server_feature_level_to_string(s->possible_feature_level),
                          dns_server_string(s));
 
+                dns_server_flush_cache(s);
+
         } else if (s->possible_feature_level <= s->verified_feature_level)
                 s->possible_feature_level = s->verified_feature_level;
         else {
@@ -451,18 +465,22 @@ DnsServerFeatureLevel dns_server_possible_feature_level(DnsServer *s) {
                         s->possible_feature_level = DNS_SERVER_FEATURE_LEVEL_EDNS0;
 
                 } else if (s->n_failed_udp >= DNS_SERVER_FEATURE_RETRY_ATTEMPTS &&
-                            s->possible_feature_level >= DNS_SERVER_FEATURE_LEVEL_UDP) {
+                           s->possible_feature_level >= (dns_server_get_dnssec_mode(s) == DNSSEC_YES ? DNS_SERVER_FEATURE_LEVEL_LARGE : DNS_SERVER_FEATURE_LEVEL_UDP)) {
 
                         /* We lost too many UDP packets in a row, and are on a feature level of UDP or higher. If the
                          * packets are lost, maybe the server cannot parse them, hence downgrading sounds like a good
-                         * idea. We might downgrade all the way down to TCP this way. */
+                         * idea. We might downgrade all the way down to TCP this way.
+                         *
+                         * If strict DNSSEC mode is used we won't downgrade below DO level however, as packet loss
+                         * might have many reasons, a broken DNSSEC implementation being only one reason. And if the
+                         * user is strict on DNSSEC, then let's assume that DNSSEC is not the fault here. */
 
                         log_debug("Lost too many UDP packets, downgrading feature level...");
                         s->possible_feature_level--;
 
                 } else if (s->n_failed_tcp >= DNS_SERVER_FEATURE_RETRY_ATTEMPTS &&
                            s->packet_truncated &&
-                           s->possible_feature_level > DNS_SERVER_FEATURE_LEVEL_UDP) {
+                           s->possible_feature_level > (dns_server_get_dnssec_mode(s) == DNSSEC_YES ? DNS_SERVER_FEATURE_LEVEL_LARGE : DNS_SERVER_FEATURE_LEVEL_UDP)) {
 
                          /* We got too many TCP connection failures in a row, we had at least one truncated packet, and
                           * are on a feature level above UDP. By downgrading things and getting rid of DNSSEC or EDNS0
@@ -566,7 +584,7 @@ void dns_server_warn_downgrade(DnsServer *server) {
                 return;
 
         log_struct(LOG_NOTICE,
-                   LOG_MESSAGE_ID(SD_MESSAGE_DNSSEC_DOWNGRADE),
+                   "MESSAGE_ID=" SD_MESSAGE_DNSSEC_DOWNGRADE_STR,
                    LOG_MESSAGE("Server %s does not support DNSSEC, downgrading to non-DNSSEC mode.", dns_server_string(server)),
                    "DNS_SERVER=%s", dns_server_string(server),
                    "DNS_SERVER_FEATURE_LEVEL=%s", dns_server_feature_level_to_string(server->possible_feature_level),
@@ -779,6 +797,34 @@ bool dns_server_address_valid(int family, const union in_addr_union *sa) {
         return true;
 }
 
+DnssecMode dns_server_get_dnssec_mode(DnsServer *s) {
+        assert(s);
+
+        if (s->link)
+                return link_get_dnssec_mode(s->link);
+
+        return manager_get_dnssec_mode(s->manager);
+}
+
+void dns_server_flush_cache(DnsServer *s) {
+        DnsServer *current;
+        DnsScope *scope;
+
+        assert(s);
+
+        /* Flush the cache of the scope this server belongs to */
+
+        current = s->link ? s->link->current_dns_server : s->manager->current_dns_server;
+        if (current != s)
+                return;
+
+        scope = s->link ? s->link->unicast_scope : s->manager->unicast_scope;
+        if (!scope)
+                return;
+
+        dns_cache_flush(&scope->cache);
+}
+
 static const char* const dns_server_type_table[_DNS_SERVER_TYPE_MAX] = {
         [DNS_SERVER_SYSTEM] = "system",
         [DNS_SERVER_FALLBACK] = "fallback",
index 83e288a202322e0dbd29f605828e45596e583fcd..bc95d53c6a81aa1f8c3735694cbe736c655ad57c 100644 (file)
@@ -144,6 +144,10 @@ void manager_next_dns_server(Manager *m);
 
 bool dns_server_address_valid(int family, const union in_addr_union *sa);
 
+DnssecMode dns_server_get_dnssec_mode(DnsServer *s);
+
 DEFINE_TRIVIAL_CLEANUP_FUNC(DnsServer*, dns_server_unref);
 
 extern const struct hash_ops dns_server_hash_ops;
+
+void dns_server_flush_cache(DnsServer *s);
index 4a3c5f612fd41a32071d77da6ccf632440c09006..7afbfedfb078595bb0419bfa4199dae037d60c8c 100644 (file)
@@ -29,49 +29,33 @@ static int manager_dns_stub_udp_fd(Manager *m);
 static int manager_dns_stub_tcp_fd(Manager *m);
 
 static int dns_stub_make_reply_packet(
-                uint16_t id,
-                int rcode,
+                DnsPacket **p,
                 DnsQuestion *q,
-                DnsAnswer *answer,
-                bool add_opt,   /* add an OPT RR to this packet */
-                bool edns0_do,  /* set the EDNS0 DNSSEC OK bit */
-                bool ad,        /* set the DNSSEC authenticated data bit */
-                DnsPacket **ret) {
+                DnsAnswer *answer) {
 
-        _cleanup_(dns_packet_unrefp) DnsPacket *p = NULL;
         DnsResourceRecord *rr;
         unsigned c = 0;
         int r;
 
+        assert(p);
+
         /* Note that we don't bother with any additional RRs, as this is stub is for local lookups only, and hence
          * roundtrips aren't expensive. */
 
-        r = dns_packet_new(&p, DNS_PROTOCOL_DNS, 0);
-        if (r < 0)
-                return r;
-
-        /* If the client didn't do EDNS, clamp the rcode to 4 bit */
-        if (!add_opt && rcode > 0xF)
-                rcode = DNS_RCODE_SERVFAIL;
+        if (!*p) {
+                r = dns_packet_new(p, DNS_PROTOCOL_DNS, 0);
+                if (r < 0)
+                        return r;
 
-        DNS_PACKET_HEADER(p)->id = id;
-        DNS_PACKET_HEADER(p)->flags = htobe16(DNS_PACKET_MAKE_FLAGS(
-                                                              1 /* qr */,
-                                                              0 /* opcode */,
-                                                              0 /* aa */,
-                                                              0 /* tc */,
-                                                              1 /* rd */,
-                                                              1 /* ra */,
-                                                              ad /* ad */,
-                                                              0 /* cd */,
-                                                              rcode));
+                r = dns_packet_append_question(*p, q);
+                if (r < 0)
+                        return r;
 
-        r = dns_packet_append_question(p, q);
-        if (r < 0)
-                return r;
-        DNS_PACKET_HEADER(p)->qdcount = htobe16(dns_question_size(q));
+                DNS_PACKET_HEADER(*p)->qdcount = htobe16(dns_question_size(q));
+        }
 
         DNS_ANSWER_FOREACH(rr, answer) {
+
                 r = dns_question_matches_rr(q, rr, NULL);
                 if (r < 0)
                         return r;
@@ -86,13 +70,55 @@ static int dns_stub_make_reply_packet(
 
                 continue;
         add:
-                r = dns_packet_append_rr(p, rr, NULL, NULL);
+                r = dns_packet_append_rr(*p, rr, 0, NULL, NULL);
                 if (r < 0)
                         return r;
 
                 c++;
         }
-        DNS_PACKET_HEADER(p)->ancount = htobe16(c);
+
+        DNS_PACKET_HEADER(*p)->ancount = htobe16(be16toh(DNS_PACKET_HEADER(*p)->ancount) + c);
+
+        return 0;
+}
+
+static int dns_stub_finish_reply_packet(
+                DnsPacket *p,
+                uint16_t id,
+                int rcode,
+                bool add_opt,   /* add an OPT RR to this packet? */
+                bool edns0_do,  /* set the EDNS0 DNSSEC OK bit? */
+                bool ad) {      /* set the DNSSEC authenticated data bit? */
+
+        int r;
+
+        assert(p);
+
+        if (!add_opt) {
+                /* If the client can't to EDNS0, don't do DO either */
+                edns0_do = false;
+
+                /* If the client didn't do EDNS, clamp the rcode to 4 bit */
+                if (rcode > 0xF)
+                        rcode = DNS_RCODE_SERVFAIL;
+        }
+
+        /* Don't set the AD bit unless DO is on, too */
+        if (!edns0_do)
+                ad = false;
+
+        DNS_PACKET_HEADER(p)->id = id;
+
+        DNS_PACKET_HEADER(p)->flags = htobe16(DNS_PACKET_MAKE_FLAGS(
+                                                              1 /* qr */,
+                                                              0 /* opcode */,
+                                                              0 /* aa */,
+                                                              0 /* tc */,
+                                                              1 /* rd */,
+                                                              1 /* ra */,
+                                                              ad /* ad */,
+                                                              0 /* cd */,
+                                                              rcode));
 
         if (add_opt) {
                 r = dns_packet_append_opt(p, ADVERTISE_DATAGRAM_SIZE_MAX, edns0_do, rcode, NULL);
@@ -100,9 +126,6 @@ static int dns_stub_make_reply_packet(
                         return r;
         }
 
-        *ret = p;
-        p = NULL;
-
         return 0;
 }
 
@@ -148,14 +171,18 @@ static int dns_stub_send(Manager *m, DnsStream *s, DnsPacket *p, DnsPacket *repl
         return 0;
 }
 
-static int dns_stub_send_failure(Manager *m, DnsStream *s, DnsPacket *p, int rcode) {
+static int dns_stub_send_failure(Manager *m, DnsStream *s, DnsPacket *p, int rcode, bool authenticated) {
         _cleanup_(dns_packet_unrefp) DnsPacket *reply = NULL;
         int r;
 
         assert(m);
         assert(p);
 
-        r = dns_stub_make_reply_packet(DNS_PACKET_ID(p), rcode, p->question, NULL, !!p->opt, DNS_PACKET_DO(p), false, &reply);
+        r = dns_stub_make_reply_packet(&reply, p->question, NULL);
+        if (r < 0)
+                return log_debug_errno(r, "Failed to make failure packet: %m");
+
+        r = dns_stub_finish_reply_packet(reply, DNS_PACKET_ID(p), rcode, !!p->opt, DNS_PACKET_DO(p), authenticated);
         if (r < 0)
                 return log_debug_errno(r, "Failed to build failure packet: %m");
 
@@ -170,33 +197,47 @@ static void dns_stub_query_complete(DnsQuery *q) {
 
         switch (q->state) {
 
-        case DNS_TRANSACTION_SUCCESS: {
-                _cleanup_(dns_packet_unrefp) DnsPacket *reply = NULL;
+        case DNS_TRANSACTION_SUCCESS:
+
+                r = dns_stub_make_reply_packet(&q->reply_dns_packet, q->question_idna, q->answer);
+                if (r < 0) {
+                        log_debug_errno(r, "Failed to build reply packet: %m");
+                        break;
+                }
 
-                r = dns_stub_make_reply_packet(
+                r = dns_query_process_cname(q);
+                if (r == -ELOOP) {
+                        (void) dns_stub_send_failure(q->manager, q->request_dns_stream, q->request_dns_packet, DNS_RCODE_SERVFAIL, false);
+                        break;
+                }
+                if (r < 0) {
+                        log_debug_errno(r, "Failed to process CNAME: %m");
+                        break;
+                }
+                if (r == DNS_QUERY_RESTARTED)
+                        return;
+
+                r = dns_stub_finish_reply_packet(
+                                q->reply_dns_packet,
                                 DNS_PACKET_ID(q->request_dns_packet),
                                 q->answer_rcode,
-                                q->question_idna,
-                                q->answer,
                                 !!q->request_dns_packet->opt,
                                 DNS_PACKET_DO(q->request_dns_packet),
-                                DNS_PACKET_DO(q->request_dns_packet) && q->answer_authenticated,
-                                &reply);
+                                dns_query_fully_authenticated(q));
                 if (r < 0) {
-                        log_debug_errno(r, "Failed to build reply packet: %m");
+                        log_debug_errno(r, "Failed to finish reply packet: %m");
                         break;
                 }
 
-                (void) dns_stub_send(q->manager, q->request_dns_stream, q->request_dns_packet, reply);
+                (void) dns_stub_send(q->manager, q->request_dns_stream, q->request_dns_packet, q->reply_dns_packet);
                 break;
-        }
 
         case DNS_TRANSACTION_RCODE_FAILURE:
-                (void) dns_stub_send_failure(q->manager, q->request_dns_stream, q->request_dns_packet, q->answer_rcode);
+                (void) dns_stub_send_failure(q->manager, q->request_dns_stream, q->request_dns_packet, q->answer_rcode, dns_query_fully_authenticated(q));
                 break;
 
         case DNS_TRANSACTION_NOT_FOUND:
-                (void) dns_stub_send_failure(q->manager, q->request_dns_stream, q->request_dns_packet, DNS_RCODE_NXDOMAIN);
+                (void) dns_stub_send_failure(q->manager, q->request_dns_stream, q->request_dns_packet, DNS_RCODE_NXDOMAIN, dns_query_fully_authenticated(q));
                 break;
 
         case DNS_TRANSACTION_TIMEOUT:
@@ -212,7 +253,7 @@ static void dns_stub_query_complete(DnsQuery *q) {
         case DNS_TRANSACTION_NO_TRUST_ANCHOR:
         case DNS_TRANSACTION_RR_TYPE_UNSUPPORTED:
         case DNS_TRANSACTION_NETWORK_DOWN:
-                (void) dns_stub_send_failure(q->manager, q->request_dns_stream, q->request_dns_packet, DNS_RCODE_SERVFAIL);
+                (void) dns_stub_send_failure(q->manager, q->request_dns_stream, q->request_dns_packet, DNS_RCODE_SERVFAIL, false);
                 break;
 
         case DNS_TRANSACTION_NULL:
@@ -259,52 +300,52 @@ static void dns_stub_process_query(Manager *m, DnsStream *s, DnsPacket *p) {
         if (in_addr_is_localhost(p->family, &p->sender) <= 0 ||
             in_addr_is_localhost(p->family, &p->destination) <= 0) {
                 log_error("Got packet on unexpected IP range, refusing.");
-                dns_stub_send_failure(m, s, p, DNS_RCODE_SERVFAIL);
+                dns_stub_send_failure(m, s, p, DNS_RCODE_SERVFAIL, false);
                 goto fail;
         }
 
         r = dns_packet_extract(p);
         if (r < 0) {
                 log_debug_errno(r, "Failed to extract resources from incoming packet, ignoring packet: %m");
-                dns_stub_send_failure(m, s, p, DNS_RCODE_FORMERR);
+                dns_stub_send_failure(m, s, p, DNS_RCODE_FORMERR, false);
                 goto fail;
         }
 
         if (!DNS_PACKET_VERSION_SUPPORTED(p)) {
                 log_debug("Got EDNS OPT field with unsupported version number.");
-                dns_stub_send_failure(m, s, p, DNS_RCODE_BADVERS);
+                dns_stub_send_failure(m, s, p, DNS_RCODE_BADVERS, false);
                 goto fail;
         }
 
         if (dns_type_is_obsolete(p->question->keys[0]->type)) {
                 log_debug("Got message with obsolete key type, refusing.");
-                dns_stub_send_failure(m, s, p, DNS_RCODE_NOTIMP);
+                dns_stub_send_failure(m, s, p, DNS_RCODE_NOTIMP, false);
                 goto fail;
         }
 
         if (dns_type_is_zone_transer(p->question->keys[0]->type)) {
                 log_debug("Got request for zone transfer, refusing.");
-                dns_stub_send_failure(m, s, p, DNS_RCODE_NOTIMP);
+                dns_stub_send_failure(m, s, p, DNS_RCODE_NOTIMP, false);
                 goto fail;
         }
 
         if (!DNS_PACKET_RD(p))  {
                 /* If the "rd" bit is off (i.e. recursion was not requested), then refuse operation */
                 log_debug("Got request with recursion disabled, refusing.");
-                dns_stub_send_failure(m, s, p, DNS_RCODE_REFUSED);
+                dns_stub_send_failure(m, s, p, DNS_RCODE_REFUSED, false);
                 goto fail;
         }
 
         if (DNS_PACKET_DO(p) && DNS_PACKET_CD(p)) {
                 log_debug("Got request with DNSSEC CD bit set, refusing.");
-                dns_stub_send_failure(m, s, p, DNS_RCODE_NOTIMP);
+                dns_stub_send_failure(m, s, p, DNS_RCODE_NOTIMP, false);
                 goto fail;
         }
 
-        r = dns_query_new(m, &q, p->question, p->question, 0, SD_RESOLVED_PROTOCOLS_ALL|SD_RESOLVED_NO_SEARCH|SD_RESOLVED_NO_CNAME);
+        r = dns_query_new(m, &q, p->question, p->question, 0, SD_RESOLVED_PROTOCOLS_ALL|SD_RESOLVED_NO_SEARCH);
         if (r < 0) {
                 log_error_errno(r, "Failed to generate query object: %m");
-                dns_stub_send_failure(m, s, p, DNS_RCODE_SERVFAIL);
+                dns_stub_send_failure(m, s, p, DNS_RCODE_SERVFAIL, false);
                 goto fail;
         }
 
@@ -324,7 +365,7 @@ static void dns_stub_process_query(Manager *m, DnsStream *s, DnsPacket *p) {
         r = dns_query_go(q);
         if (r < 0) {
                 log_error_errno(r, "Failed to start query: %m");
-                dns_stub_send_failure(m, s, p, DNS_RCODE_SERVFAIL);
+                dns_stub_send_failure(m, s, p, DNS_RCODE_SERVFAIL, false);
                 goto fail;
         }
 
index 2fce44ec8b74e0d821572e2c8f0a4689cdda39e7..ecd70686836b98ceac5d7628cda347fb70ed255b 100644 (file)
@@ -31,6 +31,7 @@
 #include "string-table.h"
 
 #define TRANSACTIONS_MAX 4096
+#define TRANSACTION_TCP_TIMEOUT_USEC (10U*USEC_PER_SEC)
 
 static void dns_transaction_reset_answer(DnsTransaction *t) {
         assert(t);
@@ -318,7 +319,7 @@ void dns_transaction_complete(DnsTransaction *t, DnsTransactionState state) {
                 dns_resource_key_to_string(t->key, key_str, sizeof key_str);
 
                 log_struct(LOG_NOTICE,
-                           LOG_MESSAGE_ID(SD_MESSAGE_DNSSEC_FAILURE),
+                           "MESSAGE_ID=" SD_MESSAGE_DNSSEC_FAILURE_STR,
                            LOG_MESSAGE("DNSSEC validation failed for question %s: %s", key_str, dnssec_result_to_string(t->answer_dnssec_result)),
                            "DNS_TRANSACTION=%" PRIu16, t->id,
                            "DNS_QUESTION=%s", key_str,
@@ -363,6 +364,8 @@ void dns_transaction_complete(DnsTransaction *t, DnsTransactionState state) {
         SET_FOREACH_MOVE(z, t->notify_zone_items_done, t->notify_zone_items)
                 dns_zone_item_notify(z);
         SWAP_TWO(t->notify_zone_items, t->notify_zone_items_done);
+        if (t->probing)
+                (void) dns_scope_announce(t->scope, false);
 
         SET_FOREACH_MOVE(d, t->notify_transactions_done, t->notify_transactions)
                 dns_transaction_notify(d, t);
@@ -830,7 +833,7 @@ void dns_transaction_process_reply(DnsTransaction *t, DnsPacket *p) {
          * should hence not attempt to access the query or transaction
          * after calling this function. */
 
-        log_debug("Processing incoming packet on transaction %" PRIu16".", t->id);
+        log_debug("Processing incoming packet on transaction %" PRIu16". (rcode=%s)", t->id, dns_rcode_to_string(DNS_PACKET_RCODE(p)));
 
         switch (t->scope->protocol) {
 
@@ -908,9 +911,13 @@ void dns_transaction_process_reply(DnsTransaction *t, DnsPacket *p) {
 
                         /* Request failed, immediately try again with reduced features */
 
-                        if (t->current_feature_level <= DNS_SERVER_FEATURE_LEVEL_WORST) {
-                                /* This was already at the lowest possible feature level? If so, we can't downgrade
-                                 * this transaction anymore, hence let's process the response, and accept the rcode. */
+                        if (t->current_feature_level <= DNS_SERVER_FEATURE_LEVEL_UDP) {
+                                /* This was already at UDP feature level? If so, it doesn't make sense to downgrade
+                                 * this transaction anymore, hence let's process the response, and accept the
+                                 * rcode. Note that we don't retry on TCP, since that's a suitable way to mitigate
+                                 * packet loss, but is not going to give us better rcodes should we actually have
+                                 * managed to get them already at UDP level. */
+
                                 log_debug("Server returned error: %s", dns_rcode_to_string(DNS_PACKET_RCODE(p)));
                                 break;
                         }
@@ -924,7 +931,16 @@ void dns_transaction_process_reply(DnsTransaction *t, DnsPacket *p) {
 
                         dns_transaction_retry(t, false /* use the same server */);
                         return;
-                } else if (DNS_PACKET_TC(p))
+                }
+
+                if (DNS_PACKET_RCODE(p) == DNS_RCODE_REFUSED) {
+                        /* This server refused our request? If so, try again, use a different server */
+                        log_debug("Server returned REFUSED, switching servers, and retrying.");
+                        dns_transaction_retry(t, true /* pick a new server */);
+                        return;
+                }
+
+                if (DNS_PACKET_TC(p))
                         dns_server_packet_truncated(t->server, t->current_feature_level);
 
                 break;
@@ -1003,15 +1019,20 @@ void dns_transaction_process_reply(DnsTransaction *t, DnsPacket *p) {
         if (r > 0) /* Transaction got restarted... */
                 return;
 
-        if (IN_SET(t->scope->protocol, DNS_PROTOCOL_DNS, DNS_PROTOCOL_LLMNR)) {
+        if (IN_SET(t->scope->protocol, DNS_PROTOCOL_DNS, DNS_PROTOCOL_LLMNR, DNS_PROTOCOL_MDNS)) {
 
-                /* Only consider responses with equivalent query section to the request */
-                r = dns_packet_is_reply_for(p, t->key);
-                if (r < 0)
-                        goto fail;
-                if (r == 0) {
-                        dns_transaction_complete(t, DNS_TRANSACTION_INVALID_REPLY);
-                        return;
+                /* When dealing with protocols other than mDNS only consider responses with
+                 * equivalent query section to the request. For mDNS this check doesn't make
+                 * sense, because the section 6 of RFC6762 states that "Multicast DNS responses MUST NOT
+                 * contain any questions in the Question Section". */
+                if (t->scope->protocol != DNS_PROTOCOL_MDNS) {
+                        r = dns_packet_is_reply_for(p, t->key);
+                        if (r < 0)
+                                goto fail;
+                        if (r == 0) {
+                                dns_transaction_complete(t, DNS_TRANSACTION_INVALID_REPLY);
+                                return;
+                        }
                 }
 
                 /* Install the answer as answer to the transaction */
@@ -1119,7 +1140,7 @@ static int dns_transaction_emit_udp(DnsTransaction *t) {
                         return r;
 
                 if (t->current_feature_level < DNS_SERVER_FEATURE_LEVEL_UDP)
-                        return -EAGAIN;
+                        return -EAGAIN; /* Sorry, can't do UDP, try TCP! */
 
                 if (!dns_server_dnssec_supported(t->server) && dns_type_is_dnssec(t->key->type))
                         return -EOPNOTSUPP;
@@ -1196,15 +1217,26 @@ static usec_t transaction_get_resend_timeout(DnsTransaction *t) {
         assert(t);
         assert(t->scope);
 
+
         switch (t->scope->protocol) {
 
         case DNS_PROTOCOL_DNS:
+
+                /* When we do TCP, grant a much longer timeout, as in this case there's no need for us to quickly
+                 * resend, as the kernel does that anyway for us, and we really don't want to interrupt it in that
+                 * needlessly. */
+                if (t->stream)
+                        return TRANSACTION_TCP_TIMEOUT_USEC;
+
                 assert(t->server);
                 return t->server->resend_timeout;
 
         case DNS_PROTOCOL_MDNS:
                 assert(t->n_attempts > 0);
-                return (1 << (t->n_attempts - 1)) * USEC_PER_SEC;
+                if (t->probing)
+                        return MDNS_PROBING_INTERVAL_USEC;
+                else
+                        return (1 << (t->n_attempts - 1)) * USEC_PER_SEC;
 
         case DNS_PROTOCOL_LLMNR:
                 return t->scope->resend_timeout;
@@ -1358,7 +1390,7 @@ static int dns_transaction_make_packet_mdns(DnsTransaction *t) {
         if (r < 0)
                 return r;
 
-        r = dns_packet_append_key(p, t->key, NULL);
+        r = dns_packet_append_key(p, t->key, 0, NULL);
         if (r < 0)
                 return r;
 
@@ -1390,7 +1422,7 @@ static int dns_transaction_make_packet_mdns(DnsTransaction *t) {
                 if (qdcount >= UINT16_MAX)
                         break;
 
-                r = dns_packet_append_key(p, other->key, NULL);
+                r = dns_packet_append_key(p, other->key, 0, NULL);
 
                 /*
                  * If we can't stuff more questions into the packet, just give up.
@@ -1417,7 +1449,7 @@ static int dns_transaction_make_packet_mdns(DnsTransaction *t) {
                 if (r < 0)
                         return r;
 
-                (void) sd_event_source_set_description(t->timeout_event_source, "dns-transaction-timeout");
+                (void) sd_event_source_set_description(other->timeout_event_source, "dns-transaction-timeout");
 
                 other->state = DNS_TRANSACTION_PENDING;
                 other->next_attempt_after = ts;
@@ -1459,7 +1491,7 @@ static int dns_transaction_make_packet(DnsTransaction *t) {
         if (r < 0)
                 return r;
 
-        r = dns_packet_append_key(p, t->key, NULL);
+        r = dns_packet_append_key(p, t->key, 0, NULL);
         if (r < 0)
                 return r;
 
@@ -1560,7 +1592,7 @@ int dns_transaction_go(DnsTransaction *t) {
                 r = dns_transaction_emit_udp(t);
                 if (r == -EMSGSIZE)
                         log_debug("Sending query via TCP since it is too large.");
-                if (r == -EAGAIN)
+                else if (r == -EAGAIN)
                         log_debug("Sending query via TCP since server doesn't support UDP.");
                 if (r == -EMSGSIZE || r == -EAGAIN)
                         r = dns_transaction_open_tcp(t);
@@ -1977,8 +2009,18 @@ int dns_transaction_request_dnssec_keys(DnsTransaction *t) {
                         r = dns_resource_key_match_rr(t->key, rr, NULL);
                         if (r < 0)
                                 return r;
-                        if (r == 0)
-                                continue;
+                        if (r == 0) {
+                                /* Hmm, so this SOA RR doesn't match our original question. In this case, maybe this is
+                                 * a negative reply, and we need the a SOA RR's TTL in order to cache a negative entry?
+                                 * If so, we need to validate it, too. */
+
+                                r = dns_answer_match_key(t->answer, t->key, NULL);
+                                if (r < 0)
+                                        return r;
+                                if (r > 0) /* positive reply, we won't need the SOA and hence don't need to validate
+                                            * it. */
+                                        continue;
+                        }
 
                         r = dnssec_has_rrsig(t->answer, rr->key);
                         if (r < 0)
index 5a1df704220262cc2c61afe532311d7c80148d9d..a8d97738efcd89fc70788dd15b037fe2c1253bc0 100644 (file)
@@ -78,6 +78,8 @@ struct DnsTransaction {
 
         bool clamp_ttl:1;
 
+        bool probing:1;
+
         DnsPacket *sent, *received;
 
         DnsAnswer *answer;
@@ -172,10 +174,20 @@ DnsTransactionSource dns_transaction_source_from_string(const char *s) _pure_;
 #define MDNS_JITTER_MIN_USEC   (20 * USEC_PER_MSEC)
 #define MDNS_JITTER_RANGE_USEC (100 * USEC_PER_MSEC)
 
+/* mDNS probing interval, see RFC 6762 Section 8.1 */
+#define MDNS_PROBING_INTERVAL_USEC (250 * USEC_PER_MSEC)
+
 /* Maximum attempts to send DNS requests, across all DNS servers */
-#define DNS_TRANSACTION_ATTEMPTS_MAX 16
+#define DNS_TRANSACTION_ATTEMPTS_MAX 24
 
 /* Maximum attempts to send LLMNR requests, see RFC 4795 Section 2.7 */
 #define LLMNR_TRANSACTION_ATTEMPTS_MAX 3
 
-#define TRANSACTION_ATTEMPTS_MAX(p) ((p) == DNS_PROTOCOL_LLMNR ? LLMNR_TRANSACTION_ATTEMPTS_MAX : DNS_TRANSACTION_ATTEMPTS_MAX)
+/* Maximum attempts to send MDNS requests, see RFC 6762 Section 8.1 */
+#define MDNS_TRANSACTION_ATTEMPTS_MAX 3
+
+#define TRANSACTION_ATTEMPTS_MAX(p) (((p) == DNS_PROTOCOL_LLMNR) ? \
+                                         LLMNR_TRANSACTION_ATTEMPTS_MAX : \
+                                         (((p) == DNS_PROTOCOL_MDNS) ? \
+                                             MDNS_TRANSACTION_ATTEMPTS_MAX : \
+                                             DNS_TRANSACTION_ATTEMPTS_MAX))
index 9917b9e9843aaec45b7b77fdb0fb51167c4da141..7e08cba4e1f67cb8724d300c75a61dcaa1aa60f5 100644 (file)
@@ -547,10 +547,33 @@ int dns_trust_anchor_lookup_positive(DnsTrustAnchor *d, const DnsResourceKey *ke
 }
 
 int dns_trust_anchor_lookup_negative(DnsTrustAnchor *d, const char *name) {
+        int r;
+
         assert(d);
         assert(name);
 
-        return set_contains(d->negative_by_name, name);
+        for (;;) {
+                /* If the domain is listed as-is in the NTA database, then that counts */
+                if (set_contains(d->negative_by_name, name))
+                        return true;
+
+                /* If the domain isn't listed as NTA, but is listed as positive trust anchor, then that counts. See RFC
+                 * 7646, section 1.1 */
+                if (hashmap_contains(d->positive_by_key, &DNS_RESOURCE_KEY_CONST(DNS_CLASS_IN, DNS_TYPE_DS, name)))
+                        return false;
+
+                if (hashmap_contains(d->positive_by_key, &DNS_RESOURCE_KEY_CONST(DNS_CLASS_IN, DNS_TYPE_KEY, name)))
+                        return false;
+
+                /* And now, let's look at the parent, and check that too */
+                r = dns_name_parent(&name);
+                if (r < 0)
+                        return r;
+                if (r == 0)
+                        break;
+        }
+
+        return false;
 }
 
 static int dns_trust_anchor_revoked_put(DnsTrustAnchor *d, DnsResourceRecord *rr) {
@@ -594,7 +617,7 @@ static int dns_trust_anchor_remove_revoked(DnsTrustAnchor *d, DnsResourceRecord
 
         /* We found the key! Warn the user */
         log_struct(LOG_WARNING,
-                   LOG_MESSAGE_ID(SD_MESSAGE_DNSSEC_TRUST_ANCHOR_REVOKED),
+                   "MESSAGE_ID=" SD_MESSAGE_DNSSEC_TRUST_ANCHOR_REVOKED_STR,
                    LOG_MESSAGE("DNSSEC Trust anchor %s has been revoked. Please update the trust anchor, or upgrade your operating system."), strna(dns_resource_record_to_string(rr)),
                    "TRUST_ANCHOR=%s", dns_resource_record_to_string(rr),
                    NULL);
index 746a979f47d1d6c0f125735a04b8a5c1e3621ff0..ad024b54f5d4d474a30e92db49352758e998afe9 100644 (file)
@@ -196,6 +196,7 @@ static int dns_zone_item_probe_start(DnsZoneItem *i)  {
                 goto gc;
 
         i->probe_transaction = t;
+        t->probing = true;
 
         if (t->state == DNS_TRANSACTION_NULL) {
 
index a41df37e6b4340276b528d4584b7d88942ac7979..545ec958fb46fd416743db1d92c98f0f4fbac88a 100644 (file)
@@ -37,6 +37,9 @@ typedef enum DnsZoneItemState DnsZoneItemState;
 /* RFC 4795 Section 2.8. suggests a TTL of 30s by default */
 #define LLMNR_DEFAULT_TTL (30)
 
+/* RFC 6762 Section 10. suggests a TTL of 120s by default */
+#define MDNS_DEFAULT_TTL (120)
+
 enum DnsZoneItemState {
         DNS_ZONE_ITEM_PROBING,
         DNS_ZONE_ITEM_ESTABLISHED,
index e7e5c5f5a7b36391617efa3f640e154aec55335d..44c0cd654f47ec9a824acd9d7412b718a3f8771d 100644 (file)
@@ -85,6 +85,10 @@ Link *link_free(Link *l) {
         if (!l)
                 return NULL;
 
+        /* Send goodbye messages. */
+        dns_scope_announce(l->mdns_ipv4_scope, true);
+        dns_scope_announce(l->mdns_ipv6_scope, true);
+
         link_flush_settings(l);
 
         while (l->addresses)
@@ -665,6 +669,7 @@ int link_address_new(Link *l, LinkAddress **ret, int family, const union in_addr
 
         a->link = l;
         LIST_PREPEND(addresses, l->addresses, a);
+        l->n_addresses++;
 
         if (ret)
                 *ret = a;
@@ -679,6 +684,9 @@ LinkAddress *link_address_free(LinkAddress *a) {
         if (a->link) {
                 LIST_REMOVE(addresses, a->link->addresses, a);
 
+                assert(a->link->n_addresses > 0);
+                a->link->n_addresses--;
+
                 if (a->llmnr_address_rr) {
                         if (a->family == AF_INET && a->link->llmnr_ipv4_scope)
                                 dns_zone_remove_rr(&a->link->llmnr_ipv4_scope->zone, a->llmnr_address_rr);
@@ -692,10 +700,26 @@ LinkAddress *link_address_free(LinkAddress *a) {
                         else if (a->family == AF_INET6 && a->link->llmnr_ipv6_scope)
                                 dns_zone_remove_rr(&a->link->llmnr_ipv6_scope->zone, a->llmnr_ptr_rr);
                 }
+
+                if (a->mdns_address_rr) {
+                        if (a->family == AF_INET && a->link->mdns_ipv4_scope)
+                                dns_zone_remove_rr(&a->link->mdns_ipv4_scope->zone, a->mdns_address_rr);
+                        else if (a->family == AF_INET6 && a->link->mdns_ipv6_scope)
+                                dns_zone_remove_rr(&a->link->mdns_ipv6_scope->zone, a->mdns_address_rr);
+                }
+
+                if (a->mdns_ptr_rr) {
+                        if (a->family == AF_INET && a->link->mdns_ipv4_scope)
+                                dns_zone_remove_rr(&a->link->mdns_ipv4_scope->zone, a->mdns_ptr_rr);
+                        else if (a->family == AF_INET6 && a->link->mdns_ipv6_scope)
+                                dns_zone_remove_rr(&a->link->mdns_ipv6_scope->zone, a->mdns_ptr_rr);
+                }
         }
 
         dns_resource_record_unref(a->llmnr_address_rr);
         dns_resource_record_unref(a->llmnr_ptr_rr);
+        dns_resource_record_unref(a->mdns_address_rr);
+        dns_resource_record_unref(a->mdns_ptr_rr);
 
         return mfree(a);
 }
@@ -746,7 +770,7 @@ void link_address_add_rrs(LinkAddress *a, bool force_remove) {
 
                         r = dns_zone_put(&a->link->llmnr_ipv4_scope->zone, a->link->llmnr_ipv4_scope, a->llmnr_ptr_rr, false);
                         if (r < 0)
-                                log_warning_errno(r, "Failed to add IPv6 PTR record to LLMNR zone: %m");
+                                log_warning_errno(r, "Failed to add IPv4 PTR record to LLMNR zone: %m");
                 } else {
                         if (a->llmnr_address_rr) {
                                 if (a->link->llmnr_ipv4_scope)
@@ -760,6 +784,59 @@ void link_address_add_rrs(LinkAddress *a, bool force_remove) {
                                 a->llmnr_ptr_rr = dns_resource_record_unref(a->llmnr_ptr_rr);
                         }
                 }
+
+                if (!force_remove &&
+                    link_address_relevant(a, true) &&
+                    a->link->mdns_ipv4_scope &&
+                    a->link->mdns_support == RESOLVE_SUPPORT_YES &&
+                    a->link->manager->mdns_support == RESOLVE_SUPPORT_YES) {
+                        if (!a->link->manager->mdns_host_ipv4_key) {
+                                a->link->manager->mdns_host_ipv4_key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_A, a->link->manager->mdns_hostname);
+                                if (!a->link->manager->mdns_host_ipv4_key) {
+                                        r = -ENOMEM;
+                                        goto fail;
+                                }
+                        }
+
+                        if (!a->mdns_address_rr) {
+                                a->mdns_address_rr = dns_resource_record_new(a->link->manager->mdns_host_ipv4_key);
+                                if (!a->mdns_address_rr) {
+                                        r = -ENOMEM;
+                                        goto fail;
+                                }
+
+                                a->mdns_address_rr->a.in_addr = a->in_addr.in;
+                                a->mdns_address_rr->ttl = MDNS_DEFAULT_TTL;
+                        }
+
+                        if (!a->mdns_ptr_rr) {
+                                r = dns_resource_record_new_reverse(&a->mdns_ptr_rr, a->family, &a->in_addr, a->link->manager->mdns_hostname);
+                                if (r < 0)
+                                        goto fail;
+
+                                a->mdns_ptr_rr->ttl = MDNS_DEFAULT_TTL;
+                        }
+
+                        r = dns_zone_put(&a->link->mdns_ipv4_scope->zone, a->link->mdns_ipv4_scope, a->mdns_address_rr, true);
+                        if (r < 0)
+                                log_warning_errno(r, "Failed to add A record to MDNS zone: %m");
+
+                        r = dns_zone_put(&a->link->mdns_ipv4_scope->zone, a->link->mdns_ipv4_scope, a->mdns_ptr_rr, false);
+                        if (r < 0)
+                                log_warning_errno(r, "Failed to add IPv4 PTR record to MDNS zone: %m");
+                } else {
+                        if (a->mdns_address_rr) {
+                                if (a->link->mdns_ipv4_scope)
+                                        dns_zone_remove_rr(&a->link->mdns_ipv4_scope->zone, a->mdns_address_rr);
+                                a->mdns_address_rr = dns_resource_record_unref(a->mdns_address_rr);
+                        }
+
+                        if (a->mdns_ptr_rr) {
+                                if (a->link->mdns_ipv4_scope)
+                                        dns_zone_remove_rr(&a->link->mdns_ipv4_scope->zone, a->mdns_ptr_rr);
+                                a->mdns_ptr_rr = dns_resource_record_unref(a->mdns_ptr_rr);
+                        }
+                }
         }
 
         if (a->family == AF_INET6) {
@@ -817,6 +894,60 @@ void link_address_add_rrs(LinkAddress *a, bool force_remove) {
                                 a->llmnr_ptr_rr = dns_resource_record_unref(a->llmnr_ptr_rr);
                         }
                 }
+
+                if (!force_remove &&
+                    link_address_relevant(a, true) &&
+                    a->link->mdns_ipv6_scope &&
+                    a->link->mdns_support == RESOLVE_SUPPORT_YES &&
+                    a->link->manager->mdns_support == RESOLVE_SUPPORT_YES) {
+
+                        if (!a->link->manager->mdns_host_ipv6_key) {
+                                a->link->manager->mdns_host_ipv6_key = dns_resource_key_new(DNS_CLASS_IN, DNS_TYPE_AAAA, a->link->manager->mdns_hostname);
+                                if (!a->link->manager->mdns_host_ipv6_key) {
+                                        r = -ENOMEM;
+                                        goto fail;
+                                }
+                        }
+
+                        if (!a->mdns_address_rr) {
+                                a->mdns_address_rr = dns_resource_record_new(a->link->manager->mdns_host_ipv6_key);
+                                if (!a->mdns_address_rr) {
+                                        r = -ENOMEM;
+                                        goto fail;
+                                }
+
+                                a->mdns_address_rr->aaaa.in6_addr = a->in_addr.in6;
+                                a->mdns_address_rr->ttl = MDNS_DEFAULT_TTL;
+                        }
+
+                        if (!a->mdns_ptr_rr) {
+                                r = dns_resource_record_new_reverse(&a->mdns_ptr_rr, a->family, &a->in_addr, a->link->manager->mdns_hostname);
+                                if (r < 0)
+                                        goto fail;
+
+                                a->mdns_ptr_rr->ttl = MDNS_DEFAULT_TTL;
+                        }
+
+                        r = dns_zone_put(&a->link->mdns_ipv6_scope->zone, a->link->mdns_ipv6_scope, a->mdns_address_rr, true);
+                        if (r < 0)
+                                log_warning_errno(r, "Failed to add AAAA record to MDNS zone: %m");
+
+                        r = dns_zone_put(&a->link->mdns_ipv6_scope->zone, a->link->mdns_ipv6_scope, a->mdns_ptr_rr, false);
+                        if (r < 0)
+                                log_warning_errno(r, "Failed to add IPv6 PTR record to MDNS zone: %m");
+                } else {
+                        if (a->mdns_address_rr) {
+                                if (a->link->mdns_ipv6_scope)
+                                        dns_zone_remove_rr(&a->link->mdns_ipv6_scope->zone, a->mdns_address_rr);
+                                a->mdns_address_rr = dns_resource_record_unref(a->mdns_address_rr);
+                        }
+
+                        if (a->mdns_ptr_rr) {
+                                if (a->link->mdns_ipv6_scope)
+                                        dns_zone_remove_rr(&a->link->mdns_ipv6_scope->zone, a->mdns_ptr_rr);
+                                a->mdns_ptr_rr = dns_resource_record_unref(a->mdns_ptr_rr);
+                        }
+                }
         }
 
         return;
index c9b2a58c34848ee4a7b91276f48810ef0756458b..55a56b79067d6167bc6c358959fec279a4de9955 100644 (file)
@@ -47,6 +47,8 @@ struct LinkAddress {
 
         DnsResourceRecord *llmnr_address_rr;
         DnsResourceRecord *llmnr_ptr_rr;
+        DnsResourceRecord *mdns_address_rr;
+        DnsResourceRecord *mdns_ptr_rr;
 
         LIST_FIELDS(LinkAddress, addresses);
 };
@@ -58,6 +60,7 @@ struct Link {
         unsigned flags;
 
         LIST_HEAD(LinkAddress, addresses);
+        unsigned n_addresses;
 
         LIST_HEAD(DnsServer, dns_servers);
         DnsServer *current_dns_server;
index 667774b9065d35fadfabfd3b6f514d51aaec12d9..c4e4409fe38e5e43a76369ad626fc9ef36e7d7f1 100644 (file)
@@ -322,28 +322,28 @@ static int manager_network_monitor_listen(Manager *m) {
         return 0;
 }
 
-static int determine_hostname(char **llmnr_hostname, char **mdns_hostname) {
+static int determine_hostname(char **full_hostname, char **llmnr_hostname, char **mdns_hostname) {
         _cleanup_free_ char *h = NULL, *n = NULL;
         char label[DNS_LABEL_MAX];
         const char *p;
         int r, k;
 
+        assert(full_hostname);
         assert(llmnr_hostname);
         assert(mdns_hostname);
 
-        /* Extract and normalize the first label of the locally
-         * configured hostname, and check it's not "localhost". */
+        /* Extract and normalize the first label of the locally configured hostname, and check it's not "localhost". */
 
-        h = gethostname_malloc();
-        if (!h)
-                return log_oom();
+        r = gethostname_strict(&h);
+        if (r < 0)
+                return log_debug_errno(r, "Can't determine system hostname: %m");
 
         p = h;
         r = dns_label_unescape(&p, label, sizeof(label));
         if (r < 0)
                 return log_error_errno(r, "Failed to unescape host name: %m");
         if (r == 0) {
-                log_error("Couldn't find a single label in hosntame.");
+                log_error("Couldn't find a single label in hostname.");
                 return -EINVAL;
         }
 
@@ -374,32 +374,84 @@ static int determine_hostname(char **llmnr_hostname, char **mdns_hostname) {
         *llmnr_hostname = n;
         n = NULL;
 
+        *full_hostname = h;
+        h = NULL;
+
+        return 0;
+}
+
+static const char *fallback_hostname(void) {
+
+        /* Determine the fall back hostname. For exposing this system to the outside world, we cannot have it to be
+         * "localhost" even if that's the compiled in hostname. In this case, let's revert to "linux" instead. */
+
+        if (is_localhost(FALLBACK_HOSTNAME))
+                return "linux";
+
+        return FALLBACK_HOSTNAME;
+}
+
+static int make_fallback_hostnames(char **full_hostname, char **llmnr_hostname, char **mdns_hostname) {
+        _cleanup_free_ char *n = NULL, *m = NULL;
+        char label[DNS_LABEL_MAX], *h;
+        const char *p;
+        int r;
+
+        assert(full_hostname);
+        assert(llmnr_hostname);
+        assert(mdns_hostname);
+
+        p = fallback_hostname();
+        r = dns_label_unescape(&p, label, sizeof(label));
+        if (r < 0)
+                return log_error_errno(r, "Failed to unescape fallback host name: %m");
+
+        assert(r > 0); /* The fallback hostname must have at least one label */
+
+        r = dns_label_escape_new(label, r, &n);
+        if (r < 0)
+                return log_error_errno(r, "Failed to escape fallback hostname: %m");
+
+        r = dns_name_concat(n, "local", &m);
+        if (r < 0)
+                return log_error_errno(r, "Failed to concatenate mDNS hostname: %m");
+
+        h = strdup(fallback_hostname());
+        if (!h)
+                return log_oom();
+
+        *llmnr_hostname = n;
+        n = NULL;
+
+        *mdns_hostname = m;
+        m = NULL;
+
+        *full_hostname = h;
+
         return 0;
 }
 
 static int on_hostname_change(sd_event_source *es, int fd, uint32_t revents, void *userdata) {
-        _cleanup_free_ char *llmnr_hostname = NULL, *mdns_hostname = NULL;
+        _cleanup_free_ char *full_hostname = NULL, *llmnr_hostname = NULL, *mdns_hostname = NULL;
         Manager *m = userdata;
         int r;
 
         assert(m);
 
-        r = determine_hostname(&llmnr_hostname, &mdns_hostname);
+        r = determine_hostname(&full_hostname, &llmnr_hostname, &mdns_hostname);
         if (r < 0)
                 return 0; /* ignore invalid hostnames */
 
-        if (streq(llmnr_hostname, m->llmnr_hostname) && streq(mdns_hostname, m->mdns_hostname))
+        if (streq(full_hostname, m->full_hostname) &&
+            streq(llmnr_hostname, m->llmnr_hostname) &&
+            streq(mdns_hostname, m->mdns_hostname))
                 return 0;
 
-        log_info("System hostname changed to '%s'.", llmnr_hostname);
+        log_info("System hostname changed to '%s'.", full_hostname);
 
-        free(m->llmnr_hostname);
-        free(m->mdns_hostname);
-
-        m->llmnr_hostname = llmnr_hostname;
-        m->mdns_hostname = mdns_hostname;
-
-        llmnr_hostname = mdns_hostname = NULL;
+        free_and_replace(m->full_hostname, full_hostname);
+        free_and_replace(m->llmnr_hostname, llmnr_hostname);
+        free_and_replace(m->mdns_hostname, mdns_hostname);
 
         manager_refresh_rrs(m);
 
@@ -428,18 +480,15 @@ static int manager_watch_hostname(Manager *m) {
 
         (void) sd_event_source_set_description(m->hostname_event_source, "hostname");
 
-        r = determine_hostname(&m->llmnr_hostname, &m->mdns_hostname);
+        r = determine_hostname(&m->full_hostname, &m->llmnr_hostname, &m->mdns_hostname);
         if (r < 0) {
-                log_info("Defaulting to hostname 'linux'.");
-                m->llmnr_hostname = strdup("linux");
-                if (!m->llmnr_hostname)
-                        return log_oom();
-
-                m->mdns_hostname = strdup("linux.local");
-                if (!m->mdns_hostname)
-                        return log_oom();
+                log_info("Defaulting to hostname '%s'.", fallback_hostname());
+
+                r = make_fallback_hostnames(&m->full_hostname, &m->llmnr_hostname, &m->mdns_hostname);
+                if (r < 0)
+                        return r;
         } else
-                log_info("Using system hostname '%s'.", m->llmnr_hostname);
+                log_info("Using system hostname '%s'.", m->full_hostname);
 
         return 0;
 }
@@ -498,7 +547,7 @@ int manager_new(Manager **ret) {
         m->hostname_fd = -1;
 
         m->llmnr_support = RESOLVE_SUPPORT_YES;
-        m->mdns_support = RESOLVE_SUPPORT_NO;
+        m->mdns_support = RESOLVE_SUPPORT_YES;
         m->dnssec_mode = DEFAULT_DNSSEC_MODE;
         m->enable_cache = true;
         m->dns_stub_listener_mode = DNS_STUB_LISTENER_UDP;
@@ -621,9 +670,13 @@ Manager *manager_free(Manager *m) {
 
         dns_resource_key_unref(m->llmnr_host_ipv4_key);
         dns_resource_key_unref(m->llmnr_host_ipv6_key);
+        dns_resource_key_unref(m->mdns_host_ipv4_key);
+        dns_resource_key_unref(m->mdns_host_ipv6_key);
 
         sd_event_source_unref(m->hostname_event_source);
         safe_close(m->hostname_fd);
+
+        free(m->full_hostname);
         free(m->llmnr_hostname);
         free(m->mdns_hostname);
 
@@ -1007,6 +1060,8 @@ void manager_refresh_rrs(Manager *m) {
 
         m->llmnr_host_ipv4_key = dns_resource_key_unref(m->llmnr_host_ipv4_key);
         m->llmnr_host_ipv6_key = dns_resource_key_unref(m->llmnr_host_ipv6_key);
+        m->mdns_host_ipv4_key = dns_resource_key_unref(m->mdns_host_ipv4_key);
+        m->mdns_host_ipv6_key = dns_resource_key_unref(m->mdns_host_ipv6_key);
 
         HASHMAP_FOREACH(l, m->links, i) {
                 link_add_rrs(l, true);
@@ -1146,8 +1201,14 @@ int manager_is_own_hostname(Manager *m, const char *name) {
                         return r;
         }
 
-        if (m->mdns_hostname)
-                return dns_name_equal(name, m->mdns_hostname);
+        if (m->mdns_hostname) {
+                r = dns_name_equal(name, m->mdns_hostname);
+                if (r != 0)
+                        return r;
+        }
+
+        if (m->full_hostname)
+                return dns_name_equal(name, m->full_hostname);
 
         return 0;
 }
index 6b2208ed94213ebbaa2205854df1beae67a59c95..97c52b77292e6115093a12b1d0188991a1980d2e 100644 (file)
@@ -109,10 +109,13 @@ struct Manager {
         sd_event_source *bus_retry_event_source;
 
         /* The hostname we publish on LLMNR and mDNS */
+        char *full_hostname;
         char *llmnr_hostname;
         char *mdns_hostname;
         DnsResourceKey *llmnr_host_ipv4_key;
         DnsResourceKey *llmnr_host_ipv6_key;
+        DnsResourceKey *mdns_host_ipv4_key;
+        DnsResourceKey *mdns_host_ipv6_key;
 
         /* Watch the system hostname */
         int hostname_fd;
index b13b1d0144d6279d5423da2e84fbaf19bf59dbc6..c40e8f75f0e30bcc2c9327509e8aec9bf8b5c22d 100644 (file)
@@ -67,6 +67,50 @@ eaddrinuse:
         return 0;
 }
 
+static int mdns_scope_process_query(DnsScope *s, DnsPacket *p) {
+        _cleanup_(dns_answer_unrefp) DnsAnswer *answer = NULL, *soa = NULL;
+        _cleanup_(dns_packet_unrefp) DnsPacket *reply = NULL;
+        DnsResourceKey *key = NULL;
+        bool tentative = false;
+        int r;
+
+        assert(s);
+        assert(p);
+
+        r = dns_packet_extract(p);
+        if (r < 0)
+                return log_debug_errno(r, "Failed to extract resource records from incoming packet: %m");
+
+        /* TODO: there might be more than one question in mDNS queries. */
+        assert_return((dns_question_size(p->question) > 0), -EINVAL);
+        key = p->question->keys[0];
+
+        r = dns_zone_lookup(&s->zone, key, 0, &answer, &soa, &tentative);
+        if (r < 0) {
+                log_debug_errno(r, "Failed to lookup key: %m");
+                return r;
+        }
+        if (r == 0)
+                return 0;
+
+        r = dns_scope_make_reply_packet(s, DNS_PACKET_ID(p), DNS_RCODE_SUCCESS, NULL, answer, NULL, false, &reply);
+        if (r < 0) {
+                log_debug_errno(r, "Failed to build reply packet: %m");
+                return r;
+        }
+
+        if (!ratelimit_test(&s->ratelimit))
+                return 0;
+
+        r = dns_scope_emit_udp(s, -1, reply);
+        if (r < 0) {
+                log_debug_errno(r, "Failed to send reply packet: %m");
+                return r;
+        }
+
+        return 0;
+}
+
 static int on_mdns_packet(sd_event_source *s, int fd, uint32_t revents, void *userdata) {
         _cleanup_(dns_packet_unrefp) DnsPacket *p = NULL;
         Manager *m = userdata;
@@ -77,6 +121,9 @@ static int on_mdns_packet(sd_event_source *s, int fd, uint32_t revents, void *us
         if (r <= 0)
                 return r;
 
+        if (manager_our_packet(m, p))
+                return 0;
+
         scope = manager_find_scope(m, p);
         if (!scope) {
                 log_warning("Got mDNS UDP packet on unknown scope. Ignoring.");
@@ -115,9 +162,28 @@ static int on_mdns_packet(sd_event_source *s, int fd, uint32_t revents, void *us
                               dns_name_endswith(name, "local") > 0))
                                 return 0;
 
+                        if (rr->ttl == 0) {
+                                log_debug("Got a goodbye packet");
+                                /* See the section 10.1 of RFC6762 */
+                                rr->ttl = 1;
+                        }
+
                         t = dns_scope_find_transaction(scope, rr->key, false);
                         if (t)
                                 dns_transaction_process_reply(t, p);
+
+                        /* Also look for the various types of ANY transactions */
+                        t = dns_scope_find_transaction(scope, &DNS_RESOURCE_KEY_CONST(rr->key->class, DNS_TYPE_ANY, dns_resource_key_name(rr->key)), false);
+                        if (t)
+                                dns_transaction_process_reply(t, p);
+
+                        t = dns_scope_find_transaction(scope, &DNS_RESOURCE_KEY_CONST(DNS_CLASS_ANY, rr->key->type, dns_resource_key_name(rr->key)), false);
+                        if (t)
+                                dns_transaction_process_reply(t, p);
+
+                        t = dns_scope_find_transaction(scope, &DNS_RESOURCE_KEY_CONST(DNS_CLASS_ANY, DNS_TYPE_ANY, dns_resource_key_name(rr->key)), false);
+                        if (t)
+                                dns_transaction_process_reply(t, p);
                 }
 
                 dns_cache_put(&scope->cache, NULL, DNS_PACKET_RCODE(p), p->answer, false, (uint32_t) -1, 0, p->family, &p->sender);
@@ -125,7 +191,11 @@ static int on_mdns_packet(sd_event_source *s, int fd, uint32_t revents, void *us
         } else if (dns_packet_validate_query(p) > 0)  {
                 log_debug("Got mDNS query packet for id %u", DNS_PACKET_ID(p));
 
-                dns_scope_process_query(scope, NULL, p);
+                r = mdns_scope_process_query(scope, p);
+                if (r < 0) {
+                        log_debug_errno(r, "mDNS query processing failed: %m");
+                        return 0;
+                }
         } else
                 log_debug("Invalid mDNS UDP packet.");
 
index 5d274648f4aa5393406b552c2341454427a57110..06bd3296bee20aad241cc8f47cd7b2325a2d121f 100644 (file)
@@ -22,6 +22,7 @@
 #include "resolved-manager.h"
 
 #define MDNS_PORT 5353
+#define MDNS_ANNOUNCE_DELAY (1 * USEC_PER_SEC)
 
 int manager_mdns_ipv4_fd(Manager *m);
 int manager_mdns_ipv6_fd(Manager *m);
index 13f08f8a6c2884cd11a328c15b65c4085362fc37..3c62550872688a5990971d1dcb84bcb9b356c4c5 100644 (file)
@@ -203,13 +203,13 @@ static void write_resolv_conf_search(
 static int write_resolv_conf_contents(FILE *f, OrderedSet *dns, OrderedSet *domains) {
         Iterator i;
 
-        fputs("# This file is managed by systemd-resolved(8). Do not edit.\n#\n"
+        fputs("# This file is managed by man:systemd-resolved(8). Do not edit.\n#\n"
               "# This is a dynamic resolv.conf file for connecting local clients directly to\n"
               "# all known DNS servers.\n#\n"
               "# Third party programs must not access this file directly, but only through the\n"
-              "# symlink at /etc/resolv.conf. To manage resolv.conf(5) in a different way,\n"
+              "# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,\n"
               "# replace this symlink by a static file or a different symlink.\n#\n"
-              "# See systemd-resolved.service(8) for details about the supported modes of\n"
+              "# See man:systemd-resolved.service(8) for details about the supported modes of\n"
               "# operation for /etc/resolv.conf.\n\n", f);
 
         if (ordered_set_isempty(dns))
index 956b155872c52d0a1237a22759acb76e47bc386b..8cbe492526ed650c2dc2c62935da2a72529a38e8 100644 (file)
@@ -29,6 +29,7 @@
 #include "resolved-dns-rr.h"
 #include "string-util.h"
 #include "strv.h"
+#include "tests.h"
 #include "unaligned.h"
 
 #define HASH_KEY SD_ID128_MAKE(d3,1e,48,90,4b,fa,4c,fe,af,9d,d5,a1,d7,2e,8a,b1)
@@ -115,7 +116,7 @@ int main(int argc, char **argv) {
                 N = argc - 1;
                 fnames = argv + 1;
         } else {
-                assert_se(glob(RESOLVE_TEST_DIR "/*.pkts", GLOB_NOSORT, NULL, &g) == 0);
+                assert_se(glob(get_testdata_dir("/test-resolve/*.pkts"), GLOB_NOSORT, NULL, &g) == 0);
                 N = g.gl_pathc;
                 fnames = g.gl_pathv;
         }
index 08f7e1233648b99a7bc101db184d4082c20729b7..f8257abc93b8b71dd07a5b8c32810198c0962929 100644 (file)
@@ -818,16 +818,18 @@ static int run_context_update(RunContext *c, const char *path) {
                 {}
         };
 
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         int r;
 
         r = bus_map_all_properties(c->bus,
                                    "org.freedesktop.systemd1",
                                    path,
                                    map,
+                                   &error,
                                    c);
         if (r < 0) {
                 sd_event_exit(c->event, EXIT_FAILURE);
-                return log_error_errno(r, "Failed to query unit state: %m");
+                return log_error_errno(r, "Failed to query unit state: %s", bus_error_message(&error, r));
         }
 
         run_context_check_done(c);
index 20c1085697ae6c6b01607700fdd8906a9156b8ad..aae69f6da5f4079e38dab09f0b9e8466fccbb4a9 100644 (file)
@@ -554,7 +554,7 @@ int bus_append_unit_property_assignment(sd_bus_message *m, const char *assignmen
 
         } else if (streq(field, "RestrictNamespaces")) {
                 bool invert = false;
-                uint64_t flags = 0;
+                unsigned long flags = 0;
 
                 if (eq[0] == '~') {
                         invert = true;
@@ -575,7 +575,7 @@ int bus_append_unit_property_assignment(sd_bus_message *m, const char *assignmen
                 if (invert)
                         flags = (~flags) & NAMESPACE_FLAGS_ALL;
 
-                r = sd_bus_message_append(m, "v", "t", flags);
+                r = sd_bus_message_append(m, "v", "t", (uint64_t) flags);
         } else if ((dep = unit_dependency_from_string(field)) >= 0)
                 r = sd_bus_message_append(m, "v", "as", 1, eq);
         else if (streq(field, "MountFlags")) {
@@ -585,7 +585,7 @@ int bus_append_unit_property_assignment(sd_bus_message *m, const char *assignmen
                 if (r < 0)
                         return log_error_errno(r, "Failed to parse mount propagation flags: %s", eq);
 
-                r = sd_bus_message_append(m, "v", "t", f);
+                r = sd_bus_message_append(m, "v", "t", (uint64_t) f);
         } else if (STR_IN_SET(field, "BindPaths", "BindReadOnlyPaths")) {
                 const char *p = eq;
 
@@ -862,7 +862,7 @@ static void log_job_error_with_service_result(const char* service, const char *r
 
         service_shell_quoted = shell_maybe_quote(service);
 
-        if (extra_args && extra_args[1]) {
+        if (extra_args) {
                 _cleanup_free_ char *t;
 
                 t = strv_join((char**) extra_args, " ");
index 6aebe18fc07aff5621b504667e784b16f65bfc91..8ddfb584ea5c39ca152688446fd992c0e37d9cb2 100644 (file)
@@ -1116,9 +1116,9 @@ static int map_basic(sd_bus *bus, const char *member, sd_bus_message *m, sd_bus_
 int bus_message_map_all_properties(
                 sd_bus_message *m,
                 const struct bus_properties_map *map,
+                sd_bus_error *error,
                 void *userdata) {
 
-        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         int r;
 
         assert(m);
@@ -1156,9 +1156,9 @@ int bus_message_map_all_properties(
 
                         v = (uint8_t *)userdata + prop->offset;
                         if (map[i].set)
-                                r = prop->set(sd_bus_message_get_bus(m), member, m, &error, v);
+                                r = prop->set(sd_bus_message_get_bus(m), member, m, error, v);
                         else
-                                r = map_basic(sd_bus_message_get_bus(m), member, m, &error, v);
+                                r = map_basic(sd_bus_message_get_bus(m), member, m, error, v);
                         if (r < 0)
                                 return r;
 
@@ -1184,6 +1184,7 @@ int bus_message_map_all_properties(
 int bus_message_map_properties_changed(
                 sd_bus_message *m,
                 const struct bus_properties_map *map,
+                sd_bus_error *error,
                 void *userdata) {
 
         const char *member;
@@ -1192,7 +1193,7 @@ int bus_message_map_properties_changed(
         assert(m);
         assert(map);
 
-        r = bus_message_map_all_properties(m, map, userdata);
+        r = bus_message_map_all_properties(m, map, error, userdata);
         if (r < 0)
                 return r;
 
@@ -1222,10 +1223,10 @@ int bus_map_all_properties(
                 const char *destination,
                 const char *path,
                 const struct bus_properties_map *map,
+                sd_bus_error *error,
                 void *userdata) {
 
         _cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL;
-        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         int r;
 
         assert(bus);
@@ -1239,13 +1240,13 @@ int bus_map_all_properties(
                         path,
                         "org.freedesktop.DBus.Properties",
                         "GetAll",
-                        &error,
+                        error,
                         &m,
                         "s", "");
         if (r < 0)
                 return r;
 
-        return bus_message_map_all_properties(m, map, userdata);
+        return bus_message_map_all_properties(m, map, error, userdata);
 }
 
 int bus_connect_transport(BusTransport transport, const char *host, bool user, sd_bus **ret) {
index af5f133912394e118450960b100679aab8c8c833..d9ce4263bbb09f3393ce454e7c14a65087e19a66 100644 (file)
@@ -50,9 +50,9 @@ struct bus_properties_map {
 
 int bus_map_id128(sd_bus *bus, const char *member, sd_bus_message *m, sd_bus_error *error, void *userdata);
 
-int bus_message_map_all_properties(sd_bus_message *m, const struct bus_properties_map *map,  void *userdata);
-int bus_message_map_properties_changed(sd_bus_message *m, const struct bus_properties_map *map, void *userdata);
-int bus_map_all_properties(sd_bus *bus, const char *destination, const char *path, const struct bus_properties_map *map, void *userdata);
+int bus_message_map_all_properties(sd_bus_message *m, const struct bus_properties_map *map, sd_bus_error *error, void *userdata);
+int bus_message_map_properties_changed(sd_bus_message *m, const struct bus_properties_map *map, sd_bus_error *error, void *userdata);
+int bus_map_all_properties(sd_bus *bus, const char *destination, const char *path, const struct bus_properties_map *map, sd_bus_error *error, void *userdata);
 
 int bus_async_unregister_and_exit(sd_event *e, sd_bus *bus, const char *name);
 
index 9c29b0afca2ec98e4064e39480a7bfbd54048632..952fc48c4590e24d7e1102a3a6b40e42d397145e 100644 (file)
@@ -76,8 +76,11 @@ static int entry_fill_basics(
         }
 
         if (out_interface) {
+                size_t l = strlen(out_interface);
+                assert(l < sizeof entry->ip.outiface && l < sizeof entry->ip.outiface_mask);
+
                 strcpy(entry->ip.outiface, out_interface);
-                memset(entry->ip.outiface_mask, 0xFF, strlen(out_interface)+1);
+                memset(entry->ip.outiface_mask, 0xFF, l + 1);
         }
         if (destination) {
                 entry->ip.dst = destination->in;
index f25ed685f64a45148aca0099952a0b9205ad28b7..58c8e852b2cce5b36f15f765a79879dce2a6cb3c 100644 (file)
@@ -389,6 +389,12 @@ void unit_file_dump_changes(int r, const char *verb, const UnitFileChange *chang
                                         verb, changes[i].path);
                         logged = true;
                         break;
+
+                case -ENOENT:
+                        log_error_errno(changes[i].type, "Failed to %s unit, unit %s does not exist.", verb, changes[i].path);
+                        logged = true;
+                        break;
+
                 default:
                         assert(changes[i].type < 0);
                         log_error_errno(changes[i].type, "Failed to %s unit, file %s: %m.",
@@ -1807,7 +1813,9 @@ static int install_context_mark_for_removal(
                 InstallContext *c,
                 const LookupPaths *paths,
                 Set **remove_symlinks_to,
-                const char *config_path) {
+                const char *config_path,
+                UnitFileChange **changes,
+                unsigned *n_changes) {
 
         UnitFileInstallInfo *i;
         int r;
@@ -1833,19 +1841,26 @@ static int install_context_mark_for_removal(
 
                 r = install_info_traverse(scope, c, paths, i, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS, NULL);
                 if (r == -ENOLINK) {
-                        log_debug_errno(r, "Name %s leads to a dangling symlink, ignoring.", i->name);
-                        continue;
-                } else if (r == -ENOENT && i->auxiliary) {
-                        /* some unit specified in Also= or similar is missing */
-                        log_debug_errno(r, "Auxiliary unit %s not found, ignoring.", i->name);
-                        continue;
-                } else if (r < 0)
-                        return log_debug_errno(r, "Failed to find unit %s: %m", i->name);
+                        log_debug_errno(r, "Name %s leads to a dangling symlink, removing name.", i->name);
+                        unit_file_changes_add(changes, n_changes, UNIT_FILE_IS_DANGLING, i->path ?: i->name, NULL);
+                } else if (r == -ENOENT) {
 
-                if (i->type != UNIT_FILE_TYPE_REGULAR) {
-                        log_debug("Unit %s has type %s, ignoring.",
-                                  i->name,
-                                  unit_file_type_to_string(i->type) ?: "invalid");
+                        if (i->auxiliary)  /* some unit specified in Also= or similar is missing */
+                                log_debug_errno(r, "Auxiliary unit of %s not found, removing name.", i->name);
+                        else {
+                                log_debug_errno(r, "Unit %s not found, removing name.", i->name);
+                                unit_file_changes_add(changes, n_changes, r, i->path ?: i->name, NULL);
+                        }
+
+                } else if (r < 0) {
+                        log_debug_errno(r, "Failed to find unit %s, removing name: %m", i->name);
+                        unit_file_changes_add(changes, n_changes, r, i->path ?: i->name, NULL);
+                } else if (i->type == UNIT_FILE_TYPE_MASKED) {
+                        log_debug("Unit file %s is masked, ignoring.", i->name);
+                        unit_file_changes_add(changes, n_changes, UNIT_FILE_IS_MASKED, i->path ?: i->name, NULL);
+                        continue;
+                } else if (i->type != UNIT_FILE_TYPE_REGULAR) {
+                        log_debug("Unit %s has type %s, ignoring.", i->name, unit_file_type_to_string(i->type) ?: "invalid");
                         continue;
                 }
 
@@ -1878,6 +1893,8 @@ int unit_file_mask(
                 return r;
 
         config_path = (flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config;
+        if (!config_path)
+                return -ENXIO;
 
         STRV_FOREACH(i, files) {
                 _cleanup_free_ char *path = NULL;
@@ -1926,6 +1943,9 @@ int unit_file_unmask(
                 return r;
 
         config_path = (flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config;
+        if (!config_path)
+                return -ENXIO;
+
         dry_run = !!(flags & UNIT_FILE_DRY_RUN);
 
         STRV_FOREACH(i, files) {
@@ -2015,6 +2035,8 @@ int unit_file_link(
                 return r;
 
         config_path = (flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config;
+        if (!config_path)
+                return -ENXIO;
 
         STRV_FOREACH(i, files) {
                 _cleanup_free_ char *full = NULL;
@@ -2282,6 +2304,8 @@ int unit_file_add_dependency(
                 return r;
 
         config_path = (flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config;
+        if (!config_path)
+                return -ENXIO;
 
         r = install_info_discover(scope, &c, &paths, target, SEARCH_FOLLOW_CONFIG_SYMLINKS,
                                   &target_info, changes, n_changes);
@@ -2347,6 +2371,8 @@ int unit_file_enable(
                 return r;
 
         config_path = (flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config;
+        if (!config_path)
+                return -ENXIO;
 
         STRV_FOREACH(f, files) {
                 r = install_info_discover(scope, &c, &paths, *f, SEARCH_LOAD|SEARCH_FOLLOW_CONFIG_SYMLINKS,
@@ -2391,6 +2417,8 @@ int unit_file_disable(
                 return r;
 
         config_path = (flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config;
+        if (!config_path)
+                return -ENXIO;
 
         STRV_FOREACH(i, files) {
                 if (!unit_name_is_valid(*i, UNIT_NAME_ANY))
@@ -2401,7 +2429,7 @@ int unit_file_disable(
                         return r;
         }
 
-        r = install_context_mark_for_removal(scope, &c, &paths, &remove_symlinks_to, config_path);
+        r = install_context_mark_for_removal(scope, &c, &paths, &remove_symlinks_to, config_path, changes, n_changes);
         if (r < 0)
                 return r;
 
@@ -2790,7 +2818,7 @@ static int execute_preset(
         if (mode != UNIT_FILE_PRESET_ENABLE_ONLY) {
                 _cleanup_set_free_free_ Set *remove_symlinks_to = NULL;
 
-                r = install_context_mark_for_removal(scope, minus, paths, &remove_symlinks_to, config_path);
+                r = install_context_mark_for_removal(scope, minus, paths, &remove_symlinks_to, config_path, changes, n_changes);
                 if (r < 0)
                         return r;
 
@@ -2885,6 +2913,8 @@ int unit_file_preset(
                 return r;
 
         config_path = (flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config;
+        if (!config_path)
+                return -ENXIO;
 
         r = read_presets(scope, root_dir, &presets);
         if (r < 0)
@@ -2923,6 +2953,8 @@ int unit_file_preset_all(
                 return r;
 
         config_path = (flags & UNIT_FILE_RUNTIME) ? paths.runtime_config : paths.persistent_config;
+        if (!config_path)
+                return -ENXIO;
 
         r = read_presets(scope, root_dir, &presets);
         if (r < 0)
index 7bc5c0a1282a528d44ce4a5140f02bd294c9a514..d96ff44e669e3289bae1d34533b34f23be5fe868 100644 (file)
@@ -594,7 +594,7 @@ static int clone_auxiliary_file(const char *path, const char *new_name, const ch
         if (!rs)
                 return -ENOMEM;
 
-        return copy_file_atomic(path, rs, 0664, false, 0);
+        return copy_file_atomic(path, rs, 0664, 0, COPY_REFLINK);
 }
 
 int image_clone(Image *i, const char *new_name, bool read_only) {
@@ -656,7 +656,7 @@ int image_clone(Image *i, const char *new_name, bool read_only) {
         case IMAGE_RAW:
                 new_path = strjoina("/var/lib/machines/", new_name, ".raw");
 
-                r = copy_file_atomic(i->path, new_path, read_only ? 0444 : 0644, false, FS_NOCOW_FL);
+                r = copy_file_atomic(i->path, new_path, read_only ? 0444 : 0644, FS_NOCOW_FL, COPY_REFLINK);
                 break;
 
         default:
index 09672a4abf75f1586b72344ae7064341d993504d..f00ba9e1e79f133c4446052bdad1f127ed4f9a1e 100644 (file)
@@ -44,7 +44,7 @@ static pid_t pager_pid = 0;
 noreturn static void pager_fallback(void) {
         int r;
 
-        r = copy_bytes(STDIN_FILENO, STDOUT_FILENO, (uint64_t) -1, false);
+        r = copy_bytes(STDIN_FILENO, STDOUT_FILENO, (uint64_t) -1, 0);
         if (r < 0) {
                 log_error_errno(r, "Internal pager failed: %m");
                 _exit(EXIT_FAILURE);
@@ -104,7 +104,8 @@ int pager_open(bool no_pager, bool jump_to_end) {
                         less_opts = "FRSXMK";
                 if (jump_to_end)
                         less_opts = strjoina(less_opts, " +G");
-                setenv("LESS", less_opts, 1);
+                if (setenv("LESS", less_opts, 1) < 0)
+                        _exit(EXIT_FAILURE);
 
                 /* Initialize a good charset for less. This is
                  * particularly important if we output UTF-8
@@ -112,8 +113,9 @@ int pager_open(bool no_pager, bool jump_to_end) {
                 less_charset = getenv("SYSTEMD_LESSCHARSET");
                 if (!less_charset && is_locale_utf8())
                         less_charset = "utf-8";
-                if (less_charset)
-                        setenv("LESSCHARSET", less_charset, 1);
+                if (less_charset &&
+                    setenv("LESSCHARSET", less_charset, 1) < 0)
+                        _exit(EXIT_FAILURE);
 
                 /* Make sure the pager goes away when the parent dies */
                 if (prctl(PR_SET_PDEATHSIG, SIGTERM) < 0)
index fead755f8722f740f6459c8106c4dce1a970fe00..e2b3f8b742345c9dab4a7c1a5be020b006b74a55 100644 (file)
@@ -33,6 +33,7 @@
 #include "stat-util.h"
 #include "string-util.h"
 #include "strv.h"
+#include "user-util.h"
 #include "util.h"
 
 static int user_runtime_dir(char **ret, const char *suffix) {
@@ -57,6 +58,7 @@ static int user_runtime_dir(char **ret, const char *suffix) {
 static int user_config_dir(char **ret, const char *suffix) {
         const char *e;
         char *j;
+        int r;
 
         assert(ret);
 
@@ -64,11 +66,11 @@ static int user_config_dir(char **ret, const char *suffix) {
         if (e)
                 j = strappend(e, suffix);
         else {
-                const char *home;
+                _cleanup_free_ char *home = NULL;
 
-                home = getenv("HOME");
-                if (!home)
-                        return -ENXIO;
+                r = get_home_dir(&home);
+                if (r < 0)
+                        return r;
 
                 j = strjoin(home, "/.config", suffix);
         }
@@ -83,6 +85,7 @@ static int user_config_dir(char **ret, const char *suffix) {
 static int user_data_dir(char **ret, const char *suffix) {
         const char *e;
         char *j;
+        int r;
 
         assert(ret);
         assert(suffix);
@@ -95,12 +98,11 @@ static int user_data_dir(char **ret, const char *suffix) {
         if (e)
                 j = strappend(e, suffix);
         else {
-                const char *home;
-
-                home = getenv("HOME");
-                if (!home)
-                        return -ENXIO;
+                _cleanup_free_ char *home = NULL;
 
+                r = get_home_dir(&home);
+                if (r < 0)
+                        return r;
 
                 j = strjoin(home, "/.local/share", suffix);
         }
@@ -136,10 +138,10 @@ static char** user_dirs(
                 NULL
         };
 
-        const char *e;
         _cleanup_strv_free_ char **config_dirs = NULL, **data_dirs = NULL;
         _cleanup_free_ char *data_home = NULL;
         _cleanup_strv_free_ char **res = NULL;
+        const char *e;
         char **tmp;
         int r;
 
@@ -186,9 +188,8 @@ static char** user_dirs(
         if (strv_extend(&res, generator_early) < 0)
                 return NULL;
 
-        if (!strv_isempty(config_dirs))
-                if (strv_extend_strv_concat(&res, config_dirs, "/systemd/user") < 0)
-                        return NULL;
+        if (strv_extend_strv_concat(&res, config_dirs, "/systemd/user") < 0)
+                return NULL;
 
         if (strv_extend(&res, persistent_config) < 0)
                 return NULL;
@@ -205,9 +206,8 @@ static char** user_dirs(
         if (strv_extend(&res, data_home) < 0)
                 return NULL;
 
-        if (!strv_isempty(data_dirs))
-                if (strv_extend_strv_concat(&res, data_dirs, "/systemd/user") < 0)
-                        return NULL;
+        if (strv_extend_strv_concat(&res, data_dirs, "/systemd/user") < 0)
+                return NULL;
 
         if (strv_extend_strv(&res, (char**) data_unit_paths, false) < 0)
                 return NULL;
@@ -220,6 +220,7 @@ static char** user_dirs(
 
         tmp = res;
         res = NULL;
+
         return tmp;
 }
 
@@ -328,12 +329,18 @@ static int acquire_config_dirs(UnitFileScope scope, char **persistent, char **ru
 
         case UNIT_FILE_USER:
                 r = user_config_dir(&a, "/systemd/user");
-                if (r < 0)
+                if (r < 0 && r != -ENXIO)
                         return r;
 
                 r = user_runtime_dir(runtime, "/systemd/user");
-                if (r < 0)
-                        return r;
+                if (r < 0) {
+                        if (r != -ENXIO)
+                                return r;
+
+                        /* If XDG_RUNTIME_DIR is not set, don't consider that fatal, simply initialize the runtime
+                         * directory to NULL */
+                        *runtime = NULL;
+                }
 
                 *persistent = a;
                 a = NULL;
@@ -382,12 +389,18 @@ static int acquire_control_dirs(UnitFileScope scope, char **persistent, char **r
 
         case UNIT_FILE_USER:
                 r = user_config_dir(&a, "/systemd/system.control");
-                if (r < 0)
+                if (r < 0 && r != -ENXIO)
                         return r;
 
                 r = user_runtime_dir(runtime, "/systemd/system.control");
-                if (r < 0)
-                        return r;
+                if (r < 0) {
+                        if (r != -ENXIO)
+                                return r;
+
+                        /* If XDG_RUNTIME_DIR is not set, don't consider this fatal, simply initialize the directory to
+                         * NULL */
+                        *runtime = NULL;
+                }
 
                 break;
 
@@ -474,22 +487,26 @@ int lookup_paths_init(
                         return -ENOMEM;
         }
 
+        /* Note: when XDG_RUNTIME_DIR is not set this will not return -ENXIO, but simply set runtime_config to NULL */
         r = acquire_config_dirs(scope, &persistent_config, &runtime_config);
-        if (r < 0 && r != -ENXIO)
+        if (r < 0)
                 return r;
 
         if ((flags & LOOKUP_PATHS_EXCLUDE_GENERATED) == 0) {
+                /* Note: if XDG_RUNTIME_DIR is not set, this will fail completely with ENXIO */
                 r = acquire_generator_dirs(scope, &generator, &generator_early, &generator_late);
                 if (r < 0 && r != -EOPNOTSUPP && r != -ENXIO)
                         return r;
         }
 
+        /* Note: if XDG_RUNTIME_DIR is not set, this will fail completely with ENXIO */
         r = acquire_transient_dir(scope, &transient);
         if (r < 0 && r != -EOPNOTSUPP && r != -ENXIO)
                 return r;
 
+        /* Note: when XDG_RUNTIME_DIR is not set this will not return -ENXIO, but simply set runtime_control to NULL */
         r = acquire_control_dirs(scope, &persistent_control, &runtime_control);
-        if (r < 0 && r != -EOPNOTSUPP && r != -ENXIO)
+        if (r < 0 && r != -EOPNOTSUPP)
                 return r;
 
         /* First priority is whatever has been passed to us via env vars */
index b6b44e7f56107e41a493d17188a7340d3c4f7598..2631856563c5daebfb415e2c241221eb1d84aed1 100644 (file)
 
 const uint32_t seccomp_local_archs[] = {
 
-#if defined(__i386__) || defined(__x86_64__)
+        /* Note: always list the native arch we are compiled as last, so that users can blacklist seccomp(), but our own calls to it still succeed */
+
+#if defined(__x86_64__) && defined(__ILP32__)
                 SCMP_ARCH_X86,
                 SCMP_ARCH_X86_64,
+                SCMP_ARCH_X32,         /* native */
+#elif defined(__x86_64__) && !defined(__ILP32__)
+                SCMP_ARCH_X86,
                 SCMP_ARCH_X32,
-
-#elif defined(__arm__) || defined(__aarch64__)
+                SCMP_ARCH_X86_64,      /* native */
+#elif defined(__i386__)
+                SCMP_ARCH_X86,
+#elif defined(__aarch64__)
                 SCMP_ARCH_ARM,
-                SCMP_ARCH_AARCH64,
-
-#elif defined(__mips__) || defined(__mips64__)
+                SCMP_ARCH_AARCH64,     /* native */
+#elif defined(__arm__)
+                SCMP_ARCH_ARM,
+#elif defined(__mips__) && __BYTE_ORDER == __BIG_ENDIAN && _MIPS_SIM == _MIPS_SIM_ABI32
+                SCMP_ARCH_MIPSEL,
+                SCMP_ARCH_MIPS,        /* native */
+#elif defined(__mips__) && __BYTE_ORDER == __LITTLE_ENDIAN && _MIPS_SIM == _MIPS_SIM_ABI32
                 SCMP_ARCH_MIPS,
-                SCMP_ARCH_MIPS64,
+                SCMP_ARCH_MIPSEL,      /* native */
+#elif defined(__mips__) && __BYTE_ORDER == __BIG_ENDIAN && _MIPS_SIM == _MIPS_SIM_ABI64
+                SCMP_ARCH_MIPSEL,
+                SCMP_ARCH_MIPS,
+                SCMP_ARCH_MIPSEL64N32,
+                SCMP_ARCH_MIPS64N32,
+                SCMP_ARCH_MIPSEL64,
+                SCMP_ARCH_MIPS64,      /* native */
+#elif defined(__mips__) && __BYTE_ORDER == __LITTLE_ENDIAN && _MIPS_SIM == _MIPS_SIM_ABI64
+                SCMP_ARCH_MIPS,
+                SCMP_ARCH_MIPSEL,
                 SCMP_ARCH_MIPS64N32,
+                SCMP_ARCH_MIPSEL64N32,
+                SCMP_ARCH_MIPS64,
+                SCMP_ARCH_MIPSEL64,    /* native */
+#elif defined(__mips__) && __BYTE_ORDER == __BIG_ENDIAN && _MIPS_SIM == _MIPS_SIM_NABI32
                 SCMP_ARCH_MIPSEL,
+                SCMP_ARCH_MIPS,
                 SCMP_ARCH_MIPSEL64,
+                SCMP_ARCH_MIPS64,
                 SCMP_ARCH_MIPSEL64N32,
-
-#elif defined(__powerpc__) || defined(__powerpc64__)
+                SCMP_ARCH_MIPS64N32,   /* native */
+#elif defined(__mips__) && __BYTE_ORDER == __LITTLE_ENDIAN && _MIPS_SIM == _MIPS_SIM_NABI32
+                SCMP_ARCH_MIPS,
+                SCMP_ARCH_MIPSEL,
+                SCMP_ARCH_MIPS64,
+                SCMP_ARCH_MIPSEL64,
+                SCMP_ARCH_MIPS64N32,
+                SCMP_ARCH_MIPSEL64N32, /* native */
+#elif defined(__powerpc64__) && __BYTE_ORDER == __BIG_ENDIAN
                 SCMP_ARCH_PPC,
-                SCMP_ARCH_PPC64,
                 SCMP_ARCH_PPC64LE,
-
-#elif defined(__s390__) || defined(__s390x__)
+                SCMP_ARCH_PPC64,       /* native */
+#elif defined(__powerpc64__) && __BYTE_ORDER == __LITTLE_ENDIAN
+                SCMP_ARCH_PPC,
+                SCMP_ARCH_PPC64,
+                SCMP_ARCH_PPC64LE,     /* native */
+#elif defined(__powerpc__)
+                SCMP_ARCH_PPC,
+#elif defined(__s390x__)
+                SCMP_ARCH_S390,
+                SCMP_ARCH_S390X,      /* native */
+#elif defined(__s390__)
                 SCMP_ARCH_S390,
-                SCMP_ARCH_S390X,
 #endif
                 (uint32_t) -1
         };
@@ -761,6 +802,8 @@ int seccomp_restrict_namespaces(unsigned long retain) {
                 case SCMP_ARCH_X86_64:
                 case SCMP_ARCH_X86:
                 case SCMP_ARCH_X32:
+                case SCMP_ARCH_PPC64:
+                case SCMP_ARCH_PPC64LE:
                         clone_reversed_order = 0;
                         break;
 
@@ -772,8 +815,8 @@ int seccomp_restrict_namespaces(unsigned long retain) {
 
                 /* Please add more definitions here, if you port systemd to other architectures! */
 
-#if !defined(__i386__) && !defined(__x86_64__) && !defined(__s390__) && !defined(__s390x__)
-#warning "Consider adding the right clone() syscall definitions here!"
+#if SECCOMP_RESTRICT_NAMESPACES_BROKEN
+#  warning "Consider adding the right clone() syscall definitions here!"
 #endif
                 }
 
@@ -907,17 +950,42 @@ int seccomp_protect_sysctl(void) {
 }
 
 int seccomp_restrict_address_families(Set *address_families, bool whitelist) {
-
-#if !SECCOMP_RESTRICT_ADDRESS_FAMILIES_BROKEN
         uint32_t arch;
         int r;
 
         SECCOMP_FOREACH_LOCAL_ARCH(arch) {
                 _cleanup_(seccomp_releasep) scmp_filter_ctx seccomp = NULL;
+                bool supported;
                 Iterator i;
 
                 log_debug("Operating on architecture: %s", seccomp_arch_to_string(arch));
 
+                switch (arch) {
+
+                case SCMP_ARCH_X86_64:
+                case SCMP_ARCH_X32:
+                case SCMP_ARCH_ARM:
+                case SCMP_ARCH_AARCH64:
+                        /* These we know we support (i.e. are the ones that do not use socketcall()) */
+                        supported = true;
+                        break;
+
+                case SCMP_ARCH_X86:
+                case SCMP_ARCH_S390:
+                case SCMP_ARCH_S390X:
+                case SCMP_ARCH_PPC:
+                case SCMP_ARCH_PPC64:
+                case SCMP_ARCH_PPC64LE:
+                default:
+                        /* These we either know we don't support (i.e. are the ones that do use socketcall()), or we
+                         * don't know */
+                        supported = false;
+                        break;
+                }
+
+                if (!supported)
+                        continue;
+
                 r = seccomp_init_for_arch(&seccomp, arch, SCMP_ACT_ALLOW);
                 if (r < 0)
                         return r;
@@ -1037,7 +1105,6 @@ int seccomp_restrict_address_families(Set *address_families, bool whitelist) {
                 if (r < 0)
                         log_debug_errno(r, "Failed to install socket family rules for architecture %s, skipping: %m", seccomp_arch_to_string(arch));
         }
-#endif
 
         return 0;
 }
index 61f94de638d98a3f9c384e16ca92b1d62146cf8f..b56ac3f7630d329297d5c834184af3af34b488ac 100644 (file)
@@ -92,7 +92,7 @@ int seccomp_memory_deny_write_execute(void);
 #endif
 
 /* we don't know the right order of the clone() parameters except for these archs, for now */
-#if defined(__x86_64__) || defined(__i386__) || defined(__s390x__) || defined(__s390__)
+#if defined(__x86_64__) || defined(__i386__) || defined(__s390x__) || defined(__s390__) || defined(__powerpc64__)
 #define SECCOMP_RESTRICT_NAMESPACES_BROKEN 0
 #else
 #define SECCOMP_RESTRICT_NAMESPACES_BROKEN 1
index 409116290dea12d48f29d0b68ffe88c532c3e0b3..f300bbc66f3e80b57e46d8b74dc24c8ff9e7d105 100644 (file)
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
+#include <alloc-util.h>
+#include <fs-util.h>
+#include <libgen.h>
 #include <stdlib.h>
 #include <util.h>
 
 #include "tests.h"
+#include "path-util.h"
 
 char* setup_fake_runtime_dir(void) {
         char t[] = "/tmp/fake-xdg-runtime-XXXXXX", *p;
@@ -31,3 +35,39 @@ char* setup_fake_runtime_dir(void) {
 
         return p;
 }
+
+const char* get_testdata_dir(const char *suffix) {
+        const char *env;
+        /* convenience: caller does not need to free result */
+        static char testdir[PATH_MAX];
+
+        /* if the env var is set, use that */
+        env = getenv("SYSTEMD_TEST_DATA");
+        testdir[sizeof(testdir) - 1] = '\0';
+        if (env) {
+                if (access(env, F_OK) < 0) {
+                        fputs("ERROR: $SYSTEMD_TEST_DATA directory does not exist\n", stderr);
+                        exit(1);
+                }
+                strncpy(testdir, env, sizeof(testdir) - 1);
+        } else {
+                _cleanup_free_ char *exedir = NULL;
+                assert_se(readlink_and_make_absolute("/proc/self/exe", &exedir) >= 0);
+
+                /* Check if we're running from the builddir. If so, use the compiled in path. */
+                if (path_startswith(exedir, ABS_BUILD_DIR))
+                        assert_se(snprintf(testdir, sizeof(testdir), "%s/test", ABS_SRC_DIR) > 0);
+                else
+                        /* Try relative path, according to the install-test layout */
+                        assert_se(snprintf(testdir, sizeof(testdir), "%s/testdata", dirname(exedir)) > 0);
+
+                /* test this without the suffix, as it may contain a glob */
+                if (access(testdir, F_OK) < 0) {
+                        fputs("ERROR: Cannot find testdata directory, set $SYSTEMD_TEST_DATA\n", stderr);
+                        exit(1);
+                }
+        }
+
+        strncpy(testdir + strlen(testdir), suffix, sizeof(testdir) - strlen(testdir) - 1);
+        return testdir;
+}
index 93f09013a1a93ce19ad106e99b2e92bb7825ece8..705512499081c2e39456bb799948c24b694625c8 100644 (file)
@@ -20,3 +20,4 @@
 ***/
 
 char* setup_fake_runtime_dir(void);
+const char* get_testdata_dir(const char *suffix);
index a6978b62730d7182f79b0e4d8d15ce4c0a9f765f..3bac78b3e4cc84529bb1637175bbda3df51dda92 100644 (file)
@@ -110,7 +110,7 @@ static int execute(char **modes, char **states) {
         execute_directories(dirs, DEFAULT_TIMEOUT_USEC, NULL, NULL, arguments);
 
         log_struct(LOG_INFO,
-                   LOG_MESSAGE_ID(SD_MESSAGE_SLEEP_START),
+                   "MESSAGE_ID=" SD_MESSAGE_SLEEP_START_STR,
                    LOG_MESSAGE("Suspending system..."),
                    "SLEEP=%s", arg_verb,
                    NULL);
@@ -120,7 +120,7 @@ static int execute(char **modes, char **states) {
                 return r;
 
         log_struct(LOG_INFO,
-                   LOG_MESSAGE_ID(SD_MESSAGE_SLEEP_STOP),
+                   "MESSAGE_ID=" SD_MESSAGE_SLEEP_STOP_STR,
                    LOG_MESSAGE("System resumed."),
                    "SLEEP=%s", arg_verb,
                    NULL);
index 2809dece5062618badd1913064f6a293fac82bd2..c2af46d4ee1d0a13a2e65404e8f1f7fd8cbc1c26 100644 (file)
@@ -1922,7 +1922,7 @@ static int get_machine_properties(sd_bus *bus, struct machine_info *mi) {
                 bus = container;
         }
 
-        r = bus_map_all_properties(bus, "org.freedesktop.systemd1", "/org/freedesktop/systemd1", machine_info_property_map, mi);
+        r = bus_map_all_properties(bus, "org.freedesktop.systemd1", "/org/freedesktop/systemd1", machine_info_property_map, NULL, mi);
         if (r < 0)
                 return r;
 
@@ -1957,7 +1957,7 @@ static int get_machine_list(
                 machine_infos[c].name = hn;
                 hn = NULL;
 
-                get_machine_properties(bus, &machine_infos[c]);
+                (void) get_machine_properties(bus, &machine_infos[c]);
                 c++;
         }
 
@@ -1987,7 +1987,7 @@ static int get_machine_list(
                         return log_oom();
                 }
 
-                get_machine_properties(NULL, &machine_infos[c]);
+                (void) get_machine_properties(NULL, &machine_infos[c]);
                 c++;
         }
 
@@ -3482,6 +3482,8 @@ static int set_exit_code(uint8_t code) {
 static int start_special(int argc, char *argv[], void *userdata) {
         enum action a;
         int r;
+        bool termination_action; /* an action that terminates the manager,
+                                  * can be performed also by signal. */
 
         assert(argv);
 
@@ -3521,40 +3523,43 @@ static int start_special(int argc, char *argv[], void *userdata) {
                         return r;
         }
 
-        if (arg_force >= 2 &&
-            IN_SET(a,
-                   ACTION_HALT,
-                   ACTION_POWEROFF,
-                   ACTION_REBOOT))
+        termination_action = IN_SET(a,
+                                    ACTION_HALT,
+                                    ACTION_POWEROFF,
+                                    ACTION_REBOOT);
+        if (termination_action && arg_force >= 2)
                 return halt_now(a);
 
         if (arg_force >= 1 &&
-            IN_SET(a,
-                   ACTION_HALT,
-                   ACTION_POWEROFF,
-                   ACTION_REBOOT,
-                   ACTION_KEXEC,
-                   ACTION_EXIT))
-                return trivial_method(argc, argv, userdata);
+            (termination_action || IN_SET(a, ACTION_KEXEC, ACTION_EXIT)))
+                r = trivial_method(argc, argv, userdata);
+        else {
+                /* First try logind, to allow authentication with polkit */
+                if (IN_SET(a,
+                           ACTION_POWEROFF,
+                           ACTION_REBOOT,
+                           ACTION_SUSPEND,
+                           ACTION_HIBERNATE,
+                           ACTION_HYBRID_SLEEP)) {
+
+                        r = logind_reboot(a);
+                        if (r >= 0)
+                                return r;
+                        if (IN_SET(r, -EOPNOTSUPP, -EINPROGRESS))
+                                /* requested operation is not supported or already in progress */
+                                return r;
 
-        /* First try logind, to allow authentication with polkit */
-        if (IN_SET(a,
-                   ACTION_POWEROFF,
-                   ACTION_REBOOT,
-                   ACTION_SUSPEND,
-                   ACTION_HIBERNATE,
-                   ACTION_HYBRID_SLEEP)) {
-                r = logind_reboot(a);
-                if (r >= 0)
-                        return r;
-                if (IN_SET(r, -EOPNOTSUPP, -EINPROGRESS))
-                        /* requested operation is not supported or already in progress */
-                        return r;
+                        /* On all other errors, try low-level operation */
+                }
 
-                /* On all other errors, try low-level operation */
+                r = start_unit(argc, argv, userdata);
         }
 
-        return start_unit(argc, argv, userdata);
+        if (termination_action && arg_force < 2 &&
+            IN_SET(r, -ENOENT, -ETIMEDOUT))
+                log_notice("It is possible to perform action directly, see discussion of --force --force in man:systemctl(1).");
+
+        return r;
 }
 
 static int start_system_special(int argc, char *argv[], void *userdata) {
@@ -4953,7 +4958,7 @@ static int show_one(
                 return log_error_errno(r, "Failed to get properties: %s", bus_error_message(&error, r));
 
         if (unit) {
-                r = bus_message_map_all_properties(reply, property_map, &info);
+                r = bus_message_map_all_properties(reply, property_map, &error, &info);
                 if (r < 0)
                         return log_error_errno(r, "Failed to map properties: %s", bus_error_message(&error, r));
 
@@ -5125,8 +5130,9 @@ static int show_all(
 
 static int show_system_status(sd_bus *bus) {
         char since1[FORMAT_TIMESTAMP_RELATIVE_MAX], since2[FORMAT_TIMESTAMP_MAX];
-        _cleanup_free_ char *hn = NULL;
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         _cleanup_(machine_info_clear) struct machine_info mi = {};
+        _cleanup_free_ char *hn = NULL;
         const char *on, *off;
         int r;
 
@@ -5134,9 +5140,9 @@ static int show_system_status(sd_bus *bus) {
         if (!hn)
                 return log_oom();
 
-        r = bus_map_all_properties(bus, "org.freedesktop.systemd1", "/org/freedesktop/systemd1", machine_info_property_map, &mi);
+        r = bus_map_all_properties(bus, "org.freedesktop.systemd1", "/org/freedesktop/systemd1", machine_info_property_map, &error, &mi);
         if (r < 0)
-                return log_error_errno(r, "Failed to read server status: %m");
+                return log_error_errno(r, "Failed to read server status: %s", bus_error_message(&error, r));
 
         if (streq_ptr(mi.state, "degraded")) {
                 on = ansi_highlight_red();
@@ -5299,7 +5305,7 @@ static int cat_file(const char *filename, bool newline) {
                ansi_normal());
         fflush(stdout);
 
-        return copy_bytes(fd, STDOUT_FILENO, (uint64_t) -1, false);
+        return copy_bytes(fd, STDOUT_FILENO, (uint64_t) -1, 0);
 }
 
 static int cat(int argc, char *argv[], void *userdata) {
@@ -6028,7 +6034,7 @@ static int unit_exists(const char *unit) {
         if (r < 0)
                 return log_error_errno(r, "Failed to get properties: %s", bus_error_message(&error, r));
 
-        r = bus_message_map_all_properties(reply, property_map, &info);
+        r = bus_message_map_all_properties(reply, property_map, &error, &info);
         if (r < 0)
                 return log_error_errno(r, "Failed to map properties: %s", bus_error_message(&error, r));
 
@@ -6581,7 +6587,7 @@ static int create_edit_temp_file(const char *new_path, const char *original_path
         if (r < 0)
                 return log_error_errno(r, "Failed to create directories for \"%s\": %m", new_path);
 
-        r = copy_file(original_path, t, 0, 0644, 0);
+        r = copy_file(original_path, t, 0, 0644, 0, COPY_REFLINK);
         if (r == -ENOENT) {
 
                 r = touch(t);
@@ -6805,29 +6811,54 @@ static int find_paths_to_edit(sd_bus *bus, char **names, char ***paths) {
                 return r;
 
         STRV_FOREACH(name, names) {
-                _cleanup_free_ char *path = NULL, *new_path = NULL, *tmp_path = NULL;
+                _cleanup_free_ char *path = NULL, *new_path = NULL, *tmp_path = NULL, *tmp_name = NULL;
+                const char *unit_name;
 
                 r = unit_find_paths(bus, *name, &lp, &path, NULL);
                 if (r < 0)
                         return r;
-                else if (!arg_force) {
-                        if (r == 0) {
-                                log_error("Run 'systemctl edit --force %s' to create a new unit.", *name);
-                                return -ENOENT;
-                        } else if (!path) {
-                                // FIXME: support units with path==NULL (no FragmentPath)
-                                log_error("No fragment exists for %s.", *name);
+
+                if (r == 0) {
+                        assert(!path);
+
+                        if (!arg_force) {
+                                log_error("Run 'systemctl edit%s --force %s' to create a new unit.",
+                                          arg_scope == UNIT_FILE_GLOBAL ? " --global" :
+                                          arg_scope == UNIT_FILE_USER ? " --user" : "",
+                                          *name);
                                 return -ENOENT;
                         }
-                }
 
-                if (path) {
+                        /* Create a new unit from scratch */
+                        unit_name = *name;
+                        r = unit_file_create_new(&lp, unit_name,
+                                                 arg_full ? NULL : ".d/override.conf",
+                                                 &new_path, &tmp_path);
+                } else {
+                        assert(path);
+
+                        unit_name = basename(path);
+                        /* We follow unit aliases, but we need to propagate the instance */
+                        if (unit_name_is_valid(*name, UNIT_NAME_INSTANCE) &&
+                            unit_name_is_valid(unit_name, UNIT_NAME_TEMPLATE)) {
+                                _cleanup_free_ char *instance = NULL;
+
+                                r = unit_name_to_instance(*name, &instance);
+                                if (r < 0)
+                                        return r;
+
+                                r = unit_name_replace_instance(unit_name, instance, &tmp_name);
+                                if (r < 0)
+                                        return r;
+
+                                unit_name = tmp_name;
+                        }
+
                         if (arg_full)
-                                r = unit_file_create_copy(&lp, basename(path), path, &new_path, &tmp_path);
+                                r = unit_file_create_copy(&lp, unit_name, path, &new_path, &tmp_path);
                         else
-                                r = unit_file_create_new(&lp, basename(path), ".d/override.conf", &new_path, &tmp_path);
-                } else
-                        r = unit_file_create_new(&lp, *name, NULL, &new_path, &tmp_path);
+                                r = unit_file_create_new(&lp, unit_name, ".d/override.conf", &new_path, &tmp_path);
+                }
                 if (r < 0)
                         return r;
 
@@ -7539,7 +7570,7 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
 
                 case ARG_STATE: {
                         if (isempty(optarg)) {
-                                log_error("--signal requires arguments.");
+                                log_error("--state requires arguments.");
                                 return -EINVAL;
                         }
 
@@ -7548,7 +7579,7 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
 
                                 r = extract_first_word(&p, &s, ",", 0);
                                 if (r < 0)
-                                        return log_error_errno(r, "Failed to parse signal: %s", optarg);
+                                        return log_error_errno(r, "Failed to parse state: %s", optarg);
                                 if (r == 0)
                                         break;
 
index e8f84eb5455dc25a263a21efcae949eda6a883fa..3563a2b126bffc3d9662dea4d18ec4688f5966c8 100644 (file)
@@ -86,18 +86,26 @@ struct sd_bus_vtable {
         {                                                               \
                 .type = _SD_BUS_VTABLE_START,                           \
                 .flags = _flags,                                        \
-                .x.start.element_size = sizeof(sd_bus_vtable),          \
+                .x = {                                                  \
+                    .start = {                                          \
+                        .element_size = sizeof(sd_bus_vtable)           \
+                    },                                                  \
+                },                                                      \
         }
 
 #define SD_BUS_METHOD_WITH_OFFSET(_member, _signature, _result, _handler, _offset, _flags)   \
         {                                                               \
                 .type = _SD_BUS_VTABLE_METHOD,                          \
                 .flags = _flags,                                        \
-                .x.method.member = _member,                             \
-                .x.method.signature = _signature,                       \
-                .x.method.result = _result,                             \
-                .x.method.handler = _handler,                           \
-                .x.method.offset = _offset,                             \
+                .x = {                                                  \
+                    .method = {                                         \
+                        .member = _member,                              \
+                        .signature = _signature,                        \
+                        .result = _result,                              \
+                        .handler = _handler,                            \
+                        .offset = _offset,                              \
+                    },                                                  \
+                },                                                      \
         }
 #define SD_BUS_METHOD(_member, _signature, _result, _handler, _flags)   \
         SD_BUS_METHOD_WITH_OFFSET(_member, _signature, _result, _handler, 0, _flags)
@@ -106,29 +114,41 @@ struct sd_bus_vtable {
         {                                                               \
                 .type = _SD_BUS_VTABLE_SIGNAL,                          \
                 .flags = _flags,                                        \
-                .x.signal.member = _member,                             \
-                .x.signal.signature = _signature,                       \
+                .x = {                                                  \
+                    .signal = {                                         \
+                        .member = _member,                              \
+                        .signature = _signature,                        \
+                    },                                                  \
+                },                                                      \
         }
 
 #define SD_BUS_PROPERTY(_member, _signature, _get, _offset, _flags)     \
         {                                                               \
                 .type = _SD_BUS_VTABLE_PROPERTY,                        \
                 .flags = _flags,                                        \
-                .x.property.member = _member,                           \
-                .x.property.signature = _signature,                     \
-                .x.property.get = _get,                                 \
-                .x.property.offset = _offset,                           \
+                .x = {                                                  \
+                    .property = {                                       \
+                        .member = _member,                              \
+                        .signature = _signature,                        \
+                        .get = _get,                                    \
+                        .offset = _offset,                              \
+                    },                                                  \
+                },                                                      \
         }
 
 #define SD_BUS_WRITABLE_PROPERTY(_member, _signature, _get, _set, _offset, _flags) \
         {                                                               \
                 .type = _SD_BUS_VTABLE_WRITABLE_PROPERTY,               \
                 .flags = _flags,                                        \
-                .x.property.member = _member,                           \
-                .x.property.signature = _signature,                     \
-                .x.property.get = _get,                                 \
-                .x.property.set = _set,                                 \
-                .x.property.offset = _offset,                           \
+                .x = {                                                  \
+                    .property = {                                       \
+                        .member = _member,                              \
+                        .signature = _signature,                        \
+                        .get = _get,                                    \
+                        .set = _set,                                    \
+                        .offset = _offset,                              \
+                    },                                                  \
+                },                                                      \
         }
 
 #define SD_BUS_VTABLE_END                                               \
index 6cc8e4ac0e9f2968b4630d251a1dfa4b1c3b7395..9b38969b7746d10ee3340229130a6dbc31c5015e 100644 (file)
@@ -100,6 +100,9 @@ int sd_id128_get_invocation(sd_id128_t *ret);
                 ((x).bytes[15] & 15) >= 10 ? 'a' + ((x).bytes[15] & 15) - 10 : '0' + ((x).bytes[15] & 15), \
                 0 })
 
+#define SD_ID128_MAKE_STR(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) \
+        #a #b #c #d #e #f #g #h #i #j #k #l #m #n #o #p
+
 _sd_pure_ static __inline__ int sd_id128_equal(sd_id128_t a, sd_id128_t b) {
         return memcmp(&a, &b, 16) == 0;
 }
index db1a21be05e574e0b6abd2200cb821a9037fb11c..f466d9b0628eb25ec010550fa26c79b20351e649 100644 (file)
@@ -33,60 +33,109 @@ _SD_BEGIN_DECLARATIONS;
  * with journalctl --new-id128. Do not use any other IDs, and do not
  * count them up manually. */
 
-#define SD_MESSAGE_JOURNAL_START    SD_ID128_MAKE(f7,73,79,a8,49,0b,40,8b,be,5f,69,40,50,5a,77,7b)
-#define SD_MESSAGE_JOURNAL_STOP     SD_ID128_MAKE(d9,3f,b3,c9,c2,4d,45,1a,97,ce,a6,15,ce,59,c0,0b)
-#define SD_MESSAGE_JOURNAL_DROPPED  SD_ID128_MAKE(a5,96,d6,fe,7b,fa,49,94,82,8e,72,30,9e,95,d6,1e)
-#define SD_MESSAGE_JOURNAL_MISSED   SD_ID128_MAKE(e9,bf,28,e6,e8,34,48,1b,b6,f4,8f,54,8a,d1,36,06)
-#define SD_MESSAGE_JOURNAL_USAGE    SD_ID128_MAKE(ec,38,7f,57,7b,84,4b,8f,a9,48,f3,3c,ad,9a,75,e6)
-
-#define SD_MESSAGE_COREDUMP         SD_ID128_MAKE(fc,2e,22,bc,6e,e6,47,b6,b9,07,29,ab,34,a2,50,b1)
-#define SD_MESSAGE_TRUNCATED_CORE   SD_ID128_MAKE(5a,ad,d8,e9,54,dc,4b,1a,8c,95,4d,63,fd,9e,11,37)
-
-#define SD_MESSAGE_SESSION_START    SD_ID128_MAKE(8d,45,62,0c,1a,43,48,db,b1,74,10,da,57,c6,0c,66)
-#define SD_MESSAGE_SESSION_STOP     SD_ID128_MAKE(33,54,93,94,24,b4,45,6d,98,02,ca,83,33,ed,42,4a)
-#define SD_MESSAGE_SEAT_START       SD_ID128_MAKE(fc,be,fc,5d,a2,3d,42,80,93,f9,7c,82,a9,29,0f,7b)
-#define SD_MESSAGE_SEAT_STOP        SD_ID128_MAKE(e7,85,2b,fe,46,78,4e,d0,ac,cd,e0,4b,c8,64,c2,d5)
-#define SD_MESSAGE_MACHINE_START    SD_ID128_MAKE(24,d8,d4,45,25,73,40,24,96,06,83,81,a6,31,2d,f2)
-#define SD_MESSAGE_MACHINE_STOP     SD_ID128_MAKE(58,43,2b,d3,ba,ce,47,7c,b5,14,b5,63,81,b8,a7,58)
-
-#define SD_MESSAGE_TIME_CHANGE      SD_ID128_MAKE(c7,a7,87,07,9b,35,4e,aa,a9,e7,7b,37,18,93,cd,27)
-#define SD_MESSAGE_TIMEZONE_CHANGE  SD_ID128_MAKE(45,f8,2f,4a,ef,7a,4b,bf,94,2c,e8,61,d1,f2,09,90)
-
-#define SD_MESSAGE_STARTUP_FINISHED SD_ID128_MAKE(b0,7a,24,9c,d0,24,41,4a,82,dd,00,cd,18,13,78,ff)
-#define SD_MESSAGE_USER_STARTUP_FINISHED SD_ID128_MAKE(ee,d0,0a,68,ff,d8,4e,31,88,21,05,fd,97,3a,bd,d1)
-
-#define SD_MESSAGE_SLEEP_START      SD_ID128_MAKE(6b,bd,95,ee,97,79,41,e4,97,c4,8b,e2,7c,25,41,28)
-#define SD_MESSAGE_SLEEP_STOP       SD_ID128_MAKE(88,11,e6,df,2a,8e,40,f5,8a,94,ce,a2,6f,8e,bf,14)
-
-#define SD_MESSAGE_SHUTDOWN         SD_ID128_MAKE(98,26,88,66,d1,d5,4a,49,9c,4e,98,92,1d,93,bc,40)
-
-#define SD_MESSAGE_UNIT_STARTING    SD_ID128_MAKE(7d,49,58,e8,42,da,4a,75,8f,6c,1c,dc,7b,36,dc,c5)
-#define SD_MESSAGE_UNIT_STARTED     SD_ID128_MAKE(39,f5,34,79,d3,a0,45,ac,8e,11,78,62,48,23,1f,bf)
-#define SD_MESSAGE_UNIT_STOPPING    SD_ID128_MAKE(de,5b,42,6a,63,be,47,a7,b6,ac,3e,aa,c8,2e,2f,6f)
-#define SD_MESSAGE_UNIT_STOPPED     SD_ID128_MAKE(9d,1a,aa,27,d6,01,40,bd,96,36,54,38,aa,d2,02,86)
-#define SD_MESSAGE_UNIT_FAILED      SD_ID128_MAKE(be,02,cf,68,55,d2,42,8b,a4,0d,f7,e9,d0,22,f0,3d)
-#define SD_MESSAGE_UNIT_RELOADING   SD_ID128_MAKE(d3,4d,03,7f,ff,18,47,e6,ae,66,9a,37,0e,69,47,25)
-#define SD_MESSAGE_UNIT_RELOADED    SD_ID128_MAKE(7b,05,eb,c6,68,38,42,22,ba,a8,88,11,79,cf,da,54)
-
-#define SD_MESSAGE_SPAWN_FAILED     SD_ID128_MAKE(64,12,57,65,1c,1b,4e,c9,a8,62,4d,7a,40,a9,e1,e7)
-
-#define SD_MESSAGE_FORWARD_SYSLOG_MISSED SD_ID128_MAKE(00,27,22,9c,a0,64,41,81,a7,6c,4e,92,45,8a,fa,2e)
-
-#define SD_MESSAGE_OVERMOUNTING     SD_ID128_MAKE(1d,ee,03,69,c7,fc,47,36,b7,09,9b,38,ec,b4,6e,e7)
-
-#define SD_MESSAGE_LID_OPENED       SD_ID128_MAKE(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,6f)
-#define SD_MESSAGE_LID_CLOSED       SD_ID128_MAKE(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,70)
-#define SD_MESSAGE_SYSTEM_DOCKED    SD_ID128_MAKE(f5,f4,16,b8,62,07,4b,28,92,7a,48,c3,ba,7d,51,ff)
-#define SD_MESSAGE_SYSTEM_UNDOCKED  SD_ID128_MAKE(51,e1,71,bd,58,52,48,56,81,10,14,4c,51,7c,ca,53)
-#define SD_MESSAGE_POWER_KEY        SD_ID128_MAKE(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,71)
-#define SD_MESSAGE_SUSPEND_KEY      SD_ID128_MAKE(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,72)
-#define SD_MESSAGE_HIBERNATE_KEY    SD_ID128_MAKE(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,73)
-
-#define SD_MESSAGE_INVALID_CONFIGURATION SD_ID128_MAKE(c7,72,d2,4e,9a,88,4c,be,b9,ea,12,62,5c,30,6c,01)
-
-#define SD_MESSAGE_DNSSEC_FAILURE   SD_ID128_MAKE(16,75,d7,f1,72,17,40,98,b1,10,8b,f8,c7,dc,8f,5d)
-#define SD_MESSAGE_DNSSEC_TRUST_ANCHOR_REVOKED SD_ID128_MAKE(4d,44,08,cf,d0,d1,44,85,91,84,d1,e6,5d,7c,8a,65)
-#define SD_MESSAGE_DNSSEC_DOWNGRADE SD_ID128_MAKE(36,db,2d,fa,5a,90,45,e1,bd,4a,f5,f9,3e,1c,f0,57)
+#define SD_MESSAGE_JOURNAL_START          SD_ID128_MAKE(f7,73,79,a8,49,0b,40,8b,be,5f,69,40,50,5a,77,7b)
+#define SD_MESSAGE_JOURNAL_START_STR      SD_ID128_MAKE_STR(f7,73,79,a8,49,0b,40,8b,be,5f,69,40,50,5a,77,7b)
+#define SD_MESSAGE_JOURNAL_STOP           SD_ID128_MAKE(d9,3f,b3,c9,c2,4d,45,1a,97,ce,a6,15,ce,59,c0,0b)
+#define SD_MESSAGE_JOURNAL_STOP_STR       SD_ID128_MAKE_STR(d9,3f,b3,c9,c2,4d,45,1a,97,ce,a6,15,ce,59,c0,0b)
+#define SD_MESSAGE_JOURNAL_DROPPED        SD_ID128_MAKE(a5,96,d6,fe,7b,fa,49,94,82,8e,72,30,9e,95,d6,1e)
+#define SD_MESSAGE_JOURNAL_DROPPED_STR    SD_ID128_MAKE_STR(a5,96,d6,fe,7b,fa,49,94,82,8e,72,30,9e,95,d6,1e)
+#define SD_MESSAGE_JOURNAL_MISSED         SD_ID128_MAKE(e9,bf,28,e6,e8,34,48,1b,b6,f4,8f,54,8a,d1,36,06)
+#define SD_MESSAGE_JOURNAL_MISSED_STR     SD_ID128_MAKE_STR(e9,bf,28,e6,e8,34,48,1b,b6,f4,8f,54,8a,d1,36,06)
+#define SD_MESSAGE_JOURNAL_USAGE          SD_ID128_MAKE(ec,38,7f,57,7b,84,4b,8f,a9,48,f3,3c,ad,9a,75,e6)
+#define SD_MESSAGE_JOURNAL_USAGE_STR      SD_ID128_MAKE_STR(ec,38,7f,57,7b,84,4b,8f,a9,48,f3,3c,ad,9a,75,e6)
+
+#define SD_MESSAGE_COREDUMP               SD_ID128_MAKE(fc,2e,22,bc,6e,e6,47,b6,b9,07,29,ab,34,a2,50,b1)
+#define SD_MESSAGE_COREDUMP_STR           SD_ID128_MAKE_STR(fc,2e,22,bc,6e,e6,47,b6,b9,07,29,ab,34,a2,50,b1)
+#define SD_MESSAGE_TRUNCATED_CORE         SD_ID128_MAKE(5a,ad,d8,e9,54,dc,4b,1a,8c,95,4d,63,fd,9e,11,37)
+#define SD_MESSAGE_TRUNCATED_CORE_STR     SD_ID128_MAKE_STR(5a,ad,d8,e9,54,dc,4b,1a,8c,95,4d,63,fd,9e,11,37)
+#define SD_MESSAGE_BACKTRACE              SD_ID128_MAKE(1f,4e,0a,44,a8,86,49,93,9a,ae,a3,4f,c6,da,8c,95)
+#define SD_MESSAGE_BACKTRACE_STR          SD_ID128_MAKE_STR(1f,4e,0a,44,a8,86,49,93,9a,ae,a3,4f,c6,da,8c,95)
+
+#define SD_MESSAGE_SESSION_START          SD_ID128_MAKE(8d,45,62,0c,1a,43,48,db,b1,74,10,da,57,c6,0c,66)
+#define SD_MESSAGE_SESSION_START_STR      SD_ID128_MAKE_STR(8d,45,62,0c,1a,43,48,db,b1,74,10,da,57,c6,0c,66)
+#define SD_MESSAGE_SESSION_STOP           SD_ID128_MAKE(33,54,93,94,24,b4,45,6d,98,02,ca,83,33,ed,42,4a)
+#define SD_MESSAGE_SESSION_STOP_STR       SD_ID128_MAKE_STR(33,54,93,94,24,b4,45,6d,98,02,ca,83,33,ed,42,4a)
+#define SD_MESSAGE_SEAT_START             SD_ID128_MAKE(fc,be,fc,5d,a2,3d,42,80,93,f9,7c,82,a9,29,0f,7b)
+#define SD_MESSAGE_SEAT_START_STR         SD_ID128_MAKE_STR(fc,be,fc,5d,a2,3d,42,80,93,f9,7c,82,a9,29,0f,7b)
+#define SD_MESSAGE_SEAT_STOP              SD_ID128_MAKE(e7,85,2b,fe,46,78,4e,d0,ac,cd,e0,4b,c8,64,c2,d5)
+#define SD_MESSAGE_SEAT_STOP_STR          SD_ID128_MAKE_STR(e7,85,2b,fe,46,78,4e,d0,ac,cd,e0,4b,c8,64,c2,d5)
+#define SD_MESSAGE_MACHINE_START          SD_ID128_MAKE(24,d8,d4,45,25,73,40,24,96,06,83,81,a6,31,2d,f2)
+#define SD_MESSAGE_MACHINE_START_STR      SD_ID128_MAKE_STR(24,d8,d4,45,25,73,40,24,96,06,83,81,a6,31,2d,f2)
+#define SD_MESSAGE_MACHINE_STOP           SD_ID128_MAKE(58,43,2b,d3,ba,ce,47,7c,b5,14,b5,63,81,b8,a7,58)
+#define SD_MESSAGE_MACHINE_STOP_STR       SD_ID128_MAKE_STR(58,43,2b,d3,ba,ce,47,7c,b5,14,b5,63,81,b8,a7,58)
+
+#define SD_MESSAGE_TIME_CHANGE            SD_ID128_MAKE(c7,a7,87,07,9b,35,4e,aa,a9,e7,7b,37,18,93,cd,27)
+#define SD_MESSAGE_TIME_CHANGE_STR        SD_ID128_MAKE_STR(c7,a7,87,07,9b,35,4e,aa,a9,e7,7b,37,18,93,cd,27)
+#define SD_MESSAGE_TIMEZONE_CHANGE        SD_ID128_MAKE(45,f8,2f,4a,ef,7a,4b,bf,94,2c,e8,61,d1,f2,09,90)
+#define SD_MESSAGE_TIMEZONE_CHANGE_STR    SD_ID128_MAKE_STR(45,f8,2f,4a,ef,7a,4b,bf,94,2c,e8,61,d1,f2,09,90)
+
+#define SD_MESSAGE_STARTUP_FINISHED       SD_ID128_MAKE(b0,7a,24,9c,d0,24,41,4a,82,dd,00,cd,18,13,78,ff)
+#define SD_MESSAGE_STARTUP_FINISHED_STR   SD_ID128_MAKE_STR(b0,7a,24,9c,d0,24,41,4a,82,dd,00,cd,18,13,78,ff)
+#define SD_MESSAGE_USER_STARTUP_FINISHED \
+                                          SD_ID128_MAKE(ee,d0,0a,68,ff,d8,4e,31,88,21,05,fd,97,3a,bd,d1)
+#define SD_MESSAGE_USER_STARTUP_FINISHED_STR \
+                                          SD_ID128_MAKE_STR(ee,d0,0a,68,ff,d8,4e,31,88,21,05,fd,97,3a,bd,d1)
+
+#define SD_MESSAGE_SLEEP_START            SD_ID128_MAKE(6b,bd,95,ee,97,79,41,e4,97,c4,8b,e2,7c,25,41,28)
+#define SD_MESSAGE_SLEEP_START_STR        SD_ID128_MAKE_STR(6b,bd,95,ee,97,79,41,e4,97,c4,8b,e2,7c,25,41,28)
+#define SD_MESSAGE_SLEEP_STOP             SD_ID128_MAKE(88,11,e6,df,2a,8e,40,f5,8a,94,ce,a2,6f,8e,bf,14)
+#define SD_MESSAGE_SLEEP_STOP_STR         SD_ID128_MAKE_STR(88,11,e6,df,2a,8e,40,f5,8a,94,ce,a2,6f,8e,bf,14)
+
+#define SD_MESSAGE_SHUTDOWN               SD_ID128_MAKE(98,26,88,66,d1,d5,4a,49,9c,4e,98,92,1d,93,bc,40)
+#define SD_MESSAGE_SHUTDOWN_STR           SD_ID128_MAKE_STR(98,26,88,66,d1,d5,4a,49,9c,4e,98,92,1d,93,bc,40)
+
+#define SD_MESSAGE_UNIT_STARTING          SD_ID128_MAKE(7d,49,58,e8,42,da,4a,75,8f,6c,1c,dc,7b,36,dc,c5)
+#define SD_MESSAGE_UNIT_STARTING_STR      SD_ID128_MAKE_STR(7d,49,58,e8,42,da,4a,75,8f,6c,1c,dc,7b,36,dc,c5)
+#define SD_MESSAGE_UNIT_STARTED           SD_ID128_MAKE(39,f5,34,79,d3,a0,45,ac,8e,11,78,62,48,23,1f,bf)
+#define SD_MESSAGE_UNIT_STARTED_STR       SD_ID128_MAKE_STR(39,f5,34,79,d3,a0,45,ac,8e,11,78,62,48,23,1f,bf)
+#define SD_MESSAGE_UNIT_STOPPING          SD_ID128_MAKE(de,5b,42,6a,63,be,47,a7,b6,ac,3e,aa,c8,2e,2f,6f)
+#define SD_MESSAGE_UNIT_STOPPING_STR      SD_ID128_MAKE_STR(de,5b,42,6a,63,be,47,a7,b6,ac,3e,aa,c8,2e,2f,6f)
+#define SD_MESSAGE_UNIT_STOPPED           SD_ID128_MAKE(9d,1a,aa,27,d6,01,40,bd,96,36,54,38,aa,d2,02,86)
+#define SD_MESSAGE_UNIT_STOPPED_STR       SD_ID128_MAKE_STR(9d,1a,aa,27,d6,01,40,bd,96,36,54,38,aa,d2,02,86)
+#define SD_MESSAGE_UNIT_FAILED            SD_ID128_MAKE(be,02,cf,68,55,d2,42,8b,a4,0d,f7,e9,d0,22,f0,3d)
+#define SD_MESSAGE_UNIT_FAILED_STR        SD_ID128_MAKE_STR(be,02,cf,68,55,d2,42,8b,a4,0d,f7,e9,d0,22,f0,3d)
+#define SD_MESSAGE_UNIT_RELOADING         SD_ID128_MAKE(d3,4d,03,7f,ff,18,47,e6,ae,66,9a,37,0e,69,47,25)
+#define SD_MESSAGE_UNIT_RELOADING_STR     SD_ID128_MAKE_STR(d3,4d,03,7f,ff,18,47,e6,ae,66,9a,37,0e,69,47,25)
+#define SD_MESSAGE_UNIT_RELOADED          SD_ID128_MAKE(7b,05,eb,c6,68,38,42,22,ba,a8,88,11,79,cf,da,54)
+#define SD_MESSAGE_UNIT_RELOADED_STR      SD_ID128_MAKE_STR(7b,05,eb,c6,68,38,42,22,ba,a8,88,11,79,cf,da,54)
+
+#define SD_MESSAGE_SPAWN_FAILED           SD_ID128_MAKE(64,12,57,65,1c,1b,4e,c9,a8,62,4d,7a,40,a9,e1,e7)
+#define SD_MESSAGE_SPAWN_FAILED_STR       SD_ID128_MAKE_STR(64,12,57,65,1c,1b,4e,c9,a8,62,4d,7a,40,a9,e1,e7)
+
+#define SD_MESSAGE_FORWARD_SYSLOG_MISSED  SD_ID128_MAKE(00,27,22,9c,a0,64,41,81,a7,6c,4e,92,45,8a,fa,2e)
+#define SD_MESSAGE_FORWARD_SYSLOG_MISSED_STR \
+                                          SD_ID128_MAKE_STR(00,27,22,9c,a0,64,41,81,a7,6c,4e,92,45,8a,fa,2e)
+
+#define SD_MESSAGE_OVERMOUNTING           SD_ID128_MAKE(1d,ee,03,69,c7,fc,47,36,b7,09,9b,38,ec,b4,6e,e7)
+#define SD_MESSAGE_OVERMOUNTING_STR       SD_ID128_MAKE_STR(1d,ee,03,69,c7,fc,47,36,b7,09,9b,38,ec,b4,6e,e7)
+
+#define SD_MESSAGE_LID_OPENED             SD_ID128_MAKE(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,6f)
+#define SD_MESSAGE_LID_OPENED_STR         SD_ID128_MAKE_STR(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,6f)
+#define SD_MESSAGE_LID_CLOSED             SD_ID128_MAKE(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,70)
+#define SD_MESSAGE_LID_CLOSED_STR         SD_ID128_MAKE_STR(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,70)
+#define SD_MESSAGE_SYSTEM_DOCKED          SD_ID128_MAKE(f5,f4,16,b8,62,07,4b,28,92,7a,48,c3,ba,7d,51,ff)
+#define SD_MESSAGE_SYSTEM_DOCKED_STR      SD_ID128_MAKE_STR(f5,f4,16,b8,62,07,4b,28,92,7a,48,c3,ba,7d,51,ff)
+#define SD_MESSAGE_SYSTEM_UNDOCKED        SD_ID128_MAKE(51,e1,71,bd,58,52,48,56,81,10,14,4c,51,7c,ca,53)
+#define SD_MESSAGE_SYSTEM_UNDOCKED_STR    SD_ID128_MAKE_STR(51,e1,71,bd,58,52,48,56,81,10,14,4c,51,7c,ca,53)
+#define SD_MESSAGE_POWER_KEY              SD_ID128_MAKE(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,71)
+#define SD_MESSAGE_POWER_KEY_STR          SD_ID128_MAKE_STR(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,71)
+#define SD_MESSAGE_SUSPEND_KEY            SD_ID128_MAKE(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,72)
+#define SD_MESSAGE_SUSPEND_KEY_STR        SD_ID128_MAKE_STR(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,72)
+#define SD_MESSAGE_HIBERNATE_KEY          SD_ID128_MAKE(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,73)
+#define SD_MESSAGE_HIBERNATE_KEY_STR      SD_ID128_MAKE_STR(b7,2e,a4,a2,88,15,45,a0,b5,0e,20,0e,55,b9,b0,73)
+
+#define SD_MESSAGE_INVALID_CONFIGURATION  SD_ID128_MAKE(c7,72,d2,4e,9a,88,4c,be,b9,ea,12,62,5c,30,6c,01)
+#define SD_MESSAGE_INVALID_CONFIGURATION_STR \
+                                          SD_ID128_MAKE_STR(c7,72,d2,4e,9a,88,4c,be,b9,ea,12,62,5c,30,6c,01)
+
+#define SD_MESSAGE_DNSSEC_FAILURE         SD_ID128_MAKE(16,75,d7,f1,72,17,40,98,b1,10,8b,f8,c7,dc,8f,5d)
+#define SD_MESSAGE_DNSSEC_FAILURE_STR     SD_ID128_MAKE_STR(16,75,d7,f1,72,17,40,98,b1,10,8b,f8,c7,dc,8f,5d)
+#define SD_MESSAGE_DNSSEC_TRUST_ANCHOR_REVOKED \
+                                          SD_ID128_MAKE(4d,44,08,cf,d0,d1,44,85,91,84,d1,e6,5d,7c,8a,65)
+#define SD_MESSAGE_DNSSEC_TRUST_ANCHOR_REVOKED_STR \
+                                          SD_ID128_MAKE_STR(4d,44,08,cf,d0,d1,44,85,91,84,d1,e6,5d,7c,8a,65)
+#define SD_MESSAGE_DNSSEC_DOWNGRADE       SD_ID128_MAKE(36,db,2d,fa,5a,90,45,e1,bd,4a,f5,f9,3e,1c,f0,57)
+#define SD_MESSAGE_DNSSEC_DOWNGRADE_STR   SD_ID128_MAKE_STR(36,db,2d,fa,5a,90,45,e1,bd,4a,f5,f9,3e,1c,f0,57)
 
 _SD_END_DECLARATIONS;
 
index 17b966eb5266ad0de67c10e69c878477e8d7eb1d..4a0a49f2bb5af75a5294c77116a49ecb4e9671c5 100644 (file)
@@ -211,7 +211,7 @@ static int make_backup(const char *target, const char *x) {
         if (r < 0)
                 return r;
 
-        r = copy_bytes(src, fileno(dst), (uint64_t) -1, true);
+        r = copy_bytes(src, fileno(dst), (uint64_t) -1, COPY_REFLINK);
         if (r < 0)
                 goto fail;
 
index 1f34a91b100d5f2cb2095009df53317727b4c083..f90b73aeaf31862e6540bd55c4daf6c65cb088d5 100644 (file)
@@ -192,6 +192,7 @@ int main(int argc, char* argv[]) {
         test_one("00..07-*-*", "2000..2007-*-* 00:00:00");
         test_one("*:20..39/5", "*-*-* *:20..35/5:00");
         test_one("00:00:20..40/1", "*-*-* 00:00:20..40");
+        test_one("*~03/1,03..05", "*-*~03/1,03..05 00:00:00");
 
         test_next("2016-03-27 03:17:00", "", 12345, 1459048620000000);
         test_next("2016-03-27 03:17:00", "CET", 12345, 1459041420000000);
index a027eb0fd2a20257a3c32fd0a60161431ff22ee9..b42088c680a68515566cc38dd02d0a2401a7ce5c 100644 (file)
@@ -27,6 +27,7 @@
 #include "unit.h"
 
 static int test_cgroup_mask(void) {
+        _cleanup_(rm_rf_physical_and_freep) char *runtime_dir = NULL;
         Manager *m = NULL;
         Unit *son, *daughter, *parent, *root, *grandchild, *parent_deep;
         FILE *serial = NULL;
@@ -34,7 +35,8 @@ static int test_cgroup_mask(void) {
         int r;
 
         /* Prepare the manager. */
-        assert_se(set_unit_path(TEST_DIR) >= 0);
+        assert_se(set_unit_path(get_testdata_dir("")) >= 0);
+        assert_se(runtime_dir = setup_fake_runtime_dir());
         r = manager_new(UNIT_FILE_USER, true, &m);
         if (r == -EPERM || r == -EACCES) {
                 puts("manager_new: Permission denied. Skipping test.");
@@ -110,10 +112,8 @@ static int test_cgroup_mask(void) {
 }
 
 int main(int argc, char* argv[]) {
-        _cleanup_(rm_rf_physical_and_freep) char *runtime_dir = NULL;
         int rc = 0;
 
-        assert_se(runtime_dir = setup_fake_runtime_dir());
         TEST_REQ_RUNNING_SYSTEMD(rc = test_cgroup_mask());
 
         return rc;
index e65516f080f2d092f2ad74fbd6c07cdd6cc8004e..ed6725611de4958a533c576c42c85fe5d036966f 100644 (file)
@@ -31,6 +31,7 @@
 #include "rm-rf.h"
 #include "string-util.h"
 #include "strv.h"
+#include "user-util.h"
 #include "util.h"
 
 static void test_copy_file(void) {
@@ -52,7 +53,7 @@ static void test_copy_file(void) {
 
         assert_se(write_string_file(fn, "foo bar bar bar foo", WRITE_STRING_FILE_CREATE) == 0);
 
-        assert_se(copy_file(fn, fn_copy, 0, 0644, 0) == 0);
+        assert_se(copy_file(fn, fn_copy, 0, 0644, 0, COPY_REFLINK) == 0);
 
         assert_se(read_full_file(fn_copy, &buf, &sz) == 0);
         assert_se(streq(buf, "foo bar bar bar foo\n"));
@@ -77,8 +78,8 @@ static void test_copy_file_fd(void) {
         assert_se(out_fd >= 0);
 
         assert_se(write_string_file(in_fn, text, WRITE_STRING_FILE_CREATE) == 0);
-        assert_se(copy_file_fd("/a/file/which/does/not/exist/i/guess", out_fd, true) < 0);
-        assert_se(copy_file_fd(in_fn, out_fd, true) >= 0);
+        assert_se(copy_file_fd("/a/file/which/does/not/exist/i/guess", out_fd, COPY_REFLINK) < 0);
+        assert_se(copy_file_fd(in_fn, out_fd, COPY_REFLINK) >= 0);
         assert_se(lseek(out_fd, SEEK_SET, 0) == 0);
 
         assert_se(read(out_fd, buf, sizeof(buf)) == sizeof(text) - 1);
@@ -125,7 +126,7 @@ static void test_copy_tree(void) {
         unixsockp = strjoina(original_dir, "unixsock");
         assert_se(mknod(unixsockp, S_IFSOCK|0644, 0) >= 0);
 
-        assert_se(copy_tree(original_dir, copy_dir, true) == 0);
+        assert_se(copy_tree(original_dir, copy_dir, UID_INVALID, GID_INVALID, COPY_REFLINK|COPY_MERGE) == 0);
 
         STRV_FOREACH(p, files) {
                 _cleanup_free_ char *buf = NULL, *f;
@@ -152,8 +153,8 @@ static void test_copy_tree(void) {
         assert_se(stat(unixsockp, &st) >= 0);
         assert_se(S_ISSOCK(st.st_mode));
 
-        assert_se(copy_tree(original_dir, copy_dir, false) < 0);
-        assert_se(copy_tree("/tmp/inexistent/foo/bar/fsdoi", copy_dir, false) < 0);
+        assert_se(copy_tree(original_dir, copy_dir, UID_INVALID, GID_INVALID, COPY_REFLINK) < 0);
+        assert_se(copy_tree("/tmp/inexistent/foo/bar/fsdoi", copy_dir, UID_INVALID, GID_INVALID, COPY_REFLINK) < 0);
 
         (void) rm_rf(copy_dir, REMOVE_ROOT|REMOVE_PHYSICAL);
         (void) rm_rf(original_dir, REMOVE_ROOT|REMOVE_PHYSICAL);
@@ -172,7 +173,7 @@ static void test_copy_bytes(void) {
 
         assert_se(pipe2(pipefd, O_CLOEXEC) == 0);
 
-        r = copy_bytes(infd, pipefd[1], (uint64_t) -1, false);
+        r = copy_bytes(infd, pipefd[1], (uint64_t) -1, 0);
         assert_se(r == 0);
 
         r = read(pipefd[0], buf, sizeof(buf));
@@ -185,13 +186,13 @@ static void test_copy_bytes(void) {
         assert_se(strneq(buf, buf2, r));
 
         /* test copy_bytes with invalid descriptors */
-        r = copy_bytes(pipefd[0], pipefd[0], 1, false);
+        r = copy_bytes(pipefd[0], pipefd[0], 1, 0);
         assert_se(r == -EBADF);
 
-        r = copy_bytes(pipefd[1], pipefd[1], 1, false);
+        r = copy_bytes(pipefd[1], pipefd[1], 1, 0);
         assert_se(r == -EBADF);
 
-        r = copy_bytes(pipefd[1], infd, 1, false);
+        r = copy_bytes(pipefd[1], infd, 1, 0);
         assert_se(r == -EBADF);
 }
 
@@ -213,7 +214,7 @@ static void test_copy_bytes_regular_file(const char *src, bool try_reflink, uint
         fd3 = mkostemp_safe(fn3);
         assert_se(fd3 >= 0);
 
-        r = copy_bytes(fd, fd2, max_bytes, try_reflink);
+        r = copy_bytes(fd, fd2, max_bytes, try_reflink ? COPY_REFLINK : 0);
         if (max_bytes == (uint64_t) -1)
                 assert_se(r == 0);
         else
@@ -221,7 +222,7 @@ static void test_copy_bytes_regular_file(const char *src, bool try_reflink, uint
 
         assert_se(lseek(fd2, 0, SEEK_SET) == 0);
 
-        r = copy_bytes(fd2, fd3, max_bytes, try_reflink);
+        r = copy_bytes(fd2, fd3, max_bytes, try_reflink ? COPY_REFLINK : 0);
         if (max_bytes == (uint64_t) -1)
                 assert_se(r == 0);
         else
index a651f6b6831fe497d50b4ac98023ebdeddab79ee..8133343fb379a78804b5036445f52d135ced9a2b 100644 (file)
@@ -37,10 +37,9 @@ int main(int argc, char *argv[]) {
         Job *j;
         int r;
 
-        assert_se(runtime_dir = setup_fake_runtime_dir());
-
         /* prepare the test */
-        assert_se(set_unit_path(TEST_DIR) >= 0);
+        assert_se(set_unit_path(get_testdata_dir("")) >= 0);
+        assert_se(runtime_dir = setup_fake_runtime_dir());
         r = manager_new(UNIT_FILE_USER, true, &m);
         if (MANAGER_SKIP_TEST(r)) {
                 log_notice_errno(r, "Skipping test: manager_new: %m");
index bc9a2021f9951472a8e94b524f7211a583ee9376..90540b884bf8ef78df6064d1baf9ac7145e5ddfb 100644 (file)
@@ -35,6 +35,7 @@
 #endif
 #include "stat-util.h"
 #include "test-helper.h"
+#include "tests.h"
 #include "unit.h"
 #include "util.h"
 #include "virt.h"
@@ -145,11 +146,11 @@ static void test_exec_privatetmp(Manager *m) {
 
 static void test_exec_privatedevices(Manager *m) {
         if (detect_container() > 0) {
-                log_notice("testing in container, skipping private device tests");
+                log_notice("testing in container, skipping %s", __func__);
                 return;
         }
         if (!is_inaccessible_available()) {
-                log_notice("testing without inaccessible, skipping private device tests");
+                log_notice("testing without inaccessible, skipping %s", __func__);
                 return;
         }
 
@@ -158,12 +159,22 @@ static void test_exec_privatedevices(Manager *m) {
 }
 
 static void test_exec_privatedevices_capabilities(Manager *m) {
+        int r;
+
         if (detect_container() > 0) {
-                log_notice("testing in container, skipping private device tests");
+                log_notice("testing in container, skipping %s", __func__);
                 return;
         }
         if (!is_inaccessible_available()) {
-                log_notice("testing without inaccessible, skipping private device tests");
+                log_notice("testing without inaccessible, skipping %s", __func__);
+                return;
+        }
+
+        /* We use capsh to test if the capabilities are
+         * properly set, so be sure that it exists */
+        r = find_binary("capsh", NULL);
+        if (r < 0) {
+                log_error_errno(r, "Skipping %s, could not find capsh binary: %m", __func__);
                 return;
         }
 
@@ -174,15 +185,24 @@ static void test_exec_privatedevices_capabilities(Manager *m) {
 }
 
 static void test_exec_protectkernelmodules(Manager *m) {
+        int r;
+
         if (detect_container() > 0) {
-                log_notice("testing in container, skipping protectkernelmodules tests");
+                log_notice("testing in container, skipping %s", __func__);
                 return;
         }
         if (!is_inaccessible_available()) {
-                log_notice("testing without inaccessible, skipping protectkernelmodules tests");
+                log_notice("testing without inaccessible, skipping %s", __func__);
                 return;
         }
 
+        r = find_binary("capsh", NULL);
+        if (r < 0) {
+                log_error_errno(r, "Skipping %s, could not find capsh binary: %m", __func__);
+                return;
+        }
+
+
         test(m, "exec-protectkernelmodules-no-capabilities.service", 0, CLD_EXITED);
         test(m, "exec-protectkernelmodules-yes-capabilities.service", 0, CLD_EXITED);
         test(m, "exec-protectkernelmodules-yes-mount-propagation.service", 0, CLD_EXITED);
@@ -253,7 +273,7 @@ static void test_exec_systemcall_system_mode_with_user(Manager *m) {
         else if (getpwnam("nfsnobody"))
                 test(m, "exec-systemcallfilter-system-user-nfsnobody.service", 0, CLD_EXITED);
         else
-                log_error_errno(errno, "Skipping test_exec_systemcall_system_mode_with_user, could not find nobody/nfsnobody user: %m");
+                log_error_errno(errno, "Skipping %s, could not find nobody/nfsnobody user: %m", __func__);
 #endif
 }
 
@@ -263,7 +283,7 @@ static void test_exec_user(Manager *m) {
         else if (getpwnam("nfsnobody"))
                 test(m, "exec-user-nfsnobody.service", 0, CLD_EXITED);
         else
-                log_error_errno(errno, "Skipping test_exec_user, could not find nobody/nfsnobody user: %m");
+                log_error_errno(errno, "Skipping %s, could not find nobody/nfsnobody user: %m", __func__);
 }
 
 static void test_exec_group(Manager *m) {
@@ -272,7 +292,7 @@ static void test_exec_group(Manager *m) {
         else if (getgrnam("nfsnobody"))
                 test(m, "exec-group-nfsnobody.service", 0, CLD_EXITED);
         else
-                log_error_errno(errno, "Skipping test_exec_group, could not find nobody/nfsnobody group: %m");
+                log_error_errno(errno, "Skipping %s, could not find nobody/nfsnobody group: %m", __func__);
 }
 
 static void test_exec_supplementary_groups(Manager *m) {
@@ -353,17 +373,15 @@ static void test_exec_runtimedirectory(Manager *m) {
         else if (getgrnam("nfsnobody"))
                 test(m, "exec-runtimedirectory-owner-nfsnobody.service", 0, CLD_EXITED);
         else
-                log_error_errno(errno, "Skipping test_exec_runtimedirectory-owner, could not find nobody/nfsnobody group: %m");
+                log_error_errno(errno, "Skipping %s, could not find nobody/nfsnobody group: %m", __func__);
 }
 
 static void test_exec_capabilityboundingset(Manager *m) {
         int r;
 
-        /* We use capsh to test if the capabilities are
-         * properly set, so be sure that it exists */
         r = find_binary("capsh", NULL);
         if (r < 0) {
-                log_error_errno(r, "Skipping test_exec_capabilityboundingset, could not find capsh binary: %m");
+                log_error_errno(r, "Skipping %s, could not find capsh binary: %m", __func__);
                 return;
         }
 
@@ -389,9 +407,9 @@ static void test_exec_capabilityambientset(Manager *m) {
                         test(m, "exec-capabilityambientset-nfsnobody.service", 0, CLD_EXITED);
                         test(m, "exec-capabilityambientset-merge-nfsnobody.service", 0, CLD_EXITED);
                 } else
-                        log_error_errno(errno, "Skipping test_exec_capabilityambientset, could not find nobody/nfsnobody user: %m");
+                        log_error_errno(errno, "Skipping %s, could not find nobody/nfsnobody user: %m", __func__);
         } else
-                log_error_errno(errno, "Skipping test_exec_capabilityambientset, the kernel does not support ambient capabilities: %m");
+                log_error_errno(errno, "Skipping %s, the kernel does not support ambient capabilities: %m", __func__);
 }
 
 static void test_exec_privatenetwork(Manager *m) {
@@ -399,7 +417,7 @@ static void test_exec_privatenetwork(Manager *m) {
 
         r = find_binary("ip", NULL);
         if (r < 0) {
-                log_error_errno(r, "Skipping test_exec_privatenetwork, could not find ip binary: %m");
+                log_error_errno(r, "Skipping %s, could not find ip binary: %m", __func__);
                 return;
         }
 
@@ -422,6 +440,10 @@ static void test_exec_spec_interpolation(Manager *m) {
         test(m, "exec-spec-interpolation.service", 0, CLD_EXITED);
 }
 
+static void test_exec_read_only_path_suceed(Manager *m) {
+        test(m, "exec-read-only-path-succeed.service", 0, CLD_EXITED);
+}
+
 static int run_tests(UnitFileScope scope, const test_function_t *tests) {
         const test_function_t *test = NULL;
         Manager *m = NULL;
@@ -475,6 +497,7 @@ int main(int argc, char *argv[]) {
                 test_exec_oomscoreadjust,
                 test_exec_ioschedulingclass,
                 test_exec_spec_interpolation,
+                test_exec_read_only_path_suceed,
                 NULL,
         };
         static const test_function_t system_tests[] = {
@@ -494,7 +517,7 @@ int main(int argc, char *argv[]) {
         }
 
         assert_se(setenv("XDG_RUNTIME_DIR", "/tmp/", 1) == 0);
-        assert_se(set_unit_path(TEST_DIR "/test-execute/") >= 0);
+        assert_se(set_unit_path(get_testdata_dir("/test-execute")) >= 0);
 
         /* Unset VAR1, VAR2 and VAR3 which are used in the PassEnvironment test
          * cases, otherwise (and if they are present in the environment),
index 463e135e2b0f9e626c1f76e46078e66c2a878ae4..ce6c7aa18a0fb91e5c7b6fbeb86e5627e96ffaae 100644 (file)
@@ -24,7 +24,7 @@
 int main(int argc, char *argv[]) {
         uid_t uid;
         int r;
-        const char* name = argv[1] ?: "nfsnobody";
+        const char* name = argv[1] ?: NOBODY_USER_NAME;
 
         r = get_user_creds(&name, &uid, NULL, NULL, NULL);
         if (r < 0) {
diff --git a/src/test/test-journal-importer.c b/src/test/test-journal-importer.c
new file mode 100644 (file)
index 0000000..a61212c
--- /dev/null
@@ -0,0 +1,90 @@
+/***
+  This file is part of systemd.
+
+  Copyright 2016 Zbigniew JÄ™drzejewski-Szmek
+
+  systemd is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
+  (at your option) any later version.
+
+  systemd is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+
+#include "log.h"
+#include "journal-importer.h"
+#include "string-util.h"
+#include "tests.h"
+
+static void assert_iovec_entry(const struct iovec *iovec, const char* content) {
+        assert_se(strlen(content) == iovec->iov_len);
+        assert_se(memcmp(content, iovec->iov_base, iovec->iov_len) == 0);
+}
+
+#define COREDUMP_PROC_GROUP                                             \
+        "COREDUMP_PROC_CGROUP=1:name=systemd:/\n"                       \
+        "0::/user.slice/user-1002.slice/user@1002.service/gnome-terminal-server.service\n"
+
+static void test_basic_parsing(void) {
+        _cleanup_(journal_importer_cleanup) JournalImporter imp = {};
+        int r;
+
+        imp.fd = open(get_testdata_dir("/journal-data/journal-1.txt"), O_RDONLY|O_CLOEXEC);
+        assert_se(imp.fd >= 0);
+
+        do
+                r = journal_importer_process_data(&imp);
+        while (r == 0 && !journal_importer_eof(&imp));
+        assert_se(r == 1);
+
+        /* We read one entry, so we should get EOF on next read, but not yet */
+        assert_se(!journal_importer_eof(&imp));
+
+        assert_se(imp.iovw.count == 6);
+        assert_iovec_entry(&imp.iovw.iovec[0], "_BOOT_ID=1531fd22ec84429e85ae888b12fadb91");
+        assert_iovec_entry(&imp.iovw.iovec[1], "_TRANSPORT=journal");
+        assert_iovec_entry(&imp.iovw.iovec[2], COREDUMP_PROC_GROUP);
+        assert_iovec_entry(&imp.iovw.iovec[3], "COREDUMP_RLIMIT=-1");
+        assert_iovec_entry(&imp.iovw.iovec[4], COREDUMP_PROC_GROUP);
+        assert_iovec_entry(&imp.iovw.iovec[5], "_SOURCE_REALTIME_TIMESTAMP=1478389147837945");
+
+        /* Let's check if we get EOF now */
+        r = journal_importer_process_data(&imp);
+        assert_se(r == 0);
+        assert_se(journal_importer_eof(&imp));
+}
+
+static void test_bad_input(void) {
+        _cleanup_(journal_importer_cleanup) JournalImporter imp = {};
+        int r;
+
+        imp.fd = open(get_testdata_dir("/journal-data/journal-2.txt"), O_RDONLY|O_CLOEXEC);
+        assert_se(imp.fd >= 0);
+
+        do
+                r = journal_importer_process_data(&imp);
+        while (!journal_importer_eof(&imp));
+        assert_se(r == 0); /* If we don't have enough input, 0 is returned */
+
+        assert_se(journal_importer_eof(&imp));
+}
+
+int main(int argc, char **argv) {
+        log_set_max_level(LOG_DEBUG);
+        log_parse_environment();
+
+        test_basic_parsing();
+        test_bad_input();
+
+        return 0;
+}
index 5e99d478eec6a0cb4af49547d1e087ed3e276a12..70ac6b3df355e12d7565fe5eff3b2450db053299 100644 (file)
@@ -262,8 +262,8 @@ int main(int argc, char *argv[]) {
         log_parse_environment();
         log_open();
 
+        assert_se(set_unit_path(get_testdata_dir("/test-path")) >= 0);
         assert_se(runtime_dir = setup_fake_runtime_dir());
-        assert_se(set_unit_path(TEST_DIR "/test-path/") >= 0);
 
         for (test = tests; test && *test; test++) {
                 int r;
index 7b37910c3316e09e4efc8dcfd808763b1b0c33c4..81d9abc2d51d7d26d9b6aee4c005af04e7433f88 100644 (file)
@@ -34,10 +34,9 @@ int main(int argc, char *argv[]) {
         FDSet *fdset = NULL;
         int r;
 
-        assert_se(runtime_dir = setup_fake_runtime_dir());
-
         /* prepare the test */
-        assert_se(set_unit_path(TEST_DIR) >= 0);
+        assert_se(set_unit_path(get_testdata_dir("")) >= 0);
+        assert_se(runtime_dir = setup_fake_runtime_dir());
         r = manager_new(UNIT_FILE_USER, true, &m);
         if (MANAGER_SKIP_TEST(r)) {
                 log_notice_errno(r, "Skipping test: manager_new: %m");
index a48dca99e17b2c14c609efe78c5e1a7ee3e3f6c8..3ff2aadea48fe404304e61cbf52047d0a8bfa5d8 100644 (file)
@@ -26,6 +26,7 @@
 #include "fileio.h"
 #include "macro.h"
 #include "missing.h"
+#include "mount-util.h"
 #include "stat-util.h"
 
 static void test_files_same(void) {
@@ -69,8 +70,11 @@ static void test_path_is_os_tree(void) {
 }
 
 static void test_path_check_fstype(void) {
-        assert_se(path_check_fstype("/run", TMPFS_MAGIC) > 0);
-        assert_se(path_check_fstype("/run", BTRFS_SUPER_MAGIC) == 0);
+        /* run might not be a mount point in build chroots */
+        if (path_is_mount_point("/run", NULL, AT_SYMLINK_FOLLOW) > 0) {
+                assert_se(path_check_fstype("/run", TMPFS_MAGIC) > 0);
+                assert_se(path_check_fstype("/run", BTRFS_SUPER_MAGIC) == 0);
+        }
         assert_se(path_check_fstype("/proc", PROC_SUPER_MAGIC) > 0);
         assert_se(path_check_fstype("/proc", BTRFS_SUPER_MAGIC) == 0);
         assert_se(path_check_fstype("/proc", BTRFS_SUPER_MAGIC) == 0);
@@ -78,7 +82,9 @@ static void test_path_check_fstype(void) {
 }
 
 static void test_path_is_temporary_fs(void) {
-        assert_se(path_is_temporary_fs("/run") > 0);
+        /* run might not be a mount point in build chroots */
+        if (path_is_mount_point("/run", NULL, AT_SYMLINK_FOLLOW) > 0)
+                assert_se(path_is_temporary_fs("/run") > 0);
         assert_se(path_is_temporary_fs("/proc") == 0);
         assert_se(path_is_temporary_fs("/i-dont-exist") == -ENOENT);
 }
index 553ef67011d74fc1d897c9339dcbcccb3ab26679..281b1534a39a75ad39bb8ad0411c9c95ab4ab0b5 100644 (file)
@@ -165,6 +165,8 @@ static int show_status(sd_bus *bus, char **args, unsigned n) {
                 { "RTCTimeUSec",     "t", NULL, offsetof(StatusInfo, rtc_time) },
                 {}
         };
+
+        _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         int r;
 
         assert(bus);
@@ -173,9 +175,10 @@ static int show_status(sd_bus *bus, char **args, unsigned n) {
                                    "org.freedesktop.timedate1",
                                    "/org/freedesktop/timedate1",
                                    map,
+                                   &error,
                                    &info);
         if (r < 0)
-                return log_error_errno(r, "Failed to query server: %m");
+                return log_error_errno(r, "Failed to query server: %s", bus_error_message(&error, r));
 
         print_status_info(&info);
 
index 490929e93be9a16a03ee56d739bc6fc4f22dd441..1061b094d3b8590f272342ed5fdcc0f91e92ad8d 100644 (file)
@@ -413,7 +413,7 @@ static int method_set_timezone(sd_bus_message *m, void *userdata, sd_bus_error *
         }
 
         log_struct(LOG_INFO,
-                   LOG_MESSAGE_ID(SD_MESSAGE_TIMEZONE_CHANGE),
+                   "MESSAGE_ID=" SD_MESSAGE_TIMEZONE_CHANGE_STR,
                    "TIMEZONE=%s", c->zone,
                    LOG_MESSAGE("Changed time zone to '%s'.", c->zone),
                    NULL);
@@ -591,7 +591,7 @@ static int method_set_time(sd_bus_message *m, void *userdata, sd_bus_error *erro
         clock_set_hwclock(tm);
 
         log_struct(LOG_INFO,
-                   LOG_MESSAGE_ID(SD_MESSAGE_TIME_CHANGE),
+                   "MESSAGE_ID=" SD_MESSAGE_TIME_CHANGE_STR,
                    "REALTIME="USEC_FMT, timespec_load(&ts),
                    LOG_MESSAGE("Changed local time to %s", ctime(&ts.tv_sec)),
                    NULL);
index c4f4d46ca10497feabf06052945decd474a8ee89..08a138b1b27158826441f3665b7e9c6142e9921c 100644 (file)
@@ -1170,7 +1170,7 @@ static int create_item(Item *i) {
                         return log_error_errno(r, "Failed to substitute specifiers in copy source %s: %m", i->argument);
 
                 log_debug("Copying tree \"%s\" to \"%s\".", resolved, i->path);
-                r = copy_tree(resolved, i->path, false);
+                r = copy_tree(resolved, i->path, i->uid_set ? i->uid : UID_INVALID, i->gid_set ? i->gid : GID_INVALID, COPY_REFLINK);
 
                 if (r == -EROFS && stat(i->path, &st) == 0)
                         r = -EEXIST;
index 5be158f5272d3999f9a95bf9a104b410e7fbc97d..bd7b789cad921fabab9a5280d2f2b26270952e22 100644 (file)
@@ -34,7 +34,8 @@
  *
  * Type of names:
  *   b<number>                             â€” BCMA bus core number
- *   c<bus_id>                             â€” CCW bus group name, without leading zeros [s390]
+ *   c<bus_id>                             â€” bus id of a grouped CCW or CCW device,
+ *                                           with all leading zeros stripped [s390]
  *   o<index>[n<phys_port_name>|d<dev_port>]
  *                                         â€” on-board device index number
  *   s<slot>[f<function>][n<phys_port_name>|d<dev_port>]
  *   /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/net/enp0s29u1u2
  *   ID_NET_NAME_MAC=enxd626b3450fb5
  *   ID_NET_NAME_PATH=enp0s29u1u2
+ *
+ * s390 grouped CCW interface:
+ *  /sys/devices/css0/0.0.0007/0.0.f5f0/group_device/net/encf5f0
+ *  ID_NET_NAME_MAC=enx026d3c00000a
+ *  ID_NET_NAME_PATH=encf5f0
  */
 
 #include <errno.h>
@@ -115,7 +121,7 @@ enum netname_type{
         NET_USB,
         NET_BCMA,
         NET_VIRTIO,
-        NET_CCWGROUP,
+        NET_CCW,
 };
 
 struct netnames {
@@ -132,9 +138,21 @@ struct netnames {
 
         char usb_ports[IFNAMSIZ];
         char bcma_core[IFNAMSIZ];
-        char ccw_group[IFNAMSIZ];
+        char ccw_busid[IFNAMSIZ];
 };
 
+/* skip intermediate virtio devices */
+static struct udev_device *skip_virtio(struct udev_device *dev) {
+        struct udev_device *parent = dev;
+
+        /* there can only ever be one virtio bus per parent device, so we can
+           safely ignore any virtio buses. see
+           <http://lists.linuxfoundation.org/pipermail/virtualization/2015-August/030331.html> */
+        while (parent && streq_ptr("virtio", udev_device_get_subsystem(parent)))
+                parent = udev_device_get_parent(parent);
+        return parent;
+}
+
 /* retrieve on-board index number and label from firmware */
 static int dev_pci_onboard(struct udev_device *dev, struct netnames *names) {
         unsigned dev_port = 0;
@@ -308,12 +326,8 @@ static int names_pci(struct udev_device *dev, struct netnames *names) {
         assert(names);
 
         parent = udev_device_get_parent(dev);
-
-        /* there can only ever be one virtio bus per parent device, so we can
-           safely ignore any virtio buses. see
-           <http://lists.linuxfoundation.org/pipermail/virtualization/2015-August/030331.html> */
-        while (parent && streq_ptr("virtio", udev_device_get_subsystem(parent)))
-                parent = udev_device_get_parent(parent);
+        /* skip virtio subsystem if present */
+        parent = skip_virtio(parent);
 
         if (!parent)
                 return -ENOENT;
@@ -412,8 +426,9 @@ static int names_bcma(struct udev_device *dev, struct netnames *names) {
 
 static int names_ccw(struct  udev_device *dev, struct netnames *names) {
         struct udev_device *cdev;
-        const char *bus_id;
+        const char *bus_id, *subsys;
         size_t bus_id_len;
+        size_t bus_id_start;
         int rc;
 
         assert(dev);
@@ -421,14 +436,17 @@ static int names_ccw(struct  udev_device *dev, struct netnames *names) {
 
         /* Retrieve the associated CCW device */
         cdev = udev_device_get_parent(dev);
+        /* skip virtio subsystem if present */
+        cdev = skip_virtio(cdev);
         if (!cdev)
                 return -ENOENT;
 
-        /* Network devices are always grouped CCW devices */
-        if (!streq_ptr("ccwgroup", udev_device_get_subsystem(cdev)))
+        /* Network devices are either single or grouped CCW devices */
+        subsys = udev_device_get_subsystem(cdev);
+        if (!STRPTR_IN_SET(subsys, "ccwgroup", "ccw"))
                 return -ENOENT;
 
-        /* Retrieve bus-ID of the grouped CCW device.  The bus-ID uniquely
+        /* Retrieve bus-ID of the CCW device.  The bus-ID uniquely
          * identifies the network device on the Linux on System z channel
          * subsystem.  Note that the bus-ID contains lowercase characters.
          */
@@ -447,14 +465,15 @@ static int names_ccw(struct  udev_device *dev, struct netnames *names) {
         /* Strip leading zeros from the bus id for aesthetic purposes. This
          * keeps the ccw names stable, yet much shorter in general case of
          * bus_id 0.0.0600 -> 600. This is similar to e.g. how PCI domain is
-         * not prepended when it is zero.
+         * not prepended when it is zero. Preserve the last 0 for 0.0.0000.
          */
-        bus_id += strspn(bus_id, ".0");
+        bus_id_start = strspn(bus_id, ".0");
+        bus_id += bus_id_start < bus_id_len ? bus_id_start : bus_id_len - 1;
 
         /* Store the CCW bus-ID for use as network device name */
-        rc = snprintf(names->ccw_group, sizeof(names->ccw_group), "c%s", bus_id);
-        if (rc >= 0 && rc < (int)sizeof(names->ccw_group))
-                names->type = NET_CCWGROUP;
+        rc = snprintf(names->ccw_busid, sizeof(names->ccw_busid), "c%s", bus_id);
+        if (rc >= 0 && rc < (int)sizeof(names->ccw_busid))
+                names->type = NET_CCW;
         return 0;
 }
 
@@ -564,10 +583,10 @@ static int builtin_net_id(struct udev_device *dev, int argc, char *argv[], bool
 
         /* get path names for Linux on System z network devices */
         err = names_ccw(dev, &names);
-        if (err >= 0 && names.type == NET_CCWGROUP) {
+        if (err >= 0 && names.type == NET_CCW) {
                 char str[IFNAMSIZ];
 
-                if (snprintf(str, sizeof(str), "%s%s", prefix, names.ccw_group) < (int)sizeof(str))
+                if (snprintf(str, sizeof(str), "%s%s", prefix, names.ccw_busid) < (int)sizeof(str))
                         udev_builtin_add_property(dev, test, "ID_NET_NAME_PATH", str);
                 goto out;
         }
index dd23054b0d7807aa96eb836a0f4fffe9da254a6c..ce2ff89b8548bafab4c561876651f5c8cb0309b8 100644 (file)
@@ -1210,7 +1210,7 @@ static int on_sigchld(sd_event_source *s, const struct signalfd_siginfo *si, voi
                         else
                                 log_warning("worker ["PID_FMT"] exited with return code %i", pid, WEXITSTATUS(status));
                 } else if (WIFSIGNALED(status)) {
-                        log_warning("worker ["PID_FMT"] terminated by signal %i (%s)", pid, WTERMSIG(status), strsignal(WTERMSIG(status)));
+                        log_warning("worker ["PID_FMT"] terminated by signal %i (%s)", pid, WTERMSIG(status), signal_to_string(WTERMSIG(status)));
                 } else if (WIFSTOPPED(status)) {
                         log_info("worker ["PID_FMT"] stopped", pid);
                         continue;
index 48c2a3fff4eb048ed6c92b48a0c4102123438f7e..d466e1b759a7c44aeb6b2d5742697a5ea5cff299 100644 (file)
@@ -26,7 +26,7 @@
 #define MESSAGE                                                         \
         "# This file was created by systemd-update-done. Its only \n"   \
         "# purpose is to hold a timestamp of the time this directory\n" \
-        "# was updated. See systemd-update-done.service(8).\n"
+        "# was updated. See man:systemd-update-done.service(8).\n"
 
 static int apply_timestamp(const char *path, struct timespec *ts) {
         struct timespec twice[2] = {
diff --git a/test/create-sys-script.py b/test/create-sys-script.py
new file mode 100755 (executable)
index 0000000..4b7abd2
--- /dev/null
@@ -0,0 +1,183 @@
+#!/usr/bin/python3
+
+OUTFILE_HEADER = """#!/usr/bin/python3
+#
+# create-sys-script.py
+#
+# (C) 2017 Canonical Ltd.
+# Author: Dan Streetman <dan.streetman@canonical.com>
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+#
+"""
+
+# Use this only to (re-)create the test/sys-script.py script,
+# after adding or modifying anything in the test/sys/ directory
+
+
+import os, sys, stat, tempfile, filecmp
+
+
+OUTFILE = "sys-script.py"
+OUTFILE_MODE = 0o775
+
+OUTFILE_FUNCS = r"""
+import os, sys
+
+def d(path, mode):
+    os.mkdir(path, mode)
+
+def l(path, src):
+    os.symlink(src, path)
+
+def f(path, mode, contents):
+    with open(path, "wb") as f:
+        f.write(contents)
+    os.chmod(path, mode)
+
+"""
+
+OUTFILE_MAIN = """
+if len(sys.argv) < 2:
+    exit("Usage: {} <target dir>".format(sys.argv[0]))
+
+if not os.path.isdir(sys.argv[1]):
+    exit("Target dir {} not found".format(sys.argv[1]))
+
+os.chdir(sys.argv[1])
+
+"""
+
+
+def handle_dir(outfile, path):
+    m = os.lstat(path).st_mode & 0o777
+    outfile.write("d('{}', {:#o})\n".format(path, m))
+
+
+def handle_link(outfile, path):
+    src = os.readlink(path)
+    outfile.write("l('{}', '{}')\n".format(path, src))
+
+
+def escape_single_quotes(b):
+    # remove the b'' wrapping each line repr
+    r = repr(b)[2:-1]
+    # python escapes all ' only if there are ' and " in the string
+    if '"' not in r:
+        r = r.replace("'", r"\'")
+    # return line with all ' escaped
+    return r
+
+
+def handle_file(outfile, path):
+    m = os.lstat(path).st_mode & 0o777
+    with open(path, "rb") as f:
+        b = f.read()
+    if b.count(b"\n") > 1:
+        r = "\n".join([ escape_single_quotes(l) for l in b.split(b"\n") ])
+        r = "b'''{r}'''".format(r=r)
+    else:
+        r = repr(b)
+    outfile.write("f('{}', {:#o}, {})\n".format(path, m, r))
+
+
+def process_sysdir(outfile):
+    for (dirpath, dirnames, filenames) in os.walk("sys"):
+        handle_dir(outfile, dirpath)
+        for d in dirnames:
+            path = os.path.join(dirpath, d)
+            if stat.S_ISLNK(os.lstat(path).st_mode):
+                handle_link(outfile, path)
+        for f in filenames:
+            path = os.path.join(dirpath, f)
+            mode = os.lstat(path).st_mode
+            if stat.S_ISLNK(mode):
+                handle_link(outfile, path)
+            elif stat.S_ISREG(mode):
+                handle_file(outfile, path)
+
+
+def verify_dir(tmpd, path_a):
+    path_b = os.path.join(tmpd, path_a)
+    mode_a = os.lstat(path_a).st_mode
+    mode_b = os.lstat(path_b).st_mode
+    if not stat.S_ISDIR(mode_b):
+        raise Exception("Not directory")
+    if (mode_a & 0o777) != (mode_b & 0o777):
+        raise Exception("Permissions mismatch")
+
+
+def verify_link(tmpd, path_a):
+    path_b = os.path.join(tmpd, path_a)
+    if not stat.S_ISLNK(os.lstat(path_b).st_mode):
+        raise Exception("Not symlink")
+    if os.readlink(path_a) != os.readlink(path_b):
+        raise Exception("Symlink dest mismatch")
+
+
+def verify_file(tmpd, path_a):
+    path_b = os.path.join(tmpd, path_a)
+    mode_a = os.lstat(path_a).st_mode
+    mode_b = os.lstat(path_b).st_mode
+    if not stat.S_ISREG(mode_b):
+        raise Exception("Not file")
+    if (mode_a & 0o777) != (mode_b & 0o777):
+        raise Exception("Permissions mismatch")
+    if not filecmp.cmp(path_a, path_b, shallow=False):
+        raise Exception("File contents mismatch")
+
+
+def verify_script(tmpd):
+    for (dirpath, dirnames, filenames) in os.walk("sys"):
+        try:
+            path = dirpath
+            verify_dir(tmpd, path)
+            for d in dirnames:
+                path = os.path.join(dirpath, d)
+                if stat.S_ISLNK(os.lstat(path).st_mode):
+                    verify_link(tmpd, path)
+                for f in filenames:
+                    path = os.path.join(dirpath, f)
+                    mode = os.lstat(path).st_mode
+                    if stat.S_ISLNK(mode):
+                        verify_link(tmpd, path)
+                    elif stat.S_ISREG(mode):
+                        verify_file(tmpd, path)
+        except Exception:
+            print("FAIL on '{}'".format(path), file=sys.stderr)
+            raise
+
+
+if __name__ == "__main__":
+    # Always operate in the dir where this script is
+    os.chdir(os.path.dirname(sys.argv[0]))
+
+    if not os.path.isdir("sys"):
+        exit("No sys/ directory; please create before running this")
+
+    print("Creating {} using contents of sys/".format(OUTFILE))
+
+    with open(OUTFILE, "w") as f:
+        os.chmod(OUTFILE, OUTFILE_MODE)
+        f.write(OUTFILE_HEADER.replace(os.path.basename(sys.argv[0]), OUTFILE))
+        f.write(OUTFILE_FUNCS)
+        f.write(OUTFILE_MAIN)
+        process_sysdir(f)
+
+    with tempfile.TemporaryDirectory() as tmpd:
+        print("Recreating sys/ using {} at {}".format(OUTFILE, tmpd))
+        os.system("./{script} {tmpd}".format(script=OUTFILE, tmpd=tmpd))
+        verify_script(tmpd)
+
+    print("Verification successful, {} is correct".format(OUTFILE))
diff --git a/test/journal-data/journal-1.txt b/test/journal-data/journal-1.txt
new file mode 100644 (file)
index 0000000..92a9199
Binary files /dev/null and b/test/journal-data/journal-1.txt differ
diff --git a/test/journal-data/journal-2.txt b/test/journal-data/journal-2.txt
new file mode 100644 (file)
index 0000000..4f582a0
Binary files /dev/null and b/test/journal-data/journal-2.txt differ
diff --git a/test/sys-script.py b/test/sys-script.py
new file mode 100755 (executable)
index 0000000..a9c0046
--- /dev/null
@@ -0,0 +1,16861 @@
+#!/usr/bin/python3
+#
+# sys-script.py
+#
+# (C) 2017 Canonical Ltd.
+# Author: Dan Streetman <dan.streetman@canonical.com>
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+#
+
+import os, sys
+
+def d(path, mode):
+    os.mkdir(path, mode)
+
+def l(path, src):
+    os.symlink(src, path)
+
+def f(path, mode, contents):
+    with open(path, "wb") as f:
+        f.write(contents)
+    os.chmod(path, mode)
+
+
+if len(sys.argv) < 2:
+    exit("Usage: {} <target dir>".format(sys.argv[0]))
+
+if not os.path.isdir(sys.argv[1]):
+    exit("Target dir {} not found".format(sys.argv[1]))
+
+os.chdir(sys.argv[1])
+
+d('sys', 0o755)
+d('sys/kernel', 0o775)
+f('sys/kernel/kexec_crash_loaded', 0o664, b'0\n')
+f('sys/kernel/kexec_loaded', 0o664, b'0\n')
+f('sys/kernel/uevent_helper', 0o664, b'\n')
+f('sys/kernel/vmcoreinfo', 0o664, b'f15380 1000\n')
+f('sys/kernel/notes', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00Z\r!\x804\xc2\x8atA<"f5(\xe7m\xe8-i-')
+f('sys/kernel/uevent_seqnum', 0o664, b'1407\n')
+d('sys/kernel/slab', 0o775)
+d('sys/kernel/slab/kmalloc-96', 0o775)
+f('sys/kernel/slab/kmalloc-96/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-96/ctor', 0o664, b'')
+f('sys/kernel/slab/kmalloc-96/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-96/slab_size', 0o664, b'168\n')
+f('sys/kernel/slab/kmalloc-96/total_objects', 0o664, b'768\n')
+f('sys/kernel/slab/kmalloc-96/slabs', 0o664, b'32\n')
+f('sys/kernel/slab/kmalloc-96/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-96/alloc_calls', 0o664, b'''      5 sched_create_group+0x1f/0x220 age=8351870/8359354/8366881 pid=1333-2177 cpus=0-1
+     10 __register_sysctl_paths+0x56/0x340 age=8370387/8378535/8379888 pid=1-901 cpus=0-1
+     15 __create_workqueue_key+0x31/0x290 age=8370409/8377818/8380009 pid=1-900 cpus=0-1
+     59 load_module+0x19c0/0x1b30 age=8303111/8368469/8376350 pid=105-2754 cpus=0-1
+      5 __vmalloc_area_node+0xfb/0x140 age=8355400/8371519/8376226 pid=147-1813 cpus=0
+     22 __register_chrdev_region+0x2d/0x1a0 age=8309177/8375269/8380004 pid=1-2711 cpus=0-1
+      1 do_sys_poll+0xdb/0x450 age=9671 pid=2262 cpus=1
+     98 d_alloc+0x19d/0x1f0 age=22395/7516545/8376320 pid=317-13453 cpus=0-1
+      8 sys_eventfd2+0x51/0xb0 age=8339333/8339377/8339421 pid=2400 cpus=0
+      1 mb_cache_create+0x62/0x1f0 age=8379846 pid=1 cpus=1
+      9 sysfs_setattr+0x19a/0x1f0 age=61999/6511912/8377277 pid=63-13308 cpus=0-1
+      1 sysfs_open_file+0x1c5/0x230 age=0 pid=13466 cpus=0
+     17 copy_semundo+0x71/0xc0 age=3847042/8077586/8366263 pid=1370-2590 cpus=0-1
+      2 __crypto_alloc_tfm+0x43/0x1b0 age=8373678/8373678/8373678 pid=126 cpus=1
+      2 pcim_iomap_table+0x45/0x60 age=8379289/8379547/8379805 pid=1 cpus=0-1
+     26 pci_create_attr+0x3d/0x140 age=8378994/8378994/8378995 pid=1 cpus=0
+      8 pci_enable_msi+0xb1/0x2b0 age=8356336/8373963/8379844 pid=1-1541 cpus=0-1
+      1 fb_add_videomode+0x89/0xf0 age=8379841 pid=1 cpus=1
+      1 soft_cursor+0x92/0x220 age=8379841 pid=1 cpus=1
+     20 acpi_os_create_semaphore+0x36/0xaa age=8379969/8380118/8380142 pid=0-1 cpus=0
+      6 acpi_ds_build_internal_package_obj+0xaf/0x1df age=8379981/8379985/8379993 pid=1 cpus=0
+      2 acpi_ds_build_internal_buffer_obj+0xe1/0x121 age=8379986/8379986/8379987 pid=1 cpus=0
+      1 acpi_ev_create_gpe_block+0x5f/0x3bf age=8379999 pid=1 cpus=0
+     62 pnp_new_resource+0x25/0x60 age=8379891/8379894/8379895 pid=1 cpus=0
+      1 tty_register_driver+0x1b3/0x2a0 age=8379806 pid=1 cpus=1
+      5 kbd_connect+0x4e/0xe0 age=8374352/8375743/8379035 pid=17-341 cpus=0-1
+     17 __class_create+0x3d/0xa0 age=8374616/8377737/8380008 pid=1-215 cpus=0-1
+      2 scsi_probe_and_add_lun+0x65e/0xd80 age=8379084/8379252/8379421 pid=1 cpus=0-1
+      3 inet_rtm_newaddr+0xdb/0x220 age=8325560/8353789/8367912 pid=1197-1541 cpus=0-1
+      2 cache_add_dev+0x7c/0x546 age=8379855/8379855/8379856 pid=1 cpus=0
+     22 kernel_param_sysfs_setup+0x2f/0xc9 age=8380005/8380005/8380005 pid=1 cpus=0
+     15 acpi_system_init+0x12e/0x260 age=8379898/8379898/8379899 pid=1 cpus=0
+      1 pci_mmcfg_insert_resources+0x5d/0x123 age=8378994 pid=1 cpus=0
+      1 0xffffffffa0065104 age=8356008 pid=1766 cpus=0
+      1 bitmap_create+0x373/0xad0 [md_mod] age=8370145 pid=916 cpus=0
+    256 r1bio_pool_alloc+0x2f/0x60 [raid1] age=8370154/8370154/8370154 pid=916 cpus=0
+      8 ip6addrlbl_add+0x75/0x330 [ipv6] age=8360215/8360215/8360215 pid=1549 cpus=0
+      1 ip6_route_net_init+0x22/0xd0 [ipv6] age=8360216 pid=1549 cpus=0
+      6 snd_mixer_oss_build_input+0x431/0x5c0 [snd_mixer_oss] age=8355594/8355594/8355595 pid=1813 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-96/objs_per_slab', 0o664, b'24\n')
+f('sys/kernel/slab/kmalloc-96/shrink', 0o664, b'')
+f('sys/kernel/slab/kmalloc-96/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-96/object_size', 0o664, b'96\n')
+f('sys/kernel/slab/kmalloc-96/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-96/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-96/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-96/objects_partial', 0o664, b'95\n')
+f('sys/kernel/slab/kmalloc-96/objects', 0o664, b'743\n')
+f('sys/kernel/slab/kmalloc-96/order', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-96/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-96/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-96/align', 0o664, b'8\n')
+f('sys/kernel/slab/kmalloc-96/partial', 0o664, b'5\n')
+f('sys/kernel/slab/kmalloc-96/validate', 0o664, b'')
+f('sys/kernel/slab/kmalloc-96/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-96/free_calls', 0o664, b'''    507 <not-available> age=4303047439 pid=0 cpus=0
+      1 free_notes_attrs+0x4b/0x50 age=8375086 pid=383 cpus=0
+      1 audit_send_list+0x88/0xa0 age=8361087 pid=1538 cpus=1
+      6 __vunmap+0xe9/0x120 age=8309178/8363011/8375091 pid=126-2711 cpus=0-1
+      1 do_sys_poll+0x32b/0x450 age=9672 pid=2262 cpus=1
+     30 d_callback+0x22/0x40 age=22587/7808930/8375651 pid=0-13433 cpus=0-1
+     20 sysfs_release+0x63/0xa0 age=22407/6699376/8376561 pid=165-13453 cpus=0-1
+      1 release_sysfs_dirent+0x22/0xd0 age=8367199 pid=1309 cpus=1
+    116 free_rb_tree_fname+0x5c/0xb0 age=53501/7931736/8376455 pid=163-13373 cpus=0-1
+      7 kobject_uevent_env+0x11a/0x470 age=67088/6542620/8379296 pid=1-419 cpus=0-1
+      1 msi_free_irqs+0xad/0x110 age=8356355 pid=1541 cpus=0
+      1 acpi_os_execute_deferred+0x34/0x39 age=8379958 pid=13 cpus=1
+      1 acpi_walk_resources+0xa4/0xbd age=8379895 pid=1 cpus=0
+      1 acpi_pci_irq_add_prt+0x30b/0x324 age=8379922 pid=1 cpus=0
+      6 scsi_execute_req+0x9f/0xf0 age=8335607/8359788/8379422 pid=1-1456 cpus=0-1
+      9 netlink_destroy_callback+0x21/0x30 age=8325561/8347615/8367913 pid=1197-2527 cpus=0-1
+     12 huft_free+0x1e/0x2f age=8379857/8379857/8379857 pid=1 cpus=0
+      2 r1bio_pool_free+0x9/0x10 [raid1] age=8364428/8364431/8364434 pid=0 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-96/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/blkdev_requests', 0o775)
+f('sys/kernel/slab/blkdev_requests/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_requests/ctor', 0o664, b'')
+f('sys/kernel/slab/blkdev_requests/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_requests/slab_size', 0o664, b'376\n')
+f('sys/kernel/slab/blkdev_requests/total_objects', 0o664, b'84\n')
+f('sys/kernel/slab/blkdev_requests/slabs', 0o664, b'4\n')
+f('sys/kernel/slab/blkdev_requests/poison', 0o664, b'1\n')
+f('sys/kernel/slab/blkdev_requests/alloc_calls', 0o664, b'     12 mempool_alloc_slab+0x11/0x20 age=61529/5606309/8378864 pid=1-13295 cpus=0-1\n')
+f('sys/kernel/slab/blkdev_requests/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/blkdev_requests/shrink', 0o664, b'')
+f('sys/kernel/slab/blkdev_requests/trace', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_requests/object_size', 0o664, b'304\n')
+f('sys/kernel/slab/blkdev_requests/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_requests/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_requests/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_requests/objects_partial', 0o664, b'8\n')
+f('sys/kernel/slab/blkdev_requests/objects', 0o664, b'50\n')
+f('sys/kernel/slab/blkdev_requests/order', 0o664, b'1\n')
+f('sys/kernel/slab/blkdev_requests/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/blkdev_requests/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/blkdev_requests/align', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_requests/partial', 0o664, b'2\n')
+f('sys/kernel/slab/blkdev_requests/validate', 0o664, b'')
+f('sys/kernel/slab/blkdev_requests/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/blkdev_requests/free_calls', 0o664, b'''      7 <not-available> age=4303046881 pid=0 cpus=0
+      5 mempool_free_slab+0x12/0x20 age=63050/1742015/8378750 pid=0-1456 cpus=0
+''')
+f('sys/kernel/slab/blkdev_requests/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/tw_sock_TCP', 0o775)
+f('sys/kernel/slab/tw_sock_TCP/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCP/ctor', 0o664, b'')
+f('sys/kernel/slab/tw_sock_TCP/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/tw_sock_TCP/slab_size', 0o664, b'256\n')
+f('sys/kernel/slab/tw_sock_TCP/total_objects', 0o664, b'16\n')
+f('sys/kernel/slab/tw_sock_TCP/slabs', 0o664, b'1\n')
+f('sys/kernel/slab/tw_sock_TCP/poison', 0o664, b'1\n')
+f('sys/kernel/slab/tw_sock_TCP/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/tw_sock_TCP/objs_per_slab', 0o664, b'16\n')
+f('sys/kernel/slab/tw_sock_TCP/shrink', 0o664, b'')
+f('sys/kernel/slab/tw_sock_TCP/trace', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCP/object_size', 0o664, b'136\n')
+f('sys/kernel/slab/tw_sock_TCP/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCP/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCP/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCP/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCP/objects', 0o664, b'16\n')
+f('sys/kernel/slab/tw_sock_TCP/order', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCP/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/tw_sock_TCP/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/tw_sock_TCP/align', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCP/partial', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCP/validate', 0o664, b'')
+f('sys/kernel/slab/tw_sock_TCP/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/tw_sock_TCP/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/tw_sock_TCP/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/Acpi-Parse', 0o775)
+f('sys/kernel/slab/Acpi-Parse/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Parse/ctor', 0o664, b'')
+f('sys/kernel/slab/Acpi-Parse/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Parse/slab_size', 0o664, b'120\n')
+f('sys/kernel/slab/Acpi-Parse/total_objects', 0o664, b'68\n')
+f('sys/kernel/slab/Acpi-Parse/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/Acpi-Parse/poison', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-Parse/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/Acpi-Parse/objs_per_slab', 0o664, b'34\n')
+f('sys/kernel/slab/Acpi-Parse/shrink', 0o664, b'')
+f('sys/kernel/slab/Acpi-Parse/trace', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Parse/object_size', 0o664, b'48\n')
+f('sys/kernel/slab/Acpi-Parse/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Parse/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Parse/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Parse/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Parse/objects', 0o664, b'68\n')
+f('sys/kernel/slab/Acpi-Parse/order', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Parse/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-Parse/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-Parse/align', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Parse/partial', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Parse/validate', 0o664, b'')
+f('sys/kernel/slab/Acpi-Parse/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-Parse/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/Acpi-Parse/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/sgpool-8', 0o775)
+f('sys/kernel/slab/sgpool-8/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-8/ctor', 0o664, b'')
+f('sys/kernel/slab/sgpool-8/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-8/slab_size', 0o664, b'384\n')
+f('sys/kernel/slab/sgpool-8/total_objects', 0o664, b'42\n')
+f('sys/kernel/slab/sgpool-8/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/sgpool-8/poison', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-8/alloc_calls', 0o664, b'      2 mempool_alloc_slab+0x11/0x20 age=8379297/8379297/8379297 pid=1 cpus=0\n')
+f('sys/kernel/slab/sgpool-8/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/sgpool-8/shrink', 0o664, b'')
+f('sys/kernel/slab/sgpool-8/trace', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-8/object_size', 0o664, b'256\n')
+f('sys/kernel/slab/sgpool-8/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-8/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-8/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-8/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-8/objects', 0o664, b'42\n')
+f('sys/kernel/slab/sgpool-8/order', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-8/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-8/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-8/align', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-8/partial', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-8/validate', 0o664, b'')
+f('sys/kernel/slab/sgpool-8/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-8/free_calls', 0o664, b'      2 <not-available> age=4303046847 pid=0 cpus=0\n')
+f('sys/kernel/slab/sgpool-8/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/dnotify_cache', 0o775)
+f('sys/kernel/slab/dnotify_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/dnotify_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/dnotify_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/dnotify_cache/slab_size', 0o664, b'112\n')
+f('sys/kernel/slab/dnotify_cache/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/dnotify_cache/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/dnotify_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/dnotify_cache/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/dnotify_cache/objs_per_slab', 0o664, b'36\n')
+f('sys/kernel/slab/dnotify_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/dnotify_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/dnotify_cache/object_size', 0o664, b'40\n')
+f('sys/kernel/slab/dnotify_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/dnotify_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/dnotify_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/dnotify_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/dnotify_cache/objects', 0o664, b'0\n')
+f('sys/kernel/slab/dnotify_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/dnotify_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/dnotify_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/dnotify_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/dnotify_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/dnotify_cache/validate', 0o664, b'')
+f('sys/kernel/slab/dnotify_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/dnotify_cache/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/dnotify_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/kmalloc-16', 0o775)
+f('sys/kernel/slab/kmalloc-16/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-16/ctor', 0o664, b'')
+f('sys/kernel/slab/kmalloc-16/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-16/slab_size', 0o664, b'88\n')
+f('sys/kernel/slab/kmalloc-16/total_objects', 0o664, b'2254\n')
+f('sys/kernel/slab/kmalloc-16/slabs', 0o664, b'49\n')
+f('sys/kernel/slab/kmalloc-16/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-16/alloc_calls', 0o664, b'''      2 arch_acpi_processor_init_pdc+0x71/0x180 age=8375737/8375768/8375799 pid=330 cpus=0
+      2 arch_acpi_processor_init_pdc+0xab/0x180 age=8375737/8375768/8375799 pid=330 cpus=0
+      5 sched_create_group+0x40/0x220 age=8351840/8359324/8366851 pid=1333-2177 cpus=0-1
+      5 sched_create_group+0x62/0x220 age=8351840/8359324/8366851 pid=1333-2177 cpus=0-1
+      2 setup_modinfo_version+0x19/0x30 age=8374630/8375434/8376238 pid=122-126 cpus=0-1
+    365 load_module+0x1ac4/0x1b30 age=8303081/8369498/8376320 pid=105-2754 cpus=0-1
+     13 mempool_create_node+0x4b/0xf0 age=8379859/8379929/8379974 pid=1 cpus=0
+      1 krealloc+0x1e/0x60 age=8375802 pid=330 cpus=0
+      4 __vmalloc_area_node+0xfb/0x140 age=8374701/8375120/8375833 pid=126-392 cpus=0
+      7 alloc_vfsmnt+0x97/0x180 age=61473/7184623/8379853 pid=1-13348 cpus=0-1
+      2 proc_symlink+0x4d/0xb0 age=8380112/8380112/8380112 pid=0 cpus=0
+   1275 sysfs_new_dirent+0x10c/0x120 age=22645/7761348/8379979 pid=1-13295 cpus=0-1
+      2 ext3_fill_super+0x691/0x1a20 age=8369671/8374021/8378371 pid=1-962 cpus=0
+    406 kvasprintf+0x55/0x90 age=22645/7760583/8380112 pid=0-13295 cpus=0-1
+      1 bit_cursor+0x223/0x6a0 age=8356170 pid=7 cpus=0
+     12 acpi_ds_build_internal_package_obj+0xaf/0x1df age=8379944/8379946/8379954 pid=1 cpus=0
+     14 acpi_ds_build_internal_buffer_obj+0xe1/0x121 age=8379945/8379955/8379961 pid=1 cpus=0
+      2 acpi_ut_copy_simple_object+0x8f/0x11c age=8375657/8375665/8375674 pid=396 cpus=0
+      5 acpi_irq_stats_init+0x1bd/0x268 age=8379969/8379969/8379969 pid=1 cpus=0
+     14 pnp_add_id+0x1e/0xe0 age=8379861/8379863/8379866 pid=1 cpus=0
+      9 reserve_range+0x39/0x130 age=8379850/8379850/8379850 pid=1 cpus=0
+      1 trackpoint_detect+0x94/0x190 age=8378732 pid=17 cpus=0
+      2 proto_register+0xf2/0x260 age=8360199/8370021/8379844 pid=1-1549 cpus=0
+      2 neigh_sysctl_register+0x1cd/0x330 age=8360183/8366975/8373768 pid=126-1549 cpus=0-1
+      1 nl_pid_hash_rehash+0x180/0x1a0 age=8361057 pid=1533 cpus=0
+      1 genl_register_family+0x1b6/0x1e0 age=8379853 pid=1 cpus=0
+      1 __devinet_sysctl_register+0xb8/0x120 age=8373768 pid=126 cpus=1
+      1 pci_acpi_scan_root+0x3f/0x230 age=8379897 pid=1 cpus=0
+      1 acpi_parse_mcfg+0x61/0x140 age=8379976 pid=1 cpus=0
+      1 pci_mmcfg_arch_init+0x26/0x129 age=8379976 pid=1 cpus=0
+      1 icmp_sk_init+0x32/0x13f age=8379826 pid=1 cpus=0
+      5 hub_probe+0x26b/0x820 [usbcore] age=8374065/8374558/8374911 pid=143-147 cpus=0-1
+     12 usb_cache_string+0x65/0xa0 [usbcore] age=22646/4900582/8374931 pid=143-419 cpus=0-1
+      1 usb_create_ep_files+0x283/0x350 [usbcore] age=8374798 pid=143 cpus=0
+      1 0xffffffffa006595f age=8360191 pid=1549 cpus=0
+     13 snd_info_create_entry+0x30/0xa0 [snd] age=8355564/8372743/8374175 pid=107-1813 cpus=0-1
+      1 snd_oss_info_register+0x40/0xc0 [snd] age=8374813 pid=107 cpus=1
+      1 async_chainiv_givencrypt+0xf9/0x110 [crypto_blkcipher] age=8374570 pid=215 cpus=0
+      1 eseqiv_alloc+0x6d/0x80 [crypto_blkcipher] age=8374570 pid=215 cpus=0
+      1 run+0xa9/0x500 [raid1] age=8370124 pid=916 cpus=0
+      1 __addrconf_sysctl_register+0xcd/0x140 [ipv6] age=8360183 pid=1549 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-16/objs_per_slab', 0o664, b'46\n')
+f('sys/kernel/slab/kmalloc-16/shrink', 0o664, b'')
+f('sys/kernel/slab/kmalloc-16/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-16/object_size', 0o664, b'16\n')
+f('sys/kernel/slab/kmalloc-16/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-16/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-16/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-16/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-16/objects', 0o664, b'2254\n')
+f('sys/kernel/slab/kmalloc-16/order', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-16/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-16/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-16/align', 0o664, b'8\n')
+f('sys/kernel/slab/kmalloc-16/partial', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-16/validate', 0o664, b'')
+f('sys/kernel/slab/kmalloc-16/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-16/free_calls', 0o664, b'''   1912 <not-available> age=4303047409 pid=0 cpus=0
+      2 free_sched_group+0x62/0x80 age=8375109/8375395/8375681 pid=0-72 cpus=0-1
+      2 free_sched_group+0x6b/0x80 age=8375109/8375395/8375681 pid=0-72 cpus=0-1
+      3 free_sect_attrs+0x2e/0x50 age=8375055/8375055/8375055 pid=383 cpus=0
+      3 __vunmap+0xe9/0x120 age=8373650/8374619/8375152 pid=181-754 cpus=0
+      7 vfs_rename+0x301/0x450 age=125333/5028818/8367033 pid=829-13249 cpus=0
+     10 bio_free_map_data+0x14/0x30 age=23581/2550049/8379364 pid=0-1738 cpus=0-1
+     10 bio_free_map_data+0x1d/0x30 age=53581/4218001/8379379 pid=0-558 cpus=0-1
+     60 remove_kevent+0x44/0x60 age=61364/3011504/8354072 pid=1547-2544 cpus=0-1
+     49 release_sysfs_dirent+0x8c/0xd0 age=7824392/8263442/8379778 pid=1-2141 cpus=0-1
+      9 kobject_release+0xe1/0x140 age=7833231/8247578/8373891 pid=419-1541 cpus=0-1
+     70 kobject_uevent_env+0x11a/0x470 age=409229/8261185/8379979 pid=1-12942 cpus=0-1
+      2 bit_cursor+0x23b/0x6a0 age=8356171/8367984/8379797 pid=1-7 cpus=0-1
+      1 acpi_ds_create_operand+0x12c/0x209 age=8379867 pid=1 cpus=0
+      2 acpi_ns_get_node+0x92/0xa1 age=8374467/8374504/8374542 pid=215 cpus=0-1
+      8 acpi_ut_delete_internal_obj+0x15f/0x16f age=8366439/8374588/8375781 pid=330-1358 cpus=0
+     16 acpi_ut_delete_internal_object_list+0x28/0x2f age=8374469/8378935/8379920 pid=1-396 cpus=0
+      2 reserve_range+0x11d/0x130 age=8379851/8379851/8379851 pid=1 cpus=0
+      3 release_firmware+0x57/0x70 age=8356214/8363521/8367182 pid=1285-1541 cpus=0-1
+      8 module_add_driver+0x66/0xd0 age=8373538/8375876/8379266 pid=1-181 cpus=0-1
+      1 power_supply_uevent+0x1a0/0x210 age=8375647 pid=7 cpus=0
+      2 get_modalias+0xd4/0x120 age=8355835/8367906/8379977 pid=1-1772 cpus=0
+      1 nl_pid_hash_rehash+0x18e/0x1a0 age=8356437 pid=1708 cpus=0
+      2 fib_hash_free+0x35/0x40 age=8367899/8367899/8367899 pid=1185 cpus=0
+      2 wireless_send_event+0x172/0x330 age=8329605/8342854/8356103 pid=1545 cpus=0-1
+     10 usb_get_configuration+0x42d/0x1480 [usbcore] age=22733/6708190/8374932 pid=143-419 cpus=0-1
+''')
+f('sys/kernel/slab/kmalloc-16/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/filp', 0o775)
+f('sys/kernel/slab/filp/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/filp/ctor', 0o664, b'')
+f('sys/kernel/slab/filp/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/filp/slab_size', 0o664, b'384\n')
+f('sys/kernel/slab/filp/total_objects', 0o664, b'4158\n')
+f('sys/kernel/slab/filp/slabs', 0o664, b'198\n')
+f('sys/kernel/slab/filp/poison', 0o664, b'1\n')
+f('sys/kernel/slab/filp/alloc_calls', 0o664, b'   4081 get_empty_filp+0x44/0x1a0 age=0/7917861/8378089 pid=1-20296 cpus=0-1\n')
+f('sys/kernel/slab/filp/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/filp/shrink', 0o664, b'')
+f('sys/kernel/slab/filp/trace', 0o664, b'0\n')
+f('sys/kernel/slab/filp/object_size', 0o664, b'288\n')
+f('sys/kernel/slab/filp/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/filp/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/filp/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/filp/objects_partial', 0o664, b'685\n')
+f('sys/kernel/slab/filp/objects', 0o664, b'4064\n')
+f('sys/kernel/slab/filp/order', 0o664, b'1\n')
+f('sys/kernel/slab/filp/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/filp/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/filp/align', 0o664, b'0\n')
+f('sys/kernel/slab/filp/partial', 0o664, b'33\n')
+f('sys/kernel/slab/filp/validate', 0o664, b'')
+f('sys/kernel/slab/filp/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/filp/free_calls', 0o664, b'''    866 <not-available> age=4303047162 pid=0 cpus=0
+   3217 file_free_rcu+0x16/0x20 age=10/7799670/8377025 pid=0-20296 cpus=0-1
+''')
+f('sys/kernel/slab/filp/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/kmalloc-2048', 0o775)
+f('sys/kernel/slab/kmalloc-2048/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-2048/ctor', 0o664, b'')
+f('sys/kernel/slab/kmalloc-2048/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-2048/slab_size', 0o664, b'2120\n')
+f('sys/kernel/slab/kmalloc-2048/total_objects', 0o664, b'600\n')
+f('sys/kernel/slab/kmalloc-2048/slabs', 0o664, b'40\n')
+f('sys/kernel/slab/kmalloc-2048/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-2048/alloc_calls', 0o664, b'''     53 load_module+0x18d5/0x1b30 age=8303006/8368517/8376245 pid=105-2754 cpus=0-1
+      1 mempool_create_node+0x4b/0xf0 age=8370049 pid=916 cpus=0
+     20 sget+0xc4/0x460 age=61397/7958673/8380037 pid=0-13348 cpus=0-1
+     15 alloc_fdtable+0x81/0x160 age=4219/6197046/8357231 pid=1532-12336 cpus=0-1
+      2 journal_init_common+0x1a/0x130 age=8369592/8373942/8378292 pid=1-962 cpus=0
+     15 alloc_disk_node+0x1b/0x120 age=61949/7263912/8379312 pid=1-13295 cpus=0-1
+      1 pci_create_bus+0x3a/0x240 age=8379822 pid=1 cpus=0
+     21 alloc_pci_dev+0x1a/0x40 age=8379818/8379820/8379822 pid=1 cpus=0
+      1 framebuffer_alloc+0x3a/0x80 age=8379737 pid=1 cpus=1
+     74 acpi_add_single_object+0x4e/0xd3c age=8379823/8379836/8379852 pid=1 cpus=0
+      1 acpi_irq_stats_init+0xcb/0x268 age=8379894 pid=1 cpus=0
+     11 pnp_alloc_dev+0x35/0x120 age=8379786/8379789/8379791 pid=1 cpus=0
+     11 init_dev+0x12e/0x6f0 age=7217110/8250882/8378132 pid=33-2593 cpus=0-1
+      3 init_dev+0x2aa/0x6f0 age=7217110/7969221/8364310 pid=1258-2593 cpus=0-1
+      1 tty_register_driver+0x1b3/0x2a0 age=8379706 pid=1 cpus=1
+      2 tty_write+0x160/0x280 age=913316/4463710/8014104 pid=1206-3110 cpus=0
+      2 kobj_map_init+0x22/0xa0 age=8379899/8379968/8380037 pid=0-1 cpus=0
+      3 mousedev_create+0x36/0x2d0 age=53460/5603607/8378947 pid=1-419 cpus=0
+      1 atkbd_connect+0x33/0x290 age=8378940 pid=17 cpus=1
+      2 thermal_zone_device_register+0x6f/0x310 age=8374790/8374807/8374825 pid=329 cpus=0-1
+     15 sk_prot_alloc+0x83/0xb0 age=8328308/8367505/8379903 pid=1-2586 cpus=0-1
+      1 reqsk_queue_alloc+0x112/0x120 age=8356786 pid=1690 cpus=0
+    255 __netdev_alloc_skb+0x1f/0x40 age=8356300/8356301/8356303 pid=1541 cpus=0
+     10 neigh_sysctl_register+0x8d/0x330 age=8360107/8368337/8379760 pid=1-1549 cpus=0-1
+      6 __devinet_sysctl_register+0x74/0x120 age=8373573/8377097/8379760 pid=1-126 cpus=0-1
+      7 pci_add_new_bus+0x25/0x160 age=8379818/8379818/8379820 pid=1 cpus=0
+      1 i8042_create_aux_port+0x36/0x10f age=8378959 pid=1 cpus=0
+      1 i8042_probe+0x190/0x68d age=8378959 pid=1 cpus=0
+      1 netdev_init+0x32/0xc2 age=8379782 pid=1 cpus=0
+      1 netdev_init+0x66/0xc2 age=8379782 pid=1 cpus=0
+      1 fib_net_init+0x21/0x14c age=8379760 pid=1 cpus=0
+     10 usb_alloc_dev+0x36/0x2c0 [usbcore] age=22875/5876181/8374868 pid=143-419 cpus=0-1
+      2 acpi_thermal_add+0x36/0x4bb [thermal] age=8374792/8374809/8374827 pid=329 cpus=0-1
+      5 evdev_open+0xaf/0x1e0 [evdev] age=8364377/8364927/8365226 pid=1443 cpus=0-1
+      8 evdev_connect+0x54/0x1f0 [evdev] age=53452/7334685/8375002 pid=187-419 cpus=0-1
+      1 rtc_device_register+0xa4/0x260 [rtc_core] age=8374707 pid=208 cpus=0
+      1 iwl3945_bg_request_scan+0x5d3/0x660 [iwl3945] age=8356027 pid=733 cpus=0
+      1 iwl3945_pci_probe+0xd26/0x1020 [iwl3945] age=8373700 pid=126 cpus=1
+      1 patch_ad1981+0x1b/0x1d0 [snd_hda_intel] age=8374101 pid=107 cpus=1
+      1 rfkill_allocate+0x24/0xc0 [rfkill] age=8374401 pid=215 cpus=0
+      1 fuse_fill_super+0x26d/0x6d0 [fuse] age=8335736 pid=2476 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-2048/objs_per_slab', 0o664, b'15\n')
+f('sys/kernel/slab/kmalloc-2048/shrink', 0o664, b'')
+f('sys/kernel/slab/kmalloc-2048/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-2048/object_size', 0o664, b'2048\n')
+f('sys/kernel/slab/kmalloc-2048/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-2048/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-2048/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-2048/objects_partial', 0o664, b'59\n')
+f('sys/kernel/slab/kmalloc-2048/objects', 0o664, b'584\n')
+f('sys/kernel/slab/kmalloc-2048/order', 0o664, b'3\n')
+f('sys/kernel/slab/kmalloc-2048/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-2048/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-2048/align', 0o664, b'8\n')
+f('sys/kernel/slab/kmalloc-2048/partial', 0o664, b'5\n')
+f('sys/kernel/slab/kmalloc-2048/validate', 0o664, b'')
+f('sys/kernel/slab/kmalloc-2048/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-2048/free_calls', 0o664, b'''    424 <not-available> age=4303047334 pid=0 cpus=0
+      1 __vunmap+0xe9/0x120 age=8374513 pid=107 cpus=1
+     79 free_fdtable_rcu+0x71/0xb0 age=7254/7749386/8377555 pid=0-13365 cpus=0-1
+      4 show_stat+0x50e/0x530 age=23516/2125165/8360113 pid=1258-1868 cpus=0
+      4 acpi_add_single_object+0xc9a/0xd3c age=8379824/8379831/8379839 pid=1 cpus=0
+     20 release_one_tty+0x145/0x190 age=8352386/8360775/8370275 pid=55-2136 cpus=0-1
+      1 atkbd_connect+0x1ae/0x290 age=8378923 pid=17 cpus=0
+      8 sk_free+0xcd/0x100 age=656267/7395001/8360982 pid=1533-12333 cpus=0-1
+     18 skb_release_data+0x85/0xd0 age=61516/7352252/8379750 pid=1-13343 cpus=0-1
+      5 __scm_destroy+0x41/0x50 age=7217111/8111550/8352414 pid=2135-2593 cpus=0-1
+      1 huft_build+0x163/0x63e age=8379752 pid=1 cpus=0
+      1 inflate_fixed+0x17c/0x193 age=8379752 pid=1 cpus=0
+      1 usb_release_dev+0x59/0x70 [usbcore] age=53835 pid=419 cpus=0
+      1 acpi_processor_get_throttling_info+0x2e4/0x58c [processor] age=8375644 pid=330 cpus=0
+      1 acpi_thermal_add+0x457/0x4bb [thermal] age=8374828 pid=329 cpus=1
+      1 snd_ctl_ioctl+0x2cf/0x960 [snd] age=8373099 pid=786 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-2048/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/cfq_queue', 0o775)
+f('sys/kernel/slab/cfq_queue/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/cfq_queue/ctor', 0o664, b'')
+f('sys/kernel/slab/cfq_queue/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/cfq_queue/slab_size', 0o664, b'208\n')
+f('sys/kernel/slab/cfq_queue/total_objects', 0o664, b'95\n')
+f('sys/kernel/slab/cfq_queue/slabs', 0o664, b'5\n')
+f('sys/kernel/slab/cfq_queue/poison', 0o664, b'1\n')
+f('sys/kernel/slab/cfq_queue/alloc_calls', 0o664, b'     67 cfq_get_queue+0xc6/0x220 age=168/7825503/8379604 pid=1-13466 cpus=0-1\n')
+f('sys/kernel/slab/cfq_queue/objs_per_slab', 0o664, b'19\n')
+f('sys/kernel/slab/cfq_queue/shrink', 0o664, b'')
+f('sys/kernel/slab/cfq_queue/trace', 0o664, b'0\n')
+f('sys/kernel/slab/cfq_queue/object_size', 0o664, b'136\n')
+f('sys/kernel/slab/cfq_queue/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/cfq_queue/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/cfq_queue/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/cfq_queue/objects_partial', 0o664, b'35\n')
+f('sys/kernel/slab/cfq_queue/objects', 0o664, b'92\n')
+f('sys/kernel/slab/cfq_queue/order', 0o664, b'0\n')
+f('sys/kernel/slab/cfq_queue/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/cfq_queue/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/cfq_queue/align', 0o664, b'8\n')
+f('sys/kernel/slab/cfq_queue/partial', 0o664, b'2\n')
+f('sys/kernel/slab/cfq_queue/validate', 0o664, b'')
+f('sys/kernel/slab/cfq_queue/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/cfq_queue/free_calls', 0o664, b'''     11 <not-available> age=4303047621 pid=0 cpus=0
+     56 cfq_put_queue+0x6f/0xe0 age=45755/7905388/8375272 pid=163-26529 cpus=0-1
+''')
+f('sys/kernel/slab/cfq_queue/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/ext3_xattr', 0o775)
+f('sys/kernel/slab/ext3_xattr/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/ext3_xattr/ctor', 0o664, b'')
+f('sys/kernel/slab/ext3_xattr/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_xattr/slab_size', 0o664, b'160\n')
+f('sys/kernel/slab/ext3_xattr/total_objects', 0o664, b'25\n')
+f('sys/kernel/slab/ext3_xattr/slabs', 0o664, b'1\n')
+f('sys/kernel/slab/ext3_xattr/poison', 0o664, b'1\n')
+f('sys/kernel/slab/ext3_xattr/alloc_calls', 0o664, b'      4 mb_cache_entry_alloc+0x15/0x50 age=5766034/7671829/8319899 pid=2676-9046 cpus=0\n')
+f('sys/kernel/slab/ext3_xattr/objs_per_slab', 0o664, b'25\n')
+f('sys/kernel/slab/ext3_xattr/shrink', 0o664, b'')
+f('sys/kernel/slab/ext3_xattr/trace', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_xattr/object_size', 0o664, b'88\n')
+f('sys/kernel/slab/ext3_xattr/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_xattr/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_xattr/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_xattr/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_xattr/objects', 0o664, b'25\n')
+f('sys/kernel/slab/ext3_xattr/order', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_xattr/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/ext3_xattr/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/ext3_xattr/align', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_xattr/partial', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_xattr/validate', 0o664, b'')
+f('sys/kernel/slab/ext3_xattr/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/ext3_xattr/free_calls', 0o664, b'      4 <not-available> age=4303047503 pid=0 cpus=0\n')
+f('sys/kernel/slab/ext3_xattr/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/bio', 0o775)
+f('sys/kernel/slab/bio/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/bio/ctor', 0o664, b'')
+f('sys/kernel/slab/bio/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/bio/slab_size', 0o664, b'192\n')
+f('sys/kernel/slab/bio/total_objects', 0o664, b'42\n')
+f('sys/kernel/slab/bio/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/bio/poison', 0o664, b'1\n')
+f('sys/kernel/slab/bio/alloc_calls', 0o664, b'      2 mempool_alloc_slab+0x11/0x20 age=8379518/8379518/8379518 pid=1 cpus=0\n')
+f('sys/kernel/slab/bio/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/bio/shrink', 0o664, b'')
+f('sys/kernel/slab/bio/trace', 0o664, b'0\n')
+f('sys/kernel/slab/bio/object_size', 0o664, b'104\n')
+f('sys/kernel/slab/bio/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/bio/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/bio/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/bio/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/bio/objects', 0o664, b'42\n')
+f('sys/kernel/slab/bio/order', 0o664, b'0\n')
+f('sys/kernel/slab/bio/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/bio/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/bio/align', 0o664, b'8\n')
+f('sys/kernel/slab/bio/partial', 0o664, b'0\n')
+f('sys/kernel/slab/bio/validate', 0o664, b'')
+f('sys/kernel/slab/bio/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/bio/free_calls', 0o664, b'      2 <not-available> age=4303046952 pid=0 cpus=0\n')
+f('sys/kernel/slab/bio/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/TCP', 0o775)
+f('sys/kernel/slab/TCP/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/TCP/ctor', 0o664, b'')
+f('sys/kernel/slab/TCP/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/TCP/slab_size', 0o664, b'2304\n')
+f('sys/kernel/slab/TCP/total_objects', 0o664, b'28\n')
+f('sys/kernel/slab/TCP/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/TCP/poison', 0o664, b'1\n')
+f('sys/kernel/slab/TCP/alloc_calls', 0o664, b'      3 sk_prot_alloc+0x1e/0xb0 age=926836/5879023/8356238 pid=1206-1920 cpus=0\n')
+f('sys/kernel/slab/TCP/objs_per_slab', 0o664, b'14\n')
+f('sys/kernel/slab/TCP/shrink', 0o664, b'')
+f('sys/kernel/slab/TCP/trace', 0o664, b'0\n')
+f('sys/kernel/slab/TCP/object_size', 0o664, b'2200\n')
+f('sys/kernel/slab/TCP/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/TCP/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/TCP/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/TCP/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/TCP/objects', 0o664, b'28\n')
+f('sys/kernel/slab/TCP/order', 0o664, b'3\n')
+f('sys/kernel/slab/TCP/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/TCP/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/TCP/align', 0o664, b'0\n')
+f('sys/kernel/slab/TCP/partial', 0o664, b'0\n')
+f('sys/kernel/slab/TCP/validate', 0o664, b'')
+f('sys/kernel/slab/TCP/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/TCP/free_calls', 0o664, b'      3 sk_free+0x80/0x100 age=932105/5881414/8356684 pid=0-1762 cpus=0\n')
+f('sys/kernel/slab/TCP/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/nsproxy', 0o775)
+f('sys/kernel/slab/nsproxy/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/nsproxy/ctor', 0o664, b'')
+f('sys/kernel/slab/nsproxy/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/nsproxy/slab_size', 0o664, b'128\n')
+f('sys/kernel/slab/nsproxy/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/nsproxy/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/nsproxy/poison', 0o664, b'1\n')
+f('sys/kernel/slab/nsproxy/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/nsproxy/objs_per_slab', 0o664, b'32\n')
+f('sys/kernel/slab/nsproxy/shrink', 0o664, b'')
+f('sys/kernel/slab/nsproxy/trace', 0o664, b'0\n')
+f('sys/kernel/slab/nsproxy/object_size', 0o664, b'56\n')
+f('sys/kernel/slab/nsproxy/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/nsproxy/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/nsproxy/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/nsproxy/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/nsproxy/objects', 0o664, b'0\n')
+f('sys/kernel/slab/nsproxy/order', 0o664, b'0\n')
+f('sys/kernel/slab/nsproxy/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/nsproxy/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/nsproxy/align', 0o664, b'8\n')
+f('sys/kernel/slab/nsproxy/partial', 0o664, b'0\n')
+f('sys/kernel/slab/nsproxy/validate', 0o664, b'')
+f('sys/kernel/slab/nsproxy/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/nsproxy/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/nsproxy/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/inotify_watch_cache', 0o775)
+f('sys/kernel/slab/inotify_watch_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_watch_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/inotify_watch_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_watch_cache/slab_size', 0o664, b'144\n')
+f('sys/kernel/slab/inotify_watch_cache/total_objects', 0o664, b'168\n')
+f('sys/kernel/slab/inotify_watch_cache/slabs', 0o664, b'6\n')
+f('sys/kernel/slab/inotify_watch_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/inotify_watch_cache/alloc_calls', 0o664, b'    126 sys_inotify_add_watch+0x15e/0x1d0 age=60497/8227702/8376765 pid=72-13355 cpus=0-1\n')
+f('sys/kernel/slab/inotify_watch_cache/objs_per_slab', 0o664, b'28\n')
+f('sys/kernel/slab/inotify_watch_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/inotify_watch_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_watch_cache/object_size', 0o664, b'72\n')
+f('sys/kernel/slab/inotify_watch_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_watch_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_watch_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_watch_cache/objects_partial', 0o664, b'24\n')
+f('sys/kernel/slab/inotify_watch_cache/objects', 0o664, b'164\n')
+f('sys/kernel/slab/inotify_watch_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_watch_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/inotify_watch_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/inotify_watch_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_watch_cache/partial', 0o664, b'1\n')
+f('sys/kernel/slab/inotify_watch_cache/validate', 0o664, b'')
+f('sys/kernel/slab/inotify_watch_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/inotify_watch_cache/free_calls', 0o664, b'''    122 <not-available> age=4303047477 pid=0 cpus=0
+      4 free_inotify_user_watch+0x60/0x70 age=104648/4219698/8334832 pid=2423-13211 cpus=0
+''')
+f('sys/kernel/slab/inotify_watch_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/fs_cache', 0o775)
+f('sys/kernel/slab/fs_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/fs_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/fs_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/fs_cache/slab_size', 0o664, b'192\n')
+f('sys/kernel/slab/fs_cache/total_objects', 0o664, b'126\n')
+f('sys/kernel/slab/fs_cache/slabs', 0o664, b'6\n')
+f('sys/kernel/slab/fs_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/fs_cache/alloc_calls', 0o664, b'     79 __copy_fs_struct+0x28/0xc0 age=4126/7761540/8379883 pid=1-12336 cpus=0-1\n')
+f('sys/kernel/slab/fs_cache/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/fs_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/fs_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/fs_cache/object_size', 0o664, b'104\n')
+f('sys/kernel/slab/fs_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/fs_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/fs_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/fs_cache/objects_partial', 0o664, b'75\n')
+f('sys/kernel/slab/fs_cache/objects', 0o664, b'117\n')
+f('sys/kernel/slab/fs_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/fs_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/fs_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/fs_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/fs_cache/partial', 0o664, b'4\n')
+f('sys/kernel/slab/fs_cache/validate', 0o664, b'')
+f('sys/kernel/slab/fs_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/fs_cache/free_calls', 0o664, b'''      7 <not-available> age=4303047241 pid=0 cpus=0
+     72 put_fs_struct+0x37/0x40 age=7168/7706405/8375333 pid=145-20292 cpus=0-1
+''')
+f('sys/kernel/slab/fs_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/kmalloc-512', 0o775)
+f('sys/kernel/slab/kmalloc-512/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-512/ctor', 0o664, b'')
+f('sys/kernel/slab/kmalloc-512/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-512/slab_size', 0o664, b'584\n')
+f('sys/kernel/slab/kmalloc-512/total_objects', 0o664, b'504\n')
+f('sys/kernel/slab/kmalloc-512/slabs', 0o664, b'36\n')
+f('sys/kernel/slab/kmalloc-512/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-512/alloc_calls', 0o664, b'''     14 __register_sysctl_paths+0x56/0x340 age=8360125/8372514/8379788 pid=1-1549 cpus=0
+     14 param_sysfs_setup+0x87/0x140 age=8355309/8375663/8379919 pid=1-1813 cpus=0-1
+     59 module_add_modinfo_attrs+0x25/0xf0 age=8303025/8368384/8376264 pid=105-2754 cpus=0-1
+      2 __vmalloc_area_node+0xfb/0x140 age=8374650/8375296/8375942 pid=126-144 cpus=0
+      1 dma_kmalloc_cache+0xca/0x150 age=8375776 pid=163 cpus=0
+    107 kmem_cache_create+0x4e/0x2e0 age=8360130/8377702/8380056 pid=0-1549 cpus=0-1
+      2 __percpu_alloc_mask+0xbc/0x140 age=8379768/8379768/8379768 pid=1 cpus=1
+     17 sys_inotify_init1+0xaa/0x220 age=8333709/8350157/8376641 pid=72-2544 cpus=0-1
+      4 sys_epoll_create1+0x41/0x100 age=2416994/6871289/8356805 pid=1690-20296 cpus=0-1
+      2 __crypto_alloc_tfm+0x43/0x1b0 age=8373592/8373592/8373592 pid=126 cpus=1
+      1 crypto_alloc_instance+0x2b/0xe0 age=8373592 pid=745 cpus=0
+      3 elevator_alloc+0x67/0xc0 age=62000/5606780/8379335 pid=1-13295 cpus=0-1
+      3 cfq_init_queue+0x1b/0x120 age=62000/5606780/8379335 pid=1-13295 cpus=0-1
+      1 fb_alloc_cmap+0x66/0x150 age=8379756 pid=1 cpus=1
+      1 fb_alloc_cmap+0x81/0x150 age=8379756 pid=1 cpus=1
+      1 fb_alloc_cmap+0x9c/0x150 age=8379756 pid=1 cpus=1
+      1 fbcon_startup+0xd6/0x2f0 age=8379755 pid=1 cpus=1
+      1 acpi_ds_build_internal_buffer_obj+0xe1/0x121 age=8379896 pid=1 cpus=0
+      1 make_acpi_ec+0x1a/0xcb age=8379913 pid=1 cpus=0
+      1 acpi_irq_stats_init+0x83/0x268 age=8379913 pid=1 cpus=0
+      1 acpi_irq_stats_init+0xa7/0x268 age=8379913 pid=1 cpus=0
+      5 alloc_tty_driver+0x1c/0x40 age=8309091/8365595/8379725 pid=1-2711 cpus=1
+      2 vt_ioctl+0x1874/0x1c30 age=8356613/8356613/8356613 pid=1703 cpus=0
+      8 set_inverse_transl+0xa0/0xb0 age=8355024/8367389/8379755 pid=1-1898 cpus=1
+      2 con_clear_unimap+0x2a/0xd0 age=8355024/8367389/8379755 pid=1-1898 cpus=1
+      7 vc_allocate+0x99/0x1b0 age=8356563/8358748/8368241 pid=1135-1729 cpus=0-1
+      1 hpet_alloc+0x6b/0x3c0 age=8379798 pid=1 cpus=0
+      4 uart_open+0x36c/0x4b0 age=8368845/8368914/8369120 pid=1059-1073 cpus=0-1
+     43 bus_add_driver+0x4f/0x280 age=8303025/8373842/8379841 pid=1-2754 cpus=0-1
+      9 bus_register+0x35/0x290 age=8373434/8378695/8379923 pid=1-770 cpus=0-1
+     30 __class_register+0x28/0x1e0 age=8374523/8378099/8379922 pid=1-352 cpus=0-1
+      1 mousedev_open+0xc8/0x1d0 age=8354269 pid=1738 cpus=0
+      1 cpufreq_add_dev+0x8f/0x5c0 age=8366381 pid=1358 cpus=0
+      4 sock_alloc_send_skb+0x1cd/0x200 age=8330763/8342704/8350746 pid=1738 cpus=0-1
+      1 alloc_netdev_mq+0x6c/0x180 age=8373712 pid=126 cpus=1
+      4 inetdev_init+0x28/0x190 age=8373592/8375784/8379779 pid=1-126 cpus=0-1
+      2 fib_hash_table+0x1c/0x80 age=8379779/8379779/8379779 pid=1 cpus=0
+      1 ioapic_init_sysfs+0x74/0xcf age=8379769 pid=1 cpus=1
+      3 snd_malloc_sgbuf_pages+0xbe/0x1f0 [snd_page_alloc] age=8374119/8374119/8374119 pid=107 cpus=1
+      1 usb_get_configuration+0x18f/0x1480 [usbcore] age=22677 pid=419 cpus=0
+      1 usb_get_configuration+0x5f2/0x1480 [usbcore] age=8372692 pid=419 cpus=0
+      2 acpi_processor_get_throttling_info+0x21f/0x58c [processor] age=8375662/8375686/8375710 pid=330 cpus=0
+     48 snd_info_create_entry+0x1b/0xa0 [snd] age=8355304/8371157/8374867 pid=107-1813 cpus=0-1
+      4 snd_timer_new+0x40/0x190 [snd_timer] age=8374097/8374262/8374757 pid=107 cpus=1
+      2 ieee80211_key_alloc+0x37/0xe0 [mac80211] age=3544694/3544694/3544694 pid=1545 cpus=0
+      3 snd_pcm_new_stream+0x161/0x520 [snd_pcm] age=8374119/8374119/8374119 pid=107 cpus=1
+      1 snd_hda_bus_new+0x31/0xf4 [snd_hda_intel] age=8374122 pid=107 cpus=1
+      1 crypto_blkcipher_type+0x54/0xffffffffffffff8e [crypto_blkcipher] age=8374450 pid=215 cpus=0
+      1 md_import_device+0x32/0x290 [md_mod] age=8370110 pid=916 cpus=0
+      1 bitmap_create+0x5e/0xad0 [md_mod] age=8370066 pid=916 cpus=0
+      1 run+0x42/0x500 [raid1] age=8370068 pid=916 cpus=0
+      1 ip6_route_net_init+0x4d/0xd0 [ipv6] age=8360130 pid=1549 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-512/objs_per_slab', 0o664, b'14\n')
+f('sys/kernel/slab/kmalloc-512/shrink', 0o664, b'')
+f('sys/kernel/slab/kmalloc-512/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-512/object_size', 0o664, b'512\n')
+f('sys/kernel/slab/kmalloc-512/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-512/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-512/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-512/objects_partial', 0o664, b'79\n')
+f('sys/kernel/slab/kmalloc-512/objects', 0o664, b'443\n')
+f('sys/kernel/slab/kmalloc-512/order', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-512/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-512/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-512/align', 0o664, b'8\n')
+f('sys/kernel/slab/kmalloc-512/partial', 0o664, b'10\n')
+f('sys/kernel/slab/kmalloc-512/validate', 0o664, b'')
+f('sys/kernel/slab/kmalloc-512/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-512/free_calls', 0o664, b'''    163 <not-available> age=4303047353 pid=0 cpus=0
+      4 __vunmap+0xe9/0x120 age=8374515/8375319/8376179 pid=122-215 cpus=0
+      1 kmem_cache_shrink+0x5d/0x1b0 age=8379872 pid=1 cpus=0
+     33 load_elf_binary+0xa7e/0x1e20 age=8303117/8365402/8377217 pid=62-2754 cpus=0-1
+     19 load_elf_binary+0xc37/0x1e20 age=8355044/8370854/8376371 pid=197-1912 cpus=0-1
+      1 crypto_larval_destroy+0x2b/0x40 age=8373593 pid=126 cpus=1
+    210 skb_release_data+0x85/0xd0 age=22792/8177097/8379923 pid=1-20296 cpus=0-1
+      1 acpi_processor_get_power_info+0x2eb/0x569 [processor] age=8375661 pid=330 cpus=1
+      1 skcipher_geniv_alloc+0xea/0x3f0 [crypto_blkcipher] age=8374478 pid=215 cpus=0
+      1 snd_mixer_oss_build_input+0x402/0x5c0 [snd_mixer_oss] age=8355509 pid=1813 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-512/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/biovec-256', 0o775)
+f('sys/kernel/slab/biovec-256/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-256/ctor', 0o664, b'')
+f('sys/kernel/slab/biovec-256/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-256/slab_size', 0o664, b'4224\n')
+f('sys/kernel/slab/biovec-256/total_objects', 0o664, b'7\n')
+f('sys/kernel/slab/biovec-256/slabs', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-256/poison', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-256/alloc_calls', 0o664, b'      2 mempool_alloc_slab+0x11/0x20 age=8379465/8379465/8379465 pid=1 cpus=0\n')
+f('sys/kernel/slab/biovec-256/objs_per_slab', 0o664, b'7\n')
+f('sys/kernel/slab/biovec-256/shrink', 0o664, b'')
+f('sys/kernel/slab/biovec-256/trace', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-256/object_size', 0o664, b'4096\n')
+f('sys/kernel/slab/biovec-256/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-256/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-256/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-256/objects_partial', 0o664, b'2\n')
+f('sys/kernel/slab/biovec-256/objects', 0o664, b'2\n')
+f('sys/kernel/slab/biovec-256/order', 0o664, b'3\n')
+f('sys/kernel/slab/biovec-256/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-256/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-256/align', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-256/partial', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-256/validate', 0o664, b'')
+f('sys/kernel/slab/biovec-256/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-256/free_calls', 0o664, b'      2 <not-available> age=4303046899 pid=0 cpus=0\n')
+f('sys/kernel/slab/biovec-256/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/kmalloc-128', 0o775)
+f('sys/kernel/slab/kmalloc-128/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-128/ctor', 0o664, b'')
+f('sys/kernel/slab/kmalloc-128/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-128/slab_size', 0o664, b'200\n')
+f('sys/kernel/slab/kmalloc-128/total_objects', 0o664, b'360\n')
+f('sys/kernel/slab/kmalloc-128/slabs', 0o664, b'18\n')
+f('sys/kernel/slab/kmalloc-128/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-128/alloc_calls', 0o664, b'''     17 param_sysfs_setup+0x87/0x140 age=8366402/8376536/8379939 pid=1-1358 cpus=0-1
+      1 mempool_create_node+0x4b/0xf0 age=8379025 pid=1 cpus=0
+      4 __vmalloc_area_node+0xfb/0x140 age=8303049/8349608/8370350 pid=900-2754 cpus=0
+      2 shmem_fill_super+0x38/0x200 age=8377584/8378686/8379788 pid=1-46 cpus=0-1
+     56 __percpu_alloc_mask+0xbc/0x140 age=61988/7483637/8379799 pid=1-13295 cpus=0-1
+     11 cdev_alloc+0x1a/0x50 age=61988/7621848/8379938 pid=1-13295 cpus=0-1
+    110 d_alloc+0x19d/0x1f0 age=22451/5346628/8376065 pid=401-13439 cpus=0-1
+      2 bm_register_write+0x63/0x630 age=8354053/8354053/8354053 pid=2054 cpus=1
+      2 alloc_disk_node+0x6c/0x120 age=62016/4220683/8379351 pid=1-13295 cpus=1
+     20 ida_pre_get+0x86/0x90 age=8298034/8372144/8380076 pid=0-2761 cpus=0-1
+      5 acpi_ds_build_internal_package_obj+0xaf/0x1df age=8379905/8379914/8379918 pid=1 cpus=0
+      2 acpi_ds_build_internal_buffer_obj+0xe1/0x121 age=8379921/8379921/8379921 pid=1 cpus=0
+      1 acpi_ev_create_gpe_block+0xb2/0x3bf age=8379933 pid=1 cpus=0
+      4 acpi_add_single_object+0x5d8/0xd3c age=8379862/8379869/8379873 pid=1 cpus=0
+     41 con_insert_unipair+0xd6/0x110 age=8355044/8369520/8379775 pid=1-1898 cpus=1
+      2 thermal_zone_bind_cooling_device+0xde/0x2a0 age=8374828/8374828/8374828 pid=329 cpus=0
+      4 led_trigger_register_simple+0x2b/0x80 age=8375615/8375659/8375793 pid=392-396 cpus=0
+      1 sock_kmalloc+0x5c/0x70 age=8328344 pid=2586 cpus=0
+      3 alloc_netdev_mq+0x6c/0x180 age=8373612/8376531/8379814 pid=1-126 cpus=0-1
+      2 neigh_table_init_no_netlink+0xd2/0x250 age=8360154/8369976/8379799 pid=1-1549 cpus=0
+      8 neigh_parms_alloc+0x5d/0x110 age=8360146/8367976/8379799 pid=1-1549 cpus=0-1
+      4 fz_hash_alloc+0x4a/0x60 age=8325493/8357250/8367862 pid=1185-1541 cpus=0-1
+      1 get_local_pda+0x39/0x9b age=8380015 pid=1 cpus=0
+      1 mnt_init+0xf9/0x202 age=8380076 pid=0 cpus=0
+      1 net_ns_init+0x49/0x16d age=8379942 pid=1 cpus=0
+      3 sg_add+0x8c/0x400 [sg] age=61988/5604850/8376284 pid=169-13295 cpus=0
+      3 usb_get_configuration+0x5f2/0x1480 [usbcore] age=22696/22696/22696 pid=419 cpus=0
+     15 usb_get_configuration+0x1388/0x1480 [usbcore] age=22696/3922325/8372712 pid=419 cpus=0
+      1 0xffffffffa0065117 age=8374777 pid=107 cpus=1
+      1 ieee80211_led_init+0x1b/0x230 [mac80211] age=8373612 pid=126 cpus=1
+      1 ieee80211_led_init+0x83/0x230 [mac80211] age=8373612 pid=126 cpus=1
+      1 ieee80211_led_init+0xeb/0x230 [mac80211] age=8373611 pid=126 cpus=1
+      1 ieee80211_led_init+0x153/0x230 [mac80211] age=8373611 pid=126 cpus=1
+      1 snd_hda_codec_new+0x1ec/0x559 [snd_hda_intel] age=8374142 pid=107 cpus=1
+      1 md_register_thread+0x35/0xd0 [md_mod] age=8370088 pid=916 cpus=0
+      1 fib6_net_init+0x7e/0x130 [ipv6] age=8360149 pid=1549 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-128/objs_per_slab', 0o664, b'20\n')
+f('sys/kernel/slab/kmalloc-128/shrink', 0o664, b'')
+f('sys/kernel/slab/kmalloc-128/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-128/object_size', 0o664, b'128\n')
+f('sys/kernel/slab/kmalloc-128/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-128/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-128/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-128/objects_partial', 0o664, b'83\n')
+f('sys/kernel/slab/kmalloc-128/objects', 0o664, b'343\n')
+f('sys/kernel/slab/kmalloc-128/order', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-128/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-128/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-128/align', 0o664, b'8\n')
+f('sys/kernel/slab/kmalloc-128/partial', 0o664, b'5\n')
+f('sys/kernel/slab/kmalloc-128/validate', 0o664, b'')
+f('sys/kernel/slab/kmalloc-128/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-128/free_calls', 0o664, b'''    197 <not-available> age=4303047372 pid=0 cpus=0
+      3 call_usermodehelper_freeinfo+0x27/0x30 age=8360145/8367948/8373612 pid=745-1532 cpus=0
+      2 __vunmap+0xe9/0x120 age=8375480/8375882/8376284 pid=105-169 cpus=0
+      5 percpu_free+0x2d/0x60 age=7838031/7838092/7838171 pid=419-3347 cpus=0
+      1 cdev_dynamic_release+0x19/0x20 age=7838171 pid=419 cpus=0
+     49 d_callback+0x22/0x40 age=53327/5302082/8375461 pid=0-13314 cpus=0-1
+     51 load_elf_binary+0xaf/0x1e20 age=25315/7326461/8377585 pid=46-21952 cpus=0-1
+      1 free_rb_tree_fname+0x5c/0xb0 age=8366816 pid=1274 cpus=0
+      1 disk_release+0x2e/0x50 age=7838031 pid=3347 cpus=0
+      2 free_bitmap+0x29/0x80 age=8368053/8369024/8369995 pid=55 cpus=0-1
+      1 acpi_evaluate_reference+0x100/0x117 age=8374829 pid=329 cpus=0
+      6 acpi_get_object_info+0x1b6/0x1d4 age=8379736/8379841/8379873 pid=1 cpus=0-1
+      4 do_acpi_find_child+0x48/0x51 age=8379209/8379658/8379850 pid=1 cpus=0-1
+      1 unpack_to_rootfs+0x105/0xa39 age=8379790 pid=1 cpus=0
+      1 sg_remove+0x1ca/0x240 [sg] age=7838171 pid=419 cpus=0
+      6 usb_release_interface_cache+0x2c/0x60 [usbcore] age=7833192/7833192/7833192 pid=419 cpus=1
+      2 usb_release_interface_cache+0x47/0x60 [usbcore] age=7833192/7833192/7833192 pid=419 cpus=1
+      1 acpi_processor_get_throttling_info+0x15e/0x58c [processor] age=8375683 pid=330 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-128/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/ip_dst_cache', 0o775)
+f('sys/kernel/slab/ip_dst_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/ip_dst_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/ip_dst_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/ip_dst_cache/slab_size', 0o664, b'384\n')
+f('sys/kernel/slab/ip_dst_cache/total_objects', 0o664, b'42\n')
+f('sys/kernel/slab/ip_dst_cache/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/ip_dst_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/ip_dst_cache/alloc_calls', 0o664, b'      1 dst_alloc+0x2b/0x90 age=920684 pid=1206 cpus=0\n')
+f('sys/kernel/slab/ip_dst_cache/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/ip_dst_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/ip_dst_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/ip_dst_cache/object_size', 0o664, b'312\n')
+f('sys/kernel/slab/ip_dst_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/ip_dst_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/ip_dst_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/ip_dst_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/ip_dst_cache/objects', 0o664, b'42\n')
+f('sys/kernel/slab/ip_dst_cache/order', 0o664, b'1\n')
+f('sys/kernel/slab/ip_dst_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/ip_dst_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/ip_dst_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/ip_dst_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/ip_dst_cache/validate', 0o664, b'')
+f('sys/kernel/slab/ip_dst_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/ip_dst_cache/free_calls', 0o664, b'      1 <not-available> age=4303046733 pid=0 cpus=0\n')
+f('sys/kernel/slab/ip_dst_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/journal_head', 0o775)
+f('sys/kernel/slab/journal_head/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/journal_head/ctor', 0o664, b'')
+f('sys/kernel/slab/journal_head/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/journal_head/slab_size', 0o664, b'168\n')
+f('sys/kernel/slab/journal_head/total_objects', 0o664, b'7680\n')
+f('sys/kernel/slab/journal_head/slabs', 0o664, b'320\n')
+f('sys/kernel/slab/journal_head/poison', 0o664, b'1\n')
+f('sys/kernel/slab/journal_head/alloc_calls', 0o664, b'   7662 journal_add_journal_head+0x9f/0x1b0 age=0/2379/651354 pid=1336-13466 cpus=0-1\n')
+f('sys/kernel/slab/journal_head/objs_per_slab', 0o664, b'24\n')
+f('sys/kernel/slab/journal_head/shrink', 0o664, b'')
+f('sys/kernel/slab/journal_head/trace', 0o664, b'0\n')
+f('sys/kernel/slab/journal_head/object_size', 0o664, b'96\n')
+f('sys/kernel/slab/journal_head/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/journal_head/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/journal_head/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/journal_head/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/journal_head/objects', 0o664, b'7680\n')
+f('sys/kernel/slab/journal_head/order', 0o664, b'0\n')
+f('sys/kernel/slab/journal_head/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/journal_head/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/journal_head/align', 0o664, b'0\n')
+f('sys/kernel/slab/journal_head/partial', 0o664, b'0\n')
+f('sys/kernel/slab/journal_head/validate', 0o664, b'')
+f('sys/kernel/slab/journal_head/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/journal_head/free_calls', 0o664, b'''   7589 <not-available> age=4303047557 pid=0 cpus=0
+     74 __journal_remove_journal_head+0xcb/0x160 age=1585/52253/654521 pid=32-13248 cpus=0-1
+''')
+f('sys/kernel/slab/journal_head/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/scsi_data_buffer', 0o775)
+f('sys/kernel/slab/scsi_data_buffer/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_data_buffer/ctor', 0o664, b'')
+f('sys/kernel/slab/scsi_data_buffer/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_data_buffer/slab_size', 0o664, b'96\n')
+f('sys/kernel/slab/scsi_data_buffer/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_data_buffer/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_data_buffer/poison', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_data_buffer/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/scsi_data_buffer/objs_per_slab', 0o664, b'42\n')
+f('sys/kernel/slab/scsi_data_buffer/shrink', 0o664, b'')
+f('sys/kernel/slab/scsi_data_buffer/trace', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_data_buffer/object_size', 0o664, b'24\n')
+f('sys/kernel/slab/scsi_data_buffer/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_data_buffer/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_data_buffer/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_data_buffer/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_data_buffer/objects', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_data_buffer/order', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_data_buffer/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_data_buffer/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_data_buffer/align', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_data_buffer/partial', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_data_buffer/validate', 0o664, b'')
+f('sys/kernel/slab/scsi_data_buffer/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_data_buffer/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/scsi_data_buffer/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/fuse_request', 0o775)
+f('sys/kernel/slab/fuse_request/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/fuse_request/ctor', 0o664, b'')
+f('sys/kernel/slab/fuse_request/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/fuse_request/slab_size', 0o664, b'728\n')
+f('sys/kernel/slab/fuse_request/total_objects', 0o664, b'44\n')
+f('sys/kernel/slab/fuse_request/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/fuse_request/poison', 0o664, b'1\n')
+f('sys/kernel/slab/fuse_request/alloc_calls', 0o664, b'      1 fuse_request_alloc+0x1a/0x40 [fuse] age=8336120 pid=2476 cpus=0\n')
+f('sys/kernel/slab/fuse_request/objs_per_slab', 0o664, b'22\n')
+f('sys/kernel/slab/fuse_request/shrink', 0o664, b'')
+f('sys/kernel/slab/fuse_request/trace', 0o664, b'0\n')
+f('sys/kernel/slab/fuse_request/object_size', 0o664, b'656\n')
+f('sys/kernel/slab/fuse_request/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/fuse_request/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/fuse_request/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/fuse_request/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/fuse_request/objects', 0o664, b'44\n')
+f('sys/kernel/slab/fuse_request/order', 0o664, b'2\n')
+f('sys/kernel/slab/fuse_request/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/fuse_request/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/fuse_request/align', 0o664, b'0\n')
+f('sys/kernel/slab/fuse_request/partial', 0o664, b'0\n')
+f('sys/kernel/slab/fuse_request/validate', 0o664, b'')
+f('sys/kernel/slab/fuse_request/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/fuse_request/free_calls', 0o664, b'      1 <not-available> age=4303047718 pid=0 cpus=0\n')
+f('sys/kernel/slab/fuse_request/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/pid', 0o775)
+f('sys/kernel/slab/pid/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/pid/ctor', 0o664, b'')
+f('sys/kernel/slab/pid/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/pid/slab_size', 0o664, b'192\n')
+f('sys/kernel/slab/pid/total_objects', 0o664, b'252\n')
+f('sys/kernel/slab/pid/slabs', 0o664, b'12\n')
+f('sys/kernel/slab/pid/poison', 0o664, b'1\n')
+f('sys/kernel/slab/pid/alloc_calls', 0o664, b'    207 alloc_pid+0x26/0x430 age=4190/8015525/8379960 pid=0-13212 cpus=0-1\n')
+f('sys/kernel/slab/pid/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/pid/shrink', 0o664, b'')
+f('sys/kernel/slab/pid/trace', 0o664, b'0\n')
+f('sys/kernel/slab/pid/object_size', 0o664, b'80\n')
+f('sys/kernel/slab/pid/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/pid/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/pid/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/pid/objects_partial', 0o664, b'131\n')
+f('sys/kernel/slab/pid/objects', 0o664, b'236\n')
+f('sys/kernel/slab/pid/order', 0o664, b'0\n')
+f('sys/kernel/slab/pid/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/pid/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/pid/align', 0o664, b'8\n')
+f('sys/kernel/slab/pid/partial', 0o664, b'7\n')
+f('sys/kernel/slab/pid/validate', 0o664, b'')
+f('sys/kernel/slab/pid/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/pid/free_calls', 0o664, b'''     69 <not-available> age=4303047306 pid=0 cpus=0
+    138 put_pid+0x36/0x40 age=7228/7841898/8377070 pid=0-13258 cpus=0-1
+''')
+f('sys/kernel/slab/pid/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/ext2_inode_cache', 0o775)
+f('sys/kernel/slab/ext2_inode_cache/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/ext2_inode_cache/ctor', 0o664, b'init_once+0x0/0x60\n')
+f('sys/kernel/slab/ext2_inode_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/ext2_inode_cache/slab_size', 0o664, b'1456\n')
+f('sys/kernel/slab/ext2_inode_cache/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/ext2_inode_cache/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/ext2_inode_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/ext2_inode_cache/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/ext2_inode_cache/objs_per_slab', 0o664, b'22\n')
+f('sys/kernel/slab/ext2_inode_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/ext2_inode_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/ext2_inode_cache/object_size', 0o664, b'1384\n')
+f('sys/kernel/slab/ext2_inode_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/ext2_inode_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/ext2_inode_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/ext2_inode_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/ext2_inode_cache/objects', 0o664, b'0\n')
+f('sys/kernel/slab/ext2_inode_cache/order', 0o664, b'3\n')
+f('sys/kernel/slab/ext2_inode_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/ext2_inode_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/ext2_inode_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/ext2_inode_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/ext2_inode_cache/validate', 0o664, b'')
+f('sys/kernel/slab/ext2_inode_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/ext2_inode_cache/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/ext2_inode_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/kmalloc-1024', 0o775)
+f('sys/kernel/slab/kmalloc-1024/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-1024/ctor', 0o664, b'')
+f('sys/kernel/slab/kmalloc-1024/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-1024/slab_size', 0o664, b'1096\n')
+f('sys/kernel/slab/kmalloc-1024/total_objects', 0o664, b'580\n')
+f('sys/kernel/slab/kmalloc-1024/slabs', 0o664, b'20\n')
+f('sys/kernel/slab/kmalloc-1024/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-1024/alloc_calls', 0o664, b'''     23 __register_sysctl_paths+0x56/0x340 age=8360116/8368981/8379769 pid=1-1549 cpus=0-1
+      5 param_sysfs_setup+0x87/0x140 age=8355550/8371926/8379909 pid=1-1805 cpus=0-1
+      5 load_module+0x18d5/0x1b30 age=8328407/8365286/8375764 pid=208-2578 cpus=0
+      2 __vmalloc_area_node+0xfb/0x140 age=8360170/8367347/8374524 pid=107-1549 cpus=0
+      4 __percpu_alloc_mask+0xbc/0x140 age=8379760/8379760/8379760 pid=1 cpus=0
+    113 alloc_pipe_info+0x25/0x60 age=125624/8270722/8377065 pid=1-13212 cpus=0-1
+      2 alloc_fdtable+0x81/0x160 age=2417000/5386894/8356789 pid=1690 cpus=0-1
+      1 mb_cache_create+0xb6/0x1f0 age=8379750 pid=1 cpus=1
+      1 mb_cache_create+0x11e/0x1f0 age=8379750 pid=1 cpus=1
+      8 add_partition+0x45/0x250 age=61959/7339549/8379206 pid=1-13295 cpus=0
+      2 __crypto_alloc_tfm+0x43/0x1b0 age=3544684/3544684/3544684 pid=1545 cpus=0
+      1 pci_create_bus+0x82/0x240 age=8379831 pid=1 cpus=0
+     14 pcie_port_device_register+0x254/0x4a0 age=8379746/8379746/8379748 pid=1 cpus=1
+      1 acpi_ev_create_gpe_block+0x10b/0x3bf age=8379903 pid=1 cpus=0
+      1 acpi_tb_resize_root_table_list+0x66/0xdb age=8375731 pid=330 cpus=0
+      2 tty_buffer_request_room+0x136/0x190 age=8214639/8272696/8330753 pid=0-2262 cpus=0
+      1 tty_register_driver+0x1b3/0x2a0 age=8309081 pid=2711 cpus=1
+     10 tty_write+0x160/0x280 age=7214010/8238951/8377659 pid=34-2590 cpus=0-1
+      2 set_inverse_trans_unicode+0xce/0xf0 age=8355014/8367379/8379745 pid=1-1898 cpus=1
+      1 uart_register_driver+0x31/0x1c0 age=8379710 pid=1 cpus=1
+    166 device_create_vargs+0x8c/0x100 age=22658/8173620/8379911 pid=1-13295 cpus=0-1
+      8 platform_device_alloc+0x37/0x90 age=8367172/8376785/8379911 pid=1-1285 cpus=0-1
+      3 scsi_alloc_target+0x63/0x2e0 age=61990/5606770/8379325 pid=1-13295 cpus=0-1
+      2 sd_probe+0x86/0x430 age=61986/4220653/8379321 pid=1-13295 cpus=1
+      1 ahci_port_start+0x34/0xe0 age=8379708 pid=1 cpus=1
+      1 psmouse_connect+0x5b/0x2c0 age=8378898 pid=17 cpus=1
+      2 thermal_cooling_device_register+0x7f/0x290 age=8375643/8375667/8375692 pid=330 cpus=0-1
+      1 hid_add_field+0xcc/0x3a0 age=53473 pid=419 cpus=0
+      4 sock_alloc_send_skb+0x1cd/0x200 age=8344775/8349266/8350926 pid=1738 cpus=0-1
+      3 __rtnl_register+0x79/0x90 age=8360119/8373266/8379912 pid=1-1549 cpus=0
+      6 qdisc_alloc+0x34/0xd0 age=8356043/8356079/8356257 pid=1541 cpus=0
+      1 dmi_id_init+0x2a4/0x30c age=8379910 pid=1 cpus=0
+      5 hub_probe+0xdd/0x820 [usbcore] age=8373999/8374492/8374845 pid=143-147 cpus=0-1
+      5 usb_create_hcd+0x39/0x150 [usbcore] age=8374071/8374526/8374892 pid=143-147 cpus=0
+     26 usb_set_configuration+0x441/0x5f0 [usbcore] age=22663/3237429/8374857 pid=143-419 cpus=0-1
+     10 usb_get_configuration+0x92/0x1480 [usbcore] age=22667/5876069/8374865 pid=143-419 cpus=0-1
+     34 usb_create_ep_files+0x51/0x350 [usbcore] age=22579/5431762/8374732 pid=143-419 cpus=0-1
+      1 acpi_battery_add+0x29/0x1d3 [battery] age=8375630 pid=396 cpus=0
+      1 snd_card_new+0x38/0x370 [snd] age=8374136 pid=107 cpus=0
+      1 sta_info_alloc+0x3c/0x1d0 [mac80211] age=8329523 pid=742 cpus=0
+      2 snd_pcm_new+0x47/0x130 [snd_pcm] age=8374109/8374109/8374109 pid=107 cpus=1
+      1 rs_alloc_sta+0x25/0x120 [iwl3945] age=8329523 pid=742 cpus=0
+      1 get_alloc_hash+0x9b/0x140 [snd_hda_intel] age=8373108 pid=786 cpus=0
+      1 azx_probe+0xb3/0xc20 [snd_hda_intel] age=8374129 pid=107 cpus=0
+      1 azx_probe+0x4a9/0xc20 [snd_hda_intel] age=8374122 pid=107 cpus=0
+      1 snd_hda_codec_new+0x3e/0x559 [snd_hda_intel] age=8374112 pid=107 cpus=1
+      1 md_probe+0xa1/0x360 [md_mod] age=8370183 pid=916 cpus=0
+      8 loop_alloc+0x28/0x140 [loop] age=8369639/8369639/8369639 pid=951 cpus=0
+      4 ipv6_add_dev+0x69/0x330 [ipv6] age=8360116/8360117/8360119 pid=1549 cpus=0
+      1 ipv6_route_sysctl_init+0x22/0xb0 [ipv6] age=8360115 pid=1549 cpus=0
+      2 snd_seq_create_port+0x35/0x180 [snd_seq] age=8355549/8355549/8355549 pid=1805 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-1024/objs_per_slab', 0o664, b'29\n')
+f('sys/kernel/slab/kmalloc-1024/shrink', 0o664, b'')
+f('sys/kernel/slab/kmalloc-1024/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-1024/object_size', 0o664, b'1024\n')
+f('sys/kernel/slab/kmalloc-1024/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-1024/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-1024/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-1024/objects_partial', 0o664, b'196\n')
+f('sys/kernel/slab/kmalloc-1024/objects', 0o664, b'544\n')
+f('sys/kernel/slab/kmalloc-1024/order', 0o664, b'3\n')
+f('sys/kernel/slab/kmalloc-1024/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-1024/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-1024/align', 0o664, b'8\n')
+f('sys/kernel/slab/kmalloc-1024/partial', 0o664, b'8\n')
+f('sys/kernel/slab/kmalloc-1024/validate', 0o664, b'')
+f('sys/kernel/slab/kmalloc-1024/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-1024/free_calls', 0o664, b'''    216 <not-available> age=4303047343 pid=0 cpus=0
+      1 __vunmap+0xe9/0x120 age=8360137 pid=1549 cpus=0
+     64 __free_pipe_info+0x5c/0x70 age=55301/8227248/8377668 pid=34-13363 cpus=0-1
+     19 acpi_ds_delete_walk_state+0xc9/0xcd age=8355814/8376228/8380000 pid=0-1772 cpus=0-1
+      1 acpi_tb_resize_root_table_list+0xbf/0xdb age=8375732 pid=330 cpus=0
+      2 release_one_tty+0xc7/0x190 age=8352476/8361380/8370284 pid=55-1253 cpus=0-1
+      1 vt_ioctl+0x273/0x1c30 age=8356598 pid=1703 cpus=0
+     14 device_create_release+0x9/0x10 age=8352395/8354628/8356598 pid=1703-2139 cpus=0-1
+      1 fw_dev_release+0x20/0x30 age=8356148 pid=1541 cpus=0
+    184 skb_release_data+0x85/0xd0 age=22639/7036434/8379911 pid=0-13303 cpus=0-1
+''')
+f('sys/kernel/slab/kmalloc-1024/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/files_cache', 0o775)
+f('sys/kernel/slab/files_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/files_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/files_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/files_cache/slab_size', 0o664, b'896\n')
+f('sys/kernel/slab/files_cache/total_objects', 0o664, b'108\n')
+f('sys/kernel/slab/files_cache/slabs', 0o664, b'6\n')
+f('sys/kernel/slab/files_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/files_cache/alloc_calls', 0o664, b'     80 dup_fd+0x2e/0x420 age=4136/7769280/8379905 pid=0-12336 cpus=0-1\n')
+f('sys/kernel/slab/files_cache/objs_per_slab', 0o664, b'18\n')
+f('sys/kernel/slab/files_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/files_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/files_cache/object_size', 0o664, b'768\n')
+f('sys/kernel/slab/files_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/files_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/files_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/files_cache/objects_partial', 0o664, b'29\n')
+f('sys/kernel/slab/files_cache/objects', 0o664, b'101\n')
+f('sys/kernel/slab/files_cache/order', 0o664, b'2\n')
+f('sys/kernel/slab/files_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/files_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/files_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/files_cache/partial', 0o664, b'2\n')
+f('sys/kernel/slab/files_cache/validate', 0o664, b'')
+f('sys/kernel/slab/files_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/files_cache/free_calls', 0o664, b'''      9 <not-available> age=4303047250 pid=0 cpus=0
+     31 put_files_struct+0xb4/0xe0 age=7177/7367129/8366999 pid=1202-20292 cpus=0-1
+     40 free_fdtable_rcu+0xa0/0xb0 age=61634/7953135/8376143 pid=0-12335 cpus=0-1
+''')
+f('sys/kernel/slab/files_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/UDP-Lite', 0o775)
+f('sys/kernel/slab/UDP-Lite/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/UDP-Lite/ctor', 0o664, b'')
+f('sys/kernel/slab/UDP-Lite/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/UDP-Lite/slab_size', 0o664, b'1344\n')
+f('sys/kernel/slab/UDP-Lite/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/UDP-Lite/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/UDP-Lite/poison', 0o664, b'1\n')
+f('sys/kernel/slab/UDP-Lite/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/UDP-Lite/objs_per_slab', 0o664, b'12\n')
+f('sys/kernel/slab/UDP-Lite/shrink', 0o664, b'')
+f('sys/kernel/slab/UDP-Lite/trace', 0o664, b'0\n')
+f('sys/kernel/slab/UDP-Lite/object_size', 0o664, b'1232\n')
+f('sys/kernel/slab/UDP-Lite/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/UDP-Lite/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/UDP-Lite/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/UDP-Lite/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/UDP-Lite/objects', 0o664, b'0\n')
+f('sys/kernel/slab/UDP-Lite/order', 0o664, b'2\n')
+f('sys/kernel/slab/UDP-Lite/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/UDP-Lite/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/UDP-Lite/align', 0o664, b'0\n')
+f('sys/kernel/slab/UDP-Lite/partial', 0o664, b'0\n')
+f('sys/kernel/slab/UDP-Lite/validate', 0o664, b'')
+f('sys/kernel/slab/UDP-Lite/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/UDP-Lite/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/UDP-Lite/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/mnt_cache', 0o775)
+f('sys/kernel/slab/mnt_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/mnt_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/mnt_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/mnt_cache/slab_size', 0o664, b'320\n')
+f('sys/kernel/slab/mnt_cache/total_objects', 0o664, b'36\n')
+f('sys/kernel/slab/mnt_cache/slabs', 0o664, b'3\n')
+f('sys/kernel/slab/mnt_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/mnt_cache/alloc_calls', 0o664, b'     25 alloc_vfsmnt+0x1f/0x180 age=61162/8041266/8379801 pid=0-13348 cpus=0-1\n')
+f('sys/kernel/slab/mnt_cache/objs_per_slab', 0o664, b'12\n')
+f('sys/kernel/slab/mnt_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/mnt_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/mnt_cache/object_size', 0o664, b'224\n')
+f('sys/kernel/slab/mnt_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/mnt_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/mnt_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/mnt_cache/objects_partial', 0o664, b'4\n')
+f('sys/kernel/slab/mnt_cache/objects', 0o664, b'28\n')
+f('sys/kernel/slab/mnt_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/mnt_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/mnt_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/mnt_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/mnt_cache/partial', 0o664, b'1\n')
+f('sys/kernel/slab/mnt_cache/validate', 0o664, b'')
+f('sys/kernel/slab/mnt_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/mnt_cache/free_calls', 0o664, b'''     24 <not-available> age=4303047098 pid=0 cpus=0
+      1 free_vfsmnt+0x2c/0x40 age=7837771 pid=3347 cpus=0
+''')
+f('sys/kernel/slab/mnt_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/skbuff_head_cache', 0o775)
+f('sys/kernel/slab/skbuff_head_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/skbuff_head_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/skbuff_head_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/skbuff_head_cache/slab_size', 0o664, b'320\n')
+f('sys/kernel/slab/skbuff_head_cache/total_objects', 0o664, b'588\n')
+f('sys/kernel/slab/skbuff_head_cache/slabs', 0o664, b'49\n')
+f('sys/kernel/slab/skbuff_head_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/skbuff_head_cache/alloc_calls', 0o664, b'    550 __alloc_skb+0x44/0x150 age=1665/3999351/8355948 pid=733-1738 cpus=0-1\n')
+f('sys/kernel/slab/skbuff_head_cache/objs_per_slab', 0o664, b'12\n')
+f('sys/kernel/slab/skbuff_head_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/skbuff_head_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/skbuff_head_cache/object_size', 0o664, b'208\n')
+f('sys/kernel/slab/skbuff_head_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/skbuff_head_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/skbuff_head_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/skbuff_head_cache/objects_partial', 0o664, b'18\n')
+f('sys/kernel/slab/skbuff_head_cache/objects', 0o664, b'570\n')
+f('sys/kernel/slab/skbuff_head_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/skbuff_head_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/skbuff_head_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/skbuff_head_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/skbuff_head_cache/partial', 0o664, b'3\n')
+f('sys/kernel/slab/skbuff_head_cache/validate', 0o664, b'')
+f('sys/kernel/slab/skbuff_head_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/skbuff_head_cache/free_calls', 0o664, b'''    333 <not-available> age=4303046979 pid=0 cpus=0
+    217 __kfree_skb+0x3a/0xa0 age=1666/662694/8356220 pid=0-13466 cpus=0-1
+''')
+f('sys/kernel/slab/skbuff_head_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/fuse_inode', 0o775)
+f('sys/kernel/slab/fuse_inode/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/fuse_inode/ctor', 0o664, b'fuse_inode_init_once+0x0/0x10 [fuse]\n')
+f('sys/kernel/slab/fuse_inode/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/fuse_inode/slab_size', 0o664, b'1344\n')
+f('sys/kernel/slab/fuse_inode/total_objects', 0o664, b'12\n')
+f('sys/kernel/slab/fuse_inode/slabs', 0o664, b'1\n')
+f('sys/kernel/slab/fuse_inode/poison', 0o664, b'1\n')
+f('sys/kernel/slab/fuse_inode/alloc_calls', 0o664, b'      1 fuse_alloc_inode+0x1a/0xe0 [fuse] age=8336111 pid=2476 cpus=0\n')
+f('sys/kernel/slab/fuse_inode/objs_per_slab', 0o664, b'12\n')
+f('sys/kernel/slab/fuse_inode/shrink', 0o664, b'')
+f('sys/kernel/slab/fuse_inode/trace', 0o664, b'0\n')
+f('sys/kernel/slab/fuse_inode/object_size', 0o664, b'1248\n')
+f('sys/kernel/slab/fuse_inode/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/fuse_inode/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/fuse_inode/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/fuse_inode/objects_partial', 0o664, b'1\n')
+f('sys/kernel/slab/fuse_inode/objects', 0o664, b'1\n')
+f('sys/kernel/slab/fuse_inode/order', 0o664, b'2\n')
+f('sys/kernel/slab/fuse_inode/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/fuse_inode/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/fuse_inode/align', 0o664, b'0\n')
+f('sys/kernel/slab/fuse_inode/partial', 0o664, b'1\n')
+f('sys/kernel/slab/fuse_inode/validate', 0o664, b'')
+f('sys/kernel/slab/fuse_inode/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/fuse_inode/free_calls', 0o664, b'      1 <not-available> age=4303047710 pid=0 cpus=0\n')
+f('sys/kernel/slab/fuse_inode/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/skbuff_fclone_cache', 0o775)
+f('sys/kernel/slab/skbuff_fclone_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/skbuff_fclone_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/skbuff_fclone_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/skbuff_fclone_cache/slab_size', 0o664, b'512\n')
+f('sys/kernel/slab/skbuff_fclone_cache/total_objects', 0o664, b'32\n')
+f('sys/kernel/slab/skbuff_fclone_cache/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/skbuff_fclone_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/skbuff_fclone_cache/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/skbuff_fclone_cache/objs_per_slab', 0o664, b'16\n')
+f('sys/kernel/slab/skbuff_fclone_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/skbuff_fclone_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/skbuff_fclone_cache/object_size', 0o664, b'420\n')
+f('sys/kernel/slab/skbuff_fclone_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/skbuff_fclone_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/skbuff_fclone_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/skbuff_fclone_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/skbuff_fclone_cache/objects', 0o664, b'32\n')
+f('sys/kernel/slab/skbuff_fclone_cache/order', 0o664, b'1\n')
+f('sys/kernel/slab/skbuff_fclone_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/skbuff_fclone_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/skbuff_fclone_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/skbuff_fclone_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/skbuff_fclone_cache/validate', 0o664, b'')
+f('sys/kernel/slab/skbuff_fclone_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/skbuff_fclone_cache/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/skbuff_fclone_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/buffer_head', 0o775)
+f('sys/kernel/slab/buffer_head/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/buffer_head/ctor', 0o664, b'init_buffer_head+0x0/0x20\n')
+f('sys/kernel/slab/buffer_head/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/buffer_head/slab_size', 0o664, b'176\n')
+f('sys/kernel/slab/buffer_head/total_objects', 0o664, b'31487\n')
+f('sys/kernel/slab/buffer_head/slabs', 0o664, b'1369\n')
+f('sys/kernel/slab/buffer_head/poison', 0o664, b'1\n')
+f('sys/kernel/slab/buffer_head/alloc_calls', 0o664, b'  31488 alloc_buffer_head+0x19/0x50 age=1/3079345/8378152 pid=1-32767 cpus=0-1\n')
+f('sys/kernel/slab/buffer_head/objs_per_slab', 0o664, b'23\n')
+f('sys/kernel/slab/buffer_head/shrink', 0o664, b'')
+f('sys/kernel/slab/buffer_head/trace', 0o664, b'0\n')
+f('sys/kernel/slab/buffer_head/object_size', 0o664, b'104\n')
+f('sys/kernel/slab/buffer_head/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/buffer_head/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/buffer_head/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/buffer_head/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/buffer_head/objects', 0o664, b'31487\n')
+f('sys/kernel/slab/buffer_head/order', 0o664, b'0\n')
+f('sys/kernel/slab/buffer_head/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/buffer_head/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/buffer_head/align', 0o664, b'0\n')
+f('sys/kernel/slab/buffer_head/partial', 0o664, b'0\n')
+f('sys/kernel/slab/buffer_head/validate', 0o664, b'')
+f('sys/kernel/slab/buffer_head/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/buffer_head/free_calls', 0o664, b'''  14436 <not-available> age=4303047199 pid=0 cpus=0
+  17053 free_buffer_head+0x20/0x40 age=1227/1928220/8379062 pid=1-32759 cpus=0-1
+''')
+f('sys/kernel/slab/buffer_head/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/blkdev_queue', 0o775)
+f('sys/kernel/slab/blkdev_queue/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_queue/ctor', 0o664, b'')
+f('sys/kernel/slab/blkdev_queue/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_queue/slab_size', 0o664, b'2496\n')
+f('sys/kernel/slab/blkdev_queue/total_objects', 0o664, b'26\n')
+f('sys/kernel/slab/blkdev_queue/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/blkdev_queue/poison', 0o664, b'1\n')
+f('sys/kernel/slab/blkdev_queue/alloc_calls', 0o664, b'     12 blk_alloc_queue_node+0x1c/0xc0 age=61520/7678497/8378855 pid=1-13295 cpus=0-1\n')
+f('sys/kernel/slab/blkdev_queue/objs_per_slab', 0o664, b'13\n')
+f('sys/kernel/slab/blkdev_queue/shrink', 0o664, b'')
+f('sys/kernel/slab/blkdev_queue/trace', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_queue/object_size', 0o664, b'2424\n')
+f('sys/kernel/slab/blkdev_queue/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_queue/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_queue/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_queue/objects_partial', 0o664, b'10\n')
+f('sys/kernel/slab/blkdev_queue/objects', 0o664, b'23\n')
+f('sys/kernel/slab/blkdev_queue/order', 0o664, b'3\n')
+f('sys/kernel/slab/blkdev_queue/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/blkdev_queue/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/blkdev_queue/align', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_queue/partial', 0o664, b'1\n')
+f('sys/kernel/slab/blkdev_queue/validate', 0o664, b'')
+f('sys/kernel/slab/blkdev_queue/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/blkdev_queue/free_calls', 0o664, b'     12 <not-available> age=4303046873 pid=0 cpus=0\n')
+f('sys/kernel/slab/blkdev_queue/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/RAW', 0o775)
+f('sys/kernel/slab/RAW/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/RAW/ctor', 0o664, b'')
+f('sys/kernel/slab/RAW/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/RAW/slab_size', 0o664, b'1280\n')
+f('sys/kernel/slab/RAW/total_objects', 0o664, b'12\n')
+f('sys/kernel/slab/RAW/slabs', 0o664, b'1\n')
+f('sys/kernel/slab/RAW/poison', 0o664, b'1\n')
+f('sys/kernel/slab/RAW/alloc_calls', 0o664, b'      3 sk_prot_alloc+0x1e/0xb0 age=8379168/8379171/8379177 pid=1 cpus=0\n')
+f('sys/kernel/slab/RAW/objs_per_slab', 0o664, b'12\n')
+f('sys/kernel/slab/RAW/shrink', 0o664, b'')
+f('sys/kernel/slab/RAW/trace', 0o664, b'0\n')
+f('sys/kernel/slab/RAW/object_size', 0o664, b'1208\n')
+f('sys/kernel/slab/RAW/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/RAW/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/RAW/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/RAW/objects_partial', 0o664, b'3\n')
+f('sys/kernel/slab/RAW/objects', 0o664, b'3\n')
+f('sys/kernel/slab/RAW/order', 0o664, b'2\n')
+f('sys/kernel/slab/RAW/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/RAW/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/RAW/align', 0o664, b'0\n')
+f('sys/kernel/slab/RAW/partial', 0o664, b'1\n')
+f('sys/kernel/slab/RAW/validate', 0o664, b'')
+f('sys/kernel/slab/RAW/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/RAW/free_calls', 0o664, b'      3 <not-available> age=4303046751 pid=0 cpus=0\n')
+f('sys/kernel/slab/RAW/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/blkdev_ioc', 0o775)
+f('sys/kernel/slab/blkdev_ioc/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_ioc/ctor', 0o664, b'')
+f('sys/kernel/slab/blkdev_ioc/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_ioc/slab_size', 0o664, b'200\n')
+f('sys/kernel/slab/blkdev_ioc/total_objects', 0o664, b'100\n')
+f('sys/kernel/slab/blkdev_ioc/slabs', 0o664, b'5\n')
+f('sys/kernel/slab/blkdev_ioc/poison', 0o664, b'1\n')
+f('sys/kernel/slab/blkdev_ioc/alloc_calls', 0o664, b'     64 alloc_io_context+0x19/0xa0 age=3410/8058449/8378873 pid=1-13466 cpus=0-1\n')
+f('sys/kernel/slab/blkdev_ioc/objs_per_slab', 0o664, b'20\n')
+f('sys/kernel/slab/blkdev_ioc/shrink', 0o664, b'')
+f('sys/kernel/slab/blkdev_ioc/trace', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_ioc/object_size', 0o664, b'128\n')
+f('sys/kernel/slab/blkdev_ioc/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_ioc/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_ioc/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_ioc/objects_partial', 0o664, b'38\n')
+f('sys/kernel/slab/blkdev_ioc/objects', 0o664, b'98\n')
+f('sys/kernel/slab/blkdev_ioc/order', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_ioc/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/blkdev_ioc/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/blkdev_ioc/align', 0o664, b'0\n')
+f('sys/kernel/slab/blkdev_ioc/partial', 0o664, b'2\n')
+f('sys/kernel/slab/blkdev_ioc/validate', 0o664, b'')
+f('sys/kernel/slab/blkdev_ioc/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/blkdev_ioc/free_calls', 0o664, b'''      9 <not-available> age=4303046891 pid=0 cpus=0
+     55 put_io_context+0xb2/0xd0 age=45025/8043308/8374605 pid=145-13349 cpus=0-1
+''')
+f('sys/kernel/slab/blkdev_ioc/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/sigqueue', 0o775)
+f('sys/kernel/slab/sigqueue/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/sigqueue/ctor', 0o664, b'')
+f('sys/kernel/slab/sigqueue/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/sigqueue/slab_size', 0o664, b'232\n')
+f('sys/kernel/slab/sigqueue/total_objects', 0o664, b'34\n')
+f('sys/kernel/slab/sigqueue/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/sigqueue/poison', 0o664, b'1\n')
+f('sys/kernel/slab/sigqueue/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/sigqueue/objs_per_slab', 0o664, b'17\n')
+f('sys/kernel/slab/sigqueue/shrink', 0o664, b'')
+f('sys/kernel/slab/sigqueue/trace', 0o664, b'0\n')
+f('sys/kernel/slab/sigqueue/object_size', 0o664, b'160\n')
+f('sys/kernel/slab/sigqueue/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/sigqueue/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/sigqueue/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/sigqueue/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/sigqueue/objects', 0o664, b'34\n')
+f('sys/kernel/slab/sigqueue/order', 0o664, b'0\n')
+f('sys/kernel/slab/sigqueue/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/sigqueue/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/sigqueue/align', 0o664, b'8\n')
+f('sys/kernel/slab/sigqueue/partial', 0o664, b'0\n')
+f('sys/kernel/slab/sigqueue/validate', 0o664, b'')
+f('sys/kernel/slab/sigqueue/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/sigqueue/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/sigqueue/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/TCPv6', 0o775)
+f('sys/kernel/slab/TCPv6/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/TCPv6/ctor', 0o664, b'')
+f('sys/kernel/slab/TCPv6/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/TCPv6/slab_size', 0o664, b'2432\n')
+f('sys/kernel/slab/TCPv6/total_objects', 0o664, b'26\n')
+f('sys/kernel/slab/TCPv6/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/TCPv6/poison', 0o664, b'1\n')
+f('sys/kernel/slab/TCPv6/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/TCPv6/objs_per_slab', 0o664, b'13\n')
+f('sys/kernel/slab/TCPv6/shrink', 0o664, b'')
+f('sys/kernel/slab/TCPv6/trace', 0o664, b'0\n')
+f('sys/kernel/slab/TCPv6/object_size', 0o664, b'2336\n')
+f('sys/kernel/slab/TCPv6/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/TCPv6/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/TCPv6/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/TCPv6/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/TCPv6/objects', 0o664, b'26\n')
+f('sys/kernel/slab/TCPv6/order', 0o664, b'3\n')
+f('sys/kernel/slab/TCPv6/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/TCPv6/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/TCPv6/align', 0o664, b'0\n')
+f('sys/kernel/slab/TCPv6/partial', 0o664, b'0\n')
+f('sys/kernel/slab/TCPv6/validate', 0o664, b'')
+f('sys/kernel/slab/TCPv6/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/TCPv6/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/TCPv6/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/kioctx', 0o775)
+f('sys/kernel/slab/kioctx/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kioctx/ctor', 0o664, b'')
+f('sys/kernel/slab/kioctx/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/kioctx/slab_size', 0o664, b'640\n')
+f('sys/kernel/slab/kioctx/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/kioctx/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kioctx/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kioctx/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/kioctx/objs_per_slab', 0o664, b'12\n')
+f('sys/kernel/slab/kioctx/shrink', 0o664, b'')
+f('sys/kernel/slab/kioctx/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kioctx/object_size', 0o664, b'512\n')
+f('sys/kernel/slab/kioctx/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kioctx/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/kioctx/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kioctx/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/kioctx/objects', 0o664, b'0\n')
+f('sys/kernel/slab/kioctx/order', 0o664, b'1\n')
+f('sys/kernel/slab/kioctx/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kioctx/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kioctx/align', 0o664, b'8\n')
+f('sys/kernel/slab/kioctx/partial', 0o664, b'0\n')
+f('sys/kernel/slab/kioctx/validate', 0o664, b'')
+f('sys/kernel/slab/kioctx/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kioctx/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/kioctx/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/kmalloc-32', 0o775)
+f('sys/kernel/slab/kmalloc-32/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-32/ctor', 0o664, b'')
+f('sys/kernel/slab/kmalloc-32/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-32/slab_size', 0o664, b'104\n')
+f('sys/kernel/slab/kmalloc-32/total_objects', 0o664, b'624\n')
+f('sys/kernel/slab/kmalloc-32/slabs', 0o664, b'16\n')
+f('sys/kernel/slab/kmalloc-32/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-32/alloc_calls', 0o664, b'''      1 mtrr_file_add+0xb0/0xe0 age=8355511 pid=1738 cpus=0
+      2 arch_acpi_processor_init_pdc+0x8e/0x180 age=8375727/8375758/8375789 pid=330 cpus=0
+      1 pm_qos_add_requirement+0x34/0xe0 age=8376080 pid=122 cpus=1
+     59 setup_modinfo_srcversion+0x19/0x30 age=8303075/8368435/8376316 pid=105-2754 cpus=0-1
+     42 load_module+0x1455/0x1b30 age=8303075/8366312/8375832 pid=107-2754 cpus=0-1
+    151 load_module+0x1ac4/0x1b30 age=8303071/8368871/8376310 pid=105-2754 cpus=0-1
+      3 mempool_create_node+0x4b/0xf0 age=62046/5606826/8379381 pid=1-13295 cpus=0-1
+      1 strndup_user+0x6d/0xc0 age=8374925 pid=107 cpus=0
+     16 __vmalloc_area_node+0xfb/0x140 age=8328464/8366300/8376086 pid=107-2578 cpus=0-1
+      1 do_kern_mount+0xca/0x110 age=8335800 pid=2476 cpus=0
+      1 do_sys_poll+0xdb/0x450 age=1303 pid=1333 cpus=1
+      1 alloc_vfsmnt+0x97/0x180 age=8335801 pid=2476 cpus=0
+      1 single_open+0x3c/0xb0 age=8355816 pid=1738 cpus=0
+     66 sysfs_new_dirent+0x10c/0x120 age=8360190/8377926/8379815 pid=1-1549 cpus=0-1
+     30 do_shmat+0x169/0x410 age=8274161/8330033/8348616 pid=1738-2621 cpus=0-1
+     21 register_blkdev+0x60/0x150 age=8369695/8377753/8379765 pid=1-951 cpus=0-1
+     39 kvasprintf+0x55/0x90 age=8360190/8378048/8379814 pid=1-1549 cpus=0-1
+      7 pci_save_state+0x1a4/0x250 age=8373637/8378406/8379803 pid=1-126 cpus=0-1
+      2 pcim_enable_device+0x86/0xb0 age=8379255/8379510/8379765 pid=1 cpus=0-1
+     15 acpi_ds_build_internal_package_obj+0xaf/0x1df age=8379932/8379938/8379947 pid=1 cpus=0
+     21 acpi_ds_build_internal_buffer_obj+0xe1/0x121 age=3847501/7731852/8379949 pid=1-330 cpus=0
+      1 acpi_install_gpe_handler+0xa7/0x13a age=8379959 pid=1 cpus=0
+      1 acpi_ev_create_gpe_block+0x282/0x3bf age=8379959 pid=1 cpus=0
+      1 acpi_pci_bind_root+0x8d/0x13e age=8379883 pid=1 cpus=0
+     18 acpi_pci_bind+0x85/0x28d age=8379879/8379879/8379882 pid=1 cpus=0
+     15 rand_initialize_disk+0x1d/0x30 age=62014/7263977/8379377 pid=1-13295 cpus=0-1
+      1 ata_host_start+0xcb/0x1e0 age=8379764 pid=1 cpus=1
+      1 hidinput_connect+0x2372/0x24e0 age=53529 pid=419 cpus=0
+      1 sock_kmalloc+0x5c/0x70 age=8325518 pid=1849 cpus=1
+      2 proto_register+0x7c/0x260 age=8360191/8370012/8379834 pid=1-1549 cpus=0
+      2 neigh_hash_alloc+0x42/0x50 age=8325417/8327412/8329408 pid=0-1849 cpus=1
+      1 nl_pid_hash_rehash+0x180/0x1a0 age=947530 pid=1189 cpus=0
+     28 unix_bind+0xd8/0x3a0 age=8356458/8357177/8366824 pid=1336-1738 cpus=0-1
+      3 ipc_init_proc_interface+0x2e/0x7c age=8379805/8379805/8379805 pid=1 cpus=1
+     13 usb_cache_string+0x65/0xa0 [usbcore] age=22649/4521883/8374921 pid=143-419 cpus=0-1
+      6 usb_get_configuration+0x18f/0x1480 [usbcore] age=67053/6989971/8374921 pid=143-419 cpus=0-1
+      2 _snd_ctl_register_ioctl+0x2b/0x80 [snd] age=8374675/8374675/8374675 pid=107 cpus=0
+      2 snd_oss_info_register+0x40/0xc0 [snd] age=8355350/8355452/8355555 pid=1813 cpus=0
+      6 adjust_io+0xeb/0x120 [rsrc_nonstatic] age=8373110/8373182/8373542 pid=352-800 cpus=0
+      5 adjust_memory+0xe5/0x1a0 [rsrc_nonstatic] age=8373110/8373278/8373535 pid=352-800 cpus=0
+      1 ieee80211_sta_set_extra_ie+0x7d/0xe0 [mac80211] age=8329597 pid=1545 cpus=0
+      2 ieee80211_rx_bss_info+0x4df/0xa20 [mac80211] age=8330170/8342783/8355397 pid=0 cpus=0
+      2 ieee80211_rx_bss_info+0x568/0xa20 [mac80211] age=22736/4188782/8354829 pid=742-1951 cpus=0
+      2 ieee80211_rx_bss_info+0x5f7/0xa20 [mac80211] age=22736/4189294/8355852 pid=742-1772 cpus=0
+      1 rate_control_alloc+0x32/0x110 [mac80211] age=8373757 pid=126 cpus=1
+      2 ieee80211_rate_control_register+0x72/0xf0 [mac80211] age=8374580/8374635/8374690 pid=126 cpus=0-1
+      2 azx_probe+0x9a4/0xc20 [snd_hda_intel] age=8374165/8374165/8374165 pid=107 cpus=1
+      1 async_chainiv_givencrypt+0x71/0x110 [crypto_blkcipher] age=8374560 pid=215 cpus=0
+      1 run+0x66/0x500 [raid1] age=8370114 pid=916 cpus=0
+      1 acpi_cpufreq_cpu_init+0x4d/0x45c [acpi_cpufreq] age=8366427 pid=1358 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-32/objs_per_slab', 0o664, b'39\n')
+f('sys/kernel/slab/kmalloc-32/shrink', 0o664, b'')
+f('sys/kernel/slab/kmalloc-32/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-32/object_size', 0o664, b'32\n')
+f('sys/kernel/slab/kmalloc-32/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-32/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-32/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-32/objects_partial', 0o664, b'149\n')
+f('sys/kernel/slab/kmalloc-32/objects', 0o664, b'617\n')
+f('sys/kernel/slab/kmalloc-32/order', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-32/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-32/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-32/align', 0o664, b'8\n')
+f('sys/kernel/slab/kmalloc-32/partial', 0o664, b'4\n')
+f('sys/kernel/slab/kmalloc-32/validate', 0o664, b'')
+f('sys/kernel/slab/kmalloc-32/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-32/free_calls', 0o664, b'''    409 <not-available> age=4303047399 pid=0 cpus=0
+      4 __vunmap+0xe9/0x120 age=8366429/8372533/8374823 pid=215-1358 cpus=0-1
+      1 vfs_rename+0x301/0x450 age=8274772 pid=2851 cpus=0
+      8 do_sys_poll+0x32b/0x450 age=1304/6728883/8333312 pid=1333 cpus=0-1
+      1 seq_release_private+0x2d/0x60 age=8352378 pid=2141 cpus=0
+      5 single_release+0x2e/0x40 age=8343903/8358822/8366889 pid=1258-1806 cpus=0
+      1 setxattr+0xa6/0x130 age=8355591 pid=1816 cpus=0
+      6 bio_free_map_data+0x25/0x30 age=53571/4350975/8375998 pid=0-318 cpus=0
+      6 remove_kevent+0x44/0x60 age=7219423/7961750/8346613 pid=2271-2423 cpus=0-1
+     57 load_elf_binary+0xa72/0x1e20 age=22671/8213994/8376585 pid=102-13419 cpus=0-1
+      1 generic_acl_set+0x15e/0x1a0 age=8355591 pid=1816 cpus=0
+     67 kobject_uevent_env+0x11a/0x470 age=62016/8246870/8379965 pid=1-13295 cpus=0-1
+      2 pci_get_subsys+0x74/0xa0 age=8375728/8375759/8375790 pid=330 cpus=0
+      8 acpi_evaluate_integer+0xbf/0xd1 age=3847577/7810351/8379888 pid=1-2097 cpus=0
+      3 acpi_ds_create_operand+0x12c/0x209 age=3847578/6867437/8379889 pid=1-2097 cpus=0
+      3 acpi_ns_get_node+0x92/0xa1 age=8374447/8376288/8379960 pid=1-215 cpus=0-1
+      5 acpi_ut_delete_internal_obj+0x15f/0x16f age=8366428/8373878/8375771 pid=330-1358 cpus=0
+      3 acpi_pci_bind+0x277/0x28d age=8379881/8379881/8379883 pid=1 cpus=0
+      1 get_modalias+0xd4/0x120 age=8355825 pid=1772 cpus=0
+      2 ioctl_standard_iw_point+0x179/0x350 age=63360/84363/105367 pid=1541 cpus=0
+      1 pci_bus_assign_resources+0xfe/0x4d0 age=8379836 pid=1 cpus=0
+      1 sg_clean+0x3e/0x80 [usbcore] age=59566 pid=13294 cpus=0
+      9 usb_get_device_descriptor+0x9b/0xa0 [usbcore] age=22724/6523118/8374922 pid=143-419 cpus=0-1
+      1 ieee80211_rx_bss_info+0x552/0xa20 [mac80211] age=22737 pid=742 cpus=0
+      2 ieee80211_rx_bss_info+0x5e1/0xa20 [mac80211] age=22737/4189295/8355853 pid=742-1772 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-32/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/kmalloc-64', 0o775)
+f('sys/kernel/slab/kmalloc-64/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-64/ctor', 0o664, b'')
+f('sys/kernel/slab/kmalloc-64/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-64/slab_size', 0o664, b'136\n')
+f('sys/kernel/slab/kmalloc-64/total_objects', 0o664, b'15300\n')
+f('sys/kernel/slab/kmalloc-64/slabs', 0o664, b'510\n')
+f('sys/kernel/slab/kmalloc-64/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-64/alloc_calls', 0o664, b'''     30 alternatives_smp_module_add+0x81/0x160 age=8303055/8368397/8380085 pid=0-2754 cpus=0-1
+     39 __request_region+0x39/0x120 age=8373811/8378273/8379949 pid=1-352 cpus=0-1
+      1 audit_log_start+0x353/0x3f0 age=8379797 pid=1 cpus=1
+     16 request_irq+0x9a/0xf0 age=8356279/8374005/8379942 pid=1-1541 cpus=0-1
+      3 devm_request_irq+0x4b/0xc0 age=8379232/8379403/8379747 pid=1 cpus=0-1
+      1 strndup_user+0x6d/0xc0 age=8374545 pid=215 cpus=0
+     95 __get_vm_area_node+0x9b/0x220 age=8303058/8371551/8380085 pid=0-2754 cpus=0-1
+     17 __vmalloc_area_node+0xfb/0x140 age=8309125/8366469/8376299 pid=105-2711 cpus=0-1
+      1 add_swap_extent+0x57/0xc0 age=8372039 pid=867 cpus=0
+     33 dma_pool_alloc+0x6d/0x200 age=8309120/8340771/8374904 pid=143-2711 cpus=0-1
+     40 alloc_kmem_cache_cpu+0x81/0x90 age=8360159/8368022/8379787 pid=1-1549 cpus=0-1
+    164 __percpu_alloc_mask+0x52/0x140 age=61997/8067718/8380085 pid=0-13295 cpus=0-1
+    184 __percpu_alloc_mask+0xbc/0x140 age=62029/8100825/8380085 pid=0-13295 cpus=0-1
+    604 d_alloc+0x19d/0x1f0 age=22685/7859083/8376462 pid=72-24701 cpus=0-1
+     17 alloc_fdtable+0x57/0x160 age=4267/6101781/8357279 pid=1532-12336 cpus=0-1
+     17 alloc_fdtable+0xb4/0x160 age=4267/6101781/8357279 pid=1532-12336 cpus=0-1
+      1 bioset_create+0x21/0xc0 age=8379947 pid=1 cpus=0
+      1 bd_claim_by_disk+0x6f/0x270 age=8370131 pid=916 cpus=0
+     14 posix_acl_alloc+0x1b/0x30 age=53326/7759393/8352180 pid=2175-13390 cpus=0-1
+      5 proc_reg_open+0x3f/0x170 age=8355799/8361268/8366755 pid=1327-1738 cpus=0
+  12754 ext3_init_block_alloc_info+0x22/0x80 age=1/498494/8368528 pid=1-23373 cpus=0-1
+      4 ext3_readdir+0x617/0x650 age=8352064/8352079/8352114 pid=1370 cpus=0
+      8 ext3_htree_store_dirent+0x37/0x130 age=8352064/8352072/8352099 pid=1370 cpus=0
+    277 kobject_create+0x1a/0x40 age=22618/7771015/8380085 pid=0-13295 cpus=0-1
+      1 pci_create_sysfs_dev_files+0x23e/0x3b0 age=8378937 pid=1 cpus=0
+     11 acpi_os_validate_address+0x3d/0xa3 age=8379914/8379927/8379932 pid=1 cpus=0
+    124 acpi_ds_build_internal_package_obj+0xaf/0x1df age=3847484/8233379/8379936 pid=1-330 cpus=0
+      6 acpi_ds_build_internal_buffer_obj+0xe1/0x121 age=8379920/8379925/8379934 pid=1 cpus=0
+      1 acpi_ev_system_memory_region_setup+0x68/0x8f age=8379914 pid=1 cpus=0
+      3 acpi_add_single_object+0x596/0xd3c age=8379878/8379880/8379882 pid=1 cpus=0
+      3 acpi_add_single_object+0x5d8/0xd3c age=8379886/8379888/8379890 pid=1 cpus=0
+     27 acpi_add_single_object+0x9f7/0xd3c age=8379871/8379888/8379900 pid=1 cpus=0
+     55 acpi_ec_add_query_handler+0x31/0x91 age=8379870/8379870/8379870 pid=1 cpus=0
+      1 find_dock+0x2c9/0x426 age=8379950 pid=1 cpus=0
+      6 find_dock_devices+0x5e/0x92 age=8379950/8379950/8379950 pid=1 cpus=0
+      8 acpi_pci_link_add+0x32/0x1db age=8379843/8379844/8379846 pid=1 cpus=0
+     39 acpi_pci_irq_add_prt+0x181/0x324 age=8379862/8379863/8379865 pid=1 cpus=0
+     15 init_dev+0x3c8/0x6f0 age=7217158/8282400/8378180 pid=33-2593 cpus=0-1
+     15 init_dev+0x437/0x6f0 age=7217158/8282400/8378180 pid=33-2593 cpus=0-1
+      3 init_dev+0x5b2/0x6f0 age=7217158/7969269/8364358 pid=1258-2593 cpus=0-1
+      3 init_dev+0x637/0x6f0 age=7217158/7969269/8364358 pid=1258-2593 cpus=0-1
+      2 kobj_map_init+0x36/0xa0 age=8379947/8380016/8380085 pid=0-1 cpus=0
+     38 kobj_map+0x79/0x1a0 age=61997/7936136/8379947 pid=1-13295 cpus=0-1
+      3 dmam_alloc_coherent+0x3f/0xa0 age=8379232/8379403/8379747 pid=1 cpus=0-1
+      1 scsi_probe_and_add_lun+0x65e/0xd80 age=62028 pid=13295 cpus=0
+    170 scsi_dev_info_list_add+0x3d/0x120 age=8379831/8379831/8379831 pid=1 cpus=0
+      1 ahci_init_one+0x137/0xcb0 age=8379748 pid=1 cpus=1
+      1 cpufreq_stat_notifier_policy+0xa1/0x2e0 age=8366410 pid=1358 cpus=0
+      1 cpufreq_stat_notifier_policy+0x17e/0x2e0 age=8366410 pid=1358 cpus=0
+      1 hid_parse_report+0xa9/0x2c0 age=53512 pid=419 cpus=0
+     10 __dev_addr_add+0x69/0xe0 age=8325501/8345496/8360156 pid=8-1849 cpus=0-1
+''')
+f('sys/kernel/slab/kmalloc-64/objs_per_slab', 0o664, b'30\n')
+f('sys/kernel/slab/kmalloc-64/shrink', 0o664, b'')
+f('sys/kernel/slab/kmalloc-64/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-64/object_size', 0o664, b'64\n')
+f('sys/kernel/slab/kmalloc-64/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-64/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-64/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-64/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-64/objects', 0o664, b'15300\n')
+f('sys/kernel/slab/kmalloc-64/order', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-64/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-64/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-64/align', 0o664, b'8\n')
+f('sys/kernel/slab/kmalloc-64/partial', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-64/validate', 0o664, b'')
+f('sys/kernel/slab/kmalloc-64/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-64/free_calls', 0o664, b'''  13029 <not-available> age=4303047386 pid=0 cpus=0
+      1 iounmap+0xc2/0x100 age=8379917 pid=1 cpus=0
+      1 memtype_get_idx+0x75/0xc0 age=782 pid=13466 cpus=0
+      2 __release_region+0xc6/0xd0 age=8379754/8379754/8379754 pid=1 cpus=1
+      3 __request_region+0x86/0x120 age=8379828/8379828/8379828 pid=1 cpus=0
+      1 generic_smp_call_function_single_interrupt+0xce/0xe0 age=8355499 pid=0 cpus=1
+     53 __stop_machine+0x216/0x220 age=8303059/8367652/8376299 pid=105-2754 cpus=0-1
+      2 free_irq+0xef/0x190 age=8356302/8367658/8379015 pid=1-1541 cpus=0
+     28 __vunmap+0xcd/0x120 age=8309125/8366969/8376298 pid=105-2711 cpus=0-1
+      8 __vunmap+0xe9/0x120 age=8328457/8364062/8376068 pid=107-2578 cpus=0-1
+      1 percpu_free+0x2d/0x60 age=61987 pid=13295 cpus=0
+     10 do_sys_poll+0x32b/0x450 age=61481/7500944/8334758 pid=1333-2262 cpus=0-1
+    187 d_callback+0x22/0x40 age=22704/7997936/8376459 pid=0-2156 cpus=0-1
+    198 free_fdtable_rcu+0x7a/0xb0 age=1292/3883175/8376371 pid=0-13456 cpus=0-1
+    224 free_fdtable_rcu+0x82/0xb0 age=1292/3491449/8377150 pid=0-13456 cpus=0-1
+     42 proc_reg_release+0x96/0x120 age=3564/7013222/8376067 pid=126-2586 cpus=0-1
+     50 proc_reg_open+0x138/0x170 age=656297/2956669/8367924 pid=1184-12336 cpus=0-1
+   1046 free_rb_tree_fname+0x5c/0xb0 age=5905/4315279/8376402 pid=102-24701 cpus=0-1
+     79 ext3_htree_free_dir_info+0x19/0x20 age=5905/6235661/8376402 pid=102-24701 cpus=0-1
+     26 ext3_clear_inode+0xa5/0xb0 age=12954/2421572/8354304 pid=1253-8445 cpus=0-1
+      1 dynamic_kobj_release+0x2c/0x40 age=8356191 pid=1541 cpus=0
+     66 kobject_uevent_env+0x11a/0x470 age=22624/7608199/8379955 pid=1-2711 cpus=0-1
+     16 acpi_ds_call_control_method+0xfe/0x180 age=3020/4710292/8379848 pid=1-13466 cpus=0-1
+      1 acpi_ev_execute_reg_method+0x129/0x13a age=8379946 pid=1 cpus=0
+      1 acpi_ev_asynch_execute_gpe_method+0xcc/0x119 age=8379905 pid=12 cpus=1
+     33 acpi_evaluate_object+0x1ea/0x1fc age=3015/5838124/8379955 pid=1-13466 cpus=0-1
+      4 acpi_get_object_info+0x1c4/0x1d4 age=8379876/8379888/8379895 pid=1 cpus=0
+      1 acpi_walk_resources+0xa4/0xbd age=8379755 pid=1 cpus=1
+     41 acpi_ut_evaluate_object+0x18d/0x19b age=8379223/8379861/8379919 pid=1 cpus=0-1
+      4 acpi_ut_delete_internal_obj+0x15f/0x16f age=8366416/8373412/8375744 pid=330-1358 cpus=0
+      7 acpi_bus_get_ejd+0x73/0x80 age=8379955/8379955/8379955 pid=1 cpus=0
+     11 pnp_show_options+0x459/0x600 age=1578/1602/1627 pid=13466 cpus=0
+     11 pnp_show_current_resources+0x16f/0x180 age=1578/1603/1628 pid=13466 cpus=0
+     19 release_one_tty+0x53/0x190 age=804540/7566113/8370327 pid=55-2106 cpus=0-1
+     24 release_one_tty+0x60/0x190 age=804540/7729452/8370327 pid=55-2141 cpus=0-1
+      6 release_one_tty+0x167/0x190 age=8352429/8353224/8354794 pid=1967-2141 cpus=0
+      4 devres_remove_group+0x9e/0xe0 age=8379026/8379313/8379753 pid=1 cpus=0-1
+      1 ata_acpi_on_devcfg+0x385/0x6a0 age=8379406 pid=25 cpus=0
+      3 serio_free_event+0x1d/0x30 age=8378463/8378812/8378999 pid=17 cpus=0-1
+      6 input_register_device+0x17c/0x230 age=53514/6988336/8378983 pid=17-803 cpus=0-1
+      1 ip_cork_release+0x1f/0x50 age=8333854 pid=2536 cpus=1
+      1 unix_sock_destructor+0x75/0xd0 age=7217178 pid=2344 cpus=0
+     13 huft_free+0x1e/0x2f age=8379804/8379804/8379804 pid=1 cpus=0
+      6 hub_port_init+0x522/0x740 [usbcore] age=22825/4210550/8374275 pid=419 cpus=0-1
+      1 usb_release_interface_cache+0x2c/0x60 [usbcore] age=8373868 pid=419 cpus=0
+      1 usb_release_interface_cache+0x47/0x60 [usbcore] age=8373868 pid=419 cpus=0
+      1 __param_str_act+0x16c/0xfffffffffffffb13 [thermal] age=8375113 pid=383 cpus=0
+      3 snd_card_file_remove+0x73/0x130 [snd] age=8333050/8337203/8339297 pid=2400-2425 cpus=0
+      2 hid_probe+0x222/0xf30 [usbhid] age=53517/4212911/8372306 pid=419-803 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-64/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/sgpool-128', 0o775)
+f('sys/kernel/slab/sgpool-128/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-128/ctor', 0o664, b'')
+f('sys/kernel/slab/sgpool-128/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-128/slab_size', 0o664, b'4224\n')
+f('sys/kernel/slab/sgpool-128/total_objects', 0o664, b'14\n')
+f('sys/kernel/slab/sgpool-128/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/sgpool-128/poison', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-128/alloc_calls', 0o664, b'      2 mempool_alloc_slab+0x11/0x20 age=8379262/8379262/8379262 pid=1 cpus=0\n')
+f('sys/kernel/slab/sgpool-128/objs_per_slab', 0o664, b'7\n')
+f('sys/kernel/slab/sgpool-128/shrink', 0o664, b'')
+f('sys/kernel/slab/sgpool-128/trace', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-128/object_size', 0o664, b'4096\n')
+f('sys/kernel/slab/sgpool-128/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-128/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-128/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-128/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-128/objects', 0o664, b'14\n')
+f('sys/kernel/slab/sgpool-128/order', 0o664, b'3\n')
+f('sys/kernel/slab/sgpool-128/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-128/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-128/align', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-128/partial', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-128/validate', 0o664, b'')
+f('sys/kernel/slab/sgpool-128/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-128/free_calls', 0o664, b'      2 <not-available> age=4303046812 pid=0 cpus=0\n')
+f('sys/kernel/slab/sgpool-128/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/kcopyd_job', 0o775)
+f('sys/kernel/slab/kcopyd_job/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kcopyd_job/ctor', 0o664, b'')
+f('sys/kernel/slab/kcopyd_job/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/kcopyd_job/slab_size', 0o664, b'544\n')
+f('sys/kernel/slab/kcopyd_job/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/kcopyd_job/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kcopyd_job/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kcopyd_job/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/kcopyd_job/objs_per_slab', 0o664, b'15\n')
+f('sys/kernel/slab/kcopyd_job/shrink', 0o664, b'')
+f('sys/kernel/slab/kcopyd_job/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kcopyd_job/object_size', 0o664, b'472\n')
+f('sys/kernel/slab/kcopyd_job/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kcopyd_job/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/kcopyd_job/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kcopyd_job/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/kcopyd_job/objects', 0o664, b'0\n')
+f('sys/kernel/slab/kcopyd_job/order', 0o664, b'1\n')
+f('sys/kernel/slab/kcopyd_job/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kcopyd_job/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kcopyd_job/align', 0o664, b'8\n')
+f('sys/kernel/slab/kcopyd_job/partial', 0o664, b'0\n')
+f('sys/kernel/slab/kcopyd_job/validate', 0o664, b'')
+f('sys/kernel/slab/kcopyd_job/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kcopyd_job/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/kcopyd_job/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/dm_target_io', 0o775)
+f('sys/kernel/slab/dm_target_io/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/dm_target_io/ctor', 0o664, b'')
+f('sys/kernel/slab/dm_target_io/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/dm_target_io/slab_size', 0o664, b'96\n')
+f('sys/kernel/slab/dm_target_io/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/dm_target_io/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/dm_target_io/poison', 0o664, b'1\n')
+f('sys/kernel/slab/dm_target_io/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/dm_target_io/objs_per_slab', 0o664, b'42\n')
+f('sys/kernel/slab/dm_target_io/shrink', 0o664, b'')
+f('sys/kernel/slab/dm_target_io/trace', 0o664, b'0\n')
+f('sys/kernel/slab/dm_target_io/object_size', 0o664, b'24\n')
+f('sys/kernel/slab/dm_target_io/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/dm_target_io/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/dm_target_io/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/dm_target_io/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/dm_target_io/objects', 0o664, b'0\n')
+f('sys/kernel/slab/dm_target_io/order', 0o664, b'0\n')
+f('sys/kernel/slab/dm_target_io/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/dm_target_io/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/dm_target_io/align', 0o664, b'8\n')
+f('sys/kernel/slab/dm_target_io/partial', 0o664, b'0\n')
+f('sys/kernel/slab/dm_target_io/validate', 0o664, b'')
+f('sys/kernel/slab/dm_target_io/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/dm_target_io/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/dm_target_io/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/signal_cache', 0o775)
+f('sys/kernel/slab/signal_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/signal_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/signal_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/signal_cache/slab_size', 0o664, b'1024\n')
+f('sys/kernel/slab/signal_cache/total_objects', 0o664, b'160\n')
+f('sys/kernel/slab/signal_cache/slabs', 0o664, b'10\n')
+f('sys/kernel/slab/signal_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/signal_cache/alloc_calls', 0o664, b'    124 copy_process+0x93c/0x1220 age=4145/7851187/8379914 pid=0-12336 cpus=0-1\n')
+f('sys/kernel/slab/signal_cache/objs_per_slab', 0o664, b'16\n')
+f('sys/kernel/slab/signal_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/signal_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/signal_cache/object_size', 0o664, b'896\n')
+f('sys/kernel/slab/signal_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/signal_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/signal_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/signal_cache/objects_partial', 0o664, b'70\n')
+f('sys/kernel/slab/signal_cache/objects', 0o664, b'150\n')
+f('sys/kernel/slab/signal_cache/order', 0o664, b'2\n')
+f('sys/kernel/slab/signal_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/signal_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/signal_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/signal_cache/partial', 0o664, b'5\n')
+f('sys/kernel/slab/signal_cache/validate', 0o664, b'')
+f('sys/kernel/slab/signal_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/signal_cache/free_calls', 0o664, b'''     42 <not-available> age=4303047259 pid=0 cpus=0
+     82 __cleanup_signal+0x20/0x30 age=7186/7586663/8375843 pid=1-13288 cpus=0-1
+''')
+f('sys/kernel/slab/signal_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/radix_tree_node', 0o775)
+f('sys/kernel/slab/radix_tree_node/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/radix_tree_node/ctor', 0o664, b'radix_tree_node_ctor+0x0/0x10\n')
+f('sys/kernel/slab/radix_tree_node/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/radix_tree_node/slab_size', 0o664, b'624\n')
+f('sys/kernel/slab/radix_tree_node/total_objects', 0o664, b'6747\n')
+f('sys/kernel/slab/radix_tree_node/slabs', 0o664, b'519\n')
+f('sys/kernel/slab/radix_tree_node/poison', 0o664, b'1\n')
+f('sys/kernel/slab/radix_tree_node/alloc_calls', 0o664, b'   6737 radix_tree_preload+0x3b/0xb0 age=16/6612251/8379044 pid=1-32767 cpus=0-1\n')
+f('sys/kernel/slab/radix_tree_node/objs_per_slab', 0o664, b'13\n')
+f('sys/kernel/slab/radix_tree_node/shrink', 0o664, b'')
+f('sys/kernel/slab/radix_tree_node/trace', 0o664, b'0\n')
+f('sys/kernel/slab/radix_tree_node/object_size', 0o664, b'552\n')
+f('sys/kernel/slab/radix_tree_node/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/radix_tree_node/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/radix_tree_node/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/radix_tree_node/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/radix_tree_node/objects', 0o664, b'6747\n')
+f('sys/kernel/slab/radix_tree_node/order', 0o664, b'1\n')
+f('sys/kernel/slab/radix_tree_node/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/radix_tree_node/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/radix_tree_node/align', 0o664, b'0\n')
+f('sys/kernel/slab/radix_tree_node/partial', 0o664, b'0\n')
+f('sys/kernel/slab/radix_tree_node/validate', 0o664, b'')
+f('sys/kernel/slab/radix_tree_node/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/radix_tree_node/free_calls', 0o664, b'''   4146 <not-available> age=4303047064 pid=0 cpus=0
+   2591 radix_tree_node_rcu_free+0x41/0x50 age=39290/6239072/8378908 pid=0-32584 cpus=0-1
+''')
+f('sys/kernel/slab/radix_tree_node/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/uid_cache', 0o775)
+f('sys/kernel/slab/uid_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/uid_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/uid_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/uid_cache/slab_size', 0o664, b'320\n')
+f('sys/kernel/slab/uid_cache/total_objects', 0o664, b'24\n')
+f('sys/kernel/slab/uid_cache/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/uid_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/uid_cache/alloc_calls', 0o664, b'      5 alloc_uid+0xbd/0x1e0 age=8351086/8358570/8366097 pid=1333-2177 cpus=0-1\n')
+f('sys/kernel/slab/uid_cache/objs_per_slab', 0o664, b'12\n')
+f('sys/kernel/slab/uid_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/uid_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/uid_cache/object_size', 0o664, b'216\n')
+f('sys/kernel/slab/uid_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/uid_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/uid_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/uid_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/uid_cache/objects', 0o664, b'24\n')
+f('sys/kernel/slab/uid_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/uid_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/uid_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/uid_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/uid_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/uid_cache/validate', 0o664, b'')
+f('sys/kernel/slab/uid_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/uid_cache/free_calls', 0o664, b'''      2 <not-available> age=4303046654 pid=0 cpus=0
+      3 remove_user_sysfs_dir+0xd0/0x100 age=8357175/8367109/8374935 pid=7 cpus=0
+''')
+f('sys/kernel/slab/uid_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/tw_sock_TCPv6', 0o775)
+f('sys/kernel/slab/tw_sock_TCPv6/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCPv6/ctor', 0o664, b'')
+f('sys/kernel/slab/tw_sock_TCPv6/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/tw_sock_TCPv6/slab_size', 0o664, b'256\n')
+f('sys/kernel/slab/tw_sock_TCPv6/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCPv6/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCPv6/poison', 0o664, b'1\n')
+f('sys/kernel/slab/tw_sock_TCPv6/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/tw_sock_TCPv6/objs_per_slab', 0o664, b'16\n')
+f('sys/kernel/slab/tw_sock_TCPv6/shrink', 0o664, b'')
+f('sys/kernel/slab/tw_sock_TCPv6/trace', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCPv6/object_size', 0o664, b'168\n')
+f('sys/kernel/slab/tw_sock_TCPv6/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCPv6/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCPv6/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCPv6/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCPv6/objects', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCPv6/order', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCPv6/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/tw_sock_TCPv6/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/tw_sock_TCPv6/align', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCPv6/partial', 0o664, b'0\n')
+f('sys/kernel/slab/tw_sock_TCPv6/validate', 0o664, b'')
+f('sys/kernel/slab/tw_sock_TCPv6/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/tw_sock_TCPv6/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/tw_sock_TCPv6/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/sighand_cache', 0o775)
+f('sys/kernel/slab/sighand_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/sighand_cache/ctor', 0o664, b'sighand_ctor+0x0/0x40\n')
+f('sys/kernel/slab/sighand_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/sighand_cache/slab_size', 0o664, b'2304\n')
+f('sys/kernel/slab/sighand_cache/total_objects', 0o664, b'154\n')
+f('sys/kernel/slab/sighand_cache/slabs', 0o664, b'11\n')
+f('sys/kernel/slab/sighand_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/sighand_cache/alloc_calls', 0o664, b'''    123 copy_process+0x82a/0x1220 age=4154/7846897/8379923 pid=0-12336 cpus=0-1
+      1 flush_old_exec+0x4e1/0x8a0 age=8378174 pid=1 cpus=0
+''')
+f('sys/kernel/slab/sighand_cache/objs_per_slab', 0o664, b'14\n')
+f('sys/kernel/slab/sighand_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/sighand_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/sighand_cache/object_size', 0o664, b'2184\n')
+f('sys/kernel/slab/sighand_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/sighand_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/sighand_cache/destroy_by_rcu', 0o664, b'1\n')
+f('sys/kernel/slab/sighand_cache/objects_partial', 0o664, b'61\n')
+f('sys/kernel/slab/sighand_cache/objects', 0o664, b'145\n')
+f('sys/kernel/slab/sighand_cache/order', 0o664, b'3\n')
+f('sys/kernel/slab/sighand_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/sighand_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/sighand_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/sighand_cache/partial', 0o664, b'5\n')
+f('sys/kernel/slab/sighand_cache/validate', 0o664, b'')
+f('sys/kernel/slab/sighand_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/sighand_cache/free_calls', 0o664, b'''     46 <not-available> age=4303047268 pid=0 cpus=0
+     78 __cleanup_sighand+0x27/0x30 age=7195/7547046/8375852 pid=1-13288 cpus=0-1
+''')
+f('sys/kernel/slab/sighand_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/names_cache', 0o775)
+f('sys/kernel/slab/names_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/names_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/names_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/names_cache/slab_size', 0o664, b'4224\n')
+f('sys/kernel/slab/names_cache/total_objects', 0o664, b'14\n')
+f('sys/kernel/slab/names_cache/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/names_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/names_cache/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/names_cache/objs_per_slab', 0o664, b'7\n')
+f('sys/kernel/slab/names_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/names_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/names_cache/object_size', 0o664, b'4096\n')
+f('sys/kernel/slab/names_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/names_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/names_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/names_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/names_cache/objects', 0o664, b'14\n')
+f('sys/kernel/slab/names_cache/order', 0o664, b'3\n')
+f('sys/kernel/slab/names_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/names_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/names_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/names_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/names_cache/validate', 0o664, b'')
+f('sys/kernel/slab/names_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/names_cache/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/names_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/dm_io', 0o775)
+f('sys/kernel/slab/dm_io/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/dm_io/ctor', 0o664, b'')
+f('sys/kernel/slab/dm_io/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/dm_io/slab_size', 0o664, b'104\n')
+f('sys/kernel/slab/dm_io/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/dm_io/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/dm_io/poison', 0o664, b'1\n')
+f('sys/kernel/slab/dm_io/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/dm_io/objs_per_slab', 0o664, b'39\n')
+f('sys/kernel/slab/dm_io/shrink', 0o664, b'')
+f('sys/kernel/slab/dm_io/trace', 0o664, b'0\n')
+f('sys/kernel/slab/dm_io/object_size', 0o664, b'32\n')
+f('sys/kernel/slab/dm_io/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/dm_io/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/dm_io/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/dm_io/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/dm_io/objects', 0o664, b'0\n')
+f('sys/kernel/slab/dm_io/order', 0o664, b'0\n')
+f('sys/kernel/slab/dm_io/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/dm_io/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/dm_io/align', 0o664, b'8\n')
+f('sys/kernel/slab/dm_io/partial', 0o664, b'0\n')
+f('sys/kernel/slab/dm_io/validate', 0o664, b'')
+f('sys/kernel/slab/dm_io/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/dm_io/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/dm_io/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/key_jar', 0o775)
+f('sys/kernel/slab/key_jar/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/key_jar/ctor', 0o664, b'')
+f('sys/kernel/slab/key_jar/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/key_jar/slab_size', 0o664, b'320\n')
+f('sys/kernel/slab/key_jar/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/key_jar/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/key_jar/poison', 0o664, b'1\n')
+f('sys/kernel/slab/key_jar/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/key_jar/objs_per_slab', 0o664, b'12\n')
+f('sys/kernel/slab/key_jar/shrink', 0o664, b'')
+f('sys/kernel/slab/key_jar/trace', 0o664, b'0\n')
+f('sys/kernel/slab/key_jar/object_size', 0o664, b'232\n')
+f('sys/kernel/slab/key_jar/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/key_jar/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/key_jar/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/key_jar/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/key_jar/objects', 0o664, b'0\n')
+f('sys/kernel/slab/key_jar/order', 0o664, b'0\n')
+f('sys/kernel/slab/key_jar/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/key_jar/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/key_jar/align', 0o664, b'0\n')
+f('sys/kernel/slab/key_jar/partial', 0o664, b'0\n')
+f('sys/kernel/slab/key_jar/validate', 0o664, b'')
+f('sys/kernel/slab/key_jar/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/key_jar/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/key_jar/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/tcp_bind_bucket', 0o775)
+f('sys/kernel/slab/tcp_bind_bucket/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/tcp_bind_bucket/ctor', 0o664, b'')
+f('sys/kernel/slab/tcp_bind_bucket/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/tcp_bind_bucket/slab_size', 0o664, b'128\n')
+f('sys/kernel/slab/tcp_bind_bucket/total_objects', 0o664, b'64\n')
+f('sys/kernel/slab/tcp_bind_bucket/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/tcp_bind_bucket/poison', 0o664, b'1\n')
+f('sys/kernel/slab/tcp_bind_bucket/alloc_calls', 0o664, b'      3 inet_bind_bucket_create+0x27/0x80 age=926731/5878918/8356133 pid=1206-1920 cpus=0\n')
+f('sys/kernel/slab/tcp_bind_bucket/objs_per_slab', 0o664, b'32\n')
+f('sys/kernel/slab/tcp_bind_bucket/shrink', 0o664, b'')
+f('sys/kernel/slab/tcp_bind_bucket/trace', 0o664, b'0\n')
+f('sys/kernel/slab/tcp_bind_bucket/object_size', 0o664, b'40\n')
+f('sys/kernel/slab/tcp_bind_bucket/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/tcp_bind_bucket/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/tcp_bind_bucket/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/tcp_bind_bucket/objects_partial', 0o664, b'2\n')
+f('sys/kernel/slab/tcp_bind_bucket/objects', 0o664, b'34\n')
+f('sys/kernel/slab/tcp_bind_bucket/order', 0o664, b'0\n')
+f('sys/kernel/slab/tcp_bind_bucket/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/tcp_bind_bucket/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/tcp_bind_bucket/align', 0o664, b'0\n')
+f('sys/kernel/slab/tcp_bind_bucket/partial', 0o664, b'1\n')
+f('sys/kernel/slab/tcp_bind_bucket/validate', 0o664, b'')
+f('sys/kernel/slab/tcp_bind_bucket/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/tcp_bind_bucket/free_calls', 0o664, b'''      1 <not-available> age=4303046680 pid=0 cpus=0
+      2 inet_bind_bucket_destroy+0x29/0x30 age=1107644/4731733/8355822 pid=0-1707 cpus=0
+''')
+f('sys/kernel/slab/tcp_bind_bucket/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/mm_struct', 0o775)
+f('sys/kernel/slab/mm_struct/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/mm_struct/ctor', 0o664, b'')
+f('sys/kernel/slab/mm_struct/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/mm_struct/slab_size', 0o664, b'1216\n')
+f('sys/kernel/slab/mm_struct/total_objects', 0o664, b'91\n')
+f('sys/kernel/slab/mm_struct/slabs', 0o664, b'7\n')
+f('sys/kernel/slab/mm_struct/poison', 0o664, b'1\n')
+f('sys/kernel/slab/mm_struct/alloc_calls', 0o664, b'''     52 mm_alloc+0x15/0x50 age=4100/7453183/8378125 pid=1-20296 cpus=0-1
+     27 dup_mm+0x61/0x390 age=8335613/8355052/8376513 pid=71-2467 cpus=0-1
+''')
+f('sys/kernel/slab/mm_struct/objs_per_slab', 0o664, b'13\n')
+f('sys/kernel/slab/mm_struct/shrink', 0o664, b'')
+f('sys/kernel/slab/mm_struct/trace', 0o664, b'0\n')
+f('sys/kernel/slab/mm_struct/object_size', 0o664, b'1144\n')
+f('sys/kernel/slab/mm_struct/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/mm_struct/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/mm_struct/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/mm_struct/objects_partial', 0o664, b'23\n')
+f('sys/kernel/slab/mm_struct/objects', 0o664, b'88\n')
+f('sys/kernel/slab/mm_struct/order', 0o664, b'2\n')
+f('sys/kernel/slab/mm_struct/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/mm_struct/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/mm_struct/align', 0o664, b'0\n')
+f('sys/kernel/slab/mm_struct/partial', 0o664, b'2\n')
+f('sys/kernel/slab/mm_struct/validate', 0o664, b'')
+f('sys/kernel/slab/mm_struct/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/mm_struct/free_calls', 0o664, b'''      6 <not-available> age=4303047216 pid=0 cpus=0
+     73 __mmdrop+0x47/0x60 age=7143/7714522/8376982 pid=1-20295 cpus=0-1
+''')
+f('sys/kernel/slab/mm_struct/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/dentry', 0o775)
+f('sys/kernel/slab/dentry/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/dentry/ctor', 0o664, b'')
+f('sys/kernel/slab/dentry/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/dentry/slab_size', 0o664, b'328\n')
+f('sys/kernel/slab/dentry/total_objects', 0o664, b'49656\n')
+f('sys/kernel/slab/dentry/slabs', 0o664, b'4138\n')
+f('sys/kernel/slab/dentry/poison', 0o664, b'1\n')
+f('sys/kernel/slab/dentry/alloc_calls', 0o664, b'  49656 d_alloc+0x22/0x1f0 age=0/4250434/8379825 pid=0-32757 cpus=0-1\n')
+f('sys/kernel/slab/dentry/objs_per_slab', 0o664, b'12\n')
+f('sys/kernel/slab/dentry/shrink', 0o664, b'')
+f('sys/kernel/slab/dentry/trace', 0o664, b'0\n')
+f('sys/kernel/slab/dentry/object_size', 0o664, b'256\n')
+f('sys/kernel/slab/dentry/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/dentry/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/dentry/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/dentry/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/dentry/objects', 0o664, b'49656\n')
+f('sys/kernel/slab/dentry/order', 0o664, b'0\n')
+f('sys/kernel/slab/dentry/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/dentry/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/dentry/align', 0o664, b'8\n')
+f('sys/kernel/slab/dentry/partial', 0o664, b'0\n')
+f('sys/kernel/slab/dentry/validate', 0o664, b'')
+f('sys/kernel/slab/dentry/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/dentry/free_calls', 0o664, b'''  30093 <not-available> age=4303047137 pid=0 cpus=0
+   2265 d_free+0x6c/0x80 age=519/5532797/8376904 pid=1-32728 cpus=0-1
+  17299 d_callback+0x31/0x40 age=1040/2433896/8379551 pid=0-30210 cpus=0-1
+''')
+f('sys/kernel/slab/dentry/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/UDPv6', 0o775)
+f('sys/kernel/slab/UDPv6/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/UDPv6/ctor', 0o664, b'')
+f('sys/kernel/slab/UDPv6/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/UDPv6/slab_size', 0o664, b'1472\n')
+f('sys/kernel/slab/UDPv6/total_objects', 0o664, b'22\n')
+f('sys/kernel/slab/UDPv6/slabs', 0o664, b'1\n')
+f('sys/kernel/slab/UDPv6/poison', 0o664, b'1\n')
+f('sys/kernel/slab/UDPv6/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/UDPv6/objs_per_slab', 0o664, b'22\n')
+f('sys/kernel/slab/UDPv6/shrink', 0o664, b'')
+f('sys/kernel/slab/UDPv6/trace', 0o664, b'0\n')
+f('sys/kernel/slab/UDPv6/object_size', 0o664, b'1368\n')
+f('sys/kernel/slab/UDPv6/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/UDPv6/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/UDPv6/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/UDPv6/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/UDPv6/objects', 0o664, b'22\n')
+f('sys/kernel/slab/UDPv6/order', 0o664, b'3\n')
+f('sys/kernel/slab/UDPv6/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/UDPv6/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/UDPv6/align', 0o664, b'0\n')
+f('sys/kernel/slab/UDPv6/partial', 0o664, b'0\n')
+f('sys/kernel/slab/UDPv6/validate', 0o664, b'')
+f('sys/kernel/slab/UDPv6/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/UDPv6/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/UDPv6/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/mqueue_inode_cache', 0o775)
+f('sys/kernel/slab/mqueue_inode_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/mqueue_inode_cache/ctor', 0o664, b'init_once+0x0/0x10\n')
+f('sys/kernel/slab/mqueue_inode_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/mqueue_inode_cache/slab_size', 0o664, b'1536\n')
+f('sys/kernel/slab/mqueue_inode_cache/total_objects', 0o664, b'21\n')
+f('sys/kernel/slab/mqueue_inode_cache/slabs', 0o664, b'1\n')
+f('sys/kernel/slab/mqueue_inode_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/mqueue_inode_cache/alloc_calls', 0o664, b'      1 mqueue_alloc_inode+0x15/0x30 age=8380010 pid=1 cpus=1\n')
+f('sys/kernel/slab/mqueue_inode_cache/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/mqueue_inode_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/mqueue_inode_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/mqueue_inode_cache/object_size', 0o664, b'1456\n')
+f('sys/kernel/slab/mqueue_inode_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/mqueue_inode_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/mqueue_inode_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/mqueue_inode_cache/objects_partial', 0o664, b'1\n')
+f('sys/kernel/slab/mqueue_inode_cache/objects', 0o664, b'1\n')
+f('sys/kernel/slab/mqueue_inode_cache/order', 0o664, b'3\n')
+f('sys/kernel/slab/mqueue_inode_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/mqueue_inode_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/mqueue_inode_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/mqueue_inode_cache/partial', 0o664, b'1\n')
+f('sys/kernel/slab/mqueue_inode_cache/validate', 0o664, b'')
+f('sys/kernel/slab/mqueue_inode_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/mqueue_inode_cache/free_calls', 0o664, b'      1 <not-available> age=4303047603 pid=0 cpus=0\n')
+f('sys/kernel/slab/mqueue_inode_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/biovec-128', 0o775)
+f('sys/kernel/slab/biovec-128/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-128/ctor', 0o664, b'')
+f('sys/kernel/slab/biovec-128/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-128/slab_size', 0o664, b'2176\n')
+f('sys/kernel/slab/biovec-128/total_objects', 0o664, b'15\n')
+f('sys/kernel/slab/biovec-128/slabs', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-128/poison', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-128/alloc_calls', 0o664, b'      2 mempool_alloc_slab+0x11/0x20 age=8379474/8379474/8379474 pid=1 cpus=0\n')
+f('sys/kernel/slab/biovec-128/objs_per_slab', 0o664, b'15\n')
+f('sys/kernel/slab/biovec-128/shrink', 0o664, b'')
+f('sys/kernel/slab/biovec-128/trace', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-128/object_size', 0o664, b'2048\n')
+f('sys/kernel/slab/biovec-128/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-128/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-128/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-128/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-128/objects', 0o664, b'15\n')
+f('sys/kernel/slab/biovec-128/order', 0o664, b'3\n')
+f('sys/kernel/slab/biovec-128/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-128/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-128/align', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-128/partial', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-128/validate', 0o664, b'')
+f('sys/kernel/slab/biovec-128/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-128/free_calls', 0o664, b'      2 <not-available> age=4303046908 pid=0 cpus=0\n')
+f('sys/kernel/slab/biovec-128/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/kmalloc-192', 0o775)
+f('sys/kernel/slab/kmalloc-192/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-192/ctor', 0o664, b'')
+f('sys/kernel/slab/kmalloc-192/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-192/slab_size', 0o664, b'264\n')
+f('sys/kernel/slab/kmalloc-192/total_objects', 0o664, b'255\n')
+f('sys/kernel/slab/kmalloc-192/slabs', 0o664, b'17\n')
+f('sys/kernel/slab/kmalloc-192/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-192/alloc_calls', 0o664, b'''     10 sched_create_group+0x91/0x220 age=8351861/8359345/8366872 pid=1333-2177 cpus=0-1
+     10 sched_create_group+0xae/0x220 age=8351861/8359345/8366872 pid=1333-2177 cpus=0-1
+     10 groups_alloc+0x41/0xe0 age=17070/6159814/8366872 pid=1333-20296 cpus=0-1
+      9 param_sysfs_setup+0x87/0x140 age=8303102/8368759/8379996 pid=1-2754 cpus=0-1
+      2 futex_lock_pi+0x776/0xb00 age=125614/1986240/3846867 pid=2411-13213 cpus=0-1
+     18 mempool_create_node+0x2e/0xf0 age=62077/7917175/8379995 pid=1-13295 cpus=0-1
+      4 __vmalloc_area_node+0xfb/0x140 age=8370390/8373664/8374956 pid=107-901 cpus=0
+     30 __percpu_alloc_mask+0xbc/0x140 age=8370400/8377809/8380000 pid=1-900 cpus=0-1
+      4 d_alloc+0x19d/0x1f0 age=61160/6282991/8356935 pid=1706-13349 cpus=0-1
+      1 bm_register_write+0x63/0x630 age=8354110 pid=2054 cpus=1
+      1 sysfs_open_file+0xd6/0x230 age=0 pid=13466 cpus=0
+     15 ipc_rcu_alloc+0x4a/0x70 age=8274192/8330064/8348647 pid=2177-2621 cpus=0-1
+     28 kset_create_and_add+0x35/0xa0 age=8355999/8378311/8380000 pid=1-1766 cpus=0-1
+      1 acpi_ds_build_internal_package_obj+0xaf/0x1df age=8379979 pid=1 cpus=0
+      3 acpi_ds_build_internal_buffer_obj+0xe1/0x121 age=8379976/8379976/8379977 pid=1 cpus=0
+      1 acpi_power_add+0x4a/0x1d6 age=8379890 pid=1 cpus=0
+      2 ata_host_alloc+0x4f/0xf0 age=8379280/8379538/8379796 pid=1 cpus=0-1
+      8 cpuidle_add_state_sysfs+0xc3/0x140 age=125753/125759/125766 pid=13 cpus=0-1
+      1 hid_parse_report+0x43/0x2c0 age=53560 pid=419 cpus=0
+      2 hid_add_field+0x18a/0x3a0 age=53560/53560/53560 pid=419 cpus=0
+      6 fib_create_info+0x61/0x970 age=8324536/8346547/8367903 pid=1197-1541 cpus=0-1
+      1 unix_sysctl_register+0x2a/0x80 age=8379847 pid=1 cpus=0
+      1 rtnetlink_init+0x38/0x113 age=8379999 pid=1 cpus=0
+      1 inet_diag_init+0x15/0x6b age=8378998 pid=1 cpus=0
+     41 usb_alloc_urb+0x19/0x50 [usbcore] age=22746/1043846/8374920 pid=143-419 cpus=0-1
+      1 usb_get_configuration+0x5f2/0x1480 [usbcore] age=22753 pid=419 cpus=0
+      2 usb_get_configuration+0x1388/0x1480 [usbcore] age=8372394/8372581/8372769 pid=419 cpus=0
+      1 sr_probe+0x76/0x540 [sr_mod] age=8375854 pid=163 cpus=0
+     18 snd_ctl_new+0x28/0x90 [snd] age=8374174/8374174/8374174 pid=107 cpus=1
+      1 iwl3945_pci_probe+0xd3f/0x1020 [iwl3945] age=8373796 pid=126 cpus=1
+      1 blkcipher_walk_next+0x29c/0x390 [crypto_blkcipher] age=8374562 pid=215 cpus=1
+      3 dm_register_target+0x1f/0xf0 [dm_mod] age=8370400/8370400/8370401 pid=900 cpus=0
+      1 ipv6_icmp_sysctl_init+0x22/0x40 [ipv6] age=8360202 pid=1549 cpus=0
+      1 snd_seq_pool_new+0x1b/0x80 [snd_seq] age=8355636 pid=1805 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-192/objs_per_slab', 0o664, b'15\n')
+f('sys/kernel/slab/kmalloc-192/shrink', 0o664, b'')
+f('sys/kernel/slab/kmalloc-192/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-192/object_size', 0o664, b'192\n')
+f('sys/kernel/slab/kmalloc-192/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-192/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-192/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-192/objects_partial', 0o664, b'14\n')
+f('sys/kernel/slab/kmalloc-192/objects', 0o664, b'254\n')
+f('sys/kernel/slab/kmalloc-192/order', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-192/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-192/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-192/align', 0o664, b'8\n')
+f('sys/kernel/slab/kmalloc-192/partial', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-192/validate', 0o664, b'')
+f('sys/kernel/slab/kmalloc-192/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-192/free_calls', 0o664, b'''    149 <not-available> age=4303047430 pid=0 cpus=0
+      5 free_sched_group+0x3b/0x80 age=363179/6767246/8375130 pid=0-1614 cpus=0-1
+      1 free_sched_group+0x50/0x80 age=8369988 pid=0 cpus=0
+      1 do_exit+0x713/0x960 age=8333169 pid=2558 cpus=1
+      7 groups_free+0x56/0x60 age=17071/4081875/8369994 pid=0-1690 cpus=0-1
+      1 __vunmap+0xe9/0x120 age=8356237 pid=1748 cpus=1
+      1 do_readv_writev+0xe4/0x1e0 age=8331191 pid=2262 cpus=0
+      4 getxattr+0x8c/0x140 age=0/6266155/8357946 pid=1610-13466 cpus=0-1
+     20 sysfs_release+0x7c/0xa0 age=53608/7118781/8376453 pid=226-2519 cpus=0-1
+      1 ipc_immediate_free+0x9/0x10 age=8330259 pid=2568 cpus=0
+      1 acpi_pci_irq_add_prt+0x30b/0x324 age=8379911 pid=1 cpus=0
+      6 cpuidle_remove_state_sysfs+0x4f/0x70 age=125768/1366349/3847513 pid=13 cpus=0
+      4 free_fib_info+0x34/0x60 age=8367904/8367909/8367920 pid=1185-1197 cpus=0-1
+     36 urb_destroy+0x23/0x30 [usbcore] age=22749/2596918/8374921 pid=143-13294 cpus=0-1
+      1 sg_clean+0x3e/0x80 [usbcore] age=61399 pid=13294 cpus=0
+      1 0xffffffffa006521f age=8355637 pid=1805 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-192/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/task_struct', 0o775)
+f('sys/kernel/slab/task_struct/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/task_struct/ctor', 0o664, b'')
+f('sys/kernel/slab/task_struct/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/task_struct/slab_size', 0o664, b'4400\n')
+f('sys/kernel/slab/task_struct/total_objects', 0o664, b'224\n')
+f('sys/kernel/slab/task_struct/slabs', 0o664, b'32\n')
+f('sys/kernel/slab/task_struct/poison', 0o664, b'1\n')
+f('sys/kernel/slab/task_struct/alloc_calls', 0o664, b'    203 copy_process+0xa4/0x1220 age=4172/8008848/8379941 pid=0-13212 cpus=0-1\n')
+f('sys/kernel/slab/task_struct/objs_per_slab', 0o664, b'7\n')
+f('sys/kernel/slab/task_struct/shrink', 0o664, b'')
+f('sys/kernel/slab/task_struct/trace', 0o664, b'0\n')
+f('sys/kernel/slab/task_struct/object_size', 0o664, b'4320\n')
+f('sys/kernel/slab/task_struct/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/task_struct/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/task_struct/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/task_struct/objects_partial', 0o664, b'57\n')
+f('sys/kernel/slab/task_struct/objects', 0o664, b'211\n')
+f('sys/kernel/slab/task_struct/order', 0o664, b'3\n')
+f('sys/kernel/slab/task_struct/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/task_struct/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/task_struct/align', 0o664, b'16\n')
+f('sys/kernel/slab/task_struct/partial', 0o664, b'10\n')
+f('sys/kernel/slab/task_struct/validate', 0o664, b'')
+f('sys/kernel/slab/task_struct/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/task_struct/free_calls', 0o664, b'''     93 <not-available> age=4303047286 pid=0 cpus=0
+    110 free_task+0x30/0x40 age=7208/7706854/8377050 pid=0-13258 cpus=0-1
+''')
+f('sys/kernel/slab/task_struct/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/sgpool-16', 0o775)
+f('sys/kernel/slab/sgpool-16/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-16/ctor', 0o664, b'')
+f('sys/kernel/slab/sgpool-16/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-16/slab_size', 0o664, b'640\n')
+f('sys/kernel/slab/sgpool-16/total_objects', 0o664, b'24\n')
+f('sys/kernel/slab/sgpool-16/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/sgpool-16/poison', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-16/alloc_calls', 0o664, b'      2 mempool_alloc_slab+0x11/0x20 age=8379289/8379289/8379289 pid=1 cpus=0\n')
+f('sys/kernel/slab/sgpool-16/objs_per_slab', 0o664, b'12\n')
+f('sys/kernel/slab/sgpool-16/shrink', 0o664, b'')
+f('sys/kernel/slab/sgpool-16/trace', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-16/object_size', 0o664, b'512\n')
+f('sys/kernel/slab/sgpool-16/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-16/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-16/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-16/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-16/objects', 0o664, b'24\n')
+f('sys/kernel/slab/sgpool-16/order', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-16/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-16/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-16/align', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-16/partial', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-16/validate', 0o664, b'')
+f('sys/kernel/slab/sgpool-16/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-16/free_calls', 0o664, b'      2 <not-available> age=4303046838 pid=0 cpus=0\n')
+f('sys/kernel/slab/sgpool-16/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/request_sock_TCPv6', 0o775)
+f('sys/kernel/slab/request_sock_TCPv6/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCPv6/ctor', 0o664, b'')
+f('sys/kernel/slab/request_sock_TCPv6/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/request_sock_TCPv6/slab_size', 0o664, b'256\n')
+f('sys/kernel/slab/request_sock_TCPv6/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCPv6/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCPv6/poison', 0o664, b'1\n')
+f('sys/kernel/slab/request_sock_TCPv6/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/request_sock_TCPv6/objs_per_slab', 0o664, b'16\n')
+f('sys/kernel/slab/request_sock_TCPv6/shrink', 0o664, b'')
+f('sys/kernel/slab/request_sock_TCPv6/trace', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCPv6/object_size', 0o664, b'136\n')
+f('sys/kernel/slab/request_sock_TCPv6/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCPv6/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCPv6/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCPv6/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCPv6/objects', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCPv6/order', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCPv6/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/request_sock_TCPv6/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/request_sock_TCPv6/align', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCPv6/partial', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCPv6/validate', 0o664, b'')
+f('sys/kernel/slab/request_sock_TCPv6/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/request_sock_TCPv6/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/request_sock_TCPv6/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/Acpi-Namespace', 0o775)
+f('sys/kernel/slab/Acpi-Namespace/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Namespace/ctor', 0o664, b'')
+f('sys/kernel/slab/Acpi-Namespace/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Namespace/slab_size', 0o664, b'104\n')
+f('sys/kernel/slab/Acpi-Namespace/total_objects', 0o664, b'1755\n')
+f('sys/kernel/slab/Acpi-Namespace/slabs', 0o664, b'45\n')
+f('sys/kernel/slab/Acpi-Namespace/poison', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-Namespace/alloc_calls', 0o664, b'   1709 acpi_ns_create_node+0x34/0x45 age=8375345/8379655/8379737 pid=0-330 cpus=0\n')
+f('sys/kernel/slab/Acpi-Namespace/objs_per_slab', 0o664, b'39\n')
+f('sys/kernel/slab/Acpi-Namespace/shrink', 0o664, b'')
+f('sys/kernel/slab/Acpi-Namespace/trace', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Namespace/object_size', 0o664, b'32\n')
+f('sys/kernel/slab/Acpi-Namespace/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Namespace/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Namespace/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Namespace/objects_partial', 0o664, b'32\n')
+f('sys/kernel/slab/Acpi-Namespace/objects', 0o664, b'1709\n')
+f('sys/kernel/slab/Acpi-Namespace/order', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Namespace/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-Namespace/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-Namespace/align', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Namespace/partial', 0o664, b'2\n')
+f('sys/kernel/slab/Acpi-Namespace/validate', 0o664, b'')
+f('sys/kernel/slab/Acpi-Namespace/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-Namespace/free_calls', 0o664, b'   1709 <not-available> age=4303047034 pid=0 cpus=0\n')
+f('sys/kernel/slab/Acpi-Namespace/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/posix_timers_cache', 0o775)
+f('sys/kernel/slab/posix_timers_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/posix_timers_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/posix_timers_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/posix_timers_cache/slab_size', 0o664, b'320\n')
+f('sys/kernel/slab/posix_timers_cache/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/posix_timers_cache/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/posix_timers_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/posix_timers_cache/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/posix_timers_cache/objs_per_slab', 0o664, b'12\n')
+f('sys/kernel/slab/posix_timers_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/posix_timers_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/posix_timers_cache/object_size', 0o664, b'248\n')
+f('sys/kernel/slab/posix_timers_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/posix_timers_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/posix_timers_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/posix_timers_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/posix_timers_cache/objects', 0o664, b'0\n')
+f('sys/kernel/slab/posix_timers_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/posix_timers_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/posix_timers_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/posix_timers_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/posix_timers_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/posix_timers_cache/validate', 0o664, b'')
+f('sys/kernel/slab/posix_timers_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/posix_timers_cache/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/posix_timers_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/scsi_cmd_cache', 0o775)
+f('sys/kernel/slab/scsi_cmd_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_cmd_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/scsi_cmd_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_cmd_cache/slab_size', 0o664, b'448\n')
+f('sys/kernel/slab/scsi_cmd_cache/total_objects', 0o664, b'36\n')
+f('sys/kernel/slab/scsi_cmd_cache/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/scsi_cmd_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_cmd_cache/alloc_calls', 0o664, b'      7 scsi_pool_alloc_command+0x25/0x80 age=67290/7192324/8380005 pid=1-419 cpus=0-1\n')
+f('sys/kernel/slab/scsi_cmd_cache/objs_per_slab', 0o664, b'18\n')
+f('sys/kernel/slab/scsi_cmd_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/scsi_cmd_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_cmd_cache/object_size', 0o664, b'320\n')
+f('sys/kernel/slab/scsi_cmd_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_cmd_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_cmd_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_cmd_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_cmd_cache/objects', 0o664, b'36\n')
+f('sys/kernel/slab/scsi_cmd_cache/order', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_cmd_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_cmd_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_cmd_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_cmd_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_cmd_cache/validate', 0o664, b'')
+f('sys/kernel/slab/scsi_cmd_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_cmd_cache/free_calls', 0o664, b'''      5 <not-available> age=4303047639 pid=0 cpus=0
+      2 scsi_pool_free_command+0x4c/0x60 age=67789/4223648/8379508 pid=0 cpus=0
+''')
+f('sys/kernel/slab/scsi_cmd_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/eventpoll_pwq', 0o775)
+f('sys/kernel/slab/eventpoll_pwq/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/eventpoll_pwq/ctor', 0o664, b'')
+f('sys/kernel/slab/eventpoll_pwq/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/eventpoll_pwq/slab_size', 0o664, b'144\n')
+f('sys/kernel/slab/eventpoll_pwq/total_objects', 0o664, b'112\n')
+f('sys/kernel/slab/eventpoll_pwq/slabs', 0o664, b'4\n')
+f('sys/kernel/slab/eventpoll_pwq/poison', 0o664, b'1\n')
+f('sys/kernel/slab/eventpoll_pwq/alloc_calls', 0o664, b'     65 ep_ptable_queue_proc+0x35/0xa0 age=2416434/8173328/8356246 pid=1690-20296 cpus=0-1\n')
+f('sys/kernel/slab/eventpoll_pwq/objs_per_slab', 0o664, b'28\n')
+f('sys/kernel/slab/eventpoll_pwq/shrink', 0o664, b'')
+f('sys/kernel/slab/eventpoll_pwq/trace', 0o664, b'0\n')
+f('sys/kernel/slab/eventpoll_pwq/object_size', 0o664, b'72\n')
+f('sys/kernel/slab/eventpoll_pwq/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/eventpoll_pwq/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/eventpoll_pwq/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/eventpoll_pwq/objects_partial', 0o664, b'7\n')
+f('sys/kernel/slab/eventpoll_pwq/objects', 0o664, b'91\n')
+f('sys/kernel/slab/eventpoll_pwq/order', 0o664, b'0\n')
+f('sys/kernel/slab/eventpoll_pwq/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/eventpoll_pwq/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/eventpoll_pwq/align', 0o664, b'0\n')
+f('sys/kernel/slab/eventpoll_pwq/partial', 0o664, b'1\n')
+f('sys/kernel/slab/eventpoll_pwq/validate', 0o664, b'')
+f('sys/kernel/slab/eventpoll_pwq/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/eventpoll_pwq/free_calls', 0o664, b'''     61 <not-available> age=4303046794 pid=0 cpus=0
+      4 ep_unregister_pollwait+0x61/0x80 age=2416452/6864185/8356241 pid=1690-2073 cpus=0-1
+''')
+f('sys/kernel/slab/eventpoll_pwq/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/journal_handle', 0o775)
+f('sys/kernel/slab/journal_handle/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/journal_handle/ctor', 0o664, b'')
+f('sys/kernel/slab/journal_handle/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/journal_handle/slab_size', 0o664, b'128\n')
+f('sys/kernel/slab/journal_handle/total_objects', 0o664, b'64\n')
+f('sys/kernel/slab/journal_handle/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/journal_handle/poison', 0o664, b'1\n')
+f('sys/kernel/slab/journal_handle/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/journal_handle/objs_per_slab', 0o664, b'32\n')
+f('sys/kernel/slab/journal_handle/shrink', 0o664, b'')
+f('sys/kernel/slab/journal_handle/trace', 0o664, b'0\n')
+f('sys/kernel/slab/journal_handle/object_size', 0o664, b'56\n')
+f('sys/kernel/slab/journal_handle/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/journal_handle/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/journal_handle/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/journal_handle/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/journal_handle/objects', 0o664, b'64\n')
+f('sys/kernel/slab/journal_handle/order', 0o664, b'0\n')
+f('sys/kernel/slab/journal_handle/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/journal_handle/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/journal_handle/align', 0o664, b'0\n')
+f('sys/kernel/slab/journal_handle/partial', 0o664, b'0\n')
+f('sys/kernel/slab/journal_handle/validate', 0o664, b'')
+f('sys/kernel/slab/journal_handle/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/journal_handle/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/journal_handle/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/bsg_cmd', 0o775)
+f('sys/kernel/slab/bsg_cmd/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/bsg_cmd/ctor', 0o664, b'')
+f('sys/kernel/slab/bsg_cmd/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/bsg_cmd/slab_size', 0o664, b'384\n')
+f('sys/kernel/slab/bsg_cmd/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/bsg_cmd/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/bsg_cmd/poison', 0o664, b'1\n')
+f('sys/kernel/slab/bsg_cmd/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/bsg_cmd/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/bsg_cmd/shrink', 0o664, b'')
+f('sys/kernel/slab/bsg_cmd/trace', 0o664, b'0\n')
+f('sys/kernel/slab/bsg_cmd/object_size', 0o664, b'312\n')
+f('sys/kernel/slab/bsg_cmd/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/bsg_cmd/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/bsg_cmd/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/bsg_cmd/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/bsg_cmd/objects', 0o664, b'0\n')
+f('sys/kernel/slab/bsg_cmd/order', 0o664, b'1\n')
+f('sys/kernel/slab/bsg_cmd/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/bsg_cmd/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/bsg_cmd/align', 0o664, b'0\n')
+f('sys/kernel/slab/bsg_cmd/partial', 0o664, b'0\n')
+f('sys/kernel/slab/bsg_cmd/validate', 0o664, b'')
+f('sys/kernel/slab/bsg_cmd/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/bsg_cmd/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/bsg_cmd/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/kiocb', 0o775)
+f('sys/kernel/slab/kiocb/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kiocb/ctor', 0o664, b'')
+f('sys/kernel/slab/kiocb/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/kiocb/slab_size', 0o664, b'320\n')
+f('sys/kernel/slab/kiocb/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/kiocb/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kiocb/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kiocb/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/kiocb/objs_per_slab', 0o664, b'12\n')
+f('sys/kernel/slab/kiocb/shrink', 0o664, b'')
+f('sys/kernel/slab/kiocb/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kiocb/object_size', 0o664, b'240\n')
+f('sys/kernel/slab/kiocb/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kiocb/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/kiocb/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kiocb/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/kiocb/objects', 0o664, b'0\n')
+f('sys/kernel/slab/kiocb/order', 0o664, b'0\n')
+f('sys/kernel/slab/kiocb/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kiocb/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kiocb/align', 0o664, b'8\n')
+f('sys/kernel/slab/kiocb/partial', 0o664, b'0\n')
+f('sys/kernel/slab/kiocb/validate', 0o664, b'')
+f('sys/kernel/slab/kiocb/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kiocb/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/kiocb/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/file_lock_cache', 0o775)
+f('sys/kernel/slab/file_lock_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/file_lock_cache/ctor', 0o664, b'init_once+0x0/0x10\n')
+f('sys/kernel/slab/file_lock_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/file_lock_cache/slab_size', 0o664, b'296\n')
+f('sys/kernel/slab/file_lock_cache/total_objects', 0o664, b'26\n')
+f('sys/kernel/slab/file_lock_cache/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/file_lock_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/file_lock_cache/alloc_calls', 0o664, b'''      2 flock_lock_file_wait+0x2d6/0x2f0 age=8355055/8355767/8356479 pid=1690-1807 cpus=0
+      1 __posix_lock_file+0x3f/0x560 age=8349601 pid=2262 cpus=0
+''')
+f('sys/kernel/slab/file_lock_cache/objs_per_slab', 0o664, b'13\n')
+f('sys/kernel/slab/file_lock_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/file_lock_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/file_lock_cache/object_size', 0o664, b'224\n')
+f('sys/kernel/slab/file_lock_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/file_lock_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/file_lock_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/file_lock_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/file_lock_cache/objects', 0o664, b'26\n')
+f('sys/kernel/slab/file_lock_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/file_lock_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/file_lock_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/file_lock_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/file_lock_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/file_lock_cache/validate', 0o664, b'')
+f('sys/kernel/slab/file_lock_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/file_lock_cache/free_calls', 0o664, b'      3 locks_free_lock+0x3e/0x60 age=8351291/8355422/8359832 pid=1549-2189 cpus=0\n')
+f('sys/kernel/slab/file_lock_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/inet_peer_cache', 0o775)
+f('sys/kernel/slab/inet_peer_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/inet_peer_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/inet_peer_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/inet_peer_cache/slab_size', 0o664, b'192\n')
+f('sys/kernel/slab/inet_peer_cache/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/inet_peer_cache/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/inet_peer_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/inet_peer_cache/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/inet_peer_cache/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/inet_peer_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/inet_peer_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/inet_peer_cache/object_size', 0o664, b'64\n')
+f('sys/kernel/slab/inet_peer_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/inet_peer_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/inet_peer_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/inet_peer_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/inet_peer_cache/objects', 0o664, b'0\n')
+f('sys/kernel/slab/inet_peer_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/inet_peer_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/inet_peer_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/inet_peer_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/inet_peer_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/inet_peer_cache/validate', 0o664, b'')
+f('sys/kernel/slab/inet_peer_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/inet_peer_cache/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/inet_peer_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/arp_cache', 0o775)
+f('sys/kernel/slab/arp_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/arp_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/arp_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/arp_cache/slab_size', 0o664, b'448\n')
+f('sys/kernel/slab/arp_cache/total_objects', 0o664, b'36\n')
+f('sys/kernel/slab/arp_cache/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/arp_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/arp_cache/alloc_calls', 0o664, b'      1 neigh_create+0x8b/0x530 age=1133499 pid=952 cpus=0\n')
+f('sys/kernel/slab/arp_cache/objs_per_slab', 0o664, b'18\n')
+f('sys/kernel/slab/arp_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/arp_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/arp_cache/object_size', 0o664, b'348\n')
+f('sys/kernel/slab/arp_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/arp_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/arp_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/arp_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/arp_cache/objects', 0o664, b'36\n')
+f('sys/kernel/slab/arp_cache/order', 0o664, b'1\n')
+f('sys/kernel/slab/arp_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/arp_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/arp_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/arp_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/arp_cache/validate', 0o664, b'')
+f('sys/kernel/slab/arp_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/arp_cache/free_calls', 0o664, b'      1 neigh_destroy+0x10c/0x160 age=1135741 pid=0 cpus=0\n')
+f('sys/kernel/slab/arp_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/biovec-4', 0o775)
+f('sys/kernel/slab/biovec-4/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-4/ctor', 0o664, b'')
+f('sys/kernel/slab/biovec-4/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-4/slab_size', 0o664, b'192\n')
+f('sys/kernel/slab/biovec-4/total_objects', 0o664, b'42\n')
+f('sys/kernel/slab/biovec-4/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/biovec-4/poison', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-4/alloc_calls', 0o664, b'      2 mempool_alloc_slab+0x11/0x20 age=8379500/8379500/8379500 pid=1 cpus=0\n')
+f('sys/kernel/slab/biovec-4/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/biovec-4/shrink', 0o664, b'')
+f('sys/kernel/slab/biovec-4/trace', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-4/object_size', 0o664, b'64\n')
+f('sys/kernel/slab/biovec-4/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-4/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-4/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-4/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-4/objects', 0o664, b'42\n')
+f('sys/kernel/slab/biovec-4/order', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-4/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-4/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-4/align', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-4/partial', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-4/validate', 0o664, b'')
+f('sys/kernel/slab/biovec-4/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-4/free_calls', 0o664, b'      2 <not-available> age=4303046934 pid=0 cpus=0\n')
+f('sys/kernel/slab/biovec-4/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/scsi_sense_cache', 0o775)
+f('sys/kernel/slab/scsi_sense_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_sense_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/scsi_sense_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_sense_cache/slab_size', 0o664, b'192\n')
+f('sys/kernel/slab/scsi_sense_cache/total_objects', 0o664, b'42\n')
+f('sys/kernel/slab/scsi_sense_cache/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/scsi_sense_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_sense_cache/alloc_calls', 0o664, b'      7 scsi_pool_alloc_command+0x4a/0x80 age=67299/7192333/8380014 pid=1-419 cpus=0-1\n')
+f('sys/kernel/slab/scsi_sense_cache/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/scsi_sense_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/scsi_sense_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_sense_cache/object_size', 0o664, b'96\n')
+f('sys/kernel/slab/scsi_sense_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_sense_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_sense_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_sense_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_sense_cache/objects', 0o664, b'42\n')
+f('sys/kernel/slab/scsi_sense_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_sense_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_sense_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_sense_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_sense_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_sense_cache/validate', 0o664, b'')
+f('sys/kernel/slab/scsi_sense_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_sense_cache/free_calls', 0o664, b'''      5 <not-available> age=4303047648 pid=0 cpus=0
+      2 scsi_pool_free_command+0x40/0x60 age=67798/4223657/8379517 pid=0 cpus=0
+''')
+f('sys/kernel/slab/scsi_sense_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/cfq_io_context', 0o775)
+f('sys/kernel/slab/cfq_io_context/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/cfq_io_context/ctor', 0o664, b'')
+f('sys/kernel/slab/cfq_io_context/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/cfq_io_context/slab_size', 0o664, b'240\n')
+f('sys/kernel/slab/cfq_io_context/total_objects', 0o664, b'85\n')
+f('sys/kernel/slab/cfq_io_context/slabs', 0o664, b'5\n')
+f('sys/kernel/slab/cfq_io_context/poison', 0o664, b'1\n')
+f('sys/kernel/slab/cfq_io_context/alloc_calls', 0o664, b'     69 cfq_set_request+0x13d/0x390 age=177/7837888/8379613 pid=1-13466 cpus=0-1\n')
+f('sys/kernel/slab/cfq_io_context/objs_per_slab', 0o664, b'17\n')
+f('sys/kernel/slab/cfq_io_context/shrink', 0o664, b'')
+f('sys/kernel/slab/cfq_io_context/trace', 0o664, b'0\n')
+f('sys/kernel/slab/cfq_io_context/object_size', 0o664, b'168\n')
+f('sys/kernel/slab/cfq_io_context/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/cfq_io_context/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/cfq_io_context/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/cfq_io_context/objects_partial', 0o664, b'16\n')
+f('sys/kernel/slab/cfq_io_context/objects', 0o664, b'84\n')
+f('sys/kernel/slab/cfq_io_context/order', 0o664, b'0\n')
+f('sys/kernel/slab/cfq_io_context/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/cfq_io_context/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/cfq_io_context/align', 0o664, b'8\n')
+f('sys/kernel/slab/cfq_io_context/partial', 0o664, b'1\n')
+f('sys/kernel/slab/cfq_io_context/validate', 0o664, b'')
+f('sys/kernel/slab/cfq_io_context/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/cfq_io_context/free_calls', 0o664, b'''     12 <not-available> age=4303047630 pid=0 cpus=0
+     57 cfq_cic_free_rcu+0x21/0xc0 age=61842/7747595/8376055 pid=0-2535 cpus=0-1
+''')
+f('sys/kernel/slab/cfq_io_context/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/idr_layer_cache', 0o775)
+f('sys/kernel/slab/idr_layer_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/idr_layer_cache/ctor', 0o664, b'idr_cache_ctor+0x0/0x10\n')
+f('sys/kernel/slab/idr_layer_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/idr_layer_cache/slab_size', 0o664, b'616\n')
+f('sys/kernel/slab/idr_layer_cache/total_objects', 0o664, b'442\n')
+f('sys/kernel/slab/idr_layer_cache/slabs', 0o664, b'34\n')
+f('sys/kernel/slab/idr_layer_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/idr_layer_cache/alloc_calls', 0o664, b'    406 idr_pre_get+0x5d/0x80 age=60336/8278969/8380018 pid=0-13355 cpus=0-1\n')
+f('sys/kernel/slab/idr_layer_cache/objs_per_slab', 0o664, b'13\n')
+f('sys/kernel/slab/idr_layer_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/idr_layer_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/idr_layer_cache/object_size', 0o664, b'544\n')
+f('sys/kernel/slab/idr_layer_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/idr_layer_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/idr_layer_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/idr_layer_cache/objects_partial', 0o664, b'82\n')
+f('sys/kernel/slab/idr_layer_cache/objects', 0o664, b'420\n')
+f('sys/kernel/slab/idr_layer_cache/order', 0o664, b'1\n')
+f('sys/kernel/slab/idr_layer_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/idr_layer_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/idr_layer_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/idr_layer_cache/partial', 0o664, b'8\n')
+f('sys/kernel/slab/idr_layer_cache/validate', 0o664, b'')
+f('sys/kernel/slab/idr_layer_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/idr_layer_cache/free_calls', 0o664, b'''    304 <not-available> age=4303047315 pid=0 cpus=0
+      3 idr_destroy+0x2f/0x40 age=104486/3178486/4715486 pid=13211-13803 cpus=0-1
+      4 idr_layer_rcu_free+0x17/0x20 age=8334501/8362397/8377168 pid=0-1155 cpus=0-1
+     95 ida_get_new_above+0x141/0x210 age=812584/8292482/8380019 pid=0-2593 cpus=0-1
+''')
+f('sys/kernel/slab/idr_layer_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/vm_area_struct', 0o775)
+f('sys/kernel/slab/vm_area_struct/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/vm_area_struct/ctor', 0o664, b'')
+f('sys/kernel/slab/vm_area_struct/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/vm_area_struct/slab_size', 0o664, b'240\n')
+f('sys/kernel/slab/vm_area_struct/total_objects', 0o664, b'12087\n')
+f('sys/kernel/slab/vm_area_struct/slabs', 0o664, b'711\n')
+f('sys/kernel/slab/vm_area_struct/poison', 0o664, b'1\n')
+f('sys/kernel/slab/vm_area_struct/alloc_calls', 0o664, b'''   2751 dup_mm+0x194/0x390 age=8335622/8348807/8376522 pid=71-2467 cpus=0-1
+     52 install_special_mapping+0x3d/0xe0 age=4109/7453125/8378118 pid=1-20296 cpus=0-1
+   4006 split_vma+0x61/0x140 age=4107/7930710/8366050 pid=1206-20296 cpus=0-1
+      3 copy_vma+0x125/0x1b0 age=8353805/8353815/8353824 pid=1738 cpus=0
+     54 do_brk+0x2ec/0x360 age=4107/7486452/8378131 pid=1-20296 cpus=0-1
+   5097 mmap_region+0x195/0x5c0 age=4105/7877577/8378131 pid=1-20296 cpus=0-1
+     52 bprm_mm_init+0xa0/0x1b0 age=4109/7453192/8378134 pid=1-20296 cpus=0-1
+''')
+f('sys/kernel/slab/vm_area_struct/objs_per_slab', 0o664, b'17\n')
+f('sys/kernel/slab/vm_area_struct/shrink', 0o664, b'')
+f('sys/kernel/slab/vm_area_struct/trace', 0o664, b'0\n')
+f('sys/kernel/slab/vm_area_struct/object_size', 0o664, b'168\n')
+f('sys/kernel/slab/vm_area_struct/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/vm_area_struct/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/vm_area_struct/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/vm_area_struct/objects_partial', 0o664, b'47\n')
+f('sys/kernel/slab/vm_area_struct/objects', 0o664, b'12049\n')
+f('sys/kernel/slab/vm_area_struct/order', 0o664, b'0\n')
+f('sys/kernel/slab/vm_area_struct/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/vm_area_struct/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/vm_area_struct/align', 0o664, b'0\n')
+f('sys/kernel/slab/vm_area_struct/partial', 0o664, b'5\n')
+f('sys/kernel/slab/vm_area_struct/validate', 0o664, b'')
+f('sys/kernel/slab/vm_area_struct/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/vm_area_struct/free_calls', 0o664, b'''   6424 <not-available> age=4303047229 pid=0 cpus=0
+   5590 remove_vma+0x53/0x70 age=4110/7683818/8376767 pid=71-20296 cpus=0-1
+      1 vma_adjust+0x32c/0x570 age=8364245 pid=1371 cpus=0
+''')
+f('sys/kernel/slab/vm_area_struct/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/biovec-1', 0o775)
+f('sys/kernel/slab/biovec-1/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-1/ctor', 0o664, b'')
+f('sys/kernel/slab/biovec-1/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-1/slab_size', 0o664, b'96\n')
+f('sys/kernel/slab/biovec-1/total_objects', 0o664, b'126\n')
+f('sys/kernel/slab/biovec-1/slabs', 0o664, b'3\n')
+f('sys/kernel/slab/biovec-1/poison', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-1/alloc_calls', 0o664, b'      2 mempool_alloc_slab+0x11/0x20 age=8379509/8379509/8379509 pid=1 cpus=0\n')
+f('sys/kernel/slab/biovec-1/objs_per_slab', 0o664, b'42\n')
+f('sys/kernel/slab/biovec-1/shrink', 0o664, b'')
+f('sys/kernel/slab/biovec-1/trace', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-1/object_size', 0o664, b'16\n')
+f('sys/kernel/slab/biovec-1/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-1/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-1/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-1/objects_partial', 0o664, b'2\n')
+f('sys/kernel/slab/biovec-1/objects', 0o664, b'86\n')
+f('sys/kernel/slab/biovec-1/order', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-1/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-1/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-1/align', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-1/partial', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-1/validate', 0o664, b'')
+f('sys/kernel/slab/biovec-1/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-1/free_calls', 0o664, b'      2 <not-available> age=4303046943 pid=0 cpus=0\n')
+f('sys/kernel/slab/biovec-1/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/secpath_cache', 0o775)
+f('sys/kernel/slab/secpath_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/secpath_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/secpath_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/secpath_cache/slab_size', 0o664, b'128\n')
+f('sys/kernel/slab/secpath_cache/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/secpath_cache/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/secpath_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/secpath_cache/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/secpath_cache/objs_per_slab', 0o664, b'32\n')
+f('sys/kernel/slab/secpath_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/secpath_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/secpath_cache/object_size', 0o664, b'56\n')
+f('sys/kernel/slab/secpath_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/secpath_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/secpath_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/secpath_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/secpath_cache/objects', 0o664, b'0\n')
+f('sys/kernel/slab/secpath_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/secpath_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/secpath_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/secpath_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/secpath_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/secpath_cache/validate', 0o664, b'')
+f('sys/kernel/slab/secpath_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/secpath_cache/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/secpath_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/UNIX', 0o775)
+f('sys/kernel/slab/UNIX/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/UNIX/ctor', 0o664, b'')
+f('sys/kernel/slab/UNIX/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/UNIX/slab_size', 0o664, b'1472\n')
+f('sys/kernel/slab/UNIX/total_objects', 0o664, b'506\n')
+f('sys/kernel/slab/UNIX/slabs', 0o664, b'23\n')
+f('sys/kernel/slab/UNIX/poison', 0o664, b'1\n')
+f('sys/kernel/slab/UNIX/alloc_calls', 0o664, b'    450 sk_prot_alloc+0x1e/0xb0 age=61033/8220474/8376385 pid=71-20296 cpus=0-1\n')
+f('sys/kernel/slab/UNIX/objs_per_slab', 0o664, b'22\n')
+f('sys/kernel/slab/UNIX/shrink', 0o664, b'')
+f('sys/kernel/slab/UNIX/trace', 0o664, b'0\n')
+f('sys/kernel/slab/UNIX/object_size', 0o664, b'1376\n')
+f('sys/kernel/slab/UNIX/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/UNIX/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/UNIX/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/UNIX/objects_partial', 0o664, b'178\n')
+f('sys/kernel/slab/UNIX/objects', 0o664, b'486\n')
+f('sys/kernel/slab/UNIX/order', 0o664, b'3\n')
+f('sys/kernel/slab/UNIX/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/UNIX/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/UNIX/align', 0o664, b'0\n')
+f('sys/kernel/slab/UNIX/partial', 0o664, b'9\n')
+f('sys/kernel/slab/UNIX/validate', 0o664, b'')
+f('sys/kernel/slab/UNIX/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/UNIX/free_calls', 0o664, b'''    235 <not-available> age=4303046663 pid=0 cpus=0
+    215 sk_free+0x80/0x100 age=61050/8083366/8375930 pid=76-20292 cpus=0-1
+''')
+f('sys/kernel/slab/UNIX/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/RAWv6', 0o775)
+f('sys/kernel/slab/RAWv6/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/RAWv6/ctor', 0o664, b'')
+f('sys/kernel/slab/RAWv6/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/RAWv6/slab_size', 0o664, b'1472\n')
+f('sys/kernel/slab/RAWv6/total_objects', 0o664, b'22\n')
+f('sys/kernel/slab/RAWv6/slabs', 0o664, b'1\n')
+f('sys/kernel/slab/RAWv6/poison', 0o664, b'1\n')
+f('sys/kernel/slab/RAWv6/alloc_calls', 0o664, b'      5 sk_prot_alloc+0x1e/0xb0 age=8360545/8360552/8360555 pid=1549 cpus=0\n')
+f('sys/kernel/slab/RAWv6/objs_per_slab', 0o664, b'22\n')
+f('sys/kernel/slab/RAWv6/shrink', 0o664, b'')
+f('sys/kernel/slab/RAWv6/trace', 0o664, b'0\n')
+f('sys/kernel/slab/RAWv6/object_size', 0o664, b'1376\n')
+f('sys/kernel/slab/RAWv6/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/RAWv6/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/RAWv6/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/RAWv6/objects_partial', 0o664, b'5\n')
+f('sys/kernel/slab/RAWv6/objects', 0o664, b'5\n')
+f('sys/kernel/slab/RAWv6/order', 0o664, b'3\n')
+f('sys/kernel/slab/RAWv6/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/RAWv6/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/RAWv6/align', 0o664, b'0\n')
+f('sys/kernel/slab/RAWv6/partial', 0o664, b'1\n')
+f('sys/kernel/slab/RAWv6/validate', 0o664, b'')
+f('sys/kernel/slab/RAWv6/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/RAWv6/free_calls', 0o664, b'      5 <not-available> age=4303047773 pid=0 cpus=0\n')
+f('sys/kernel/slab/RAWv6/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/sgpool-64', 0o775)
+f('sys/kernel/slab/sgpool-64/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-64/ctor', 0o664, b'')
+f('sys/kernel/slab/sgpool-64/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-64/slab_size', 0o664, b'2176\n')
+f('sys/kernel/slab/sgpool-64/total_objects', 0o664, b'30\n')
+f('sys/kernel/slab/sgpool-64/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/sgpool-64/poison', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-64/alloc_calls', 0o664, b'      2 mempool_alloc_slab+0x11/0x20 age=8379271/8379271/8379271 pid=1 cpus=0\n')
+f('sys/kernel/slab/sgpool-64/objs_per_slab', 0o664, b'15\n')
+f('sys/kernel/slab/sgpool-64/shrink', 0o664, b'')
+f('sys/kernel/slab/sgpool-64/trace', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-64/object_size', 0o664, b'2048\n')
+f('sys/kernel/slab/sgpool-64/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-64/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-64/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-64/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-64/objects', 0o664, b'30\n')
+f('sys/kernel/slab/sgpool-64/order', 0o664, b'3\n')
+f('sys/kernel/slab/sgpool-64/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-64/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-64/align', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-64/partial', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-64/validate', 0o664, b'')
+f('sys/kernel/slab/sgpool-64/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-64/free_calls', 0o664, b'      2 <not-available> age=4303046820 pid=0 cpus=0\n')
+f('sys/kernel/slab/sgpool-64/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/bdev_cache', 0o775)
+f('sys/kernel/slab/bdev_cache/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/bdev_cache/ctor', 0o664, b'init_once+0x0/0x100\n')
+f('sys/kernel/slab/bdev_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/bdev_cache/slab_size', 0o664, b'1536\n')
+f('sys/kernel/slab/bdev_cache/total_objects', 0o664, b'42\n')
+f('sys/kernel/slab/bdev_cache/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/bdev_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/bdev_cache/alloc_calls', 0o664, b'     13 bdev_alloc_inode+0x15/0x30 age=61383/7093434/8379778 pid=0-13333 cpus=0\n')
+f('sys/kernel/slab/bdev_cache/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/bdev_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/bdev_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/bdev_cache/object_size', 0o664, b'1432\n')
+f('sys/kernel/slab/bdev_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/bdev_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/bdev_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/bdev_cache/objects_partial', 0o664, b'11\n')
+f('sys/kernel/slab/bdev_cache/objects', 0o664, b'32\n')
+f('sys/kernel/slab/bdev_cache/order', 0o664, b'3\n')
+f('sys/kernel/slab/bdev_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/bdev_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/bdev_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/bdev_cache/partial', 0o664, b'1\n')
+f('sys/kernel/slab/bdev_cache/validate', 0o664, b'')
+f('sys/kernel/slab/bdev_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/bdev_cache/free_calls', 0o664, b'''      9 <not-available> age=4303047074 pid=0 cpus=0
+      4 bdev_destroy_inode+0x1f/0x30 age=61405/4218130/8374840 pid=488-13325 cpus=0-1
+''')
+f('sys/kernel/slab/bdev_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/fasync_cache', 0o775)
+f('sys/kernel/slab/fasync_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/fasync_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/fasync_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/fasync_cache/slab_size', 0o664, b'96\n')
+f('sys/kernel/slab/fasync_cache/total_objects', 0o664, b'42\n')
+f('sys/kernel/slab/fasync_cache/slabs', 0o664, b'1\n')
+f('sys/kernel/slab/fasync_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/fasync_cache/alloc_calls', 0o664, b'      1 fasync_helper+0x115/0x130 age=8354059 pid=1738 cpus=0\n')
+f('sys/kernel/slab/fasync_cache/objs_per_slab', 0o664, b'42\n')
+f('sys/kernel/slab/fasync_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/fasync_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/fasync_cache/object_size', 0o664, b'24\n')
+f('sys/kernel/slab/fasync_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/fasync_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/fasync_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/fasync_cache/objects_partial', 0o664, b'1\n')
+f('sys/kernel/slab/fasync_cache/objects', 0o664, b'1\n')
+f('sys/kernel/slab/fasync_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/fasync_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/fasync_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/fasync_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/fasync_cache/partial', 0o664, b'1\n')
+f('sys/kernel/slab/fasync_cache/validate', 0o664, b'')
+f('sys/kernel/slab/fasync_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/fasync_cache/free_calls', 0o664, b'      1 <not-available> age=4303047449 pid=0 cpus=0\n')
+f('sys/kernel/slab/fasync_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/UDPLITEv6', 0o775)
+f('sys/kernel/slab/UDPLITEv6/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/UDPLITEv6/ctor', 0o664, b'')
+f('sys/kernel/slab/UDPLITEv6/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/UDPLITEv6/slab_size', 0o664, b'1472\n')
+f('sys/kernel/slab/UDPLITEv6/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/UDPLITEv6/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/UDPLITEv6/poison', 0o664, b'1\n')
+f('sys/kernel/slab/UDPLITEv6/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/UDPLITEv6/objs_per_slab', 0o664, b'22\n')
+f('sys/kernel/slab/UDPLITEv6/shrink', 0o664, b'')
+f('sys/kernel/slab/UDPLITEv6/trace', 0o664, b'0\n')
+f('sys/kernel/slab/UDPLITEv6/object_size', 0o664, b'1368\n')
+f('sys/kernel/slab/UDPLITEv6/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/UDPLITEv6/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/UDPLITEv6/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/UDPLITEv6/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/UDPLITEv6/objects', 0o664, b'0\n')
+f('sys/kernel/slab/UDPLITEv6/order', 0o664, b'3\n')
+f('sys/kernel/slab/UDPLITEv6/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/UDPLITEv6/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/UDPLITEv6/align', 0o664, b'0\n')
+f('sys/kernel/slab/UDPLITEv6/partial', 0o664, b'0\n')
+f('sys/kernel/slab/UDPLITEv6/validate', 0o664, b'')
+f('sys/kernel/slab/UDPLITEv6/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/UDPLITEv6/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/UDPLITEv6/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/Acpi-Operand', 0o775)
+f('sys/kernel/slab/Acpi-Operand/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Operand/ctor', 0o664, b'')
+f('sys/kernel/slab/Acpi-Operand/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Operand/slab_size', 0o664, b'144\n')
+f('sys/kernel/slab/Acpi-Operand/total_objects', 0o664, b'2688\n')
+f('sys/kernel/slab/Acpi-Operand/slabs', 0o664, b'96\n')
+f('sys/kernel/slab/Acpi-Operand/poison', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-Operand/alloc_calls', 0o664, b'   2653 acpi_ut_allocate_object_desc_dbg+0x39/0x75 age=2625/8339457/8379700 pid=0-13466 cpus=0-1\n')
+f('sys/kernel/slab/Acpi-Operand/objs_per_slab', 0o664, b'28\n')
+f('sys/kernel/slab/Acpi-Operand/shrink', 0o664, b'')
+f('sys/kernel/slab/Acpi-Operand/trace', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Operand/object_size', 0o664, b'72\n')
+f('sys/kernel/slab/Acpi-Operand/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Operand/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Operand/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Operand/objects_partial', 0o664, b'171\n')
+f('sys/kernel/slab/Acpi-Operand/objects', 0o664, b'2663\n')
+f('sys/kernel/slab/Acpi-Operand/order', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Operand/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-Operand/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-Operand/align', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-Operand/partial', 0o664, b'7\n')
+f('sys/kernel/slab/Acpi-Operand/validate', 0o664, b'')
+f('sys/kernel/slab/Acpi-Operand/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-Operand/free_calls', 0o664, b'''   2267 <not-available> age=4303046997 pid=0 cpus=0
+    386 acpi_os_release_object+0x9/0xd age=2626/8137233/8379689 pid=0-13466 cpus=0-1
+''')
+f('sys/kernel/slab/Acpi-Operand/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/xfrm_dst_cache', 0o775)
+f('sys/kernel/slab/xfrm_dst_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/xfrm_dst_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/xfrm_dst_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/xfrm_dst_cache/slab_size', 0o664, b'448\n')
+f('sys/kernel/slab/xfrm_dst_cache/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/xfrm_dst_cache/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/xfrm_dst_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/xfrm_dst_cache/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/xfrm_dst_cache/objs_per_slab', 0o664, b'18\n')
+f('sys/kernel/slab/xfrm_dst_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/xfrm_dst_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/xfrm_dst_cache/object_size', 0o664, b'344\n')
+f('sys/kernel/slab/xfrm_dst_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/xfrm_dst_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/xfrm_dst_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/xfrm_dst_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/xfrm_dst_cache/objects', 0o664, b'0\n')
+f('sys/kernel/slab/xfrm_dst_cache/order', 0o664, b'1\n')
+f('sys/kernel/slab/xfrm_dst_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/xfrm_dst_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/xfrm_dst_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/xfrm_dst_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/xfrm_dst_cache/validate', 0o664, b'')
+f('sys/kernel/slab/xfrm_dst_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/xfrm_dst_cache/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/xfrm_dst_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/eventpoll_epi', 0o775)
+f('sys/kernel/slab/eventpoll_epi/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/eventpoll_epi/ctor', 0o664, b'')
+f('sys/kernel/slab/eventpoll_epi/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/eventpoll_epi/slab_size', 0o664, b'256\n')
+f('sys/kernel/slab/eventpoll_epi/total_objects', 0o664, b'96\n')
+f('sys/kernel/slab/eventpoll_epi/slabs', 0o664, b'6\n')
+f('sys/kernel/slab/eventpoll_epi/poison', 0o664, b'1\n')
+f('sys/kernel/slab/eventpoll_epi/alloc_calls', 0o664, b'     65 sys_epoll_ctl+0x1a4/0x4d0 age=2416443/8173337/8356255 pid=1690-20296 cpus=0-1\n')
+f('sys/kernel/slab/eventpoll_epi/objs_per_slab', 0o664, b'16\n')
+f('sys/kernel/slab/eventpoll_epi/shrink', 0o664, b'')
+f('sys/kernel/slab/eventpoll_epi/trace', 0o664, b'0\n')
+f('sys/kernel/slab/eventpoll_epi/object_size', 0o664, b'128\n')
+f('sys/kernel/slab/eventpoll_epi/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/eventpoll_epi/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/eventpoll_epi/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/eventpoll_epi/objects_partial', 0o664, b'15\n')
+f('sys/kernel/slab/eventpoll_epi/objects', 0o664, b'79\n')
+f('sys/kernel/slab/eventpoll_epi/order', 0o664, b'0\n')
+f('sys/kernel/slab/eventpoll_epi/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/eventpoll_epi/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/eventpoll_epi/align', 0o664, b'0\n')
+f('sys/kernel/slab/eventpoll_epi/partial', 0o664, b'2\n')
+f('sys/kernel/slab/eventpoll_epi/validate', 0o664, b'')
+f('sys/kernel/slab/eventpoll_epi/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/eventpoll_epi/free_calls', 0o664, b'''     61 <not-available> age=4303046803 pid=0 cpus=0
+      4 ep_remove+0xae/0xc0 age=2416461/6864194/8356250 pid=1690-2073 cpus=0-1
+''')
+f('sys/kernel/slab/eventpoll_epi/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/revoke_table', 0o775)
+f('sys/kernel/slab/revoke_table/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/revoke_table/ctor', 0o664, b'')
+f('sys/kernel/slab/revoke_table/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/revoke_table/slab_size', 0o664, b'88\n')
+f('sys/kernel/slab/revoke_table/total_objects', 0o664, b'46\n')
+f('sys/kernel/slab/revoke_table/slabs', 0o664, b'1\n')
+f('sys/kernel/slab/revoke_table/poison', 0o664, b'1\n')
+f('sys/kernel/slab/revoke_table/alloc_calls', 0o664, b'      4 journal_init_revoke_table+0x1b/0xb0 age=8369805/8374155/8378505 pid=1-962 cpus=0\n')
+f('sys/kernel/slab/revoke_table/objs_per_slab', 0o664, b'46\n')
+f('sys/kernel/slab/revoke_table/shrink', 0o664, b'')
+f('sys/kernel/slab/revoke_table/trace', 0o664, b'0\n')
+f('sys/kernel/slab/revoke_table/object_size', 0o664, b'16\n')
+f('sys/kernel/slab/revoke_table/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/revoke_table/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/revoke_table/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/revoke_table/objects_partial', 0o664, b'4\n')
+f('sys/kernel/slab/revoke_table/objects', 0o664, b'4\n')
+f('sys/kernel/slab/revoke_table/order', 0o664, b'0\n')
+f('sys/kernel/slab/revoke_table/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/revoke_table/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/revoke_table/align', 0o664, b'0\n')
+f('sys/kernel/slab/revoke_table/partial', 0o664, b'1\n')
+f('sys/kernel/slab/revoke_table/validate', 0o664, b'')
+f('sys/kernel/slab/revoke_table/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/revoke_table/free_calls', 0o664, b'      4 <not-available> age=4303047546 pid=0 cpus=0\n')
+f('sys/kernel/slab/revoke_table/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/sgpool-32', 0o775)
+f('sys/kernel/slab/sgpool-32/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-32/ctor', 0o664, b'')
+f('sys/kernel/slab/sgpool-32/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-32/slab_size', 0o664, b'1152\n')
+f('sys/kernel/slab/sgpool-32/total_objects', 0o664, b'28\n')
+f('sys/kernel/slab/sgpool-32/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/sgpool-32/poison', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-32/alloc_calls', 0o664, b'      2 mempool_alloc_slab+0x11/0x20 age=8379280/8379280/8379280 pid=1 cpus=0\n')
+f('sys/kernel/slab/sgpool-32/objs_per_slab', 0o664, b'14\n')
+f('sys/kernel/slab/sgpool-32/shrink', 0o664, b'')
+f('sys/kernel/slab/sgpool-32/trace', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-32/object_size', 0o664, b'1024\n')
+f('sys/kernel/slab/sgpool-32/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-32/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-32/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-32/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-32/objects', 0o664, b'28\n')
+f('sys/kernel/slab/sgpool-32/order', 0o664, b'2\n')
+f('sys/kernel/slab/sgpool-32/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-32/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-32/align', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-32/partial', 0o664, b'0\n')
+f('sys/kernel/slab/sgpool-32/validate', 0o664, b'')
+f('sys/kernel/slab/sgpool-32/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/sgpool-32/free_calls', 0o664, b'      2 <not-available> age=4303046829 pid=0 cpus=0\n')
+f('sys/kernel/slab/sgpool-32/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/fib6_nodes', 0o775)
+f('sys/kernel/slab/fib6_nodes/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/fib6_nodes/ctor', 0o664, b'')
+f('sys/kernel/slab/fib6_nodes/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/fib6_nodes/slab_size', 0o664, b'128\n')
+f('sys/kernel/slab/fib6_nodes/total_objects', 0o664, b'64\n')
+f('sys/kernel/slab/fib6_nodes/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/fib6_nodes/poison', 0o664, b'1\n')
+f('sys/kernel/slab/fib6_nodes/alloc_calls', 0o664, b'''      3 fib6_add+0x112/0x6a0 [ipv6] age=8328809/8339785/8360575 pid=8-2080 cpus=0-1
+      1 fib6_add+0x2a2/0x6a0 [ipv6] age=8329973 pid=8 cpus=1
+      1 fib6_add+0x2b6/0x6a0 [ipv6] age=8329973 pid=8 cpus=1
+''')
+f('sys/kernel/slab/fib6_nodes/objs_per_slab', 0o664, b'32\n')
+f('sys/kernel/slab/fib6_nodes/shrink', 0o664, b'')
+f('sys/kernel/slab/fib6_nodes/trace', 0o664, b'0\n')
+f('sys/kernel/slab/fib6_nodes/object_size', 0o664, b'48\n')
+f('sys/kernel/slab/fib6_nodes/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/fib6_nodes/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/fib6_nodes/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/fib6_nodes/objects_partial', 0o664, b'5\n')
+f('sys/kernel/slab/fib6_nodes/objects', 0o664, b'5\n')
+f('sys/kernel/slab/fib6_nodes/order', 0o664, b'0\n')
+f('sys/kernel/slab/fib6_nodes/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/fib6_nodes/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/fib6_nodes/align', 0o664, b'0\n')
+f('sys/kernel/slab/fib6_nodes/partial', 0o664, b'2\n')
+f('sys/kernel/slab/fib6_nodes/validate', 0o664, b'')
+f('sys/kernel/slab/fib6_nodes/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/fib6_nodes/free_calls', 0o664, b'      5 <not-available> age=4303047799 pid=0 cpus=0\n')
+f('sys/kernel/slab/fib6_nodes/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/flow_cache', 0o775)
+f('sys/kernel/slab/flow_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/flow_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/flow_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/flow_cache/slab_size', 0o664, b'168\n')
+f('sys/kernel/slab/flow_cache/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/flow_cache/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/flow_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/flow_cache/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/flow_cache/objs_per_slab', 0o664, b'24\n')
+f('sys/kernel/slab/flow_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/flow_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/flow_cache/object_size', 0o664, b'96\n')
+f('sys/kernel/slab/flow_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/flow_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/flow_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/flow_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/flow_cache/objects', 0o664, b'0\n')
+f('sys/kernel/slab/flow_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/flow_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/flow_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/flow_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/flow_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/flow_cache/validate', 0o664, b'')
+f('sys/kernel/slab/flow_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/flow_cache/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/flow_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/fat_cache', 0o775)
+f('sys/kernel/slab/fat_cache/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/fat_cache/ctor', 0o664, b'init_once+0x0/0x10\n')
+f('sys/kernel/slab/fat_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/fat_cache/slab_size', 0o664, b'104\n')
+f('sys/kernel/slab/fat_cache/total_objects', 0o664, b'39\n')
+f('sys/kernel/slab/fat_cache/slabs', 0o664, b'1\n')
+f('sys/kernel/slab/fat_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/fat_cache/alloc_calls', 0o664, b'     14 fat_cache_add+0x11f/0x1c0 age=61297/61310/61330 pid=13349 cpus=0\n')
+f('sys/kernel/slab/fat_cache/objs_per_slab', 0o664, b'39\n')
+f('sys/kernel/slab/fat_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/fat_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/fat_cache/object_size', 0o664, b'32\n')
+f('sys/kernel/slab/fat_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/fat_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/fat_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/fat_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/fat_cache/objects', 0o664, b'39\n')
+f('sys/kernel/slab/fat_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/fat_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/fat_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/fat_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/fat_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/fat_cache/validate', 0o664, b'')
+f('sys/kernel/slab/fat_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/fat_cache/free_calls', 0o664, b'     14 <not-available> age=4303047585 pid=0 cpus=0\n')
+f('sys/kernel/slab/fat_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/sock_inode_cache', 0o775)
+f('sys/kernel/slab/sock_inode_cache/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/sock_inode_cache/ctor', 0o664, b'init_once+0x0/0x10\n')
+f('sys/kernel/slab/sock_inode_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/sock_inode_cache/slab_size', 0o664, b'1280\n')
+f('sys/kernel/slab/sock_inode_cache/total_objects', 0o664, b'504\n')
+f('sys/kernel/slab/sock_inode_cache/slabs', 0o664, b'42\n')
+f('sys/kernel/slab/sock_inode_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/sock_inode_cache/alloc_calls', 0o664, b'    481 sock_alloc_inode+0x1a/0x70 age=61330/8214562/8379530 pid=1-20296 cpus=0-1\n')
+f('sys/kernel/slab/sock_inode_cache/objs_per_slab', 0o664, b'12\n')
+f('sys/kernel/slab/sock_inode_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/sock_inode_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/sock_inode_cache/object_size', 0o664, b'1192\n')
+f('sys/kernel/slab/sock_inode_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/sock_inode_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/sock_inode_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/sock_inode_cache/objects_partial', 0o664, b'83\n')
+f('sys/kernel/slab/sock_inode_cache/objects', 0o664, b'491\n')
+f('sys/kernel/slab/sock_inode_cache/order', 0o664, b'2\n')
+f('sys/kernel/slab/sock_inode_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/sock_inode_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/sock_inode_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/sock_inode_cache/partial', 0o664, b'8\n')
+f('sys/kernel/slab/sock_inode_cache/validate', 0o664, b'')
+f('sys/kernel/slab/sock_inode_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/sock_inode_cache/free_calls', 0o664, b'''    276 <not-available> age=4303046961 pid=0 cpus=0
+    205 sock_destroy_inode+0x14/0x20 age=61348/8035806/8376228 pid=76-20292 cpus=0-1
+''')
+f('sys/kernel/slab/sock_inode_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/ip_fib_hash', 0o775)
+f('sys/kernel/slab/ip_fib_hash/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_hash/ctor', 0o664, b'')
+f('sys/kernel/slab/ip_fib_hash/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_hash/slab_size', 0o664, b'144\n')
+f('sys/kernel/slab/ip_fib_hash/total_objects', 0o664, b'56\n')
+f('sys/kernel/slab/ip_fib_hash/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/ip_fib_hash/poison', 0o664, b'1\n')
+f('sys/kernel/slab/ip_fib_hash/alloc_calls', 0o664, b'     11 fn_hash_insert+0x5a6/0x800 age=8323831/8347847/8367198 pid=1197-1541 cpus=0-1\n')
+f('sys/kernel/slab/ip_fib_hash/objs_per_slab', 0o664, b'28\n')
+f('sys/kernel/slab/ip_fib_hash/shrink', 0o664, b'')
+f('sys/kernel/slab/ip_fib_hash/trace', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_hash/object_size', 0o664, b'72\n')
+f('sys/kernel/slab/ip_fib_hash/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_hash/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_hash/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_hash/objects_partial', 0o664, b'11\n')
+f('sys/kernel/slab/ip_fib_hash/objects', 0o664, b'11\n')
+f('sys/kernel/slab/ip_fib_hash/order', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_hash/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/ip_fib_hash/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/ip_fib_hash/align', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_hash/partial', 0o664, b'2\n')
+f('sys/kernel/slab/ip_fib_hash/validate', 0o664, b'')
+f('sys/kernel/slab/ip_fib_hash/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/ip_fib_hash/free_calls', 0o664, b'''      7 <not-available> age=4303046724 pid=0 cpus=0
+      4 fn_hash_delete+0x22c/0x290 age=8367201/8367201/8367201 pid=1195 cpus=1
+''')
+f('sys/kernel/slab/ip_fib_hash/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/kmalloc_dma-512', 0o775)
+f('sys/kernel/slab/kmalloc_dma-512/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc_dma-512/ctor', 0o664, b'')
+f('sys/kernel/slab/kmalloc_dma-512/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc_dma-512/slab_size', 0o664, b'584\n')
+f('sys/kernel/slab/kmalloc_dma-512/total_objects', 0o664, b'14\n')
+f('sys/kernel/slab/kmalloc_dma-512/slabs', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc_dma-512/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc_dma-512/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/kmalloc_dma-512/objs_per_slab', 0o664, b'14\n')
+f('sys/kernel/slab/kmalloc_dma-512/shrink', 0o664, b'')
+f('sys/kernel/slab/kmalloc_dma-512/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc_dma-512/object_size', 0o664, b'512\n')
+f('sys/kernel/slab/kmalloc_dma-512/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc_dma-512/cache_dma', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc_dma-512/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc_dma-512/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc_dma-512/objects', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc_dma-512/order', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc_dma-512/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc_dma-512/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc_dma-512/align', 0o664, b'8\n')
+f('sys/kernel/slab/kmalloc_dma-512/partial', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc_dma-512/validate', 0o664, b'')
+f('sys/kernel/slab/kmalloc_dma-512/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc_dma-512/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/kmalloc_dma-512/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/inode_cache', 0o775)
+f('sys/kernel/slab/inode_cache/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/inode_cache/ctor', 0o664, b'init_once+0x0/0x10\n')
+f('sys/kernel/slab/inode_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/inode_cache/slab_size', 0o664, b'1144\n')
+f('sys/kernel/slab/inode_cache/total_objects', 0o664, b'11676\n')
+f('sys/kernel/slab/inode_cache/slabs', 0o664, b'834\n')
+f('sys/kernel/slab/inode_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/inode_cache/alloc_calls', 0o664, b'  11655 alloc_inode+0x251/0x280 age=665/7686826/8379810 pid=0-13466 cpus=0-1\n')
+f('sys/kernel/slab/inode_cache/objs_per_slab', 0o664, b'14\n')
+f('sys/kernel/slab/inode_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/inode_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/inode_cache/object_size', 0o664, b'1072\n')
+f('sys/kernel/slab/inode_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/inode_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/inode_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/inode_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/inode_cache/objects', 0o664, b'11676\n')
+f('sys/kernel/slab/inode_cache/order', 0o664, b'2\n')
+f('sys/kernel/slab/inode_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/inode_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/inode_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/inode_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/inode_cache/validate', 0o664, b'')
+f('sys/kernel/slab/inode_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/inode_cache/free_calls', 0o664, b'''  11113 <not-available> age=4303047110 pid=0 cpus=0
+    542 destroy_inode+0x4f/0x60 age=1016/6891707/8377435 pid=7-15896 cpus=0-1
+''')
+f('sys/kernel/slab/inode_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/inotify_event_cache', 0o775)
+f('sys/kernel/slab/inotify_event_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_event_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/inotify_event_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_event_cache/slab_size', 0o664, b'112\n')
+f('sys/kernel/slab/inotify_event_cache/total_objects', 0o664, b'72\n')
+f('sys/kernel/slab/inotify_event_cache/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/inotify_event_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/inotify_event_cache/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/inotify_event_cache/objs_per_slab', 0o664, b'36\n')
+f('sys/kernel/slab/inotify_event_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/inotify_event_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_event_cache/object_size', 0o664, b'40\n')
+f('sys/kernel/slab/inotify_event_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_event_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_event_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_event_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_event_cache/objects', 0o664, b'72\n')
+f('sys/kernel/slab/inotify_event_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_event_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/inotify_event_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/inotify_event_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_event_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/inotify_event_cache/validate', 0o664, b'')
+f('sys/kernel/slab/inotify_event_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/inotify_event_cache/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/inotify_event_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/UDP', 0o775)
+f('sys/kernel/slab/UDP/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/UDP/ctor', 0o664, b'')
+f('sys/kernel/slab/UDP/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/UDP/slab_size', 0o664, b'1344\n')
+f('sys/kernel/slab/UDP/total_objects', 0o664, b'24\n')
+f('sys/kernel/slab/UDP/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/UDP/poison', 0o664, b'1\n')
+f('sys/kernel/slab/UDP/alloc_calls', 0o664, b'      5 sk_prot_alloc+0x1e/0xb0 age=8327731/8349275/8355457 pid=1545-2586 cpus=0-1\n')
+f('sys/kernel/slab/UDP/objs_per_slab', 0o664, b'12\n')
+f('sys/kernel/slab/UDP/shrink', 0o664, b'')
+f('sys/kernel/slab/UDP/trace', 0o664, b'0\n')
+f('sys/kernel/slab/UDP/object_size', 0o664, b'1232\n')
+f('sys/kernel/slab/UDP/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/UDP/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/UDP/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/UDP/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/UDP/objects', 0o664, b'24\n')
+f('sys/kernel/slab/UDP/order', 0o664, b'2\n')
+f('sys/kernel/slab/UDP/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/UDP/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/UDP/align', 0o664, b'0\n')
+f('sys/kernel/slab/UDP/partial', 0o664, b'0\n')
+f('sys/kernel/slab/UDP/validate', 0o664, b'')
+f('sys/kernel/slab/UDP/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/UDP/free_calls', 0o664, b'''      1 <not-available> age=4303046759 pid=0 cpus=0
+      4 sk_free+0x80/0x100 age=8327731/8350484/8364461 pid=1371-2586 cpus=0-1
+''')
+f('sys/kernel/slab/UDP/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/Acpi-ParseExt', 0o775)
+f('sys/kernel/slab/Acpi-ParseExt/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-ParseExt/ctor', 0o664, b'')
+f('sys/kernel/slab/Acpi-ParseExt/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-ParseExt/slab_size', 0o664, b'144\n')
+f('sys/kernel/slab/Acpi-ParseExt/total_objects', 0o664, b'56\n')
+f('sys/kernel/slab/Acpi-ParseExt/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/Acpi-ParseExt/poison', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-ParseExt/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/Acpi-ParseExt/objs_per_slab', 0o664, b'28\n')
+f('sys/kernel/slab/Acpi-ParseExt/shrink', 0o664, b'')
+f('sys/kernel/slab/Acpi-ParseExt/trace', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-ParseExt/object_size', 0o664, b'72\n')
+f('sys/kernel/slab/Acpi-ParseExt/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-ParseExt/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-ParseExt/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-ParseExt/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-ParseExt/objects', 0o664, b'56\n')
+f('sys/kernel/slab/Acpi-ParseExt/order', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-ParseExt/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-ParseExt/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-ParseExt/align', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-ParseExt/partial', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-ParseExt/validate', 0o664, b'')
+f('sys/kernel/slab/Acpi-ParseExt/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-ParseExt/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/Acpi-ParseExt/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/kmalloc-8', 0o775)
+f('sys/kernel/slab/kmalloc-8/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-8/ctor', 0o664, b'')
+f('sys/kernel/slab/kmalloc-8/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-8/slab_size', 0o664, b'80\n')
+f('sys/kernel/slab/kmalloc-8/total_objects', 0o664, b'3366\n')
+f('sys/kernel/slab/kmalloc-8/slabs', 0o664, b'66\n')
+f('sys/kernel/slab/kmalloc-8/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-8/alloc_calls', 0o664, b'''      1 cache_k8_northbridges+0x5f/0x130 age=8379864 pid=1 cpus=0
+      1 pm_qos_add_requirement+0x51/0xe0 age=8376100 pid=122 cpus=1
+      5 setup_modinfo_version+0x19/0x30 age=8355991/8370769/8376336 pid=169-1766 cpus=0-1
+    379 load_module+0x1ac4/0x1b30 age=8303091/8368856/8376330 pid=105-2754 cpus=0-1
+     57 strndup_user+0x6d/0xc0 age=8303095/8368234/8376336 pid=105-2754 cpus=0-1
+      4 krealloc+0x1e/0x60 age=8355270/8362240/8377141 pid=71-1849 cpus=0-1
+      5 __vmalloc_area_node+0xfb/0x140 age=8373659/8374450/8375164 pid=181-754 cpus=0-1
+     17 alloc_vfsmnt+0x97/0x180 age=8354102/8377143/8380122 pid=0-2064 cpus=0-1
+      1 proc_symlink+0x4d/0xb0 age=8374163 pid=107 cpus=1
+   1954 sysfs_new_dirent+0x10c/0x120 age=22655/7531182/8380122 pid=0-13295 cpus=0-1
+    690 kvasprintf+0x55/0x90 age=22668/7820060/8380122 pid=0-13295 cpus=0-1
+      1 proc_bus_pci_open+0x1d/0x50 age=8355838 pid=1738 cpus=0
+      5 pcie_port_device_register+0x25/0x4a0 age=8379822/8379823/8379824 pid=1 cpus=1
+     19 acpi_ds_build_internal_buffer_obj+0xe1/0x121 age=8379961/8379970/8379972 pid=1 cpus=0
+      9 acpi_ev_pci_config_region_setup+0x162/0x270 age=8379256/8379854/8379947 pid=1-12 cpus=0-1
+      2 acpi_ut_copy_simple_object+0x8f/0x11c age=8375678/8375686/8375694 pid=396 cpus=0
+     35 acpi_irq_stats_init+0x1bd/0x268 age=8379979/8379979/8379979 pid=1 cpus=0
+      8 neigh_sysctl_register+0x1cd/0x330 age=8360192/8368781/8379845 pid=1-1549 cpus=0-1
+      7 netlink_kernel_create+0xab/0x1a0 age=8378987/8379768/8379988 pid=1 cpus=0-1
+      5 __devinet_sysctl_register+0xb8/0x120 age=8373658/8377862/8379845 pid=1-126 cpus=0-1
+      1 fz_hash_alloc+0x4a/0x60 age=8324525 pid=1541 cpus=0
+      1 init_vdso_vars+0x4c/0x24a age=8379835 pid=1 cpus=1
+     30 netlink_proto_init+0xf1/0x16b age=8379988/8379988/8379988 pid=1 cpus=0
+      5 hub_probe+0x20b/0x820 [usbcore] age=8374075/8374568/8374921 pid=143-147 cpus=0-1
+      3 usb_cache_string+0x65/0xa0 [usbcore] age=22742/37518/67072 pid=419 cpus=0
+     10 usb_get_configuration+0xbd/0x1480 [usbcore] age=22743/5876145/8374941 pid=143-419 cpus=0-1
+     35 snd_info_create_entry+0x30/0xa0 [snd] age=8355370/8370655/8374933 pid=107-1813 cpus=0-1
+      1 async_chainiv_givencrypt_first+0x56/0x80 [crypto_blkcipher] age=8374580 pid=215 cpus=0
+      1 md_seq_open+0x2d/0x90 [md_mod] age=8366135 pid=1371 cpus=0
+      1 bitmap_create+0x3aa/0xad0 [md_mod] age=8370125 pid=916 cpus=0
+      5 __addrconf_sysctl_register+0xcd/0x140 [ipv6] age=8360192/8360193/8360195 pid=1549 cpus=0
+      1 fib6_net_init+0x5d/0x130 [ipv6] age=8360195 pid=1549 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-8/objs_per_slab', 0o664, b'51\n')
+f('sys/kernel/slab/kmalloc-8/shrink', 0o664, b'')
+f('sys/kernel/slab/kmalloc-8/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-8/object_size', 0o664, b'8\n')
+f('sys/kernel/slab/kmalloc-8/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-8/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-8/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-8/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-8/objects', 0o664, b'3366\n')
+f('sys/kernel/slab/kmalloc-8/order', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-8/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-8/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-8/align', 0o664, b'8\n')
+f('sys/kernel/slab/kmalloc-8/partial', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-8/validate', 0o664, b'')
+f('sys/kernel/slab/kmalloc-8/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-8/free_calls', 0o664, b'''   2657 <not-available> age=4303047420 pid=0 cpus=0
+      3 free_sect_attrs+0x2e/0x50 age=8375066/8375066/8375066 pid=383 cpus=0
+      6 load_module+0x73f/0x1b30 age=8374844/8375309/8376003 pid=143-332 cpus=0-1
+      1 free_module+0xb9/0xf0 age=8375066 pid=383 cpus=0
+      1 krealloc+0x3a/0x60 age=8375814 pid=330 cpus=0
+     41 __vunmap+0xe9/0x120 age=8355636/8372979/8376319 pid=105-1805 cpus=0-1
+      1 vfs_rename+0x301/0x450 age=8367176 pid=72 cpus=1
+    254 release_sysfs_dirent+0x8c/0xd0 age=125751/7762571/8379789 pid=1-3347 cpus=0-1
+     61 kobject_release+0xe1/0x140 age=125751/6939731/8378264 pid=1-3347 cpus=0-1
+      1 match_number+0x95/0xb0 age=8335823 pid=2476 cpus=0
+      2 proc_bus_pci_release+0x18/0x30 age=8355841/8356005/8356169 pid=1738 cpus=0
+     49 acpi_ds_create_operand+0x12c/0x209 age=125757/8029619/8379980 pid=1-1442 cpus=0-1
+    128 acpi_ns_get_node+0x92/0xa1 age=8366449/8379363/8379989 pid=1-1358 cpus=0-1
+      2 acpi_ut_delete_internal_obj+0x15f/0x16f age=8375669/8375730/8375792 pid=330-396 cpus=0
+      2 module_add_driver+0x66/0xd0 age=8375989/8375992/8375996 pid=144 cpus=0
+      2 sd_media_changed+0xca/0x210 age=7839601/7929600/8019600 pid=2796 cpus=0
+      3 get_modalias+0xd4/0x120 age=8355846/8370834/8379988 pid=1-1772 cpus=0-1
+      1 fib_hash_free+0x35/0x40 age=8367910 pid=1185 cpus=0
+      1 usb_release_dev+0x39/0x70 [usbcore] age=7833240 pid=419 cpus=1
+      2 usb_release_dev+0x45/0x70 [usbcore] age=7833240/7835719/7838199 pid=419 cpus=0-1
+      4 sg_clean+0x3e/0x80 [usbcore] age=62037/2121033/8297977 pid=2760-13294 cpus=0
+     59 usb_control_msg+0xef/0x110 [usbcore] age=22658/5520135/8374943 pid=143-419 cpus=0-1
+      7 usb_set_configuration+0x338/0x5f0 [usbcore] age=53566/5999072/8374935 pid=143-419 cpus=0-1
+      4 usb_destroy_configuration+0x78/0x140 [usbcore] age=7824401/7967435/8373902 pid=419 cpus=0-1
+      7 sr_media_change+0xeb/0x2a0 [sr_mod] age=53597/5984195/8374963 pid=558-1456 cpus=0-1
+''')
+f('sys/kernel/slab/kmalloc-8/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/revoke_record', 0o775)
+f('sys/kernel/slab/revoke_record/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/revoke_record/ctor', 0o664, b'')
+f('sys/kernel/slab/revoke_record/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/revoke_record/slab_size', 0o664, b'128\n')
+f('sys/kernel/slab/revoke_record/total_objects', 0o664, b'64\n')
+f('sys/kernel/slab/revoke_record/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/revoke_record/poison', 0o664, b'1\n')
+f('sys/kernel/slab/revoke_record/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/revoke_record/objs_per_slab', 0o664, b'32\n')
+f('sys/kernel/slab/revoke_record/shrink', 0o664, b'')
+f('sys/kernel/slab/revoke_record/trace', 0o664, b'0\n')
+f('sys/kernel/slab/revoke_record/object_size', 0o664, b'32\n')
+f('sys/kernel/slab/revoke_record/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/revoke_record/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/revoke_record/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/revoke_record/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/revoke_record/objects', 0o664, b'64\n')
+f('sys/kernel/slab/revoke_record/order', 0o664, b'0\n')
+f('sys/kernel/slab/revoke_record/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/revoke_record/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/revoke_record/align', 0o664, b'0\n')
+f('sys/kernel/slab/revoke_record/partial', 0o664, b'0\n')
+f('sys/kernel/slab/revoke_record/validate', 0o664, b'')
+f('sys/kernel/slab/revoke_record/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/revoke_record/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/revoke_record/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/ext3_inode_cache', 0o775)
+f('sys/kernel/slab/ext3_inode_cache/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/ext3_inode_cache/ctor', 0o664, b'init_once+0x0/0x70\n')
+f('sys/kernel/slab/ext3_inode_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_inode_cache/slab_size', 0o664, b'1544\n')
+f('sys/kernel/slab/ext3_inode_cache/total_objects', 0o664, b'27342\n')
+f('sys/kernel/slab/ext3_inode_cache/slabs', 0o664, b'1302\n')
+f('sys/kernel/slab/ext3_inode_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/ext3_inode_cache/alloc_calls', 0o664, b'  27338 ext3_alloc_inode+0x15/0x60 age=0/2288559/8378475 pid=1-27944 cpus=0-1\n')
+f('sys/kernel/slab/ext3_inode_cache/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/ext3_inode_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/ext3_inode_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_inode_cache/object_size', 0o664, b'1472\n')
+f('sys/kernel/slab/ext3_inode_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_inode_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_inode_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_inode_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_inode_cache/objects', 0o664, b'27342\n')
+f('sys/kernel/slab/ext3_inode_cache/order', 0o664, b'3\n')
+f('sys/kernel/slab/ext3_inode_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/ext3_inode_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/ext3_inode_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_inode_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/ext3_inode_cache/validate', 0o664, b'')
+f('sys/kernel/slab/ext3_inode_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/ext3_inode_cache/free_calls', 0o664, b'''  25981 <not-available> age=4303047521 pid=0 cpus=0
+   1358 ext3_destroy_inode+0x2f/0x90 age=13089/2437961/8371953 pid=542-32759 cpus=0-1
+''')
+f('sys/kernel/slab/ext3_inode_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/ndisc_cache', 0o775)
+f('sys/kernel/slab/ndisc_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/ndisc_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/ndisc_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/ndisc_cache/slab_size', 0o664, b'448\n')
+f('sys/kernel/slab/ndisc_cache/total_objects', 0o664, b'18\n')
+f('sys/kernel/slab/ndisc_cache/slabs', 0o664, b'1\n')
+f('sys/kernel/slab/ndisc_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/ndisc_cache/alloc_calls', 0o664, b'      1 neigh_create+0x8b/0x530 age=8360557 pid=1549 cpus=0\n')
+f('sys/kernel/slab/ndisc_cache/objs_per_slab', 0o664, b'18\n')
+f('sys/kernel/slab/ndisc_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/ndisc_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/ndisc_cache/object_size', 0o664, b'360\n')
+f('sys/kernel/slab/ndisc_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/ndisc_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/ndisc_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/ndisc_cache/objects_partial', 0o664, b'1\n')
+f('sys/kernel/slab/ndisc_cache/objects', 0o664, b'1\n')
+f('sys/kernel/slab/ndisc_cache/order', 0o664, b'1\n')
+f('sys/kernel/slab/ndisc_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/ndisc_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/ndisc_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/ndisc_cache/partial', 0o664, b'1\n')
+f('sys/kernel/slab/ndisc_cache/validate', 0o664, b'')
+f('sys/kernel/slab/ndisc_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/ndisc_cache/free_calls', 0o664, b'      1 <not-available> age=4303047782 pid=0 cpus=0\n')
+f('sys/kernel/slab/ndisc_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/ip_fib_alias', 0o775)
+f('sys/kernel/slab/ip_fib_alias/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_alias/ctor', 0o664, b'')
+f('sys/kernel/slab/ip_fib_alias/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_alias/slab_size', 0o664, b'104\n')
+f('sys/kernel/slab/ip_fib_alias/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_alias/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_alias/poison', 0o664, b'1\n')
+f('sys/kernel/slab/ip_fib_alias/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/ip_fib_alias/objs_per_slab', 0o664, b'39\n')
+f('sys/kernel/slab/ip_fib_alias/shrink', 0o664, b'')
+f('sys/kernel/slab/ip_fib_alias/trace', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_alias/object_size', 0o664, b'32\n')
+f('sys/kernel/slab/ip_fib_alias/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_alias/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_alias/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_alias/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_alias/objects', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_alias/order', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_alias/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/ip_fib_alias/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/ip_fib_alias/align', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_alias/partial', 0o664, b'0\n')
+f('sys/kernel/slab/ip_fib_alias/validate', 0o664, b'')
+f('sys/kernel/slab/ip_fib_alias/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/ip_fib_alias/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/ip_fib_alias/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/proc_inode_cache', 0o775)
+f('sys/kernel/slab/proc_inode_cache/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/proc_inode_cache/ctor', 0o664, b'init_once+0x0/0x10\n')
+f('sys/kernel/slab/proc_inode_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/proc_inode_cache/slab_size', 0o664, b'1192\n')
+f('sys/kernel/slab/proc_inode_cache/total_objects', 0o664, b'1677\n')
+f('sys/kernel/slab/proc_inode_cache/slabs', 0o664, b'129\n')
+f('sys/kernel/slab/proc_inode_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/proc_inode_cache/alloc_calls', 0o664, b'   1627 proc_alloc_inode+0x1b/0x90 age=61424/8163415/8379746 pid=0-19241 cpus=0-1\n')
+f('sys/kernel/slab/proc_inode_cache/objs_per_slab', 0o664, b'13\n')
+f('sys/kernel/slab/proc_inode_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/proc_inode_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/proc_inode_cache/object_size', 0o664, b'1120\n')
+f('sys/kernel/slab/proc_inode_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/proc_inode_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/proc_inode_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/proc_inode_cache/objects_partial', 0o664, b'78\n')
+f('sys/kernel/slab/proc_inode_cache/objects', 0o664, b'1651\n')
+f('sys/kernel/slab/proc_inode_cache/order', 0o664, b'2\n')
+f('sys/kernel/slab/proc_inode_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/proc_inode_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/proc_inode_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/proc_inode_cache/partial', 0o664, b'8\n')
+f('sys/kernel/slab/proc_inode_cache/validate', 0o664, b'')
+f('sys/kernel/slab/proc_inode_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/proc_inode_cache/free_calls', 0o664, b'''   1124 <not-available> age=4303047043 pid=0 cpus=0
+    503 proc_destroy_inode+0x14/0x20 age=61430/7970819/8372808 pid=1-12336 cpus=0-1
+''')
+f('sys/kernel/slab/proc_inode_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/biovec-16', 0o775)
+f('sys/kernel/slab/biovec-16/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-16/ctor', 0o664, b'')
+f('sys/kernel/slab/biovec-16/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-16/slab_size', 0o664, b'384\n')
+f('sys/kernel/slab/biovec-16/total_objects', 0o664, b'63\n')
+f('sys/kernel/slab/biovec-16/slabs', 0o664, b'3\n')
+f('sys/kernel/slab/biovec-16/poison', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-16/alloc_calls', 0o664, b'      2 mempool_alloc_slab+0x11/0x20 age=8379491/8379491/8379491 pid=1 cpus=0\n')
+f('sys/kernel/slab/biovec-16/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/biovec-16/shrink', 0o664, b'')
+f('sys/kernel/slab/biovec-16/trace', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-16/object_size', 0o664, b'256\n')
+f('sys/kernel/slab/biovec-16/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-16/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-16/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-16/objects_partial', 0o664, b'2\n')
+f('sys/kernel/slab/biovec-16/objects', 0o664, b'44\n')
+f('sys/kernel/slab/biovec-16/order', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-16/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-16/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-16/align', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-16/partial', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-16/validate', 0o664, b'')
+f('sys/kernel/slab/biovec-16/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-16/free_calls', 0o664, b'      2 <not-available> age=4303046925 pid=0 cpus=0\n')
+f('sys/kernel/slab/biovec-16/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/Acpi-State', 0o775)
+f('sys/kernel/slab/Acpi-State/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-State/ctor', 0o664, b'')
+f('sys/kernel/slab/Acpi-State/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-State/slab_size', 0o664, b'152\n')
+f('sys/kernel/slab/Acpi-State/total_objects', 0o664, b'52\n')
+f('sys/kernel/slab/Acpi-State/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/Acpi-State/poison', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-State/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/Acpi-State/objs_per_slab', 0o664, b'26\n')
+f('sys/kernel/slab/Acpi-State/shrink', 0o664, b'')
+f('sys/kernel/slab/Acpi-State/trace', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-State/object_size', 0o664, b'80\n')
+f('sys/kernel/slab/Acpi-State/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-State/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-State/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-State/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-State/objects', 0o664, b'52\n')
+f('sys/kernel/slab/Acpi-State/order', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-State/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-State/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-State/align', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-State/partial', 0o664, b'0\n')
+f('sys/kernel/slab/Acpi-State/validate', 0o664, b'')
+f('sys/kernel/slab/Acpi-State/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/Acpi-State/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/Acpi-State/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/ip6_dst_cache', 0o775)
+f('sys/kernel/slab/ip6_dst_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/ip6_dst_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/ip6_dst_cache/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/ip6_dst_cache/slab_size', 0o664, b'384\n')
+f('sys/kernel/slab/ip6_dst_cache/total_objects', 0o664, b'42\n')
+f('sys/kernel/slab/ip6_dst_cache/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/ip6_dst_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/ip6_dst_cache/alloc_calls', 0o664, b'      4 dst_alloc+0x2b/0x90 age=8329964/8337614/8360566 pid=8-1549 cpus=0-1\n')
+f('sys/kernel/slab/ip6_dst_cache/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/ip6_dst_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/ip6_dst_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/ip6_dst_cache/object_size', 0o664, b'304\n')
+f('sys/kernel/slab/ip6_dst_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/ip6_dst_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/ip6_dst_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/ip6_dst_cache/objects_partial', 0o664, b'4\n')
+f('sys/kernel/slab/ip6_dst_cache/objects', 0o664, b'4\n')
+f('sys/kernel/slab/ip6_dst_cache/order', 0o664, b'1\n')
+f('sys/kernel/slab/ip6_dst_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/ip6_dst_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/ip6_dst_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/ip6_dst_cache/partial', 0o664, b'2\n')
+f('sys/kernel/slab/ip6_dst_cache/validate', 0o664, b'')
+f('sys/kernel/slab/ip6_dst_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/ip6_dst_cache/free_calls', 0o664, b'      4 <not-available> age=4303047790 pid=0 cpus=0\n')
+f('sys/kernel/slab/ip6_dst_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/task_xstate', 0o775)
+f('sys/kernel/slab/task_xstate/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/task_xstate/ctor', 0o664, b'')
+f('sys/kernel/slab/task_xstate/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/task_xstate/slab_size', 0o664, b'592\n')
+f('sys/kernel/slab/task_xstate/total_objects', 0o664, b'169\n')
+f('sys/kernel/slab/task_xstate/slabs', 0o664, b'13\n')
+f('sys/kernel/slab/task_xstate/poison', 0o664, b'1\n')
+f('sys/kernel/slab/task_xstate/alloc_calls', 0o664, b'''     99 arch_dup_task_struct+0x51/0xa0 age=125559/8275901/8376574 pid=71-13212 cpus=0-1
+     51 init_fpu+0xef/0x110 age=4157/7436734/8378165 pid=1-20296 cpus=0-1
+''')
+f('sys/kernel/slab/task_xstate/objs_per_slab', 0o664, b'13\n')
+f('sys/kernel/slab/task_xstate/shrink', 0o664, b'')
+f('sys/kernel/slab/task_xstate/trace', 0o664, b'0\n')
+f('sys/kernel/slab/task_xstate/object_size', 0o664, b'512\n')
+f('sys/kernel/slab/task_xstate/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/task_xstate/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/task_xstate/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/task_xstate/objects_partial', 0o664, b'57\n')
+f('sys/kernel/slab/task_xstate/objects', 0o664, b'161\n')
+f('sys/kernel/slab/task_xstate/order', 0o664, b'1\n')
+f('sys/kernel/slab/task_xstate/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/task_xstate/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/task_xstate/align', 0o664, b'16\n')
+f('sys/kernel/slab/task_xstate/partial', 0o664, b'5\n')
+f('sys/kernel/slab/task_xstate/validate', 0o664, b'')
+f('sys/kernel/slab/task_xstate/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/task_xstate/free_calls', 0o664, b'''     53 <not-available> age=4303047277 pid=0 cpus=0
+     97 free_thread_xstate+0x24/0x40 age=7199/7795238/8375118 pid=0-20296 cpus=0-1
+''')
+f('sys/kernel/slab/task_xstate/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/scsi_io_context', 0o775)
+f('sys/kernel/slab/scsi_io_context/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_io_context/ctor', 0o664, b'')
+f('sys/kernel/slab/scsi_io_context/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_io_context/slab_size', 0o664, b'184\n')
+f('sys/kernel/slab/scsi_io_context/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_io_context/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_io_context/poison', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_io_context/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/scsi_io_context/objs_per_slab', 0o664, b'22\n')
+f('sys/kernel/slab/scsi_io_context/shrink', 0o664, b'')
+f('sys/kernel/slab/scsi_io_context/trace', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_io_context/object_size', 0o664, b'112\n')
+f('sys/kernel/slab/scsi_io_context/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_io_context/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_io_context/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_io_context/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_io_context/objects', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_io_context/order', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_io_context/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_io_context/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_io_context/align', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_io_context/partial', 0o664, b'0\n')
+f('sys/kernel/slab/scsi_io_context/validate', 0o664, b'')
+f('sys/kernel/slab/scsi_io_context/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/scsi_io_context/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/scsi_io_context/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/anon_vma', 0o775)
+f('sys/kernel/slab/anon_vma/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/anon_vma/ctor', 0o664, b'anon_vma_ctor+0x0/0x40\n')
+f('sys/kernel/slab/anon_vma/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/anon_vma/slab_size', 0o664, b'144\n')
+f('sys/kernel/slab/anon_vma/total_objects', 0o664, b'3304\n')
+f('sys/kernel/slab/anon_vma/slabs', 0o664, b'118\n')
+f('sys/kernel/slab/anon_vma/poison', 0o664, b'1\n')
+f('sys/kernel/slab/anon_vma/alloc_calls', 0o664, b'   3234 anon_vma_prepare+0xe0/0x100 age=4177/7981073/8378201 pid=1-20296 cpus=0-1\n')
+f('sys/kernel/slab/anon_vma/objs_per_slab', 0o664, b'28\n')
+f('sys/kernel/slab/anon_vma/shrink', 0o664, b'')
+f('sys/kernel/slab/anon_vma/trace', 0o664, b'0\n')
+f('sys/kernel/slab/anon_vma/object_size', 0o664, b'72\n')
+f('sys/kernel/slab/anon_vma/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/anon_vma/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/anon_vma/destroy_by_rcu', 0o664, b'1\n')
+f('sys/kernel/slab/anon_vma/objects_partial', 0o664, b'185\n')
+f('sys/kernel/slab/anon_vma/objects', 0o664, b'3265\n')
+f('sys/kernel/slab/anon_vma/order', 0o664, b'0\n')
+f('sys/kernel/slab/anon_vma/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/anon_vma/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/anon_vma/align', 0o664, b'0\n')
+f('sys/kernel/slab/anon_vma/partial', 0o664, b'8\n')
+f('sys/kernel/slab/anon_vma/validate', 0o664, b'')
+f('sys/kernel/slab/anon_vma/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/anon_vma/free_calls', 0o664, b'''   1575 <not-available> age=4303047296 pid=0 cpus=0
+   1659 anon_vma_unlink+0x5f/0x70 age=7225/7638870/8377152 pid=56-20292 cpus=0-1
+''')
+f('sys/kernel/slab/anon_vma/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/uhci_urb_priv', 0o775)
+f('sys/kernel/slab/uhci_urb_priv/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/uhci_urb_priv/ctor', 0o664, b'')
+f('sys/kernel/slab/uhci_urb_priv/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/uhci_urb_priv/slab_size', 0o664, b'128\n')
+f('sys/kernel/slab/uhci_urb_priv/total_objects', 0o664, b'32\n')
+f('sys/kernel/slab/uhci_urb_priv/slabs', 0o664, b'1\n')
+f('sys/kernel/slab/uhci_urb_priv/poison', 0o664, b'1\n')
+f('sys/kernel/slab/uhci_urb_priv/alloc_calls', 0o664, b'      1 uhci_urb_enqueue+0xb6/0xa30 [uhci_hcd] age=53794 pid=419 cpus=0\n')
+f('sys/kernel/slab/uhci_urb_priv/objs_per_slab', 0o664, b'32\n')
+f('sys/kernel/slab/uhci_urb_priv/shrink', 0o664, b'')
+f('sys/kernel/slab/uhci_urb_priv/trace', 0o664, b'0\n')
+f('sys/kernel/slab/uhci_urb_priv/object_size', 0o664, b'56\n')
+f('sys/kernel/slab/uhci_urb_priv/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/uhci_urb_priv/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/uhci_urb_priv/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/uhci_urb_priv/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/uhci_urb_priv/objects', 0o664, b'32\n')
+f('sys/kernel/slab/uhci_urb_priv/order', 0o664, b'0\n')
+f('sys/kernel/slab/uhci_urb_priv/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/uhci_urb_priv/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/uhci_urb_priv/align', 0o664, b'0\n')
+f('sys/kernel/slab/uhci_urb_priv/partial', 0o664, b'0\n')
+f('sys/kernel/slab/uhci_urb_priv/validate', 0o664, b'')
+f('sys/kernel/slab/uhci_urb_priv/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/uhci_urb_priv/free_calls', 0o664, b'      1 uhci_free_urb_priv+0x79/0xd0 [uhci_hcd] age=53806 pid=0 cpus=0\n')
+f('sys/kernel/slab/uhci_urb_priv/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/shmem_inode_cache', 0o775)
+f('sys/kernel/slab/shmem_inode_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/shmem_inode_cache/ctor', 0o664, b'init_once+0x0/0x40\n')
+f('sys/kernel/slab/shmem_inode_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/shmem_inode_cache/slab_size', 0o664, b'1400\n')
+f('sys/kernel/slab/shmem_inode_cache/total_objects', 0o664, b'1173\n')
+f('sys/kernel/slab/shmem_inode_cache/slabs', 0o664, b'51\n')
+f('sys/kernel/slab/shmem_inode_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/shmem_inode_cache/alloc_calls', 0o664, b'   1144 shmem_alloc_inode+0x15/0x30 age=21584/7506265/8379043 pid=1-13453 cpus=0-1\n')
+f('sys/kernel/slab/shmem_inode_cache/objs_per_slab', 0o664, b'23\n')
+f('sys/kernel/slab/shmem_inode_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/shmem_inode_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/shmem_inode_cache/object_size', 0o664, b'1328\n')
+f('sys/kernel/slab/shmem_inode_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/shmem_inode_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/shmem_inode_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/shmem_inode_cache/objects_partial', 0o664, b'42\n')
+f('sys/kernel/slab/shmem_inode_cache/objects', 0o664, b'1169\n')
+f('sys/kernel/slab/shmem_inode_cache/order', 0o664, b'3\n')
+f('sys/kernel/slab/shmem_inode_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/shmem_inode_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/shmem_inode_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/shmem_inode_cache/partial', 0o664, b'2\n')
+f('sys/kernel/slab/shmem_inode_cache/validate', 0o664, b'')
+f('sys/kernel/slab/shmem_inode_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/shmem_inode_cache/free_calls', 0o664, b'''    741 <not-available> age=4303046628 pid=0 cpus=0
+    403 shmem_destroy_inode+0x24/0x30 age=21598/7406739/8375758 pid=72-13332 cpus=0-1
+''')
+f('sys/kernel/slab/shmem_inode_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/fat_inode_cache', 0o775)
+f('sys/kernel/slab/fat_inode_cache/reclaim_account', 0o664, b'1\n')
+f('sys/kernel/slab/fat_inode_cache/ctor', 0o664, b'init_once+0x0/0x60\n')
+f('sys/kernel/slab/fat_inode_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/fat_inode_cache/slab_size', 0o664, b'1272\n')
+f('sys/kernel/slab/fat_inode_cache/total_objects', 0o664, b'100\n')
+f('sys/kernel/slab/fat_inode_cache/slabs', 0o664, b'4\n')
+f('sys/kernel/slab/fat_inode_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/fat_inode_cache/alloc_calls', 0o664, b'     76 fat_alloc_inode+0x15/0x30 age=61228/61276/61657 pid=13348-13354 cpus=0-1\n')
+f('sys/kernel/slab/fat_inode_cache/objs_per_slab', 0o664, b'25\n')
+f('sys/kernel/slab/fat_inode_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/fat_inode_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/fat_inode_cache/object_size', 0o664, b'1200\n')
+f('sys/kernel/slab/fat_inode_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/fat_inode_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/fat_inode_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/fat_inode_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/fat_inode_cache/objects', 0o664, b'100\n')
+f('sys/kernel/slab/fat_inode_cache/order', 0o664, b'3\n')
+f('sys/kernel/slab/fat_inode_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/fat_inode_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/fat_inode_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/fat_inode_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/fat_inode_cache/validate', 0o664, b'')
+f('sys/kernel/slab/fat_inode_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/fat_inode_cache/free_calls', 0o664, b'     76 <not-available> age=4303047594 pid=0 cpus=0\n')
+f('sys/kernel/slab/fat_inode_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/kmalloc-256', 0o775)
+f('sys/kernel/slab/kmalloc-256/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-256/ctor', 0o664, b'')
+f('sys/kernel/slab/kmalloc-256/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-256/slab_size', 0o664, b'328\n')
+f('sys/kernel/slab/kmalloc-256/total_objects', 0o664, b'516\n')
+f('sys/kernel/slab/kmalloc-256/slabs', 0o664, b'43\n')
+f('sys/kernel/slab/kmalloc-256/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-256/alloc_calls', 0o664, b'''      2 mempool_kmalloc+0x11/0x20 age=8379928/8379928/8379928 pid=1 cpus=0
+      2 __vmalloc_area_node+0xfb/0x140 age=8374585/8375388/8376192 pid=122-126 cpus=0-1
+     32 dma_pool_create+0x90/0x1e0 age=8374074/8374505/8374905 pid=143-147 cpus=0-1
+     28 __percpu_alloc_mask+0xbc/0x140 age=8360136/8365750/8379780 pid=1-1549 cpus=0
+      2 seq_open+0x84/0xa0 age=8355780/8360929/8366079 pid=1371-1738 cpus=0
+     19 inotify_init+0x1b/0x90 age=8333719/8353284/8379778 pid=1-2544 cpus=0-1
+      1 mounts_open_common+0x11e/0x210 age=8365844 pid=1371 cpus=0
+    347 __proc_create+0xa5/0x150 age=8355314/8375854/8380066 pid=0-1813 cpus=0-1
+      6 start_this_handle+0x3f5/0x410 age=4241/38502/142468 pid=21-13466 cpus=0-1
+      3 elevator_alloc+0x1b/0xc0 age=62010/5606790/8379345 pid=1-13295 cpus=0-1
+      2 acpi_ds_build_internal_buffer_obj+0xe1/0x121 age=8379913/8379914/8379915 pid=1 cpus=0
+      1 find_dock+0x414/0x426 age=8379931 pid=1 cpus=0
+      6 con_insert_unipair+0x96/0x110 age=8355034/8367399/8379765 pid=1-1898 cpus=1
+      2 neigh_resolve_output+0x226/0x2e0 age=1134112/4736669/8339226 pid=0-2401 cpus=0-1
+      1 genl_register_family+0x1b6/0x1e0 age=8375014 pid=126 cpus=0
+      5 ip_mc_inc_group+0x6b/0x280 age=8325482/8352347/8367852 pid=1185-1849 cpus=0-1
+      2 cache_add_dev+0x17b/0x546 age=8379779/8379779/8379780 pid=1 cpus=0-1
+     10 audit_register_class+0x1e/0xa1 age=8379779/8379779/8379779 pid=1 cpus=1
+      1 proc_net_ns_init+0x1b/0x81 age=8380066 pid=0 cpus=0
+      3 snd_malloc_sgbuf_pages+0xfa/0x1f0 [snd_page_alloc] age=8374129/8374129/8374129 pid=107 cpus=1
+      1 usb_get_configuration+0x18f/0x1480 [usbcore] age=8372709 pid=419 cpus=0
+      1 acpi_ac_add+0x3a/0x1b1 [ac] age=8375784 pid=392 cpus=0
+      1 acpi_processor_register_performance+0x2a0/0x3a6 [processor] age=8366391 pid=1358 cpus=0
+      3 snd_ctl_open+0x8e/0x180 [snd] age=8333026/8337179/8339273 pid=2400-2425 cpus=0
+      8 ieee80211_rx_bss_add+0x4e/0x140 [mac80211] age=8354793/8355457/8355979 pid=0-1951 cpus=0
+      2 ipv6_add_addr+0x199/0x3c0 [ipv6] age=8329536/8344837/8360138 pid=8-1549 cpus=0-1
+      5 ipv6_dev_mc_inc+0x141/0x3f0 [ipv6] age=8329536/8354016/8360138 pid=8-1549 cpus=0-1
+''')
+f('sys/kernel/slab/kmalloc-256/objs_per_slab', 0o664, b'12\n')
+f('sys/kernel/slab/kmalloc-256/shrink', 0o664, b'')
+f('sys/kernel/slab/kmalloc-256/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-256/object_size', 0o664, b'256\n')
+f('sys/kernel/slab/kmalloc-256/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-256/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-256/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-256/objects_partial', 0o664, b'60\n')
+f('sys/kernel/slab/kmalloc-256/objects', 0o664, b'504\n')
+f('sys/kernel/slab/kmalloc-256/order', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-256/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-256/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-256/align', 0o664, b'8\n')
+f('sys/kernel/slab/kmalloc-256/partial', 0o664, b'6\n')
+f('sys/kernel/slab/kmalloc-256/validate', 0o664, b'')
+f('sys/kernel/slab/kmalloc-256/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-256/free_calls', 0o664, b'''    389 <not-available> age=4303047363 pid=0 cpus=0
+      1 __vunmap+0xe9/0x120 age=8374878 pid=107 cpus=1
+     38 do_execve+0x2b1/0x2d0 age=7303/7294190/8377088 pid=71-13465 cpus=0-1
+     51 seq_release+0x20/0x30 age=23541/7877166/8376202 pid=105-2535 cpus=0-1
+      3 free_proc_entry+0x73/0x90 age=8356279/8369643/8378992 pid=1-1541 cpus=0
+      3 __journal_drop_transaction+0xe6/0x170 age=8360317/8363466/8366128 pid=32 cpus=0
+      1 acpi_pci_irq_add_prt+0xc2/0x324 age=8379845 pid=1 cpus=0
+      2 acpi_pci_bind+0x26b/0x28d age=8379844/8379845/8379846 pid=1 cpus=0
+      1 wireless_send_event+0x172/0x330 age=8329538 pid=742 cpus=1
+      3 usb_string+0x17c/0x1e0 [usbcore] age=8374367/8374614/8374886 pid=143 cpus=0
+      3 snd_ctl_release+0xf9/0x130 [snd] age=8333027/8337180/8339274 pid=2400-2425 cpus=0
+      1 ieee80211_set_associated+0x421/0x520 [mac80211] age=8329538 pid=742 cpus=1
+''')
+f('sys/kernel/slab/kmalloc-256/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/biovec-64', 0o775)
+f('sys/kernel/slab/biovec-64/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-64/ctor', 0o664, b'')
+f('sys/kernel/slab/biovec-64/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-64/slab_size', 0o664, b'1152\n')
+f('sys/kernel/slab/biovec-64/total_objects', 0o664, b'28\n')
+f('sys/kernel/slab/biovec-64/slabs', 0o664, b'2\n')
+f('sys/kernel/slab/biovec-64/poison', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-64/alloc_calls', 0o664, b'      2 mempool_alloc_slab+0x11/0x20 age=8379482/8379482/8379482 pid=1 cpus=0\n')
+f('sys/kernel/slab/biovec-64/objs_per_slab', 0o664, b'14\n')
+f('sys/kernel/slab/biovec-64/shrink', 0o664, b'')
+f('sys/kernel/slab/biovec-64/trace', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-64/object_size', 0o664, b'1024\n')
+f('sys/kernel/slab/biovec-64/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-64/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-64/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-64/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-64/objects', 0o664, b'28\n')
+f('sys/kernel/slab/biovec-64/order', 0o664, b'2\n')
+f('sys/kernel/slab/biovec-64/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-64/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-64/align', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-64/partial', 0o664, b'0\n')
+f('sys/kernel/slab/biovec-64/validate', 0o664, b'')
+f('sys/kernel/slab/biovec-64/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/biovec-64/free_calls', 0o664, b'      2 <not-available> age=4303046917 pid=0 cpus=0\n')
+f('sys/kernel/slab/biovec-64/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/sysfs_dir_cache', 0o775)
+f('sys/kernel/slab/sysfs_dir_cache/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/sysfs_dir_cache/ctor', 0o664, b'')
+f('sys/kernel/slab/sysfs_dir_cache/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/sysfs_dir_cache/slab_size', 0o664, b'152\n')
+f('sys/kernel/slab/sysfs_dir_cache/total_objects', 0o664, b'11518\n')
+f('sys/kernel/slab/sysfs_dir_cache/slabs', 0o664, b'443\n')
+f('sys/kernel/slab/sysfs_dir_cache/poison', 0o664, b'1\n')
+f('sys/kernel/slab/sysfs_dir_cache/alloc_calls', 0o664, b'  11488 sysfs_new_dirent+0x38/0x120 age=22320/7764235/8379787 pid=0-13295 cpus=0-1\n')
+f('sys/kernel/slab/sysfs_dir_cache/objs_per_slab', 0o664, b'26\n')
+f('sys/kernel/slab/sysfs_dir_cache/shrink', 0o664, b'')
+f('sys/kernel/slab/sysfs_dir_cache/trace', 0o664, b'0\n')
+f('sys/kernel/slab/sysfs_dir_cache/object_size', 0o664, b'80\n')
+f('sys/kernel/slab/sysfs_dir_cache/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/sysfs_dir_cache/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/sysfs_dir_cache/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/sysfs_dir_cache/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/sysfs_dir_cache/objects', 0o664, b'11518\n')
+f('sys/kernel/slab/sysfs_dir_cache/order', 0o664, b'0\n')
+f('sys/kernel/slab/sysfs_dir_cache/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/sysfs_dir_cache/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/sysfs_dir_cache/align', 0o664, b'0\n')
+f('sys/kernel/slab/sysfs_dir_cache/partial', 0o664, b'0\n')
+f('sys/kernel/slab/sysfs_dir_cache/validate', 0o664, b'')
+f('sys/kernel/slab/sysfs_dir_cache/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/sysfs_dir_cache/free_calls', 0o664, b'''  11006 <not-available> age=4303047087 pid=0 cpus=0
+    482 release_sysfs_dirent+0x5c/0xd0 age=61294/6319346/8379456 pid=1-2141 cpus=0-1
+''')
+f('sys/kernel/slab/sysfs_dir_cache/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/request_sock_TCP', 0o775)
+f('sys/kernel/slab/request_sock_TCP/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCP/ctor', 0o664, b'')
+f('sys/kernel/slab/request_sock_TCP/hwcache_align', 0o664, b'1\n')
+f('sys/kernel/slab/request_sock_TCP/slab_size', 0o664, b'192\n')
+f('sys/kernel/slab/request_sock_TCP/total_objects', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCP/slabs', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCP/poison', 0o664, b'1\n')
+f('sys/kernel/slab/request_sock_TCP/alloc_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/request_sock_TCP/objs_per_slab', 0o664, b'21\n')
+f('sys/kernel/slab/request_sock_TCP/shrink', 0o664, b'')
+f('sys/kernel/slab/request_sock_TCP/trace', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCP/object_size', 0o664, b'88\n')
+f('sys/kernel/slab/request_sock_TCP/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCP/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCP/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCP/objects_partial', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCP/objects', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCP/order', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCP/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/request_sock_TCP/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/request_sock_TCP/align', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCP/partial', 0o664, b'0\n')
+f('sys/kernel/slab/request_sock_TCP/validate', 0o664, b'')
+f('sys/kernel/slab/request_sock_TCP/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/request_sock_TCP/free_calls', 0o664, b'No data\n')
+f('sys/kernel/slab/request_sock_TCP/aliases', 0o664, b'0\n')
+d('sys/kernel/slab/kmalloc-4096', 0o775)
+f('sys/kernel/slab/kmalloc-4096/reclaim_account', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-4096/ctor', 0o664, b'')
+f('sys/kernel/slab/kmalloc-4096/hwcache_align', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-4096/slab_size', 0o664, b'4168\n')
+f('sys/kernel/slab/kmalloc-4096/total_objects', 0o664, b'385\n')
+f('sys/kernel/slab/kmalloc-4096/slabs', 0o664, b'55\n')
+f('sys/kernel/slab/kmalloc-4096/poison', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-4096/alloc_calls', 0o664, b'''      1 load_module+0x18d5/0x1b30 age=8375716 pid=330 cpus=0
+      1 __vmalloc_area_node+0xfb/0x140 age=8371983 pid=867 cpus=0
+     24 __percpu_alloc_mask+0xbc/0x140 age=8360098/8363374/8379742 pid=1-1549 cpus=0
+      1 seq_read+0x2f0/0x360 age=8365263 pid=1371 cpus=0
+      2 ext3_fill_super+0x68/0x1a20 age=8369599/8373987/8378375 pid=1-962 cpus=0
+      4 journal_init_revoke_table+0x4d/0xb0 age=8369583/8373933/8378283 pid=1-962 cpus=0
+      2 journal_init_inode+0x8d/0x130 age=8369583/8373933/8378283 pid=1-962 cpus=0
+      1 fat_fill_super+0x40/0xdd0 age=61388 pid=13348 cpus=1
+      7 scsi_host_alloc+0x35/0x360 age=66976/7192011/8379690 pid=1-419 cpus=0-1
+      3 scsi_alloc_sdev+0x6a/0x270 age=61972/5606752/8379307 pid=1-13295 cpus=0-1
+      8 input_allocate_device+0x1a/0xb0 age=53455/7335718/8378931 pid=17-419 cpus=0-1
+      1 reqsk_queue_alloc+0x112/0x120 age=8354535 pid=1920 cpus=0
+      3 alloc_netdev_mq+0x4f/0x180 age=8373564/8375671/8379766 pid=1-126 cpus=0-1
+      1 pidmap_init+0x15/0x4e age=8380028 pid=0 cpus=0
+      1 netlink_proto_init+0x47/0x16b age=8379894 pid=1 cpus=0
+      2 acpi_processor_add+0x25/0x6d [processor] age=8375653/8375684/8375715 pid=330 cpus=0
+      1 yenta_probe+0x38/0x6cd [yenta_socket] age=8373766 pid=352 cpus=0
+    281 iwl3945_rx_allocate+0xd5/0x160 [iwl3945] age=2011/7577/13684 pid=733 cpus=0
+      1 skcipher_geniv_alloc+0x304/0x3f0 [crypto_blkcipher] age=8374372 pid=215 cpus=1
+      2 bitmap_get_counter+0x153/0x220 [md_mod] age=8370027/8370029/8370031 pid=916 cpus=0
+      1 bitmap_create+0x2bc/0xad0 [md_mod] age=8370031 pid=916 cpus=0
+      6 __addrconf_sysctl_register+0x7b/0x140 [ipv6] age=8360098/8360099/8360101 pid=1549 cpus=0
+      1 acm_probe+0x34c/0xa50 [cdc_acm] age=22641 pid=419 cpus=0
+''')
+f('sys/kernel/slab/kmalloc-4096/objs_per_slab', 0o664, b'7\n')
+f('sys/kernel/slab/kmalloc-4096/shrink', 0o664, b'')
+f('sys/kernel/slab/kmalloc-4096/trace', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-4096/object_size', 0o664, b'4096\n')
+f('sys/kernel/slab/kmalloc-4096/cpu_slabs', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-4096/cache_dma', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-4096/destroy_by_rcu', 0o664, b'0\n')
+f('sys/kernel/slab/kmalloc-4096/objects_partial', 0o664, b'17\n')
+f('sys/kernel/slab/kmalloc-4096/objects', 0o664, b'367\n')
+f('sys/kernel/slab/kmalloc-4096/order', 0o664, b'3\n')
+f('sys/kernel/slab/kmalloc-4096/sanity_checks', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-4096/store_user', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-4096/align', 0o664, b'8\n')
+f('sys/kernel/slab/kmalloc-4096/partial', 0o664, b'5\n')
+f('sys/kernel/slab/kmalloc-4096/validate', 0o664, b'')
+f('sys/kernel/slab/kmalloc-4096/red_zone', 0o664, b'1\n')
+f('sys/kernel/slab/kmalloc-4096/free_calls', 0o664, b'''    187 <not-available> age=4303047324 pid=0 cpus=0
+      5 seq_release+0x18/0x30 age=61430/6709712/8374782 pid=107-1371 cpus=0-1
+      1 cryptomgr_probe+0x81/0xf0 age=8373564 pid=745 cpus=0
+     30 kobject_uevent_env+0x122/0x470 age=22643/7542644/8379894 pid=1-1549 cpus=0-1
+      1 show_uevent+0xee/0x110 age=2013 pid=13466 cpus=0
+      1 input_dev_release+0x23/0x40 age=8378913 pid=17 cpus=0
+    130 skb_release_data+0x85/0xd0 age=2011/73374/8354535 pid=0-13466 cpus=0-1
+''')
+f('sys/kernel/slab/kmalloc-4096/aliases', 0o664, b'0\n')
+d('sys/kernel/debug', 0o775)
+d('sys/kernel/debug/x86', 0o775)
+f('sys/kernel/debug/x86/pat_memtype_list', 0o664, b'')
+d('sys/kernel/debug/bdi', 0o775)
+d('sys/kernel/debug/bdi/7:1', 0o775)
+f('sys/kernel/debug/bdi/7:1/stats', 0o664, b'''BdiWriteback:            0 kB
+BdiReclaimable:          0 kB
+BdiDirtyThresh:          0 kB
+DirtyThresh:        189288 kB
+BackgroundThresh:    94644 kB
+''')
+d('sys/kernel/debug/bdi/7:0', 0o775)
+f('sys/kernel/debug/bdi/7:0/stats', 0o664, b'''BdiWriteback:            0 kB
+BdiReclaimable:          0 kB
+BdiDirtyThresh:          0 kB
+DirtyThresh:        189292 kB
+BackgroundThresh:    94644 kB
+''')
+d('sys/kernel/debug/bdi/7:2', 0o775)
+f('sys/kernel/debug/bdi/7:2/stats', 0o664, b'''BdiWriteback:            0 kB
+BdiReclaimable:          0 kB
+BdiDirtyThresh:          0 kB
+DirtyThresh:        189288 kB
+BackgroundThresh:    94644 kB
+''')
+d('sys/kernel/debug/bdi/7:4', 0o775)
+f('sys/kernel/debug/bdi/7:4/stats', 0o664, b'''BdiWriteback:            0 kB
+BdiReclaimable:          0 kB
+BdiDirtyThresh:          0 kB
+DirtyThresh:        189288 kB
+BackgroundThresh:    94644 kB
+''')
+d('sys/kernel/debug/bdi/7:3', 0o775)
+f('sys/kernel/debug/bdi/7:3/stats', 0o664, b'''BdiWriteback:            0 kB
+BdiReclaimable:          0 kB
+BdiDirtyThresh:          0 kB
+DirtyThresh:        189288 kB
+BackgroundThresh:    94644 kB
+''')
+d('sys/kernel/debug/bdi/11:0', 0o775)
+f('sys/kernel/debug/bdi/11:0/stats', 0o664, b'''BdiWriteback:            0 kB
+BdiReclaimable:          0 kB
+BdiDirtyThresh:          0 kB
+DirtyThresh:        189292 kB
+BackgroundThresh:    94644 kB
+''')
+d('sys/kernel/debug/bdi/7:5', 0o775)
+f('sys/kernel/debug/bdi/7:5/stats', 0o664, b'''BdiWriteback:            0 kB
+BdiReclaimable:          0 kB
+BdiDirtyThresh:          0 kB
+DirtyThresh:        189288 kB
+BackgroundThresh:    94644 kB
+''')
+d('sys/kernel/debug/bdi/8:0', 0o775)
+f('sys/kernel/debug/bdi/8:0/stats', 0o664, b'''BdiWriteback:            0 kB
+BdiReclaimable:      13696 kB
+BdiDirtyThresh:      83368 kB
+DirtyThresh:        189292 kB
+BackgroundThresh:    94644 kB
+''')
+d('sys/kernel/debug/bdi/default', 0o775)
+f('sys/kernel/debug/bdi/default/stats', 0o664, b'''BdiWriteback:            0 kB
+BdiReclaimable:          0 kB
+BdiDirtyThresh:          0 kB
+DirtyThresh:        189292 kB
+BackgroundThresh:    94644 kB
+''')
+d('sys/kernel/debug/bdi/0:16', 0o775)
+f('sys/kernel/debug/bdi/0:16/stats', 0o664, b'''BdiWriteback:            0 kB
+BdiReclaimable:          0 kB
+BdiDirtyThresh:          0 kB
+DirtyThresh:        189272 kB
+BackgroundThresh:    94636 kB
+''')
+d('sys/kernel/debug/bdi/8:16', 0o775)
+f('sys/kernel/debug/bdi/8:16/stats', 0o664, b'''BdiWriteback:            0 kB
+BdiReclaimable:          0 kB
+BdiDirtyThresh:          0 kB
+DirtyThresh:        189272 kB
+BackgroundThresh:    94636 kB
+''')
+d('sys/kernel/debug/bdi/9:0', 0o775)
+f('sys/kernel/debug/bdi/9:0/stats', 0o664, b'''BdiWriteback:            0 kB
+BdiReclaimable:          0 kB
+BdiDirtyThresh:          0 kB
+DirtyThresh:        189292 kB
+BackgroundThresh:    94644 kB
+''')
+d('sys/kernel/debug/bdi/7:7', 0o775)
+f('sys/kernel/debug/bdi/7:7/stats', 0o664, b'''BdiWriteback:            0 kB
+BdiReclaimable:          0 kB
+BdiDirtyThresh:          0 kB
+DirtyThresh:        189288 kB
+BackgroundThresh:    94644 kB
+''')
+d('sys/kernel/debug/bdi/7:6', 0o775)
+f('sys/kernel/debug/bdi/7:6/stats', 0o664, b'''BdiWriteback:            0 kB
+BdiReclaimable:          0 kB
+BdiDirtyThresh:          0 kB
+DirtyThresh:        189288 kB
+BackgroundThresh:    94644 kB
+''')
+d('sys/kernel/uids', 0o775)
+d('sys/kernel/uids/100', 0o775)
+f('sys/kernel/uids/100/cpu_share', 0o664, b'1024\n')
+d('sys/kernel/uids/103', 0o775)
+f('sys/kernel/uids/103/cpu_share', 0o664, b'1024\n')
+d('sys/kernel/uids/51', 0o775)
+f('sys/kernel/uids/51/cpu_share', 0o664, b'1024\n')
+d('sys/kernel/uids/105', 0o775)
+f('sys/kernel/uids/105/cpu_share', 0o664, b'1024\n')
+d('sys/kernel/uids/2702', 0o775)
+f('sys/kernel/uids/2702/cpu_share', 0o664, b'1024\n')
+d('sys/kernel/uids/0', 0o775)
+f('sys/kernel/uids/0/cpu_share', 0o664, b'2048\n')
+d('sys/power', 0o775)
+f('sys/power/state', 0o664, b'mem\n')
+d('sys/firmware', 0o775)
+d('sys/firmware/memmap', 0o775)
+d('sys/firmware/memmap/8', 0o775)
+f('sys/firmware/memmap/8/start', 0o664, b'0xfec00000\n')
+f('sys/firmware/memmap/8/type', 0o664, b'reserved\n')
+f('sys/firmware/memmap/8/end', 0o664, b'0xfec0ffff\n')
+d('sys/firmware/memmap/11', 0o775)
+f('sys/firmware/memmap/11/start', 0o664, b'0xfed1c000\n')
+f('sys/firmware/memmap/11/type', 0o664, b'reserved\n')
+f('sys/firmware/memmap/11/end', 0o664, b'0xfed8ffff\n')
+d('sys/firmware/memmap/6', 0o775)
+f('sys/firmware/memmap/6/start', 0o664, b'0x7ff00000\n')
+f('sys/firmware/memmap/6/type', 0o664, b'reserved\n')
+f('sys/firmware/memmap/6/end', 0o664, b'0x7fffffff\n')
+d('sys/firmware/memmap/5', 0o775)
+f('sys/firmware/memmap/5/start', 0o664, b'0x7fedf000\n')
+f('sys/firmware/memmap/5/type', 0o664, b'ACPI Non-volatile Storage\n')
+f('sys/firmware/memmap/5/end', 0o664, b'0x7fefffff\n')
+d('sys/firmware/memmap/9', 0o775)
+f('sys/firmware/memmap/9/start', 0o664, b'0xfed00000\n')
+f('sys/firmware/memmap/9/type', 0o664, b'reserved\n')
+f('sys/firmware/memmap/9/end', 0o664, b'0xfed003ff\n')
+d('sys/firmware/memmap/2', 0o775)
+f('sys/firmware/memmap/2/start', 0o664, b'0xdc000\n')
+f('sys/firmware/memmap/2/type', 0o664, b'reserved\n')
+f('sys/firmware/memmap/2/end', 0o664, b'0xfffff\n')
+d('sys/firmware/memmap/12', 0o775)
+f('sys/firmware/memmap/12/start', 0o664, b'0xfee00000\n')
+f('sys/firmware/memmap/12/type', 0o664, b'reserved\n')
+f('sys/firmware/memmap/12/end', 0o664, b'0xfee00fff\n')
+d('sys/firmware/memmap/4', 0o775)
+f('sys/firmware/memmap/4/start', 0o664, b'0x7fed0000\n')
+f('sys/firmware/memmap/4/type', 0o664, b'ACPI Tables\n')
+f('sys/firmware/memmap/4/end', 0o664, b'0x7fedefff\n')
+d('sys/firmware/memmap/3', 0o775)
+f('sys/firmware/memmap/3/start', 0o664, b'0x100000\n')
+f('sys/firmware/memmap/3/type', 0o664, b'System RAM\n')
+f('sys/firmware/memmap/3/end', 0o664, b'0x7fecffff\n')
+d('sys/firmware/memmap/10', 0o775)
+f('sys/firmware/memmap/10/start', 0o664, b'0xfed14000\n')
+f('sys/firmware/memmap/10/type', 0o664, b'reserved\n')
+f('sys/firmware/memmap/10/end', 0o664, b'0xfed19fff\n')
+d('sys/firmware/memmap/0', 0o775)
+f('sys/firmware/memmap/0/start', 0o664, b'0x0\n')
+f('sys/firmware/memmap/0/type', 0o664, b'System RAM\n')
+f('sys/firmware/memmap/0/end', 0o664, b'0x9efff\n')
+d('sys/firmware/memmap/7', 0o775)
+f('sys/firmware/memmap/7/start', 0o664, b'0xf0000000\n')
+f('sys/firmware/memmap/7/type', 0o664, b'reserved\n')
+f('sys/firmware/memmap/7/end', 0o664, b'0xf3ffffff\n')
+d('sys/firmware/memmap/1', 0o775)
+f('sys/firmware/memmap/1/start', 0o664, b'0x9f000\n')
+f('sys/firmware/memmap/1/type', 0o664, b'reserved\n')
+f('sys/firmware/memmap/1/end', 0o664, b'0x9ffff\n')
+d('sys/firmware/memmap/13', 0o775)
+f('sys/firmware/memmap/13/start', 0o664, b'0xff800000\n')
+f('sys/firmware/memmap/13/type', 0o664, b'reserved\n')
+f('sys/firmware/memmap/13/end', 0o664, b'0xffffffff\n')
+d('sys/firmware/edd', 0o775)
+d('sys/firmware/edd/int13_dev80', 0o775)
+l('sys/firmware/edd/int13_dev80/pci_dev', '../../../devices/pci0000:00/0000:00:1f.2')
+f('sys/firmware/edd/int13_dev80/version', 0o664, b'0x30\n')
+f('sys/firmware/edd/int13_dev80/raw_data', 0o664, b'J\x00\x01\x00\xff?\x00\x00\x10\x00\x00\x00?\x00\x00\x000"\xa5\x0b\x00\x00\x00\x00\x00\x02\xc6\x00@\x00\xdd\xbe,\x00\x00\x00PCI ATA     \x00\x1f\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5')
+f('sys/firmware/edd/int13_dev80/sectors', 0o664, b'195371568\n')
+f('sys/firmware/edd/int13_dev80/default_sectors_per_track', 0o664, b'63\n')
+f('sys/firmware/edd/int13_dev80/legacy_max_cylinder', 0o664, b'1022\n')
+f('sys/firmware/edd/int13_dev80/interface', 0o664, b'ATA     \tdevice: 0\n')
+f('sys/firmware/edd/int13_dev80/host_bus', 0o664, b'PCI \t00:1f.2  channel: 1\n')
+f('sys/firmware/edd/int13_dev80/legacy_max_head', 0o664, b'239\n')
+f('sys/firmware/edd/int13_dev80/mbr_signature', 0o664, b'0x00087b5f\n')
+f('sys/firmware/edd/int13_dev80/info_flags', 0o664, b'DMA boundary error transparent\n')
+f('sys/firmware/edd/int13_dev80/default_heads', 0o664, b'16\n')
+f('sys/firmware/edd/int13_dev80/default_cylinders', 0o664, b'16383\n')
+f('sys/firmware/edd/int13_dev80/legacy_sectors_per_track', 0o664, b'63\n')
+f('sys/firmware/edd/int13_dev80/extensions', 0o664, b'''Fixed disk access
+Enhanced Disk Drive support
+''')
+d('sys/firmware/acpi', 0o775)
+d('sys/firmware/acpi/tables', 0o775)
+f('sys/firmware/acpi/tables/DSDT', 0o664, b'''DSDT4\xd2\x00\x00\x01\x9aLENOVOTP-7I    \x11\x00\x00MSFT\x0e\x00\x00\x01\x10 \\_PR_[\x83\x0bCPU0\x00\x10\x10\x00\x00\x06[\x83\x0bCPU1\x01\x10\x10\x00\x00\x06\x10\x83I\x0b\\_SB_\x14C2_INI\x00\xa0(\x93\\SCMP\\_OS_\rMicrosoft Windows\x00\x00p
+\x01\\W98F\xa1C\x11\xa0F\t[\x12\\_OSI`\xa0,\\_OSI\rWindows 2001\x00p
+\x01\\WNTFp
+\x01\\WXPFp
+\x00\\WSPV\xa0 \\_OSI\rWindows 2001 SP1\x00p
+\x01\\WSPV\xa0 \\_OSI\rWindows 2001 SP2\x00p
+\x02\\WSPV\xa0\x1c\\_OSI\rWindows 2006\x00p
+\x01\\WVIS\xa1I\x07\xa0+\x93\\SCMP\\_OS_\rMicrosoft Windows NT\x00\x00p
+\x01\\WNTF\xa1J\x04\xa0G\x04\x93\\SCMP\\_OS_\rMicrosoft WindowsME: Millennium Edition\x00\x00p
+\x01\\WMEFp
+\x01\\W98F\xa0\x12\x92\x95\\_REV
+\x02p
+\x01\\H8DRp
+\x01\\OSIF\\/\x05_SB_PCI0LPC_MOU_MHIDp\\SRAH\\/\x03_SB_PCI0RID_\xa0\x1eVIGDp\\SRHE\\/\x04_SB_PCI0VID_RID_\xa1\x1ap\\SRHE\\/\x04_SB_PCI0AGP_RID_p\\SRE0\\/\x04_SB_PCI0EXP0RID_p\\SRE1\\/\x04_SB_PCI0EXP1RID_p\\SRE2\\/\x04_SB_PCI0EXP2RID_p\\SRE3\\/\x04_SB_PCI0EXP3RID_p\\SRU0\\/\x04_SB_PCI0USB0RID_p\\SRU1\\/\x04_SB_PCI0USB1RID_p\\SRU2\\/\x04_SB_PCI0USB2RID_p\\SRU3\\/\x04_SB_PCI0USB3RID_p\\SRU7\\/\x04_SB_PCI0USB7RID_p\\SRPB\\/\x04_SB_PCI0PCI1RID_p\\SRLP\\/\x04_SB_PCI0LPC_RID_p\\SRSA\\/\x04_SB_PCI0IDE0RID_p\\SRSA\\/\x04_SB_PCI0SATARID_p\\SRSM\\/\x04_SB_PCI0SMBURID_[\x82K\x11LNKA\x08_HID\x0cA\xd0\x0c\x0f\x08_UID
+\x01\x14(_STA\x00\xa0\x1c\x92VPIR\\/\x04_SB_PCI0LPC_PIRA\xa4
+\t\xa1\x04\xa4
+\x0b\x08_PRS\x11\t
+\x06#\xf8\x0e\x18y\x00\x14/_DIS\x00}\\/\x04_SB_PCI0LPC_PIRA
+\x80\\/\x04_SB_PCI0LPC_PIRA\x08BUFA\x11\t
+\x06#\x00\x00\x18y\x00\x8bBUFA
+\x01IRA1\x14:_CRS\x00{\\/\x04_SB_PCI0LPC_PIRA
+\x8f`\xa0\x0eVPIR`y
+\x01`IRA1\xa1\x08p
+\x00IRA1\xa4BUFA\x14F\x04_SRS\x01\x8bh
+\x01IRA2\x82IRA2`{\\/\x04_SB_PCI0LPC_PIRA
+pa}av`apa\\/\x04_SB_PCI0LPC_PIRA[\x82K\x11LNKB\x08_HID\x0cA\xd0\x0c\x0f\x08_UID
+\x02\x14(_STA\x00\xa0\x1c\x92VPIR\\/\x04_SB_PCI0LPC_PIRB\xa4
+\t\xa1\x04\xa4
+\x0b\x08_PRS\x11\t
+\x06#\xf8\x0e\x18y\x00\x14/_DIS\x00}\\/\x04_SB_PCI0LPC_PIRB
+\x80\\/\x04_SB_PCI0LPC_PIRB\x08BUFB\x11\t
+\x06#\x00\x00\x18y\x00\x8bBUFB
+\x01IRB1\x14:_CRS\x00{\\/\x04_SB_PCI0LPC_PIRB
+\x8f`\xa0\x0eVPIR`y
+\x01`IRB1\xa1\x08p
+\x00IRB1\xa4BUFB\x14F\x04_SRS\x01\x8bh
+\x01IRB2\x82IRB2`{\\/\x04_SB_PCI0LPC_PIRB
+pa}av`apa\\/\x04_SB_PCI0LPC_PIRB[\x82K\x11LNKC\x08_HID\x0cA\xd0\x0c\x0f\x08_UID
+\x03\x14(_STA\x00\xa0\x1c\x92VPIR\\/\x04_SB_PCI0LPC_PIRC\xa4
+\t\xa1\x04\xa4
+\x0b\x08_PRS\x11\t
+\x06#\xf8\x0e\x18y\x00\x14/_DIS\x00}\\/\x04_SB_PCI0LPC_PIRC
+\x80\\/\x04_SB_PCI0LPC_PIRC\x08BUFC\x11\t
+\x06#\x00\x00\x18y\x00\x8bBUFC
+\x01IRC1\x14:_CRS\x00{\\/\x04_SB_PCI0LPC_PIRC
+\x8f`\xa0\x0eVPIR`y
+\x01`IRC1\xa1\x08p
+\x00IRC1\xa4BUFC\x14F\x04_SRS\x01\x8bh
+\x01IRC2\x82IRC2`{\\/\x04_SB_PCI0LPC_PIRC
+pa}av`apa\\/\x04_SB_PCI0LPC_PIRC[\x82K\x11LNKD\x08_HID\x0cA\xd0\x0c\x0f\x08_UID
+\x04\x14(_STA\x00\xa0\x1c\x92VPIR\\/\x04_SB_PCI0LPC_PIRD\xa4
+\t\xa1\x04\xa4
+\x0b\x08_PRS\x11\t
+\x06#\xf8\x0e\x18y\x00\x14/_DIS\x00}\\/\x04_SB_PCI0LPC_PIRD
+\x80\\/\x04_SB_PCI0LPC_PIRD\x08BUFD\x11\t
+\x06#\x00\x00\x18y\x00\x8bBUFD
+\x01IRD1\x14:_CRS\x00{\\/\x04_SB_PCI0LPC_PIRD
+\x8f`\xa0\x0eVPIR`y
+\x01`IRD1\xa1\x08p
+\x00IRD1\xa4BUFD\x14F\x04_SRS\x01\x8bh
+\x01IRD2\x82IRD2`{\\/\x04_SB_PCI0LPC_PIRD
+pa}av`apa\\/\x04_SB_PCI0LPC_PIRD[\x82K\x11LNKE\x08_HID\x0cA\xd0\x0c\x0f\x08_UID
+\x05\x14(_STA\x00\xa0\x1c\x92VPIR\\/\x04_SB_PCI0LPC_PIRE\xa4
+\t\xa1\x04\xa4
+\x0b\x08_PRS\x11\t
+\x06#\xf8\x0e\x18y\x00\x14/_DIS\x00}\\/\x04_SB_PCI0LPC_PIRE
+\x80\\/\x04_SB_PCI0LPC_PIRE\x08BUFE\x11\t
+\x06#\x00\x00\x18y\x00\x8bBUFE
+\x01IRE1\x14:_CRS\x00{\\/\x04_SB_PCI0LPC_PIRE
+\x8f`\xa0\x0eVPIR`y
+\x01`IRE1\xa1\x08p
+\x00IRE1\xa4BUFE\x14F\x04_SRS\x01\x8bh
+\x01IRE2\x82IRE2`{\\/\x04_SB_PCI0LPC_PIRE
+pa}av`apa\\/\x04_SB_PCI0LPC_PIRE[\x82K\x11LNKF\x08_HID\x0cA\xd0\x0c\x0f\x08_UID
+\x06\x14(_STA\x00\xa0\x1c\x92VPIR\\/\x04_SB_PCI0LPC_PIRF\xa4
+\t\xa1\x04\xa4
+\x0b\x08_PRS\x11\t
+\x06#\xf8\x0e\x18y\x00\x14/_DIS\x00}\\/\x04_SB_PCI0LPC_PIRF
+\x80\\/\x04_SB_PCI0LPC_PIRF\x08BUFF\x11\t
+\x06#\x00\x00\x18y\x00\x8bBUFF
+\x01IRF1\x14:_CRS\x00{\\/\x04_SB_PCI0LPC_PIRF
+\x8f`\xa0\x0eVPIR`y
+\x01`IRF1\xa1\x08p
+\x00IRF1\xa4BUFF\x14F\x04_SRS\x01\x8bh
+\x01IRF2\x82IRF2`{\\/\x04_SB_PCI0LPC_PIRF
+pa}av`apa\\/\x04_SB_PCI0LPC_PIRF[\x82K\x11LNKG\x08_HID\x0cA\xd0\x0c\x0f\x08_UID
+\x07\x14(_STA\x00\xa0\x1c\x92VPIR\\/\x04_SB_PCI0LPC_PIRG\xa4
+\t\xa1\x04\xa4
+\x0b\x08_PRS\x11\t
+\x06#\xf8\x0e\x18y\x00\x14/_DIS\x00}\\/\x04_SB_PCI0LPC_PIRG
+\x80\\/\x04_SB_PCI0LPC_PIRG\x08BUFG\x11\t
+\x06#\x00\x00\x18y\x00\x8bBUFG
+\x01IRG1\x14:_CRS\x00{\\/\x04_SB_PCI0LPC_PIRG
+\x8f`\xa0\x0eVPIR`y
+\x01`IRG1\xa1\x08p
+\x00IRG1\xa4BUFG\x14F\x04_SRS\x01\x8bh
+\x01IRG2\x82IRG2`{\\/\x04_SB_PCI0LPC_PIRG
+pa}av`apa\\/\x04_SB_PCI0LPC_PIRG[\x82K\x11LNKH\x08_HID\x0cA\xd0\x0c\x0f\x08_UID
+\x08\x14(_STA\x00\xa0\x1c\x92VPIR\\/\x04_SB_PCI0LPC_PIRH\xa4
+\t\xa1\x04\xa4
+\x0b\x08_PRS\x11\t
+\x06#\xf8\x0e\x18y\x00\x14/_DIS\x00}\\/\x04_SB_PCI0LPC_PIRH
+\x80\\/\x04_SB_PCI0LPC_PIRH\x08BUFH\x11\t
+\x06#\x00\x00\x18y\x00\x8bBUFH
+\x01IRH1\x14:_CRS\x00{\\/\x04_SB_PCI0LPC_PIRH
+\x8f`\xa0\x0eVPIR`y
+\x01`IRH1\xa1\x08p
+\x00IRH1\xa4BUFH\x14F\x04_SRS\x01\x8bh
+\x01IRH2\x82IRH2`{\\/\x04_SB_PCI0LPC_PIRH
+pa}av`apa\\/\x04_SB_PCI0LPC_PIRH\x149VPIR\x01p
+\x01`\xa0
+{h
+\x80\x00p
+\x00`\xa1!{h
+\x0fa\xa0\t\x95a
+\x03p
+\x00`\xa1\x10\xa0\x0e\x91\x93a
+\x08\x93a
+\rp
+\x00`\xa4`[\x82HhMEM_\x08_HID\x0cA\xd0\x0c\x01\x08ME98\x11B\x04
+>\x86\t\x00\x01\x00\x00\x00\x00\x00\x00
+\x00\x86\t\x00\x00\x00\x00\x0e\x00\x00\x00\x02\x00\x86\t\x00\x01\x00\x00\x10\x00\x00\x00\xee\x01\x86\t\x00\x00\x00\x00\xc0\xfe\x00\x00\x14\x00\x86\t\x00\x00\x00\x10\xd4\xfe\x00\xf0+\x01y\x00\x8aME98
+\x1cMEB0\x8aME98
+ MEL0\x08MGAP\x11\x11
+\x0e\x86\t\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00y\x00\x8aMGAP
+\x04MGPB\x8aMGAP
+\x08MGPL\x08MEMS\x11B\r
+\xce\x86\t\x00\x01\x00\x00\x00\x00\x00\x00
+\x00\x86\t\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x86\t\x00\x00\x00@\x0c\x00\x00\x00\x00\x00\x86\t\x00\x00\x00\x80\x0c\x00\x00\x00\x00\x00\x86\t\x00\x00\x00\xc0\x0c\x00\x00\x00\x00\x00\x86\t\x00\x00\x00\x00\r\x00\x00\x00\x00\x00\x86\t\x00\x00\x00@\r\x00\x00\x00\x00\x00\x86\t\x00\x00\x00\x80\r\x00\x00\x00\x00\x00\x86\t\x00\x00\x00\xc0\r\x00\x00\x00\x00\x00\x86\t\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x86\t\x00\x00\x00@\x0e\x00\x00\x00\x00\x00\x86\t\x00\x00\x00\x80\x0e\x00\x00\x00\x00\x00\x86\t\x00\x00\x00\xc0\x0e\x00\x00\x00\x00\x00\x86\t\x00\x00\x00\x00\x0f\x00\x00\x00\x01\x00\x86\t\x00\x01\x00\x00\x10\x00\x00\x00\xee\x01\x86\t\x00\x00\x00\x00\xc0\xfe\x00\x00\x14\x00\x86\t\x00\x00\x00\x10\xd4\xfe\x00\xf0+\x01y\x00\x8aMEMS
+\x14MC0L\x8aMEMS
+ MC4L\x8aMEMS
+,MC8L\x8aMEMS
+8MCCL\x8aMEMS
+DMD0L\x8aMEMS
+PMD4L\x8aMEMS
+\\MD8L\x8aMEMS
+hMDCL\x8aMEMS
+tME0L\x8aMEMS
+\x80ME4L\x8aMEMS
+\x8cME8L\x8aMEMS
+\x98MECL\x8dMEMS
+xMC0W\x8dMEMS
+\xd8MC4W\x8dMEMS\x0b8\x01MC8W\x8dMEMS\x0b\x98\x01MCCW\x8dMEMS\x0b\xf8\x01MD0W\x8dMEMS\x0bX\x02MD4W\x8dMEMS\x0b\xb8\x02MD8W\x8dMEMS\x0b\x18\x03MDCW\x8dMEMS\x0bx\x03ME0W\x8dMEMS\x0b\xd8\x03ME4W\x8dMEMS\x0b8\x04ME8W\x8dMEMS\x0b\x98\x04MECW\x8aMEMS
+\xacMEB1\x8aMEMS
+\xb0MEL1\x8aMEMS
+\xbcMEL2\x8aMEMS
+\xc8MEL3\x14F=_CRS\x00\xa0M\x17\\W98Ft\\MEMXMEB0MEL0p\\GAPAMGPBp\\GAPLMGPL\xa0I\x0c\x90MGPBMGPLt\x87ME98
+\x02`\x08MBF0\x11\x02`r`\x87MGAP`\x08MBF1\x11\x02`pME98MBF0sMBF0MGAPMBF1\xa0O\x07\x92\x93\\/\x05_SB_PCI0LPC_TPM__STA
+\x0ft\x87MBF1
+\x02`\x08MBF2\x11\x02`r`\x87\\/\x05_SB_PCI0LPC_TPM__CRS`\x08MBF3\x11\x02`pMBF1MBF2sMBF2\\/\x05_SB_PCI0LPC_TPM__CRSMBF3\xa4MBF3\xa1\x06\xa4MBF1\xa1I\x08\xa0O\x07\x92\x93\\/\x05_SB_PCI0LPC_TPM__STA
+\x0ft\x87ME98
+\x02`\x08MBF4\x11\x02`r`\x87\\/\x05_SB_PCI0LPC_TPM__CRS`\x08MBF5\x11\x02`pME98MBF4sMBF4\\/\x05_SB_PCI0LPC_TPM__CRSMBF5\xa4MBF5\xa1\x06\xa4ME98{\\/\x03_SB_PCI0PAM1
+\x03`\xa0\x18`p\x0b\x00@MC0L\xa0\r{`
+\x02\x00p
+\x01MC0W{\\/\x03_SB_PCI0PAM1
+0`\xa0\x18`p\x0b\x00@MC4L\xa0\r{`
+ \x00p
+\x01MC4W{\\/\x03_SB_PCI0PAM2
+\x03`\xa0\x18`p\x0b\x00@MC8L\xa0\r{`
+\x02\x00p
+\x01MC8W{\\/\x03_SB_PCI0PAM2
+0`\xa0\x18`p\x0b\x00@MCCL\xa0\r{`
+ \x00p
+\x01MCCW{\\/\x03_SB_PCI0PAM3
+\x03`\xa0\x18`p\x0b\x00@MD0L\xa0\r{`
+\x02\x00p
+\x01MD0W{\\/\x03_SB_PCI0PAM3
+0`\xa0\x18`p\x0b\x00@MD4L\xa0\r{`
+ \x00p
+\x01MD4W{\\/\x03_SB_PCI0PAM4
+\x03`\xa0\x18`p\x0b\x00@MD8L\xa0\r{`
+\x02\x00p
+\x01MD8W{\\/\x03_SB_PCI0PAM4
+0`\xa0\x18`p\x0b\x00@MDCL\xa0\r{`
+ \x00p
+\x01MDCW{\\/\x03_SB_PCI0PAM5
+\x03`\xa0\x18`p\x0b\x00@ME0L\xa0\r{`
+\x02\x00p
+\x01ME0W{\\/\x03_SB_PCI0PAM5
+0`\xa0\x18`p\x0b\x00@ME4L\xa0\r{`
+ \x00p
+\x01ME4W{\\/\x03_SB_PCI0PAM6
+\x03`\xa0\x18`p\x0b\x00@ME8L\xa0\r{`
+\x02\x00p
+\x01ME8W{\\/\x03_SB_PCI0PAM6
+0`\xa0\x18`p\x0b\x00@MECL\xa0\r{`
+ \x00p
+\x01MECWt\\MEMXMEB1MEL1\xa0-\x92\x93\\/\x05_SB_PCI0LPC_TPM__STA
+\x0fp\x0c\x00\x00@\x01MEL2p
+\x00MEL3\xa4MEMS[\x82I\rLID_\x08_HID\x0cA\xd0\x0c\r\x14<_LID\x00\xa0\x1e\\H8DR\xa4\\/\x05_SB_PCI0LPC_EC__HPLD\xa1\x16\xa0\x0f{\\RBEC
+F
+\x04\x00\xa4
+\x01\xa1\x04\xa4
+\x00\x14&_PRW\x00\xa0\x15\x90\\W98F\x92\\WMEF\xa4\x12\x06\x02
+\x18
+\x04\xa1\t\xa4\x12\x06\x02
+\x18
+\x03\x14D\x06_PSW\x01\xa0?\\H8DR\xa0\x1chp
+\x01\\/\x05_SB_PCI0LPC_EC__HWLO\xa1\x1bp
+\x00\\/\x05_SB_PCI0LPC_EC__HWLO\xa1\x1c\xa0\rh\\MBEC
+2
+\xff
+\x04\xa1\x0c\\MBEC
+2
+\xfb
+\x00[\x82L\tSLPB\x08_HID\x0cA\xd0\x0c\x0e\x14&_PRW\x00\xa0\x15\x90\\W98F\x92\\WMEF\xa4\x12\x06\x02
+\x18
+\x04\xa1\t\xa4\x12\x06\x02
+\x18
+\x03\x14D\x06_PSW\x01\xa0?\\H8DR\xa0\x1chp
+\x01\\/\x05_SB_PCI0LPC_EC__HWFN\xa1\x1bp
+\x00\\/\x05_SB_PCI0LPC_EC__HWFN\xa1\x1c\xa0\rh\\MBEC
+2
+\xff
+\x10\xa1\x0c\\MBEC
+2
+\xef
+\x00[\x82\x8fH\x07PCI0[\x82\x8a\x96\x04LPC_\x08_ADR\x0c\x00\x00\x1f\x00\x08_S3D
+\x03\x08RID_
+\x00[\x82M\x1aSIO_\x08_HID\x0cA\xd0\x0c\x02\x08_UID
+\x00\x08SCRS\x11B\x10
+\xfeG\x01\x10\x00\x10\x00\x01\x10G\x01\x90\x00\x90\x00\x01\x10G\x01$\x00$\x00\x01\x02G\x01(\x00(\x00\x01\x02G\x01,\x00,\x00\x01\x02G\x010\x000\x00\x01\x02G\x014\x004\x00\x01\x02G\x018\x008\x00\x01\x02G\x01<\x00<\x00\x01\x02G\x01\xa4\x00\xa4\x00\x01\x02G\x01\xa8\x00\xa8\x00\x01\x02G\x01\xac\x00\xac\x00\x01\x02G\x01\xb0\x00\xb0\x00\x01\x06G\x01\xb8\x00\xb8\x00\x01\x02G\x01\xbc\x00\xbc\x00\x01\x02G\x01P\x00P\x00\x01\x04G\x01r\x00r\x00\x01\x06G\x01N\x16N\x16\x01\x02G\x01.\x00.\x00\x01\x02G\x01\x00\x10\x00\x10\x01\x80G\x01\x80\x11\x80\x11\x01@G\x01\x00\x08\x00\x08\x01\x10G\x01\xe0\x15\xe0\x15\x01\x10G\x01\x00\x16\x00\x16\x01`\x86\t\x00\x01\x00\x00\x00\xf0\x00\x00\x00\x04\x86\t\x00\x01\x00\xc0\xd1\xfe\x00@\x00\x00\x86\t\x00\x01\x00@\xd1\xfe\x00@\x00\x00\x86\t\x00\x01\x00\x80\xd1\xfe\x00\x10\x00\x00\x86\t\x00\x01\x00\x90\xd1\xfe\x00\x10\x00\x00y\x00\x14M\x08_CRS\x00\xa0 \x93\\/\x05_SB_PCI0LPC_TPM__STA
+\x0f\xa4SCRS\xa1D\x06t\x87SCRS
+\x02`\x08BUF0\x11\x02`r`\x87\\/\x05_SB_PCI0LPC_TPM__CRS`\x08BUF1\x11\x02`pSCRSBUF0sBUF0\\/\x05_SB_PCI0LPC_TPM__CRSBUF1\xa4BUF1[\x80LPCS\x02
+\x00\x0b\x00\x01[\x81G
+LPCS\x00\x00@0PIRA\x08PIRB\x08PIRC\x08PIRD\x08SERQ\x08\x00\x18PIRE\x08PIRF\x08PIRG\x08PIRH\x08\x00@
+XU1A\x03\x00\x01XU2A\x03\x00\x01XPA_\x02\x00\x02XFA_\x01\x00\x03XU1E\x01XU2E\x01XPE_\x01XFE_\x01\x00\x0cXG1E\x01\x00\x06XG1A\t\x00\x10XG2E\x01\x00\x03XG2A\x0c\x00@\x0b\x00\x02CLKR\x01GYEN\x01\x00\x03C4C3\x01\x00\x02EXPE\x01\x00\x05[\x80LPIO\x01\x0b\x80\x11
+@[\x81O
+LPIO\x03GU00\x08GU01\x08GU02\x08GU03\x08GI00\x08GI01\x08GI02\x08GI03\x08\x00 GL00\x08GL01\x08GL02\x08GL03\x08\x00@\x04GB00\x08GB01\x08GB02\x08GB03\x08\x00@\x08GV00\x08GV01\x08GV02\x08GV03\x08GU04\x08GU05\x08GU06\x08GU07\x08GI04\x08GI05\x08GI06\x08GI07\x08GL04\x08GL05\x08GL06\x08GL07\x08[\x80PMIO\x01\x0b\x00\x10
+\x80[\x81\x10PMIO\x00\x00@!\x00\x01SWGE\x01[\x823PIC_\x08_HID\x0bA\xd0\x08_CRS\x11 
+\x1dG\x01 \x00 \x00\x01\x02G\x01\xa0\x00\xa0\x00\x01\x02G\x01\xd0\x04\xd0\x04\x01\x02"\x04\x00y\x00[\x82%TIMR\x08_HID\x0cA\xd0\x01\x00\x08_CRS\x11\x10
+\rG\x01@\x00@\x00\x01\x04"\x01\x00y\x00[\x82B\x05HPET\x08_HID\x0cA\xd0\x01\x03\x14*_STA\x00\xa0\x08W98F\xa4
+\x00\xa1\x17\xa0\x10\x90\\WNTF\x92\\WXPF\xa4
+\x00\xa1\x04\xa4
+\x0f\xa4
+\x00\x08_CRS\x11\x11
+\x0e\x86\t\x00\x00\x00\x00\xd0\xfe\x00\x04\x00\x00y\x00[\x825DMAC\x08_HID\x0cA\xd0\x02\x00\x08_CRS\x11 
+\x1dG\x01\x00\x00\x00\x00\x01\x10G\x01\x80\x00\x80\x00\x01\x10G\x01\xc0\x00\xc0\x00\x01 *\x10\x05y\x00[\x82"SPKR\x08_HID\x0cA\xd0\x08\x00\x08_CRS\x11\r
+
+G\x01a\x00a\x00\x01\x01y\x00[\x82%FPU_\x08_HID\x0cA\xd0\x0c\x04\x08_CRS\x11\x10
+\rG\x01\xf0\x00\xf0\x00\x01\x01"\x00 y\x00[\x82%RTC_\x08_HID\x0cA\xd0\x0b\x00\x08_CRS\x11\x10
+\rG\x01p\x00p\x00\x01\x02"\x00\x01y\x00[\x82-KBD_\x08_HID\x0cA\xd0\x03\x03\x08_CRS\x11\x18
+\x15G\x01`\x00`\x00\x01\x01G\x01d\x00d\x00\x01\x01"\x02\x00y\x00[\x82J\x05MOU_\x08_HID\x0c$M7\x80\x08_CID\x0cA\xd0\x0f\x13\x08_CRS\x11\x08
+\x05"\x00\x10y\x00\x141MHID\x00\xa0\x1e\\/\x04_SB_PCI0LPC_PADDp\x0c$M7\x80_HID\xa1\x0bp\x0c$M\x00W_HID[\x80IMGA\x01\x0b\xe0\x15
+\x10[\x81!IMGA\x01\x00\x08\x00\x08\x00\x08WAKR\x10\x008GAIX\x08\x00\x08GADT\x08\x00\x08[\x86I\x0bGAIXGADT\x01\x00H VAUX\x02\x00\x01WOLE\x01\x00\x04\x00@\x07\x00\x01CBPW\x01CBSL\x01VDPW\x01PDNE\x01BLPL\x01\x00\x01LEDS\x01TP4R\x01PADR\x01BPAD\x01\x00\x01\x00\x01PADD\x01\x00
+DLAN\x01\x00G\x06BUSC\x01BUSD\x01\x00\x01DSCI\x01\x00\x04EPWG\x01\x00\x02DSCS\x01\x00\x04CSON\x01URST\x01\x00N\x06GDR0\x01GDR1\x01GDR2\x01\x00\x05GDT0\x01GDT1\x01GDT2\x01\x00E(GAID\x08[\x80NCFG\x01
+.
+\x02[\x81\x10NCFG\x01INDX\x08DATA\x08[\x86B
+INDXDATA\x01\x008LDN_\x08\x00@\x0cSIOD\x08\x00\x08SCF2\x08\x00\x08SCF4\x08\x00\x02PPSE\x01\x00\x04PNF_\x01FDCD\x01PPD_\x01SP2D\x01SP1D\x01\x00\x01GPSR\x02\x00\x01SRID\x08\x00\x08SCF9\x08\x00\x08\x00(LDA_\x01\x00\x07\x00H\x17IOHI\x08IOLW\x08\x00@\x07IRQN\x04IRQW\x01\x00\x03IRQT\x01IRQL\x01\x00\x06\x00\x10DMA0\x03\x00\x05DMA1\x03\x00\x05[\x86#INDXDATA\x01\x00@xPTRS\x01PPMC\x01\x00\x02PERA\x01PMDS\x03[\x86#INDXDATA\x01\x00@xSTRS\x01SPMC\x01SBSY\x01\x00\x04SBSE\x01[\x86\x1cINDXDATA\x01\x00@xGPPS\x08GPPC\x08GPER\x08[\x80CFGS\x01\x0bN\x16
+\x02[\x81\x10CFGS\x01NDXS\x08ATAS\x08[\x86J
+NDXSATAS\x01\x008LDNS\x08\x00@\x0c\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x02PSES\x01\x00\x04PNFS\x01DCDS\x01PPDS\x01SP2S\x01SP1S\x01\x00\x01PSRS\x02\x00\x01RIDS\x08\x00\x08CCSS\x02CCES\x01MCSS\x01MESS\x01\x00\x03\x00\x08\x00(LDAS\x01\x00\x07\x00H\x17OHIS\x08OLWS\x08\x00@\x07RQNS\x04RQWS\x01\x00\x03RQTS\x01RQLS\x01\x00\x06\x00\x10MA0S\x03\x00\x05MA1S\x03\x00\x05[\x86#NDXSATAS\x01\x00@xTRSS\x01PMCS\x01BSYS\x01\x00\x04SESS\x01[\x80NSDL\x01\x0bL\x16
+\x01[\x81\x0bNSDL\x01DLPC\x08[\x80NSIO\x01\x0b\x80\x16
+\x0c[\x81\'NSIO\x01DRST\x01DLPD\x01\x00\x06\x00\x04DKI0\x01\x00\x03\x008DKI1\x01DKI2\x01[\x80DSIO\x01\x0b \x16
+\x0c[\x81\x0fDSIO\x01\x00\x01DUSB\x01\x00\x06[\x82K\x18FDC_\x08_HID\x0cA\xd0\x07\x00\x14 _STA\x00\xa0\x14\\LFDC\xa0\x08XFE_\xa4
+\x0f\xa1\x04\xa4
+\r\xa1\x04\xa4
+\x00\x14)_DIS\x00p
+\x00XFE_p
+\x00LDN_p
+\x00IRQNp
+\x00LDA_p
+\x01FDCD\x08_CRS\x11\x1b
+\x18G\x01\xf0\x03\xf0\x03\x01\x06G\x01\xf7\x03\xf7\x03\x01\x01"@\x00*\x04\x00y\x00\x08_PRS\x11\x1b
+\x18G\x01\xf0\x03\xf0\x03\x01\x06G\x01\xf7\x03\xf7\x03\x01\x01"@\x00*\x04\x00y\x00\x14M\x04_SRS\x01p
+\x00LDN_p
+\x00LDA_p
+\x03IOHIp
+\xf0IOLWp
+\x06IRQNp
+\x02DMA0p
+\x00FDCDp
+\x01LDA_p
+\x00XFA_p
+\x01XFE_\x14\x1b_PSC\x00p
+\x00LDN_\xa0\x08LDA_\xa4
+\x00\xa1\x04\xa4
+\x03\x14\x14_PS0\x00p
+\x00LDN_p
+\x01LDA_\x14\x14_PS3\x00p
+\x00LDN_p
+\x00LDA_\x14#SLFD\x01\xa0\x0eh\\MISA\x0b\xf3\x03
+\xf3
+\x04\xa1\r\\MISA\x0b\xf3\x03
+\xf3
+\x00[\x824FDD0\x08_ADR
+\x00\x08_FDI\x12"\x10
+\x00
+\x04
+O
+\x12
+\x01
+\xdf
+\x02
+%
+\x02
+\x12
+\x1b
+\xff
+l
+\xf6
+\x0f
+\x05\x10\x86/\x01\\/\x03_SB_PCI0LPC_[\x82A-LURT\x08_UID
+\x00\x14-_STA\x00\xa0\x16\x93\\/\x03_SB_LCIO_STA
+\x00\xa4
+\x00\xa1\x0f\xa0\x08XU1E\xa4
+\x0f\xa1\x04\xa4
+\r\x08_HID\x0cA\xd0\x05\x01\x08_PRW\x12\x06\x02
+\x18
+\x03\x14D\x06_PSW\x01\xa0?\\H8DR\xa0\x1chp
+\x01\\/\x05_SB_PCI0LPC_EC__HWRI\xa1\x1bp
+\x00\\/\x05_SB_PCI0LPC_EC__HWRI\xa1\x1c\xa0\rh\\MBEC
+2
+\xff
+@\xa1\x0c\\MBEC
+2
+\xbf
+\x00\x14)_DIS\x00p
+\x00XU1Ep
+\x03LDN_p
+\x00IRQNp
+\x00LDA_p
+\x01SP1D\x08U1BF\x11\x10
+\rG\x01\x00\x00\x00\x00\x01\x08"\x00\x00y\x00\x8bU1BF
+\x02U1MN\x8bU1BF
+\x04U1MX\x8bU1BF
+\tU1IQ\x14J\x04_CRS\x00p
+\x03LDN_}yIOHI
+\x08\x00IOLW`p`U1MNp`U1MXpIRQN`\xa0\r`y
+\x01IRQNU1IQ\xa1\x08p
+\x00U1IQ\xa4U1BF\x08_PRS\x11O\x06
+k1\x00G\x01\xf8\x03\xf8\x03\x01\x08"\x10\x001\x01G\x01\xf8\x02\xf8\x02\x01\x08"\x08\x001\x01G\x01\xe8\x03\xe8\x03\x01\x08"\x10\x001\x01G\x01\xe8\x02\xe8\x02\x01\x08"\x08\x001\x02G\x01\xf8\x03\xf8\x03\x01\x08"\xa8\x001\x02G\x01\xf8\x02\xf8\x02\x01\x08"\xb0\x001\x02G\x01\xe8\x03\xe8\x03\x01\x08"\xa8\x001\x02G\x01\xe8\x02\xe8\x02\x01\x08"\xb0\x008y\x00\x14O\x0c_SRS\x01\x8ch
+\x02RUIL\x8ch
+\x03RUIH\x8bh
+\x02RUIO\x8bh
+\tRUIQp
+\x03LDN_p
+\x00LDA_pRUILIOLWpRUIHIOHI\xa0\x12RUIQ\x82RUIQ`pv`IRQN\xa1\x08p
+\x00IRQNp
+\x00SP1Dp
+\x01LDA_\xa0\x10\x93RUIO\x0b\xf8\x03p
+\x00XU1A\xa1E\x04\xa0\x10\x93RUIO\x0b\xf8\x02p
+\x01XU1A\xa11\xa0\x10\x93RUIO\x0b\xe8\x03p
+\x07XU1A\xa1\x1e\xa0\x10\x93RUIO\x0b\xe8\x02p
+\x05XU1A\xa1\x0b[2\x02\x00\x00\x02\x90\x0b\xb5\x01p
+\x01XU1E\x14\x1b_PSC\x00p
+\x03LDN_\xa0\x08LDA_\xa4
+\x00\xa1\x04\xa4
+\x03\x14\x06_PS0\x00\x14\x06_PS3\x00[\x82G-DURT\x08_UID
+\x01\x143_STA\x00\xa0\x1c\x92{
+\x08\\/\x04_SB_PCI0LPC_DLPC\x00\xa4
+\x00\xa1\x0f\xa0\x08XU1E\xa4
+\x0f\xa1\x04\xa4
+\r\x08_HID\x0cA\xd0\x05\x01\x08_PRW\x12\x06\x02
+\x18
+\x03\x14D\x06_PSW\x01\xa0?\\H8DR\xa0\x1chp
+\x01\\/\x05_SB_PCI0LPC_EC__HWRI\xa1\x1bp
+\x00\\/\x05_SB_PCI0LPC_EC__HWRI\xa1\x1c\xa0\rh\\MBEC
+2
+\xff
+@\xa1\x0c\\MBEC
+2
+\xbf
+\x00\x14)_DIS\x00p
+\x00XU1Ep
+\x03LDN_p
+\x00IRQNp
+\x00LDA_p
+\x01SP1D\x08U1BF\x11\x10
+\rG\x01\x00\x00\x00\x00\x01\x08"\x00\x00y\x00\x8bU1BF
+\x02U1MN\x8bU1BF
+\x04U1MX\x8bU1BF
+\tU1IQ\x14J\x04_CRS\x00p
+\x03LDN_}yIOHI
+\x08\x00IOLW`p`U1MNp`U1MXpIRQN`\xa0\r`y
+\x01IRQNU1IQ\xa1\x08p
+\x00U1IQ\xa4U1BF\x08_PRS\x11O\x06
+k1\x00G\x01\xf8\x03\xf8\x03\x01\x08"\x10\x001\x01G\x01\xf8\x02\xf8\x02\x01\x08"\x08\x001\x01G\x01\xe8\x03\xe8\x03\x01\x08"\x10\x001\x01G\x01\xe8\x02\xe8\x02\x01\x08"\x08\x001\x02G\x01\xf8\x03\xf8\x03\x01\x08"\xa8\x001\x02G\x01\xf8\x02\xf8\x02\x01\x08"\xb0\x001\x02G\x01\xe8\x03\xe8\x03\x01\x08"\xa8\x001\x02G\x01\xe8\x02\xe8\x02\x01\x08"\xb0\x008y\x00\x14O\x0c_SRS\x01\x8ch
+\x02RUIL\x8ch
+\x03RUIH\x8bh
+\x02RUIO\x8bh
+\tRUIQp
+\x03LDN_p
+\x00LDA_pRUILIOLWpRUIHIOHI\xa0\x12RUIQ\x82RUIQ`pv`IRQN\xa1\x08p
+\x00IRQNp
+\x00SP1Dp
+\x01LDA_\xa0\x10\x93RUIO\x0b\xf8\x03p
+\x00XU1A\xa1E\x04\xa0\x10\x93RUIO\x0b\xf8\x02p
+\x01XU1A\xa11\xa0\x10\x93RUIO\x0b\xe8\x03p
+\x07XU1A\xa1\x1e\xa0\x10\x93RUIO\x0b\xe8\x02p
+\x05XU1A\xa1\x0b[2\x02\x00\x00\x02\x90\x0b\xb5\x01p
+\x01XU1E\x14\x1b_PSC\x00p
+\x03LDN_\xa0\x08LDA_\xa4
+\x00\xa1\x04\xa4
+\x03\x14\x06_PS0\x00\x14\x06_PS3\x00[\x82L1LLPT\x08_UID
+\x00\x14=_STA\x00\xa0\x16\x93\\/\x03_SB_LCIO_STA
+\x00\xa4
+\x00\xa1\x1f\xa0\x18\x92\x93\\PMOD
+\x03\xa0\x08XPE_\xa4
+\x0f\xa1\x04\xa4
+\r\xa1\x04\xa4
+\x00\x08_HID\x0cA\xd0\x04\x00\x14)_DIS\x00p
+\x00XPE_p
+\x01LDN_p
+\x00IRQNp
+\x00LDA_p
+\x01PPD_\x08PPBF\x11\x10
+\rG\x01\x00\x00\x00\x00\x01\x00"\x00\x00y\x00\x8bPPBF
+\x02LPN0\x8bPPBF
+\x04LPX0\x8cPPBF
+\x07LPL0\x8bPPBF
+\tLPIQ\x14@\x07_CRS\x00\xa0\x0e\x93\\PMOD
+\x03\xa4PPBFp
+\x01LDN_}yIOHI
+\x08\x00IOLW`p`LPN0p`LPX0\xa0\r\x93`\x0b\xbc\x03p
+\x03LPL0\xa1\x08p
+\x08LPL0pIRQN`\xa0\r`y
+\x01IRQNLPIQ\xa1\x08p
+\x00LPIQ\xa4PPBF\x14\x19_PRS\x00\xa0\x0b\\PMOD\xa4PEPP\xa1\x06\xa4PLPT\x08PLPT\x11O\x04
+K0G\x01\xbc\x03\xbc\x03\x01\x03"\x80\x000G\x01x\x03x\x03\x01\x08"\x80\x000G\x01x\x02x\x02\x01\x08" \x000G\x01\xbc\x03\xbc\x03\x01\x03" \x000G\x01x\x03x\x03\x01\x08" \x000G\x01x\x02x\x02\x01\x08"\x80\x008y\x00\x08PEPP\x116
+30G\x01x\x03x\x03\x01\x08"\x80\x000G\x01x\x02x\x02\x01\x08" \x000G\x01x\x03x\x03\x01\x08" \x000G\x01x\x02x\x02\x01\x08"\x80\x008y\x00\x14H\x0f_SRS\x01\x8ch
+\x02RLIL\x8ch
+\x03RLIH\x8bh
+\x02RLIO\x8bh
+\tRLIQp
+\x01LDN_p
+\x00LDA_pRLILIOLWpRLIHIOHI\xa0\x12RLIQ\x82RLIQ`pv`IRQN\xa1\x08p
+\x00IRQN\xa0 \x93\\PMOD
+\x00\xa0\r\\PDIRp
+\x01PMDS\xa1\x08p
+\x00PMDS\xa1\x1b\xa0\x10\x93\\PMOD
+\x01p
+\x02PMDS\xa1\x08p
+\x03PMDSp
+\x00PPD_p
+\x01LDA_\xa0\x10\x93RLIO\x0bx\x03p
+\x00XPA_\xa11\xa0\x10\x93RLIO\x0bx\x02p
+\x01XPA_\xa1\x1e\xa0\x10\x93RLIO\x0b\xbc\x03p
+\x02XPA_\xa1\x0b[2\x02\x00\x00\x02\x90\x0b\xce\x01p
+\x01XPE_\x14\x1b_PSC\x00p
+\x01LDN_\xa0\x08LDA_\xa4
+\x00\xa1\x04\xa4
+\x03\x14\x14_PS0\x00p
+\x01LDN_p
+\x01LDA_\x14\x14_PS3\x00p
+\x01LDN_p
+\x00LDA_[\x82C2DLPT\x08_UID
+\x01\x14D\x04_STA\x00\xa0\x1c\x92{
+\x08\\/\x04_SB_PCI0LPC_DLPC\x00\xa4
+\x00\xa1\x1f\xa0\x18\x92\x93\\PMOD
+\x03\xa0\x08XPE_\xa4
+\x0f\xa1\x04\xa4
+\r\xa1\x04\xa4
+\x00\x08_HID\x0cA\xd0\x04\x00\x14)_DIS\x00p
+\x00XPE_p
+\x01LDN_p
+\x00IRQNp
+\x00LDA_p
+\x01PPD_\x08PPBF\x11\x10
+\rG\x01\x00\x00\x00\x00\x01\x00"\x00\x00y\x00\x8bPPBF
+\x02LPN0\x8bPPBF
+\x04LPX0\x8cPPBF
+\x07LPL0\x8bPPBF
+\tLPIQ\x14@\x07_CRS\x00\xa0\x0e\x93\\PMOD
+\x03\xa4PPBFp
+\x01LDN_}yIOHI
+\x08\x00IOLW`p`LPN0p`LPX0\xa0\r\x93`\x0b\xbc\x03p
+\x03LPL0\xa1\x08p
+\x08LPL0pIRQN`\xa0\r`y
+\x01IRQNLPIQ\xa1\x08p
+\x00LPIQ\xa4PPBF\x14\x19_PRS\x00\xa0\x0b\\PMOD\xa4PEPP\xa1\x06\xa4PLPT\x08PLPT\x11O\x04
+K0G\x01\xbc\x03\xbc\x03\x01\x03"\x80\x000G\x01x\x03x\x03\x01\x08"\x80\x000G\x01x\x02x\x02\x01\x08" \x000G\x01\xbc\x03\xbc\x03\x01\x03" \x000G\x01x\x03x\x03\x01\x08" \x000G\x01x\x02x\x02\x01\x08"\x80\x008y\x00\x08PEPP\x116
+30G\x01x\x03x\x03\x01\x08"\x80\x000G\x01x\x02x\x02\x01\x08" \x000G\x01x\x03x\x03\x01\x08" \x000G\x01x\x02x\x02\x01\x08"\x80\x008y\x00\x14H\x0f_SRS\x01\x8ch
+\x02RLIL\x8ch
+\x03RLIH\x8bh
+\x02RLIO\x8bh
+\tRLIQp
+\x01LDN_p
+\x00LDA_pRLILIOLWpRLIHIOHI\xa0\x12RLIQ\x82RLIQ`pv`IRQN\xa1\x08p
+\x00IRQN\xa0 \x93\\PMOD
+\x00\xa0\r\\PDIRp
+\x01PMDS\xa1\x08p
+\x00PMDS\xa1\x1b\xa0\x10\x93\\PMOD
+\x01p
+\x02PMDS\xa1\x08p
+\x03PMDSp
+\x00PPD_p
+\x01LDA_\xa0\x10\x93RLIO\x0bx\x03p
+\x00XPA_\xa11\xa0\x10\x93RLIO\x0bx\x02p
+\x01XPA_\xa1\x1e\xa0\x10\x93RLIO\x0b\xbc\x03p
+\x02XPA_\xa1\x0b[2\x02\x00\x00\x02\x90\x0b\xce\x01p
+\x01XPE_\x14\x1b_PSC\x00p
+\x01LDN_\xa0\x08LDA_\xa4
+\x00\xa1\x04\xa4
+\x03\x14\x14_PS0\x00p
+\x01LDN_p
+\x01LDA_\x14\x14_PS3\x00p
+\x01LDN_p
+\x00LDA_[\x82E7LECP\x08_UID
+\x00\x14<_STA\x00\xa0\x16\x93\\/\x03_SB_LCIO_STA
+\x00\xa4
+\x00\xa1\x1e\xa0\x17\x93\\PMOD
+\x03\xa0\x08XPE_\xa4
+\x0f\xa1\x04\xa4
+\r\xa1\x04\xa4
+\x00\x08_HID\x0cA\xd0\x04\x01\x14)_DIS\x00p
+\x00XPE_p
+\x01LDN_p
+\x00IRQNp
+\x00LDA_p
+\x01PPD_\x08EPBF\x11\x1b
+\x18G\x01\x00\x00\x00\x00\x01\x00G\x01\x00\x00\x00\x00\x01\x00"\x00\x00*\x00\x00y\x00\x8bEPBF
+\x02ECN0\x8bEPBF
+\x04ECX0\x8cEPBF
+\x07ECL0\x8bEPBF
+
+ECN1\x8bEPBF
+\x0cECX1\x8cEPBF
+\x0fECL1\x8bEPBF
+\x11ECIQ\x8bEPBF
+\x14ECDQ\x14N
+_CRS\x00\xa0\x0f\x92\x93\\PMOD
+\x03\xa4EPBFp
+\x01LDN_}yIOHI
+\x08\x00IOLW`p`ECN0p`ECX0r`\x0b\x00\x04ECN1r`\x0b\x00\x04ECX1\xa0\x14\x93`\x0b\xbc\x03p
+\x03ECL0p
+\x03ECL1\xa1\x0fp
+\x08ECL0p
+\x08ECL1pIRQN`\xa0\r`y
+\x01IRQNECIQ\xa1\x08p
+\x00ECIQpDMA0`\xa0\r\x95`
+\x04y
+\x01`ECDQ\xa1\x08p
+\x00ECDQ\xa4EPBF\x08_PRS\x11A\t
+\x8d0G\x01x\x03x\x03\x01\x08G\x01x\x07x\x07\x01\x08"\x80\x00*\x0b\x000G\x01x\x02x\x02\x01\x08G\x01x\x06x\x06\x01\x08" \x00*\x0b\x000G\x01\xbc\x03\xbc\x03\x01\x03G\x01\xbc\x07\xbc\x07\x01\x03"\x80\x00*\x0b\x000G\x01x\x03x\x03\x01\x08G\x01x\x07x\x07\x01\x08" \x00*\x0b\x000G\x01x\x02x\x02\x01\x08G\x01x\x06x\x06\x01\x08"\x80\x00*\x0b\x000G\x01\xbc\x03\xbc\x03\x01\x03G\x01\xbc\x07\xbc\x07\x01\x03" \x00*\x0b\x008y\x00\x14A\x0f_SRS\x01\x8ch
+\x02RLIL\x8ch
+\x03RLIH\x8bh
+\x02RLIO\x8bh
+\x11RLIQ\x8ch
+\x14RLDQp
+\x01LDN_p
+\x00LDA_p
+\x07PMDSp
+\x01PERApRLILIOLWpRLIHIOHI\xa0\x12RLIQ\x82RLIQ`pv`IRQN\xa1\x08p
+\x00IRQN\xa0\x16{RLDQ
+\x0f\x00\x82RLDQ`pv`DMA0\xa1\x08p
+\x04DMA0p
+\x00PPD_p
+\x01LDA_\xa0\x10\x93RLIO\x0bx\x03p
+\x00XPA_\xa11\xa0\x10\x93RLIO\x0bx\x02p
+\x01XPA_\xa1\x1e\xa0\x10\x93RLIO\x0b\xbc\x03p
+\x02XPA_\xa1\x0b[2\x02\x00\x00\x02\x90\x0b\x9f\x01p
+\x01XPE_\x14\x1b_PSC\x00p
+\x01LDN_\xa0\x08LDA_\xa4
+\x00\xa1\x04\xa4
+\x03\x14\x14_PS0\x00p
+\x01LDN_p
+\x01LDA_\x14\x14_PS3\x00p
+\x01LDN_p
+\x00LDA_[\x82L7DECP\x08_UID
+\x01\x14C\x04_STA\x00\xa0\x1c\x92{
+\x08\\/\x04_SB_PCI0LPC_DLPC\x00\xa4
+\x00\xa1\x1e\xa0\x17\x93\\PMOD
+\x03\xa0\x08XPE_\xa4
+\x0f\xa1\x04\xa4
+\r\xa1\x04\xa4
+\x00\x08_HID\x0cA\xd0\x04\x01\x14)_DIS\x00p
+\x00XPE_p
+\x01LDN_p
+\x00IRQNp
+\x00LDA_p
+\x01PPD_\x08EPBF\x11\x1b
+\x18G\x01\x00\x00\x00\x00\x01\x00G\x01\x00\x00\x00\x00\x01\x00"\x00\x00*\x00\x00y\x00\x8bEPBF
+\x02ECN0\x8bEPBF
+\x04ECX0\x8cEPBF
+\x07ECL0\x8bEPBF
+
+ECN1\x8bEPBF
+\x0cECX1\x8cEPBF
+\x0fECL1\x8bEPBF
+\x11ECIQ\x8bEPBF
+\x14ECDQ\x14N
+_CRS\x00\xa0\x0f\x92\x93\\PMOD
+\x03\xa4EPBFp
+\x01LDN_}yIOHI
+\x08\x00IOLW`p`ECN0p`ECX0r`\x0b\x00\x04ECN1r`\x0b\x00\x04ECX1\xa0\x14\x93`\x0b\xbc\x03p
+\x03ECL0p
+\x03ECL1\xa1\x0fp
+\x08ECL0p
+\x08ECL1pIRQN`\xa0\r`y
+\x01IRQNECIQ\xa1\x08p
+\x00ECIQpDMA0`\xa0\r\x95`
+\x04y
+\x01`ECDQ\xa1\x08p
+\x00ECDQ\xa4EPBF\x08_PRS\x11A\t
+\x8d0G\x01x\x03x\x03\x01\x08G\x01x\x07x\x07\x01\x08"\x80\x00*\x0b\x000G\x01x\x02x\x02\x01\x08G\x01x\x06x\x06\x01\x08" \x00*\x0b\x000G\x01\xbc\x03\xbc\x03\x01\x03G\x01\xbc\x07\xbc\x07\x01\x03"\x80\x00*\x0b\x000G\x01x\x03x\x03\x01\x08G\x01x\x07x\x07\x01\x08" \x00*\x0b\x000G\x01x\x02x\x02\x01\x08G\x01x\x06x\x06\x01\x08"\x80\x00*\x0b\x000G\x01\xbc\x03\xbc\x03\x01\x03G\x01\xbc\x07\xbc\x07\x01\x03" \x00*\x0b\x008y\x00\x14A\x0f_SRS\x01\x8ch
+\x02RLIL\x8ch
+\x03RLIH\x8bh
+\x02RLIO\x8bh
+\x11RLIQ\x8ch
+\x14RLDQp
+\x01LDN_p
+\x00LDA_p
+\x07PMDSp
+\x01PERApRLILIOLWpRLIHIOHI\xa0\x12RLIQ\x82RLIQ`pv`IRQN\xa1\x08p
+\x00IRQN\xa0\x16{RLDQ
+\x0f\x00\x82RLDQ`pv`DMA0\xa1\x08p
+\x04DMA0p
+\x00PPD_p
+\x01LDA_\xa0\x10\x93RLIO\x0bx\x03p
+\x00XPA_\xa11\xa0\x10\x93RLIO\x0bx\x02p
+\x01XPA_\xa1\x1e\xa0\x10\x93RLIO\x0b\xbc\x03p
+\x02XPA_\xa1\x0b[2\x02\x00\x00\x02\x90\x0b\x9f\x01p
+\x01XPE_\x14\x1b_PSC\x00p
+\x01LDN_\xa0\x08LDA_\xa4
+\x00\xa1\x04\xa4
+\x03\x14\x14_PS0\x00p
+\x01LDN_p
+\x01LDA_\x14\x14_PS3\x00p
+\x01LDN_p
+\x00LDA_\x10#\\/\x04_SB_PCI0LPC_LURT\x08_EJD\r_SB.LCIO\x00\x10#\\/\x04_SB_PCI0LPC_DURT\x08_EJD\r_SB.GDCK\x00\x10#\\/\x04_SB_PCI0LPC_LLPT\x08_EJD\r_SB.LCIO\x00\x10#\\/\x04_SB_PCI0LPC_DLPT\x08_EJD\r_SB.GDCK\x00\x10#\\/\x04_SB_PCI0LPC_LECP\x08_EJD\r_SB.LCIO\x00\x10#\\/\x04_SB_PCI0LPC_DECP\x08_EJD\r_SB.GDCK\x00[\x82H.FIR_\x08_HID\x0c$M\x00q\x08_CID\x0cA\xd0\x05\x11\x14\x1d_STA\x00\xa0\x08HDIR\xa4
+\x00\xa0\x08XU2E\xa4
+\x0f\xa1\x04\xa4
+\r\x14)_DIS\x00p
+\x00XU2Ep
+\x02LDNSp
+\x00RQNSp
+\x00LDASp
+\x01SP2S\x08U2BF\x11\x13
+\x10G\x01\x00\x00\x00\x00\x01\x08"\x00\x00*\x00\x00y\x00\x8bU2BF
+\x02IRMN\x8bU2BF
+\x04IRMX\x8bU2BF
+\tIRIQ\x8cU2BF
+\x0cIRDQ\x14G\x06_CRS\x00p
+\x02LDNS}yOHIS
+\x08\x00OLWS`p`IRMNp`IRMXpRQNS`\xa0\r`y
+\x01RQNSIRIQ\xa1\x08p
+\x00IRIQpMA0S`\xa0\r\x95`
+\x04y
+\x01`IRDQ\xa1\x08p
+\x00IRDQ\xa4U2BF\x08_PRS\x11G\x08
+\x831\x00G\x01\xf8\x02\xf8\x02\x01\x08"\x08\x00*\x0b\x001\x01G\x01\xf8\x03\xf8\x03\x01\x08"\x10\x00*\x0b\x001\x01G\x01\xe8\x02\xe8\x02\x01\x08"\x08\x00*\x0b\x001\x01G\x01\xe8\x03\xe8\x03\x01\x08"\x10\x00*\x0b\x001\x02G\x01\xf8\x02\xf8\x02\x01\x08"\xb0\x00*\x0b\x001\x02G\x01\xf8\x03\xf8\x03\x01\x08"\xa8\x00*\x0b\x001\x02G\x01\xe8\x02\xe8\x02\x01\x08"\xb0\x00*\x0b\x001\x02G\x01\xe8\x03\xe8\x03\x01\x08"\xa8\x00*\x0b\x008y\x00\x14E\x10_SRS\x01\x8ch
+\x02RIIL\x8ch
+\x03RIIH\x8bh
+\x02RIIO\x8bh
+\tRIIQ\x8ch
+\x0cRIDQp
+\x02LDNSp
+\x00LDASpRIILOLWSpRIIHOHIS\xa0\x12RIIQ\x82RIIQ`pv`RQNS\xa1\x08p
+\x00RQNS\xa0\x16{RIDQ
+\x0f\x00\x82RIDQ`pv`MA0S\xa1\x08p
+\x04MA0Sp
+\x04MA1Sp
+\x01SESSp
+\x00SP2Sp
+\x01LDAS\xa0\x10\x93RIIO\x0b\xf8\x03p
+\x00XU2A\xa1E\x04\xa0\x10\x93RIIO\x0b\xf8\x02p
+\x01XU2A\xa11\xa0\x10\x93RIIO\x0b\xe8\x03p
+\x07XU2A\xa1\x1e\xa0\x10\x93RIIO\x0b\xe8\x02p
+\x05XU2A\xa1\x0b[2\x02\x00\x00\x02\x90\x0b\xa4\x01p
+\x01XU2E\x14\x1b_PSC\x00p
+\x02LDNS\xa0\x08LDAS\xa4
+\x00\xa1\x04\xa4
+\x03\x14\x14_PS0\x00p
+\x02LDNSp
+\x01LDAS\x14\x14_PS3\x00p
+\x02LDNSp
+\x00LDAS\x10C\x0e\\/\x03_SB_PCI0LPC_\x14A\rLCON\x01\xa0K
+h\xa0G
+EPWGp
+\x01DLPDp
+\x07DLPC\xa2\x0e\x92{
+\x08DLPC\x00["
+\x01p
+\x01DRST\xa0L\x07\x92\x93SIOD
+\xff}SCF9
+\xa0SCF9\xa2\x0e\x92{
+\x10SCF9\x00["
+\x01}SCF2
+\xebSCF2p
+\x07LDN_{\x0b \x16
+\xff`p`IOLWz\x0b \x16
+\x08`{`
+\xffIOHIp
+\x01LDA_p
+\x01GPPSp
+\x03GPPCp
+\x02GPPSp
+\x03GPPCp
+\x00DUSB\xa1\x1dp
+\x01DUSBp
+\x00DRSTp
+\x00DLPDp
+\x00DLPC[\x82GKTPM_\x08_HID\x0c\x06\x8d\x12\x00\x08_CID\x0cA\xd0\x0c1\x14\x1d_STA\x00\xa0\x0e{\\TPMP
+\x01\x00p
+\x0f`\xa1\x05p
+\x00`\xa4`\x08_CRS\x11\x11
+\x0e\x86\t\x00\x01\x00\x00\xd4\xfe\x00\x10\x00\x00y\x00\x14GF_DSM\x0c\x08TMPB\x11\x05
+\x02\x00\x00\x8cTMPB
+\x00LPCT\x8cTMPB
+\x01SSUM\x08LRSP
+\x00\x08PPRC
+\x00\x08RQS1\x12\x06\x02
+\x0c
+\r\x08PTOP\x12\x06\x02
+\x00
+\x00\x08RTOP\x12\x08\x03
+\x00
+\x00
+\x00\x8ah
+\x00IID0\x8ah
+\x04IID1\x8ah
+\x08IID2\x8ah
+\x0cIID3\x08UID0\x11\x13
+\x10\xa6\xfa\xdd=\x1b6\xb4N\xa4$\x8d\x10\x08\x9d\x16S\x8aUID0
+\x00EID0\x8aUID0
+\x04EID1\x8aUID0
+\x08EID2\x8aUID0
+\x0cEID3\xa0I,\x90\x90\x93IID0EID0\x93IID1EID1\x90\x93IID2EID2\x93IID3EID3\xa0\x0b\x93j
+\x00\xa4\x11\x04
+\x01?\xa0\x0b\x93j
+\x01\xa4\r1.0\x00\xa0L\x1c\x93j
+\x02p
+\x00PPRCTPHY
+\x00p\\PH02LPCT\xa0@\x1aLPCTp
+\x00SSUMrSSUM\\PH01SSUMrSSUM\\PH02SSUMrSSUM\\PH03SSUMrSSUM\\PH04SSUMrSSUM\\PH05SSUMrSSUM\\PH06SSUMrSSUM\\PH07SSUMrSSUM\\PH08SSUMrSSUM\\PH09SSUMrSSUM\\PH0ASSUMrSSUM\\PH0BSSUM\xa0\x0cSSUMp
+\x02PPRC\xa1K\x0ep\x83\x88k
+\x00\x00\\PH04p\x89RQS1\x01\\PH04\x00
+\x00
+\x00`\xa0\x0c\x92\x93`\xffp
+\x01PPRC\xa1M\x0bp
+\x00\\PH03p
+\x00SSUMrSSUM\\PH01SSUMrSSUM\\PH02SSUMrSSUM\\PH03SSUMrSSUM\\PH04SSUMrSSUM\\PH05SSUMrSSUM\\PH06SSUMrSSUM\\PH07SSUMrSSUM\\PH08SSUMrSSUM\\PH09SSUMrSSUM\\PH0ASSUMrSSUM\\PH0BSSUMt
+\x00SSUM\\PH03TPHY
+\x01\xa1\x08p
+\x02PPRC\xa4PPRC\xa0\x1e\x93j
+\x03TPHY
+\x00p\\PH04\x88PTOP
+\x01\x00\xa4PTOP\xa0\x08\x93j
+\x04\xa4
+\x01\xa0I\x08\x93j
+\x05TPHY
+\x00p\\PH07`p\\PH06LRSPp}y`
+\x08`LRSP\x00LRSP\xa0\x1c\x90\x93\\PH06
+\xf0\x93\\PH07
+\xffp\x0c\xf0\xff\xff\xffLRSP\xa1\x1e\xa0\x1c\x90\x93\\PH06
+\xf1\x93\\PH07
+\xffp\x0c\xf1\xff\xff\xffLRSPpLRSP\x88RTOP
+\x02\x00p\\PH05\x88RTOP
+\x01\x00\xa4RTOP\xa0\x08\x93j
+\x06\xa4
+\x02\x08UID1\x11\x13
+\x10\xedT`7\x13\xccuF\x90\x1cGV\xd7\xf2\xd4]\x8aUID1
+\x00EID4\x8aUID1
+\x04EID5\x8aUID1
+\x08EID6\x8aUID1
+\x0cEID7\xa0@\t\x90\x90\x93IID0EID4\x93IID1EID5\x90\x93IID2EID6\x93IID3EID7pj[1pk[1\xa0\x0b\x93j
+\x00\xa4\x11\x04
+\x01\x01\xa0O\x04\x93j
+\x01\xa0\x12\x93\x83\x88k
+\x00\x00
+\x00p
+\x00\\TCG0\xa0\x12\x93\x83\x88k
+\x00\x00
+\x01p
+\x01\\TCG0\xa0\x0f\x93\\TCG0
+\x00TMOR
+\x00\xa0\x0f\x93\\TCG0
+\x01TMOR
+\x01\xa4
+\x00\xa4
+\x01\xa4\x11\x04
+\x01\x00[\x80TSES\x00\x0c\x00\x00\xe8\xff\x0b\x00\x02[\x81F\x08TSES\x01\x00@\x06TSCM\x08\x00@(TCT0\x08TCT1\x08TCT2\x08\x00@\x05TMT0\x08\x00H\x04TMT1\x08\x00H\x04TMT2\x08\x00HzTLD0\x08TLD1\x08TLD2\x08TLDL\x18TLDB\x18TLDS\x10TSB0\x08TSB1\x08TSB2\x08TSBL\x08TSBBH\x04TSBF\x10TSBC\x10\x00@\x1aTSIM\x08[\x81\x0fTSES\x01\x00H.TCTAH\x11[\x81\x0fTSES\x01\x00@\xbaTCTLH\x05[\x81\x0fTSES\x01\x00H\xbfTCTBH\x08\x148TCSZ\x02\xa01\x92\x93TSCM
+\x12\xa0\x0b\x93
+\x01hpiTCZ1\xa1\x1b\xa0\x0b\x93
+\x02hpiTCZ2\xa1\r\xa0\x0b\x93
+\x03hpiTCZ3\x14I\x0cTCST\x02\xa0A\x0c\x92\x93TSCM
+\x12p
+\x00`\xa0\x1e\x93
+\x01h\xa0\x18\x94iTMT0p
+\x04TSIMpiTMT0p
+\x01`\xa1B\x04\xa0\x1e\x93
+\x02h\xa0\x18\x94iTMT1p
+\x04TSIMpiTMT1p
+\x01`\xa1 \xa0\x1e\x93
+\x03h\xa0\x18\x94iTMT2p
+\x04TSIMpiTMT2p
+\x01`\xa0@\x05`p
+\x00TCT2\x08TCTC\x11\x03
+#pTCTATCTCp
+"cp
+\x00a\xa2\x12cp\x83\x88TCTCc\x00brabavcp\x80a\x00bub{b
+\xffapaTCT2p
+\xfeTSIM\x14I\x08TCBS\x04\xa0A\x08\x92\x93TSCM
+\x12\xa0F\x07\x93{h
+\x07\x00
+\x00p
+\x12TSIMphTSBLpiTSBBpjTSBFpkTSBCp
+\x00TSB2\x08TCTD\x11\x03
+#pTCTBTCTDp
+\x10`p
+\x00a\xa2\x12`p\x83\x88TCTD`\x00brabav`p\x80a\x00bub{b
+\xffapaTSB2p
+\xfeTSIM\x14@\x07TSCL\x02\xa0H\x06\x92\x93TSCM
+\x12p
+\x15TSIMrTLDSiTLDSp
+\x00TLD2\x08TLDD\x11\x03
+\x0bpTCTLTLDDp
+
+`p
+\x00a\xa2\x12`p\x83\x88TLDD`\x00brabav`p\x80a\x00bub{b
+\xffapaTLD2p
+\xfeTSIM[\x82\x8e\x00\x02EC__\x08_HID\x0cA\xd0\x0c\t\x08_UID
+\x00\x08_GPE
+\x1c\x14\x13_REG\x02\xa0\x0c\x93h
+\x03pi\\H8DR[\x80ECOR\x03
+\x00\x0b\x00\x01[\x81J+ECOR\x01HDBM\x01\x00\x01\x00\x01HFNE\x01\x00\x01\x00\x01HLDM\x01\x00\x01\x00\x01BTCM\x01\x00\x01\x00\x01\x00\x01HBPR\x01BTPC\x01\x00\x01HDUE\x01\x00\x07\x00\x01HETE\x01\x00\x0eHSPA\x01\x00\x07HSUN\x08HSRP\x08\x00 HLCL\x08\x00\x08HFNS\x02\x00\x06\x00\x04HAAA\x03\x00\x01HAM0\x08HAM1\x08HAM2\x08HAM3\x08HAM4\x08HAM5\x08HAM6\x08HAM7\x08HAM8\x08HAM9\x08HAMA\x08HAMB\x08HAMC\x08HAMD\x08HAME\x08HAMF\x08HT00\x01HT01\x01HT02\x01HT03\x01HT10\x01HT11\x01HT12\x01HT13\x01\x00\x10HANT\x08\x00\x10\x00\x01\x00\x01HANA\x02\x00\x01\x00\x01\x00\x1aHATR\x08HT0H\x08HT0L\x08HT1H\x08HT1L\x08HFSP\x08\x00\x06HMUT\x01\x00\x01HBRV\x08HWPM\x01HWLB\x01HWLO\x01HWDK\x01HWFN\x01HWBT\x01HWRI\x01HWBU\x01HWLU\x01\x00\x07\x00\x07HPLO\x01\x00\x08\x00\x10HB0S\x07HB0A\x01HB1S\x07HB1A\x01HCMU\x01\x00\x02OVRQ\x01DCBD\x01DCWL\x01DCWW\x01HB1I\x01\x00\x01KBLT\x01BTPW\x01BTDT\x01HUBS\x01BDPW\x01BDDT\x01HUBB\x01\x00@\x05\x00\x01BTWK\x01HPLD\x01\x00\x01HPAC\x01BTST\x01\x00\x02HPBU\x01\x00\x01HBID\x04HBCS\x01HPNF\x01\x00\x01GSTS\x01\x00\x02HLBU\x01BDST\x01HCBL\x01\x00)HWAK\x10HMPR\x08HMST\x05\x00\x02HMDN\x01HMAD\x08HMCM\x08\x00@\x10HMBC\x08\x00\x18TMP0\x08TMP1\x08TMP2\x08TMP3\x08TMP4\x08TMP5\x08TMP6\x08TMP7\x08\x00\x08HIID\x08\x00\x08HFNI\x08\x00 HDEC\x08HDEO\x08\x00\x18HDAA\x03HDAB\x03HDAC\x02\x00@\x11HDEN HDEP HDEM\x08HDES\x08\x00@\x07ATMX\x08HWAT\x08\x00H\x11\x00\x04HDDD\x01\x14A\x04_INI\x00\xa0\r\\H8DRp
+\x00HSPA\xa1\x0c\\MBEC
+\x05
+\xfe
+\x00BINI\\/\x06_SB_PCI0LPC_EC__HKEYWGIN\x08_CRS\x11\x15
+\x12G\x01b\x00b\x00\x01\x01G\x01f\x00f\x00\x01\x01y\x00\x14!LED_\x02}hi`\xa0\x0c\\H8DRp`HLCL\xa1\t\\WBEC
+\x0c`\x08BAON
+\x00\x08WBON
+\x00\x14N\x18BEEP\x01\xa0\x0c\x93h
+\x05p
+\x00WBONpWBONb\xa0O\x04BAON\xa0$\x93h
+\x00p
+\x00BAON\xa0\rWBONp
+\x03`p
+\x08a\xa1\tp
+\x00`p
+\x00a\xa1#p
+\xff`p
+\xffa\xa0\x0c\x93h
+\x11p
+\x00WBON\xa0\x0c\x93h
+\x10p
+\x01WBON\xa1G\x04ph`p
+\xffa\xa0\x13\x93h
+\x0fph`p
+\x08ap
+\x01BAON\xa0\x14\x93h
+\x11p
+\x00`p
+\x00ap
+\x00WBON\xa0\x14\x93h
+\x10p
+\x03`p
+\x08ap
+\x01WBON\xa02\x93h
+\x03p
+\x00WBON\xa0%bp
+\x07`\xa0\x1e\x91\x93\\SPS_
+\x03\x93\\SPS_
+\x04p
+\x00bp
+\xff`p
+\xffa\xa0\x14\x93h
+\x07\xa0\x0ebp
+\x00bp
+\xff`p
+\xffa\xa0C\x04\x90\\H8DR\x92\\W98F\xa0\x1a\x90b\x92WBONp
+\x00HSRPp
+\x00HSUN["
+d\xa0\x0c\x92\x93a
+\xffpaHSRP\xa0\x0c\x92\x93`
+\xffp`HSUN\xa1>\xa0\x1e\x90b\x92WBON\\WBEC
+\x07
+\x00\\WBEC
+\x06
+\x00["
+d\xa0\x0e\x92\x93a
+\xff\\WBEC
+\x07a\xa0\x0e\x92\x93`
+\xff\\WBEC
+\x06`\xa0\x05\x93h
+\x03\xa0
+\x93h
+\x07["\x0b\xf4\x01\x14C\tEVNT\x01\xa07\\H8DR\xa0\x18h}HAM7
+\x01HAM7}HAM5
+\x04HAM5\xa1\x17{HAM7
+\xfeHAM7{HAM5
+\xfbHAM5\xa1C\x05\xa0(h\\MBEC
+\x17
+\xff
+\x01\\MBEC
+\x15
+\xff
+\x04\xa0\x0f\\W98F\\WBEC
+\x18
+\xff\xa1\'\\MBEC
+\x17
+\xfe
+\x00\\MBEC
+\x15
+\xfb
+\x00\xa0\x0f\\W98F\\WBEC
+\x18
+\x00\x14K\x07PNST\x01\xa0=\x90hBSTA
+\x02\xa0\x1b\x90\\H8DR\x92\\W98Fp
+\x01HBPRp
+\x01HUBB\xa1\x17\\MBEC
+\x01
+\xff
+ \\MBEC
+;
+\xff
+\x80\xa15\xa0\x1b\x90\\H8DR\x92\\W98Fp
+\x00HBPRp
+\x00HUBB\xa1\x17\\MBEC
+\x01
+\xdf
+\x00\\MBEC
+;
+\x7f
+\x00[\x84I\x07PUBS\x03\x00\x00\x14+_STA\x00\xa0\x0c\\H8DRpHUBS`\xa1\x0c{\\RBEC
+;
+\x10`\xa0\x05`\xa4
+\x01\xa1\x04\xa4
+\x00\x14!_ON_\x00\xa0\r\\H8DRp
+\x01HUBS\xa1\x0c\\MBEC
+;
+\xff
+\x10\x14!_OFF\x00\xa0\r\\H8DRp
+\x00HUBS\xa1\x0c\\MBEC
+;
+\xef
+\x00\x14E\x0fLPMD\x00p
+\x00`p
+\x00ap
+\x00b\xa0B\x06\\H8DR\xa0J\x05HPLO\xa0J\x04HPAC\xa0C\x04\x95HWAT
+Z\xa0\x16\x91\x92HB0A\x95{HB0S
+\x0f\x00
+\x03p
+\x01a\xa0\x16\x91\x92HB1A\x95{HB1S
+\x0f\x00
+\x03p
+\x01b\xa0\x0b\x90abp\\LPST`\xa1\x08p\\LPST`\xa1L\x07\xa0I\x07{\\RBEC
+4
+\x80\x00\xa0B\x06{\\RBEC
+F
+\x10\x00\xa0D\x05\x95\\RBEC
+\xc9
+Zp\\RBEC
+8c\xa0\x14\x91\x92{c
+\x80\x00\x95{c
+\x0f\x00
+\x03p
+\x01ap\\RBEC
+9c\xa0\x14\x91\x92{c
+\x80\x00\x95{c
+\x0f\x00
+\x03p
+\x01b\xa0\x0b\x90abp\\LPST`\xa1\x08p\\LPST`\xa4`[\x01MCPU\x07\x14D\x04_Q10\x00\xa0<\\/\x06_SB_PCI0LPC_EC__HKEYMHKK
+\x01\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x01\x10\x14G\x04_Q11\x00\xa0<\\/\x06_SB_PCI0LPC_EC__HKEYMHKK
+\x02\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x02\x10\xa1\x02\xa3\x14$_Q12\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x03\x10\x14A\x05_Q13\x00\xa0:\\/\x06_SB_PCI0LPC_EC__HKEYDHKC\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x04\x10\xa1\x0e\x86\\._SB_SLPB
+\x80\x14M\x10_Q64\x00\xa0<\\/\x06_SB_PCI0LPC_EC__HKEYMHKK
+\x10\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x05\x10\xa1H\x0c\xa0>\x92{\\/\x06_SB_PCI0LPC_EC__HKEYWGFL
+ \x00\\/\x06_SB_PCI0LPC_EC__HKEYBPWC
+\x01\xa1F\x08\\/\x06_SB_PCI0LPC_EC__HKEYBPWC
+\x00\xa0F\x06\x92\\WVIS\xa0>\x92{\\/\x06_SB_PCI0LPC_EC__HKEYWGFL
+\x02\x00\\/\x06_SB_PCI0LPC_EC__HKEYWPWC
+\x01\xa1\x1e\\/\x06_SB_PCI0LPC_EC__HKEYWPWC
+\x00\x14D\x04_Q65\x00\xa0<\\/\x06_SB_PCI0LPC_EC__HKEYMHKK
+ \\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x06\x10\x14C
+_Q16\x00\xa0\'\\VPDFp
+\x00\\VPDF\xa0\x18VIGD\\/\x04_SB_PCI0VID_VSPD\xa1C\x07\xa0<\\/\x06_SB_PCI0LPC_EC__HKEYMHKK
+@\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x07\x10\xa13\xa0\x18VIGD\\/\x04_SB_PCI0VID_VSWT\xa1\x18\\/\x05_SB_PCI0AGP_VID_VSWT\x14B\x05_Q17\x00\xa0<\\/\x06_SB_PCI0LPC_EC__HKEYMHKK
+\x80\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x08\x10\xa1\r\xa0\x0b\x92\\WNTFVEXP\x14F\x04_Q18\x00\xa0=\\/\x06_SB_PCI0LPC_EC__HKEYMHKK\x0b\x00\x01\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\t\x10\xa3\x14E\x04_Q66\x00\xa0=\\/\x06_SB_PCI0LPC_EC__HKEYMHKK\x0b\x00\x02\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b
+\x10\x14E\x04_Q1A\x00\xa0=\\/\x06_SB_PCI0LPC_EC__HKEYMHKK\x0b\x00\x04\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x0b\x10\x14$_Q1B\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x0c\x10\x14E\x04_Q62\x00\xa0=\\/\x06_SB_PCI0LPC_EC__HKEYMHKK\x0b\x00\x10\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\r\x10\x14E\x04_Q60\x00\xa0=\\/\x06_SB_PCI0LPC_EC__HKEYMHKK\x0b\x00 \\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x0e\x10\x14E\x04_Q61\x00\xa0=\\/\x06_SB_PCI0LPC_EC__HKEYMHKK\x0b\x00@\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x0f\x10\x14N\x04_Q1F\x00\xa0?\\/\x06_SB_PCI0LPC_EC__HKEYMHKK\x0c\x00\x00\x02\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x12\x10\\UCMS
+\x0e\x14G\x04_Q67\x00\xa0?\\/\x06_SB_PCI0LPC_EC__HKEYMHKK\x0c\x00\x00\x04\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x13\x10\x14O\x0e_Q26\x00\\UCMS
+\x12DSPD
+\x00["\x0b\xf4\x01\x86AC__
+\x80\x86\\._TZ_THM0
+\x80\x86\\._TZ_THM1
+\x80\xa0\x0e\\WXPF[#MCPU\xff\xff\xa07\\SPEN\xa0\'\\OSPX\x86\\._PR_CPU0
+\x80\xa0\x13\\MPEN\x86\\._PR_CPU1
+\x80\xa1\x08\\STEP
+\x00\xa0
+\\WXPF["
+d\xa0\'\\OSC4\x86\\._PR_CPU0
+\x81\xa0\x13\\MPEN\x86\\._PR_CPU1
+\x81\xa0\x0c\\WXPF[\'MCPU\xa0#\x90\x92\\WXPF\\WNTFp
+\x00\\/\x04_SB_PCI0LPC_C4C3ATMCDSPD
+\x01\x14K\x12_Q27\x00\\UCMS
+\x12["\x0b\xf4\x01\x86AC__
+\x80\x86\\._TZ_THM0
+\x80\x86\\._TZ_THM1
+\x80\xa0\x0e\\WXPF[#MCPU\xff\xff\xa07\\SPEN\xa0\'\\OSPX\x86\\._PR_CPU0
+\x80\xa0\x13\\MPEN\x86\\._PR_CPU1
+\x80\xa1\x08\\STEP
+\x01\xa0
+\\WXPF["
+d\xa0\'\\OSC4\x86\\._PR_CPU0
+\x81\xa0\x13\\MPEN\x86\\._PR_CPU1
+\x81\xa0\x0c\\WXPF[\'MCPU\xa01\x90\\CWAC\x92\\CWAS\xa0#\x90\x92\\WXPF\\WNTFp
+\x01\\/\x04_SB_PCI0LPC_C4C3ATMC\xa09\x91\x93\\/\x03_SB_GDCKGDID\x0c$M\x00L\x93\\/\x03_SB_GDCKGDID\x0c$M\x00D\x86\\._SB_GDCK
+\x01\x14H\x06_Q2A\x00\xa0\x1aVIGD\\/\x04_SB_PCI0VID_VLOC
+\x01\xa1\x1a\\/\x05_SB_PCI0AGP_VID_VLOC
+\x01\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x02P\x86\\._SB_LID_
+\x80\x148_Q2B\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x01P\\UCMS
+\r\x86\\._SB_LID_
+\x80\x14\x06_Q3D\x00\x14>_Q48\x00\xa07\\SPEN\xa0\'\\OSPX\x86\\._PR_CPU0
+\x80\xa0\x13\\MPEN\x86\\._PR_CPU1
+\x80\xa1\x08\\STEP
+\x04\x14>_Q49\x00\xa07\\SPEN\xa0\'\\OSPX\x86\\._PR_CPU0
+\x80\xa0\x13\\MPEN\x86\\._PR_CPU1
+\x80\xa1\x08\\STEP
+\x05\x14\x10_Q7F\x00[2\x01\x00\x00\x01\x80\x0b+\x03\x14$_Q4E\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x11`\x14$_Q4F\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x12`\x14\x1d_Q75\x00\\/\x05_SB_PCI0LPC_EC__TATR\x14$_Q46\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x12`\x14 _Q22\x00\xa0\x0cHB0A\x86BAT0
+\x80\xa0\x0cHB1A\x86BAT1
+\x80\x14\r_Q4A\x00\x86BAT0
+\x81\x14\r_Q4B\x00\x86BAT0
+\x80\x14
+_Q4C\x00_Q38\x14%_Q4D\x00\xa0\x1e{^.BAT1B1ST^.BAT1XB1S\x00\x86BAT1
+\x80\x14\r_Q24\x00\x86BAT0
+\x80\x14%_Q25\x00\xa0\x1e{^.BAT1B1ST^.BAT1XB1S\x00\x86BAT1
+\x80[\x811ECOR\x01\x00@PSBRC\x10SBFC\x10SBAE\x10SBRS\x10SBAC\x10SBVO\x10SBAF\x10SBBS\x10[\x81\x1aECOR\x01\x00@P\x00\x0fSBCM\x01SBMD\x10SBCC\x10[\x81\'ECOR\x01\x00@PSBDC\x10SBDV\x10SBOM\x10SBSI\x10SBDT\x10SBSN\x10[\x81\x0eECOR\x01\x00@PSBCH [\x81\x0fECOR\x01\x00@PSBMN@\x08[\x81\x0fECOR\x01\x00@PSBDN@\x08[\x01BATM\x07\x14C\x16GBIF\x03[#BATM\xff\xff\xa0C\x12j}h
+\x01HIIDpSBCMg\x7fg
+\x01\x88i
+\x00\x00phHIID\xa0
+gwSBFC
+
+a\xa1\x07pSBFCapa\x88i
+\x02\x00}h
+\x02HIID\xa0
+gwSBDC
+
+`\xa1\x07pSBDC`p`\x88i
+\x01\x00xa
+\x14b\x88i
+\x05\x00\xa0
+gp
+\xc8\x88i
+\x06\x00\xa1!\xa0\x15SBDVx\x0c@\r\x03\x00SBDVb\x88i
+\x06\x00\xa1\tp
+\x00\x88i
+\x06\x00pSBDV\x88i
+\x04\x00pSBSN`\x08SERN\x11\t
+\x06     \x00p
+\x04b\xa2\x15`x`
+
+a`ra
+0\x88SERNb\x00vbpSERN\x88i
+
+\x00}h
+\x06HIIDpSBDN\x88i
+\t\x00}h
+\x04HIID\x08BTYP\x11\x08
+\x05\x00\x00\x00\x00\x00pSBCHBTYPpBTYP\x88i
+\x0b\x00}h
+\x05HIIDpSBMN\x88i
+\x0c\x00\xa1\'p\x0c\xff\xff\xff\xff\x88i
+\x01\x00p
+\x00\x88i
+\x05\x00p
+\x00\x88i
+\x06\x00p\x0c\xff\xff\xff\xff\x88i
+\x02\x00[\'BATM\xa4i\x14J\rGBST\x04[#BATM\xff\xff\xa0
+{i
+ \x00p
+\x02`\xa1\x12\xa0
+{i
+@\x00p
+\x01`\xa1\x05p
+\x00`\xa0\x06{i
+\x0f\x00\xa1\x06}`
+\x04`\xa0\x19\x93{i
+\x0f\x00
+\x0fp
+\x04`p
+\x00ap
+\x00bp
+\x00c\xa1@\x06phHIIDpSBVOc\xa0
+jwSBRC
+
+b\xa1\x07pSBRCbpSBACa\xa0\x1c\x92\x95a\x0b\x00\x80\xa0\x0e{`
+\x01\x00t\x0c\x00\x00\x01\x00aa\xa1\x05p
+\x00a\xa1\r\xa0\x0b\x92{`
+\x02\x00p
+\x00a\xa0\rjwcaaxa\x0b\xe8\x03gap`\x88k
+\x00\x00pa\x88k
+\x01\x00pb\x88k
+\x02\x00pc\x88k
+\x03\x00[\'BATM\xa4k[\x82G\x15BAT0\x08_HID\x0cA\xd0\x0c
+\x08_UID
+\x00\x08_PCL\x12\x07\x01\\_SB_\x08B0ST
+\x00\x08BT0I\x12#\r
+\x00\x0c\xff\xff\xff\xff\x0c\xff\xff\xff\xff
+\x01\x0b0*
+\x00
+\x00
+\x01
+\x01\r\x00\r\x00\r\x00\r\x00\x08BT0P\x12\x02\x04\x14D\x04_STA\x00\xa0\x0f\\H8DRpHB0AB0ST\xa1\x1e\xa0\x13{\\RBEC
+8
+\x80\x00p
+\x01B0ST\xa1\x08p
+\x00B0ST\xa0\x08B0ST\xa4
+\x1f\xa1\x04\xa4
+\x0f\x14G\x04_BIF\x00p
+\x00gp
+
+f\xa2+\x90\x92gf\xa0\x1fHB0A\xa0\x13\x93{HB0S
+\x0f\x00
+\x0f["\x0b\xe8\x03vf\xa1\x05p
+\x01g\xa1\x05p
+\x00f\xa4GBIF
+\x00BT0Ig\x14#_BST\x00\x7f\x83\x88BT0I
+\x00\x00
+\x01`\xa4GBST
+\x00HB0S`BT0P\x14I\x04_BTP\x01{HAM4
+\xefHAM4\xa06hpha\xa0\x11\x92\x83\x88BT0I
+\x00\x00xa
+
+`a{a
+\xffHT0L{za
+\x08\x00
+\xffHT0H}HAM4
+\x10HAM4[\x82A\x18BAT1\x08_HID\x0cA\xd0\x0c
+\x08_UID
+\x01\x08_PCL\x12\x07\x01\\_SB_\x08B1ST
+\x00\x08XB1S
+\x01\x08BT1I\x12#\r
+\x00\x0c\xff\xff\xff\xff\x0c\xff\xff\xff\xff
+\x01\x0b0*
+\x00
+\x00
+\x01
+\x01\r\x00\r\x00\r\x00\r\x00\x08BT1P\x12\x02\x04\x14G\x06_STA\x00\xa0\x0f\\H8DRpHB1AB1ST\xa1\x1e\xa0\x13{\\RBEC
+9
+\x80\x00p
+\x01B1ST\xa1\x08p
+\x00B1ST\xa0\x1fB1ST\xa0\x08XB1S\xa4
+\x1f\xa1\x10\xa0\t\\WNTF\xa4
+\x00\xa1\x04\xa4
+\x1f\xa1\x10\xa0\t\\WNTF\xa4
+\x00\xa1\x04\xa4
+\x0f\x14G\x04_BIF\x00p
+\x00gp
+
+f\xa2+\x90\x92gf\xa0\x1fHB1A\xa0\x13\x93{HB1S
+\x0f\x00
+\x0f["\x0b\xe8\x03vf\xa1\x05p
+\x01g\xa1\x05p
+\x00f\xa4GBIF
+\x10BT1Ig\x14#_BST\x00\x7f\x83\x88BT1I
+\x00\x00
+\x01`\xa4GBST
+\x10HB1S`BT1P\x14I\x04_BTP\x01{HAM4
+\xdfHAM4\xa06hpha\xa0\x11\x92\x83\x88BT1I
+\x00\x00xa
+
+`a{a
+\xffHT1L{za
+\x08\x00
+\xffHT1H}HAM4
+ HAM4[\x82>AC__\x08_HID\rACPI0003\x00\x08_UID
+\x00\x08_PCL\x12\x07\x01\\_SB_\x14\x0b_PSR\x00\xa4HPAC\x14\t_STA\x00\xa4
+\x0f[\x82IQHKEY\x08_HID\x0c$M\x00h\x14\t_STA\x00\xa4
+\x0f\x14
+MHKV\x00\xa4\x0b\x00\x01\x08DHKC
+\x00\x08DHKB
+\x01[\x01XDHK\x07\x08DHKH
+\x00\x08DHKW
+\x00\x08DHKS
+\x00\x08DHKD
+\x00\x08DHKN\x0b\x0c\x08\x08DHKT
+\x00\x08DHWW
+\x00\x14\x0cMHKA\x00\xa4\x0c\xff\xff\xff\x00\x14\x0bMHKN\x00\xa4DHKN\x14\x18MHKK\x01\xa0\rDHKC\xa4{DHKNh\x00\xa1\x03\xa4\x00\x14@\x05MHKM\x02[#XDHK\xff\xff\xa0\x06\x94h
+ \xa3\xa13y\x01vh`\xa0){`\x0c\xff\xff\xff\x00\x00\xa0\x0ci}`DHKNDHKN\xa1\x12{DHKN\x7f`\x0c\xff\xff\xff\xff\x00DHKN\xa1\x02\xa3[\'XDHK\x14\x13MHKS\x00\x86\\._SB_SLPB
+\x80\x14\x0cMHKC\x01phDHKC\x14I\x08MHKP\x00[#XDHK\xff\xff\xa0\x11DHWWpDHWWap\x00DHWW\xa1O\x05\xa0\x11DHKWpDHKWap\x00DHKW\xa1J\x04\xa0\x11DHKDpDHKDap\x00DHKD\xa15\xa0\x11DHKSpDHKSap\x00DHKS\xa1!\xa0\x11DHKTpDHKTap\x00DHKT\xa1\rpDHKHap\x00DHKH[\'XDHK\xa4a\x14>MHKE\x01phDHKB[#XDHK\xff\xffp\x00DHKHp\x00DHKWp\x00DHKSp\x00DHKDp\x00DHKTp\x00DHWW[\'XDHK\x14E\x0bMHKQ\x01\xa0M
+DHKB\xa0@\tDHKC[#XDHK\xff\xff\xa0\x06\x95h\x0b\x00\x10\xa1M\x06\xa0\x0c\x95h\x0b\x00 phDHKH\xa1M\x05\xa0\x0c\x95h\x0b\x000phDHKW\xa1M\x04\xa0\x0c\x95h\x0b\x00@phDHKS\xa1=\xa0\x0c\x95h\x0b\x00PphDHKD\xa1.\xa0\x0c\x95h\x0b\x00`phDHKH\xa1\x1f\xa0\x0c\x95h\x0b\x00pphDHKT\xa1\x10\xa0\x0c\x95h\x0b\x00\x80phDHWW\xa1\x01[\'XDHK\x86HKEY
+\x80\xa1\x15\xa0\x13\x93h\x0b\x04\x10\x86\\._SB_SLPB
+\x80\x14I\x05MHKB\x01\xa0&\x93h
+\x00\\/\x05_SB_PCI0LPC_EC__BEEP
+\x11p
+\x00\\LIDB\xa1*\xa0&\x93h
+\x01\\/\x05_SB_PCI0LPC_EC__BEEP
+\x10p
+\x01\\LIDB\xa1\x01\x14<MHKD\x00\xa0\x1aVIGD\\/\x04_SB_PCI0VID_VLOC
+\x00\xa1\x1a\\/\x05_SB_PCI0AGP_VID_VLOC
+\x00\x14>MHQC\x01\xa01\\WNTF\xa0\x0b\x93h
+\x00\xa4\\CWAC\xa1\x1e\xa0\x0b\x93h
+\x01\xa4\\CWAP\xa1\x10\xa0\x0b\x93h
+\x02\xa4\\CWAT\xa1\x02\xa3\xa1\x02\xa3\xa4
+\x00\x14A\x08MHGC\x00\xa0C\x07\\WNTF[#XDHK\xff\xff\xa0:\\OSC4\xa0 \\/\x06_SB_PCI0LPC_EC__AC___PSRp
+\x03`\xa1\x12\xa0
+\\C4NAp
+\x03`\xa1\x05p
+\x04`\xa1 \xa0\x18\\/\x04_SB_PCI0LPC_C4C3p
+\x04`\xa1\x05p
+\x03`[\'XDHK\xa4`\xa1\x02\xa3\xa4
+\x00\x14A\x13MHSC\x01\xa0F\x12\x90\\CWAC\\WNTF[#XDHK\xff\xff\xa0J\x08\\OSC4\xa0>\x93h
+\x03\xa08\x92\\CWAS\x86\\._PR_CPU0
+\x81\xa0\x13\\MPEN\x86\\._PR_CPU1
+\x81p
+\x01\\CWASp
+\x01\\C4NA\xa1C\x04\xa0=\x93h
+\x04\xa07\\CWAS\x86\\._PR_CPU0
+\x81\xa0\x13\\MPEN\x86\\._PR_CPU1
+\x81p
+\x00\\CWASp
+\x00\\C4NA\xa1\x02\xa3\xa1O\x07\xa0+\x93h
+\x03\xa0%\x92\\CWASp
+\x00\\/\x04_SB_PCI0LPC_C4C3p
+\x01\\CWAS\xa1@\x05\xa0J\x04\x93h
+\x04\xa0C\x04\\CWAS\xa03\x92\\/\x06_SB_PCI0LPC_EC__AC___PSRp
+\x01\\/\x04_SB_PCI0LPC_C4C3p
+\x00\\CWAS\xa1\x02\xa3[\'XDHK\xa1\x02\xa3\x10G\x14\\/\x05_SB_PCI0LPC_EC__HKEY\x14M\x04TDSC\x01p
+\x01`\xa2\x1b`p\\/\x05_SB_PCI0LPC_EC__HANT`ph\\/\x05_SB_PCI0LPC_EC__HANT\xa0\x0c\x93h
+!\\ATCC
+\x00\x14\x0cTDSS\x01\\ATCCh\x14N\x08TDSG\x01{h
+\xff`p`\\/\x05_SB_PCI0LPC_EC__HDAAzh
+\x08`{`
+\xffapa\\/\x05_SB_PCI0LPC_EC__HDABzh
+\x10`{`
+\xffapa\\/\x05_SB_PCI0LPC_EC__HDACzh
+\x18`{`
+\xffapa\\/\x05_SB_PCI0LPC_EC__HANA\x14!TDGC\x00p\\/\x05_SB_PCI0LPC_EC__HDDD`\xa4`\x14!TDGS\x00p\\/\x05_SB_PCI0LPC_EC__HAAA`\xa4`[\x81\x18ECOR\x11\x00@*HSD0\x08HSD1\x08HSD2\x08[\x81\x0eECOR\x11\x00@+HSDL\x10[\x81\x19ECOR\x11\x00@+HSDBH\x04HSDF\x10HSDC\x10[\x01I2CM\x07\x14?CHKS\x00p\x0b\xe8\x03`\xa2\x13HMPR["
+\x01v`\xa0\x07\x92`\xa4\x0b\x80\x80\xa0\x19HMDN\xa0\x0fHMST\xa4}\x0b\x00\x80HMST\x00\xa1\x03\xa4\x00\xa1\x05\xa4\x0b\x81\x80\x14 I2RT\x00p
+\x02HMADp
+!HMCMp
+\x0bHMPR\xa4CHKS\x14&I2NT\x01p
+\x02HMADp
+"HMCMphHSD0p
+\x06HMPR\xa4CHKS\x14K\x0eTATR\x00\xa0C\x0e\\H8DR[#I2CM\xff\xffI2RTpHSD0`\xa0%\x93`
+ \\/\x04_SB_PCI0LPC_TCSZHSD1HSD2I2NT`\xa1M\t\xa0%\x93`
+!\\/\x04_SB_PCI0LPC_TCSTHSD1HSD2I2NT`\xa1D\x07\xa0I\x04\x93`
+"\x08TSDC\x11\x0c
+\t        \x00pHSDBTSDC\\/\x04_SB_PCI0LPC_TCBSHSD1TSDCHSDFHSDCI2NT`\xa1\'\xa0%\x93`
+#\\/\x04_SB_PCI0LPC_TSCLHSD1HSDLI2NT`[\'I2CM\x14\rTATE\x00p
+\x01HETE\x08_ADR
+\x00\x08_S3D
+\x02\x08RID_
+\x00\x08LRRT\x12G\x13\x0e\x12\x15\x04\x0c\xff\xff\x01\x00
+\x00\\._SB_LNKA
+\x00\x12\x15\x04\x0c\xff\xff\x02\x00
+\x00\\._SB_LNKA
+\x00\x12\x15\x04\x0c\xff\xff\x1b\x00
+\x01\\._SB_LNKB
+\x00\x12\x15\x04\x0c\xff\xff\x1c\x00
+\x00\\._SB_LNKE
+\x00\x12\x15\x04\x0c\xff\xff\x1c\x00
+\x01\\._SB_LNKF
+\x00\x12\x15\x04\x0c\xff\xff\x1c\x00
+\x02\\._SB_LNKG
+\x00\x12\x15\x04\x0c\xff\xff\x1c\x00
+\x03\\._SB_LNKH
+\x00\x12\x15\x04\x0c\xff\xff\x1d\x00
+\x00\\._SB_LNKA
+\x00\x12\x15\x04\x0c\xff\xff\x1d\x00
+\x01\\._SB_LNKB
+\x00\x12\x15\x04\x0c\xff\xff\x1d\x00
+\x02\\._SB_LNKC
+\x00\x12\x15\x04\x0c\xff\xff\x1d\x00
+\x03\\._SB_LNKD
+\x00\x12\x15\x04\x0c\xff\xff\x1f\x00
+\x00\\._SB_LNKH
+\x00\x12\x15\x04\x0c\xff\xff\x1f\x00
+\x02\\._SB_LNKA
+\x00\x12\x15\x04\x0c\xff\xff\x1f\x00
+\x01\\._SB_LNKA
+\x00\x08ARRT\x12G\x0c\x0e\x12\r\x04\x0c\xff\xff\x01\x00
+\x00
+\x00
+\x10\x12\r\x04\x0c\xff\xff\x02\x00
+\x00
+\x00
+\x10\x12\r\x04\x0c\xff\xff\x1b\x00
+\x01
+\x00
+\x11\x12\r\x04\x0c\xff\xff\x1c\x00
+\x00
+\x00
+\x14\x12\r\x04\x0c\xff\xff\x1c\x00
+\x01
+\x00
+\x15\x12\r\x04\x0c\xff\xff\x1c\x00
+\x02
+\x00
+\x16\x12\r\x04\x0c\xff\xff\x1c\x00
+\x03
+\x00
+\x17\x12\r\x04\x0c\xff\xff\x1d\x00
+\x00
+\x00
+\x10\x12\r\x04\x0c\xff\xff\x1d\x00
+\x01
+\x00
+\x11\x12\r\x04\x0c\xff\xff\x1d\x00
+\x02
+\x00
+\x12\x12\r\x04\x0c\xff\xff\x1d\x00
+\x03
+\x00
+\x13\x12\r\x04\x0c\xff\xff\x1f\x00
+\x00
+\x00
+\x17\x12\r\x04\x0c\xff\xff\x1f\x00
+\x02
+\x00
+\x10\x12\r\x04\x0c\xff\xff\x1f\x00
+\x01
+\x00
+\x10\x14\x19_PRT\x00\xa0\x0b\\GPIC\xa4ARRT\xa1\x06\xa4LRRT\x08_HID\x0cA\xd0
+\x08\x08_CID\x0cA\xd0
+\x03\x08_BBN
+\x00[\x80MHCS\x02
+\x00\x0b\x00\x01[\x815MHCS\x03\x00@HPAM0\x08PAM1\x08PAM2\x08PAM3\x08PAM4\x08PAM5\x08PAM6\x08\x00(\x00\x03TOUD\x05\x08_CRS\x11E\x1c\x0b\xc0\x01\x88\r\x00\x02\x0c\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x01G\x01\xf8\x0c\xf8\x0c\x01\x08\x88\r\x00\x01\x0c\x03\x00\x00\x00\x00\xf7\x0c\x00\x00\xf8\x0c\x88\r\x00\x01\x0c\x03\x00\x00\x00\r\xff\xff\x00\x00\x00\xf3\x87\x17\x00\x00\x0c\x03\x00\x00\x00\x00\x00\x00
+\x00\xff\xff\x0b\x00\x00\x00\x00\x00\x00\x00\x02\x00\x87\x17\x00\x00\x0c\x03\x00\x00\x00\x00\x00\x00\x0c\x00\xff?\x0c\x00\x00\x00\x00\x00\x00@\x00\x00\x87\x17\x00\x00\x0c\x03\x00\x00\x00\x00\x00@\x0c\x00\xff\x7f\x0c\x00\x00\x00\x00\x00\x00@\x00\x00\x87\x17\x00\x00\x0c\x03\x00\x00\x00\x00\x00\x80\x0c\x00\xff\xbf\x0c\x00\x00\x00\x00\x00\x00@\x00\x00\x87\x17\x00\x00\x0c\x03\x00\x00\x00\x00\x00\xc0\x0c\x00\xff\xff\x0c\x00\x00\x00\x00\x00\x00@\x00\x00\x87\x17\x00\x00\x0c\x03\x00\x00\x00\x00\x00\x00\r\x00\xff?\r\x00\x00\x00\x00\x00\x00@\x00\x00\x87\x17\x00\x00\x0c\x03\x00\x00\x00\x00\x00@\r\x00\xff\x7f\r\x00\x00\x00\x00\x00\x00@\x00\x00\x87\x17\x00\x00\x0c\x03\x00\x00\x00\x00\x00\x80\r\x00\xff\xbf\r\x00\x00\x00\x00\x00\x00@\x00\x00\x87\x17\x00\x00\x0c\x03\x00\x00\x00\x00\x00\xc0\r\x00\xff\xff\r\x00\x00\x00\x00\x00\x00@\x00\x00\x87\x17\x00\x00\x0c\x03\x00\x00\x00\x00\x00\x00\x0e\x00\xff?\x0e\x00\x00\x00\x00\x00\x00@\x00\x00\x87\x17\x00\x00\x0c\x03\x00\x00\x00\x00\x00@\x0e\x00\xff\x7f\x0e\x00\x00\x00\x00\x00\x00@\x00\x00\x87\x17\x00\x00\x0c\x03\x00\x00\x00\x00\x00\x80\x0e\x00\xff\xbf\x0e\x00\x00\x00\x00\x00\x00@\x00\x00\x87\x17\x00\x00\x0c\x03\x00\x00\x00\x00\x00\xc0\x0e\x00\xff\xff\x0e\x00\x00\x00\x00\x00\x00@\x00\x00\x87\x17\x00\x00\x0c\x03\x00\x00\x00\x00\x00\x00\x10\x00\xff\xff\xbf\xfe\x00\x00\x00\x00\x00\x00\xb0\xfe\x87\x17\x00\x00\x0c\x03\x00\x00\x00\x00\x00\x00\xd4\xfe\xff\x0f\xd4\xfe\x00\x00\x00\x00\x00\x10\x00\x00y\x00\x8a_CRS
+hC0LN\x8a_CRS
+\x82C4LN\x8a_CRS
+\x9cC8LN\x8a_CRS
+\xb6CCLN\x8a_CRS
+\xd0D0LN\x8a_CRS
+\xeaD4LN\x8a_CRS\x0b\x04\x01D8LN\x8a_CRS\x0b\x1e\x01DCLN\x8a_CRS\x0b8\x01E0LN\x8a_CRS\x0bR\x01E4LN\x8a_CRS\x0bl\x01E8LN\x8a_CRS\x0b\x86\x01ECLN\x8a_CRS\x0b\x94\x01XXMN\x8a_CRS\x0b\x98\x01XXMX\x8a_CRS\x0b\xa0\x01XXLN\x8a_CRS\x0b\xae\x01F4MN\x8a_CRS\x0b\xb2\x01F4MX\x8a_CRS\x0b\xba\x01F4LN\x14A\x12_INI\x08\xa0\x11\x92\\OSIF\\._SB__INIyTOUD
+\x1b`p`\\MEMXp`XXMNrtXXMXXXMN\x00
+\x01XXLN\xa0\x15\x92\x93{\\TPMP
+\x01\x00
+\x01p
+\x00F4LN\xa0\x10{PAM1
+\x03\x00p
+\x00C0LN\xa0\x10{PAM1
+0\x00p
+\x00C4LN\xa0\x10{PAM2
+\x03\x00p
+\x00C8LN\xa0\x10{PAM2
+0\x00p
+\x00CCLN\xa0\x10{PAM3
+\x03\x00p
+\x00D0LN\xa0\x10{PAM3
+0\x00p
+\x00D4LN\xa0\x10{PAM4
+\x03\x00p
+\x00D8LN\xa0\x10{PAM4
+0\x00p
+\x00DCLN\xa0\x10{PAM5
+\x03\x00p
+\x00E0LN\xa0\x10{PAM5
+0\x00p
+\x00E4LN\xa0\x10{PAM6
+\x03\x00p
+\x00E8LN\xa0\x10{PAM6
+0\x00p
+\x00ECLN\x08SUPP
+\x00\x08CTRL
+\x00\x14E,_OSC\x04\x8ak
+\x00CDW1\x8ak
+\x04CDW2\x8ak
+\x08CDW3\x8ah
+\x00IID0\x8ah
+\x04IID1\x8ah
+\x08IID2\x8ah
+\x0cIID3\x08UID0\x11\x13
+\x10[M\xdb3\xf7\x1f\x1c@\x96WtA\xc0=\xd7f\x8aUID0
+\x00EID0\x8aUID0
+\x04EID1\x8aUID0
+\x08EID2\x8aUID0
+\x0cEID3\xa0A#\x90\x90\x93IID0EID0\x93IID1EID1\x90\x93IID2EID2\x93IID3EID3pCDW2SUPPpCDW3CTRL{CTRL
+\x1dCTRL\xa0H\x1b\x80{CDW1
+\x01\x00\x00\xa0F\x0f{CTRL
+\x01\x00\xa03\x92\\VIGDp
+\x00\\/\x04_SB_PCI0AGP_HPGPp
+\x00\\/\x04_SB_PCI0AGP_GMGPp
+\x00\\/\x04_SB_PCI0EXP0HPCEp
+\x01\\/\x04_SB_PCI0EXP0HPCSp
+\x01\\/\x04_SB_PCI0EXP0ABP_p
+\x01\\/\x04_SB_PCI0EXP0PDS_p
+\x00\\/\x04_SB_PCI0EXP2HPCEp
+\x01\\/\x04_SB_PCI0EXP2HPCSp
+\x01\\/\x04_SB_PCI0EXP2ABP_p
+\x01\\/\x04_SB_PCI0EXP2PDS_p
+\x01\\NHPS\xa0D\x0b{CTRL
+\x04\x00\xa03\x92\\VIGDp
+\x00\\/\x04_SB_PCI0AGP_PMGPp
+\x00\\/\x04_SB_PCI0AGP_GMGPp
+\x00\\/\x04_SB_PCI0EXP0PMCEp
+\x01\\/\x04_SB_PCI0EXP0PMCSp
+\x00\\/\x04_SB_PCI0EXP2PMCEp
+\x01\\/\x04_SB_PCI0EXP2PMCSp
+\x00\\/\x04_SB_PCI0LPC_EXPEp
+\x01\\NPME\xa0\x11\x92\x93i
+\x01}CDW1
+
+CDW1\xa0\x16\x92\x93CDW3CTRL}CDW1
+\x10CDW1pCTRLCDW3\xa1\x0c}CDW1
+\x06CDW1\xa4k[\x01MDGS\x07\x08VDEE
+\x01\x08VDDA\x11\x03
+\x02\x8dVDDA
+\x00VUPC\x8dVDDA
+\x01VQDL\x8dVDDA
+\x02VQDC\x8dVDDA
+\x03VQDT\x8dVDDA
+\x04VQDD\x8dVDDA
+\x05VSDL\x8dVDDA
+\x06VSDC\x8dVDDA
+\x07VSDT\x8dVDDA
+\x08VSDD\x8dVDDA
+
+MSWT\x8dVDDA
+\x0bVWST[\x82OJVID_\x08_ADR\x0c\x00\x00\x02\x00\x08RID_
+\x00[\x80VPCG\x02
+\x00\x0b\x00\x01[\x81\x0eVPCG\x03\x00@jVPWR \x08_S3D
+\x03\x145_INI\x00\\VUPS
+\x02p\\VCDLVQDLp\\VCDCVQDCp\\VCDTVQDTp\\VCDDVQDD\x14\x07_PS0\x00\xa3\x14\x07_PS1\x00\xa3\x14\x07_PS2\x00\xa3\x14\x07_PS3\x00\xa3\x140VSWT\x00\xa0\x0f\\WVISp\\VEVT
+\x07`\xa1
+p\\VEVT
+\x05`{
+\x0f`a\xa0\taASWTa
+\x01\x14E\x08VLOC\x01\xa0M\x07\x93h\\/\x03_SB_LID__LID\\VSLDh\xa0C\x06\x93VPWR
+\x00\xa0?hp\\VEVT
+\x01`\xa0\x13\\WXPF\x86\\._SB_PCI0
+\x00\xa1\x1a\xa0\x18\\WNTF\x86\\/\x03_SB_PCI0VID_
+\x00["\x0b\xee\x02\xa1
+p\\VEVT
+\x02`{
+\x0f`a\xa0\taASWTa
+\x00\x14G\x07_DOS\x01\xa0:\x93h
+\x02p
+\x14`\xa20`v`[#MDGS\xff\xff\xa0\x19\x93
+\x00MSWTp
+\x01MSWTp
+\x00`phVDEE[\'MDGS["
+\xc8\xa14[#MDGS\xff\xff\xa0\x0f\x93VDEE
+\x02p
+\x00MSWT\xa0\x0c\x94h
+\x02p
+\x01VDEE\xa1\x07phVDEE[\'MDGS\x14\x13_DOD\x00\xa4\x12\x0b\x03\x0b\x00\x01\x0b\x00\x03\x0b\x00\x04\x14L\x0bASWT\x02\xa0\x14\x93
+\x01VDEE{
+\x01ia\\VSDSha\xa1O\tp
+\x14`\xa2A\x08`v`[#MDGS\xff\xff\xa0I\x06\x93
+\x00MSWTp
+\x00`\xa0\r{
+\x01i\x00p
+\x01VUPC\xa1\x08p
+\x00VUPC\xa0\r{
+\x01h\x00p
+\x01VQDL\xa1\x08p
+\x00VQDL\xa0\r{
+\x02h\x00p
+\x01VQDC\xa1\x08p
+\x00VQDC\xa0\r{
+\x08h\x00p
+\x01VQDD\xa1\x08p
+\x00VQDD[\'MDGS["
+\xc8\xa0\r{
+\x02i\x00\x86VID_
+\x81\xa1\x08\x86VID_
+\x80\x14I\x06VDSW\x01\xa0A\x06\x93VPWR
+\x00\xa0D\x04hp\\VEVT
+\x03`\xa0\x15\\WVIS{
+\x0f`a\xa0\taASWTa
+\x00\xa1!\xa0\x07\\WXPF\xa3\xa1\x17\xa0\x15\\WNTF{
+\x0f`a\xa0\taASWTa
+\x00\xa1\x12p\\VEVT
+\x04`ASWT
+\x01
+\x00\x14\x1eVSPD\x00p\\VEVT
+\x06`{
+\x0f`a\xa0\taASWTa
+\x01[\x82H\x06LCD0\x08_ADR\x0b\x00\x04\x14\x1c_DCS\x00\\VUPS
+\x00\xa0\t\\VCDL\xa4
+\x1f\xa1\x04\xa4
+\x1d\x14\x0b_DGS\x00\xa4VQDL\x140_DSS\x01{h
+\x01VSDL\xa0!{h\x0c\x00\x00\x00\x80\x00\xa0\x0f{h\x0c\x00\x00\x00@\x00DSWT
+\x02\xa1\x07DSWT
+\x01[\x82@\x08CRT0\x08_ADR\x0b\x00\x01\x144_DCS\x00\\VUPS
+\x01\xa0\x15\\VCSS\xa0\t\\VCDC\xa4
+\x1f\xa1\x04\xa4
+\x1d\xa1\x10\xa0\t\\VCDC\xa4
+\x0f\xa1\x04\xa4
+\r\x14\x0b_DGS\x00\xa4VQDC\x140_DSS\x01{h
+\x01VSDC\xa0!{h\x0c\x00\x00\x00\x80\x00\xa0\x0f{h\x0c\x00\x00\x00@\x00DSWT
+\x02\xa1\x07DSWT
+\x01[\x82H\x06DVI0\x08_ADR\x0b\x00\x03\x14\x1c_DCS\x00\\VUPS
+\x00\xa0\t\\VCDD\xa4
+\x1f\xa1\x04\xa4
+\x1d\x14\x0b_DGS\x00\xa4VQDD\x140_DSS\x01{h
+\x01VSDD\xa0!{h\x0c\x00\x00\x00\x80\x00\xa0\x0f{h\x0c\x00\x00\x00@\x00DSWT
+\x02\xa1\x07DSWT
+\x01\x14?DSWT\x01\xa0\tVSDLp
+\x01`\xa1\x05p
+\x00`\xa0
+VSDC}
+\x02``\xa0
+VSDD}
+\x08``\xa0\x0f`\xa0\x0cVUPC\\VSDS`h\xa1\x02\xa3[\x82BUAGP_\x08_ADR\x0c\x00\x00\x01\x00\x08_S3D
+\x03\x08RID_
+\x00\x08LART\x12*\x02\x12\x13\x04\x0b\xff\xff
+\x00\\._SB_LNKA
+\x00\x12\x13\x04\x0b\xff\xff
+\x01\\._SB_LNKB
+\x00\x08AART\x12\x1a\x02\x12\x0b\x04\x0b\xff\xff
+\x00
+\x00
+\x10\x12\x0b\x04\x0b\xff\xff
+\x01
+\x00
+\x11\x14\x19_PRT\x00\xa0\x0b\\GPIC\xa4AART\xa1\x06\xa4LART[\x01MDGS\x07\x08VDEE
+\x01\x08VDDA\x11\x03
+\x02\x8dVDDA
+\x00VUPC\x8dVDDA
+\x01VQDL\x8dVDDA
+\x02VQDC\x8dVDDA
+\x03VQDT\x8dVDDA
+\x04VQDD\x8dVDDA
+\x05VSDL\x8dVDDA
+\x06VSDC\x8dVDDA
+\x07VSDT\x8dVDDA
+\x08VSDD\x8dVDDA
+
+MSWT\x8dVDDA
+\x0bVWST[\x82BAVID_\x08_ADR
+\x00[\x80VPCG\x02
+\x00\x0b\x00\x01[\x81\x0eVPCG\x03\x00@*VPWR \x08_S3D
+\x03\x145_INI\x00\\VUPS
+\x02p\\VCDLVQDLp\\VCDCVQDCp\\VCDTVQDTp\\VCDDVQDD\x14\x07_PS0\x00\xa3\x14\x07_PS1\x00\xa3\x14\x07_PS2\x00\xa3\x14\x07_PS3\x00\xa3\x140VSWT\x00\xa0\x0f\\WVISp\\VEVT
+\x07`\xa1
+p\\VEVT
+\x05`{
+\x0f`a\xa0\taASWTa
+\x01\x14@\x05VLOC\x01\xa0H\x04\x93h\\/\x03_SB_LID__LID\\VSLDh\xa0.\x93VPWR
+\x00\xa0\x0bhp\\VEVT
+\x01`\xa1
+p\\VEVT
+\x02`{
+\x0f`a\xa0\taASWTa
+\x00\x14G\x07_DOS\x01\xa0:\x93h
+\x02p
+\x14`\xa20`v`[#MDGS\xff\xff\xa0\x19\x93
+\x00MSWTp
+\x01MSWTp
+\x00`phVDEE[\'MDGS["
+\xc8\xa14[#MDGS\xff\xff\xa0\x0f\x93VDEE
+\x02p
+\x00MSWT\xa0\x0c\x94h
+\x02p
+\x01VDEE\xa1\x07phVDEE[\'MDGS\x14\x13_DOD\x00\xa4\x12\x0b\x03\x0b\x00\x01\x0b\x10\x02\x0b\x10\x01\x14L\x0bASWT\x02\xa0\x14\x93
+\x01VDEE{
+\x01ia\\VSDSha\xa1O\tp
+\x14`\xa2A\x08`v`[#MDGS\xff\xff\xa0I\x06\x93
+\x00MSWTp
+\x00`\xa0\r{
+\x01i\x00p
+\x01VUPC\xa1\x08p
+\x00VUPC\xa0\r{
+\x01h\x00p
+\x01VQDL\xa1\x08p
+\x00VQDL\xa0\r{
+\x02h\x00p
+\x01VQDC\xa1\x08p
+\x00VQDC\xa0\r{
+\x08h\x00p
+\x01VQDD\xa1\x08p
+\x00VQDD[\'MDGS["
+\xc8\xa0\r{
+\x02i\x00\x86VID_
+\x81\xa1\x08\x86VID_
+\x80[\x82C\tLCD0\x08_ADR\x0b\x10\x01\x14\x1c_DCS\x00\\VUPS
+\x00\xa0\t\\VCDL\xa4
+\x1f\xa1\x04\xa4
+\x1d\x14*_DDC\x01\\VDDC\xa0\x0b\x93h
+\x01\xa4\\DDC1\xa1\x12\xa0\x0b\x93h
+\x02\xa4\\DDC2\xa1\x04\xa4
+\x00\x14\x0b_DGS\x00\xa4VQDL\x140_DSS\x01{h
+\x01VSDL\xa0!{h\x0c\x00\x00\x00\x80\x00\xa0\x0f{h\x0c\x00\x00\x00@\x00DSWT
+\x02\xa1\x07DSWT
+\x01[\x82@\x08CRT0\x08_ADR\x0b\x00\x01\x144_DCS\x00\\VUPS
+\x01\xa0\x15\\VCSS\xa0\t\\VCDC\xa4
+\x1f\xa1\x04\xa4
+\x1d\xa1\x10\xa0\t\\VCDC\xa4
+\x0f\xa1\x04\xa4
+\r\x14\x0b_DGS\x00\xa4VQDC\x140_DSS\x01{h
+\x01VSDC\xa0!{h\x0c\x00\x00\x00\x80\x00\xa0\x0f{h\x0c\x00\x00\x00@\x00DSWT
+\x02\xa1\x07DSWT
+\x01[\x82H\x06DVI0\x08_ADR\x0b\x10\x02\x14\x1c_DCS\x00\\VUPS
+\x00\xa0\t\\VCDD\xa4
+\x1f\xa1\x04\xa4
+\x1d\x14\x0b_DGS\x00\xa4VQDD\x140_DSS\x01{h
+\x01VSDD\xa0!{h\x0c\x00\x00\x00\x80\x00\xa0\x0f{h\x0c\x00\x00\x00@\x00DSWT
+\x02\xa1\x07DSWT
+\x01\x14?DSWT\x01\xa0\tVSDLp
+\x01`\xa1\x05p
+\x00`\xa0
+VSDC}
+\x02``\xa0
+VSDD}
+\x08``\xa0\x0f`\xa0\x0cVUPC\\VSDS`h\xa1\x02\xa3[\x80PEGC\x02
+\x00\x0b\x00\x01[\x81\x18PEGC\x03\x00@vGMGP\x01HPGP\x01PMGP\x01[\x82I\x12EXP0\x08_ADR\x0c\x00\x00\x1c\x00\x08RID_
+\x00[\x80P0CS\x02
+\x00\x0b\x00\x01[\x81M\x04P0CS\x03\x00@-ABP_\x01\x00\x02PDC_\x01\x00\x02PDS_\x01\x00\x01\x00(RID0\x10PSP0\x01PPP0\x01\x00F<\x00\x06HPCE\x01PMCE\x01\x00\x18\x00\x06HPCS\x01PMCS\x01\x08_PRW\x12\x06\x02
+\t
+\x04\x08LPRT\x12C\x05\x04\x12\x13\x04\x0b\xff\xff
+\x00\\._SB_LNKA
+\x00\x12\x13\x04\x0b\xff\xff
+\x01\\._SB_LNKB
+\x00\x12\x13\x04\x0b\xff\xff
+\x02\\._SB_LNKC
+\x00\x12\x13\x04\x0b\xff\xff
+\x03\\._SB_LNKD
+\x00\x08APRT\x122\x04\x12\x0b\x04\x0b\xff\xff
+\x00
+\x00
+\x10\x12\x0b\x04\x0b\xff\xff
+\x01
+\x00
+\x11\x12\x0b\x04\x0b\xff\xff
+\x02
+\x00
+\x12\x12\x0b\x04\x0b\xff\xff
+\x03
+\x00
+\x13\x14\x19_PRT\x00\xa0\x0b\\GPIC\xa4APRT\xa1\x06\xa4LPRT[\x82D\x0fEXP1\x08_ADR\x0c\x01\x00\x1c\x00\x08RID_
+\x00[\x80P1CS\x02
+\x00\x0b\x00\x01[\x81\x18P1CS\x03\x00@0RID1\x10PSP1\x01PPP1\x01\x08_PRW\x12\x06\x02
+\t
+\x04\x08LPRT\x12C\x05\x04\x12\x13\x04\x0b\xff\xff
+\x00\\._SB_LNKB
+\x00\x12\x13\x04\x0b\xff\xff
+\x01\\._SB_LNKC
+\x00\x12\x13\x04\x0b\xff\xff
+\x02\\._SB_LNKD
+\x00\x12\x13\x04\x0b\xff\xff
+\x03\\._SB_LNKA
+\x00\x08APRT\x122\x04\x12\x0b\x04\x0b\xff\xff
+\x00
+\x00
+\x11\x12\x0b\x04\x0b\xff\xff
+\x01
+\x00
+\x12\x12\x0b\x04\x0b\xff\xff
+\x02
+\x00
+\x13\x12\x0b\x04\x0b\xff\xff
+\x03
+\x00
+\x10\x14\x19_PRT\x00\xa0\x0b\\GPIC\xa4APRT\xa1\x06\xa4LPRT[\x82H\x14EXP2\x08_ADR\x0c\x02\x00\x1c\x00\x08RID_
+\x00\x08XCPF
+\x00[\x80P2CS\x02
+\x00\x0b\x00\x01[\x81M\x04P2CS\x03\x00@-ABP_\x01\x00\x02PDC_\x01\x00\x02PDS_\x01\x00\x01\x00(RID2\x10PSP2\x01PPP2\x01\x00F<\x00\x06HPCE\x01PMCE\x01\x00\x18\x00\x06HPCS\x01PMCS\x01\x08_PRW\x12\x06\x02
+\t
+\x04\x08LPRT\x12C\x05\x04\x12\x13\x04\x0b\xff\xff
+\x00\\._SB_LNKC
+\x00\x12\x13\x04\x0b\xff\xff
+\x01\\._SB_LNKD
+\x00\x12\x13\x04\x0b\xff\xff
+\x02\\._SB_LNKA
+\x00\x12\x13\x04\x0b\xff\xff
+\x03\\._SB_LNKB
+\x00\x08APRT\x122\x04\x12\x0b\x04\x0b\xff\xff
+\x00
+\x00
+\x12\x12\x0b\x04\x0b\xff\xff
+\x01
+\x00
+\x13\x12\x0b\x04\x0b\xff\xff
+\x02
+\x00
+\x10\x12\x0b\x04\x0b\xff\xff
+\x03
+\x00
+\x11\x14\x19_PRT\x00\xa0\x0b\\GPIC\xa4APRT\xa1\x06\xa4LPRT[\x82\x16EXUP\x08_ADR
+\x00\x14\t_RMV\x00\xa4
+\x01[\x82B\x10EXP3\x08_ADR\x0c\x03\x00\x1c\x00\x08RID_
+\x00[\x80P3CS\x02
+\x00\x0b\x00\x01[\x81\x18P3CS\x03\x00@0RID3\x10PSP3\x01PPP3\x01\x08_PRW\x12\x06\x02
+\t
+\x04\x08LPRT\x12C\x05\x04\x12\x13\x04\x0b\xff\xff
+\x00\\._SB_LNKD
+\x00\x12\x13\x04\x0b\xff\xff
+\x01\\._SB_LNKA
+\x00\x12\x13\x04\x0b\xff\xff
+\x02\\._SB_LNKB
+\x00\x12\x13\x04\x0b\xff\xff
+\x03\\._SB_LNKC
+\x00\x08APRT\x122\x04\x12\x0b\x04\x0b\xff\xff
+\x00
+\x00
+\x13\x12\x0b\x04\x0b\xff\xff
+\x01
+\x00
+\x10\x12\x0b\x04\x0b\xff\xff
+\x02
+\x00
+\x11\x12\x0b\x04\x0b\xff\xff
+\x03
+\x00
+\x12\x14\x19_PRT\x00\xa0\x0b\\GPIC\xa4APRT\xa1\x06\xa4LPRT[\x82\x0cEXPD\x08_ADR
+\x00[\x82O\x16PCI1\x08_ADR\x0c\x00\x00\x1e\x00\x08_S3D
+\x02\x08RID_
+\x00\x08LPRT\x12G\t\x07\x12\x13\x04\x0b\xff\xff
+\x00\\._SB_LNKA
+\x00\x12\x13\x04\x0b\xff\xff
+\x01\\._SB_LNKB
+\x00\x12\x13\x04\x0b\xff\xff
+\x02\\._SB_LNKC
+\x00\x12\x15\x04\x0c\xff\xff\x01\x00
+\x00\\._SB_LNKA
+\x00\x12\x15\x04\x0c\xff\xff\x02\x00
+\x00\\._SB_LNKF
+\x00\x12\x15\x04\x0c\xff\xff\x02\x00
+\x01\\._SB_LNKG
+\x00\x12\x15\x04\x0c\xff\xff\x08\x00
+\x00\\._SB_LNKE
+\x00\x08APRT\x12O\x05\x07\x12\x0b\x04\x0b\xff\xff
+\x00
+\x00
+\x10\x12\x0b\x04\x0b\xff\xff
+\x01
+\x00
+\x11\x12\x0b\x04\x0b\xff\xff
+\x02
+\x00
+\x12\x12\r\x04\x0c\xff\xff\x01\x00
+\x00
+\x00
+\x10\x12\r\x04\x0c\xff\xff\x02\x00
+\x00
+\x00
+\x15\x12\r\x04\x0c\xff\xff\x02\x00
+\x01
+\x00
+\x16\x12\r\x04\x0c\xff\xff\x08\x00
+\x00
+\x00
+\x14\x14\x19_PRT\x00\xa0\x0b\\GPIC\xa4APRT\xa1\x06\xa4LPRT\x08_PRW\x12\x06\x02
+\x0b
+\x04[\x82\'CDBS\x08_ADR
+\x00\x14\x13_S3D\x00\xa0\t\\WMEF\xa4
+\x02\xa4
+\x03\x08_SUN
+\x01[\x82L\xb8IDE0\x08_ADR\x0c\x01\x00\x1f\x00\x08_S3D
+\x03\x08RID_
+\x00[\x80IDCS\x02
+\x00\x0b\x00\x01[\x81@\x12IDCS\x03\x00@ PFT0\x01PIE0\x01PPE0\x01PDT0\x01PFT1\x01PIE1\x01PPE1\x01PDT1\x01PRC0\x02\x00\x02PIS0\x02PSIE\x01PIDE\x01SFT0\x01SIE0\x01SPE0\x01SDT0\x01SFT1\x01SIE1\x01SPE1\x01SDT1\x01SRC0\x02\x00\x02SIS0\x02SSIE\x01SIDE\x01PRC1\x02PIS1\x02SRC1\x02SIS1\x02\x00\x18PSD0\x01PSD1\x01SSD0\x01SSD1\x01\x00\x0cPCT0\x02\x00\x02PCT1\x02\x00\x02SCT0\x02\x00\x02SCT1\x02\x00\x02\x00@\x04PCB0\x01PCB1\x01SCB0\x01SCB1\x01PCR0\x01PCR1\x01SCR0\x01SCR1\x01\x00\x02WRPP\x01\x00\x01FPB0\x01FPB1\x01FSB0\x01FSB1\x01PSIG\x02SSIG\x02[\x81\x1fIDCS\x03\x00@ PTI0\x04PTI1\x04\x00\x08STI0\x04STI1\x04\x14\'GPCT\x04\xa0\t\x92}hi\x00\xa4
+\x00\xa0\t\x90\x92hi\xa4\x0b\x84\x03\xa4wt
+\trjk\x00\x00
+\x1e\x00\x14*GDCT\x04\xa0\x06\x92h\xa4
+\x00\xa0\x05i\xa4
+\x14\xa0\x0cj\xa4wt
+\x04k\x00
+\x0f\x00\xa4wt
+\x04k\x00
+\x1e\x00\x142MTIM\x02p
+\x00`\xa0\x07h}`
+\x01`\xa0\x0b\x92\x95h
+\x02}`
+\x02`\xa0\x08\x92i}`
+\x04`\xa0\x08\x92h}`
+\x08`\xa4`\x14\x1aMISP\x01\xa0\x06\x92h\xa4
+\x00\xa0\t\x92\x94h
+\x02\xa4
+\x01\xa4
+\x02\x14\x1cMRCT\x01\xa0\t\x92\x94h
+\x02\xa4
+\x00\xa0\x08\x93h
+\x03\xa4
+\x01\xa4
+\x03[\x82O\x95PRIM\x08_ADR
+\x00\x08BGTM\x11\x03
+\x14\x8aBGTM
+\x00GTP0\x8aBGTM
+\x04GTD0\x8aBGTM
+\x08GTP1\x8aBGTM
+\x0cGTD1\x8aBGTM
+\x10GTMF\x08BPI0
+\x00\x08BDM0
+\x00\x08BPI1
+\x00\x08BDM1
+\x00\x08DRE0
+\x00\x08DRE1
+\x00\x08DIP0
+\x00\x08DIP1
+\x00\x14M\x11_GTM\x00pGPCTPFT0PDT0PIS0PRC0GTP0pGDCTPSD0FPB0PCB0PCT0GTD0\xa0\x0f\x92GTD0pGTP0GTD0\xa0H\x04PSIEpGPCTPFT1PDT1PIS1PRC1GTP1pGDCTPSD1FPB1PCB1PCT1GTD1\xa0\x0f\x92GTD1pGTP1GTD1\xa1\x0fp
+\x00GTP1p
+\x00GTD1p
+\x00GTMF\xa0\x10PSD0}GTMF
+\x01GTMF\xa0\x1f\x92GTP0}GTMF
+\x01GTMFp
+xGTP0p
+\x14GTD0\xa0\x10PIE0}GTMF
+\x02GTMF\xa0\x10PSD1}GTMF
+\x04GTMF\xa0\x10PIE1}GTMF
+\x08GTMF}GTMF
+\x10GTMF\xa4BGTM\x14@G_STM\x03\x8ah
+\x00STP0\x8ah
+\x04STD0\x8ah
+\x08STP1\x8ah
+\x0cSTD1\x8ah
+\x10STMFp
+\x00DRE0p
+\x00DIP0\xa0G$\x93\x87i\x0b\x00\x02\x8bi
+\x00M000\x8bi
+bM049\x8bi
+fM051\x8bi
+jM053\x8bi
+|M062\x8bi
+~M063\x8bi
+\x80M064\x8bi
+\x82M065\x8bi
+\x88M068\x8bi
+\x9cM078\x8bi
+\xacM086\x8bi
+\xb0M088\x8bi
+\xeeM119\x8bi\x0b(\x01M148\xa0\x1f\x93{M148\x0b\x00\xc0\x00\x0b\x00@\xa0\x10{M148
+\x04\x00p
+\x01DRE0\xa0\x1b{M086\x0b\x00\x80\x00\xa0\x10{M119
+\x01\x00p
+\x01DRE0\xa0E\t\\W98Fp\\UUDMM053M088STD0\xa0\x10STD0}STMF
+\x01STMF\xa1\x0c{STMF
+\xfeSTMFp\\UMDMM053M063M062M065STP0\xa0 \x92STP0p\\UPIOM053M064M051M068STP0\xa0\x15{M049\x0b\x00\x08\x00}STMF
+\x02STMF\xa1\x0c{STMF
+\xfdSTMFp\\DPIOSTP0{STMF
+\x02\x00`p\\DUDMSTD0{STMF
+\x01\x00a\xa0&\x92\x95\\/\x05_SB_PCI0LPC_EC__BGID
+\x00
+\x0cp
+\x00`p
+\xffapMTIM`{M000\x0b\x00\x80\x00PTI0pMISP`PIS0pMRCT`PRC0\xa0\x0c\x93a
+\xffp
+\x00PSD0\xa1C\x06p
+\x01PSD0\xa0\x0c\x92\x94a
+\x02paPCT0\xa1\x18\xa0\r{a
+\x01\x00p
+\x01PCT0\xa1\x08p
+\x02PCT0\xa0\r\x92\x95a
+\x03p
+\x01PCB0\xa1\x08p
+\x00PCB0\xa0\x0c\x93a
+\x05p
+\x01FPB0\xa1\x08p
+\x00FPB0p
+\x01PCR0p\\FDMA`aBDM0p\\FPIO`BPI0\xa0J\x1e\x93\x87j\x0b\x00\x02\x8bj
+\x00S000\x8bj
+bS049\x8bj
+fS051\x8bj
+jS053\x8bj
+|S062\x8bj
+~S063\x8bj
+\x80S064\x8bj
+\x82S065\x8bj
+\x88S068\x8bj
+\xb0S088\xa0E\t\\W98Fp\\UUDMS053S088STD1\xa0\x10STD1}STMF
+\x04STMF\xa1\x0c{STMF
+\xfbSTMFp\\UMDMS053S063S062S065STP1\xa0 \x92STP1p\\UPIOS053S064S051S068STP1\xa0\x15{S049\x0b\x00\x08\x00}STMF
+\x08STMF\xa1\x0c{STMF
+\xf7STMFp\\DPIOSTP1{STMF
+\x08\x00`p\\DUDMSTD1{STMF
+\x04\x00a\xa0=STP1pMTIM`{S000\x0b\x00\x80\x00PTI1\xa0${STMF
+\x10\x00pMISP`PIS1pMRCT`PRC1p
+\x01PSIE\xa1\x0fp
+\x00PTI1p
+\x00PSIE\xa0\x0c\x93a
+\xffp
+\x00PSD1\xa1C\x06p
+\x01PSD1\xa0\x0c\x92\x94a
+\x02paPCT1\xa1\x18\xa0\r{a
+\x01\x00p
+\x01PCT1\xa1\x08p
+\x02PCT1\xa0\r\x92\x95a
+\x03p
+\x01PCB1\xa1\x08p
+\x00PCB1\xa0\x0c\x93a
+\x05p
+\x01FPB1\xa1\x08p
+\x00FPB1p
+\x01PCR1p\\FDMA`aBDM1p\\FPIO`BPI1[\x82I4MSTR\x08_ADR
+\x00\x08HDTF\x11\x1f
+\x1c\x02\x00\x00\x00\x00\xa0\xef\x00\x00\x00\x00\x00\xa0\xf5\x03\x00\x00\x00\x00\xa0\xef\x03\x00\x00\x00\x00\xa0\xef\x8cHDTF
+\x0fHDMA\x8cHDTF
+\x16HPIO\x8cHDTF
+\rHFLC\x08ERTF\x11&
+#\x02\x00\x00\x00\x00\xa0\xef\x00\x00\x00\x00\x00\xa0\xf5\x03\x00\x00\x00\x00\xa0\xef\x03\x00\x00\x00\x00\xa0\xef_\x00\x00\x00\x00\xa0\xef\x8cERTF
+\x0fEDMA\x8cERTF
+\x16EPIO\x8cERTF
+\rEFLC\x08HPTF\x11&
+#\x02\x00\x00\x00\x00\xa0\xef\x00\x00\x00\x00\x00\xa0\xf5\x03\x00\x00\x00\x00\xa0\xef\x03\x00\x00\x00\x00\xa0\xef\x10\x03\x00\x00\x00\xa0\xef\x8cHPTF
+\x0fPDMA\x8cHPTF
+\x16PPIO\x8cHPTF
+\rPFLC\x08HXTF\x11-
+*\x02\x00\x00\x00\x00\xa0\xef\x00\x00\x00\x00\x00\xa0\xf5\x03\x00\x00\x00\x00\xa0\xef\x03\x00\x00\x00\x00\xa0\xef_\x00\x00\x00\x00\xa0\xef\x10\x03\x00\x00\x00\xa0\xef\x8cHXTF
+\x0fXDMA\x8cHXTF
+\x16XPIO\x8cHXTF
+\rXFLC\x08IDTF\x11\x11
+\x0e\x03\x00\x00\x00\x00\xa0\xef\x03\x00\x00\x00\x00\xa0\xef\x8cIDTF
+\x01IDMA\x8cIDTF
+\x08IPIO\x08DDTF\x11\x1f
+\x1c\x03\x00\x00\x00\x00\xa0\xef\x03\x00\x00\x00\x00\xa0\xef\x00\x00\x00\x00\x00\xa0\xe3\x00\x00\x00\x00\x00\xa0\xe3\x8cDDTF
+\x01DDMA\x8cDDTF
+\x08DPIO\x8cDDTF
+\x0fDTAT\x8cDDTF
+\x16DTFT\x14@\x14_GTF\x00p\\/\x05_SB_PCI0LPC_EC__BGID
+\x00`\xa0"\\OSSSp
+\xe1HFLCp
+\xe1EFLCp
+\xe1PFLCp
+\xe1XFLC\xa0M\x08\x93`
+\x06\xa0H\x04^^DRE0\xa0"^^DIP0p^^BDM0XDMAp^^BPI0XPIO\xa4HXTF\xa1\x1cp^^BDM0EDMAp^^BPI0EPIO\xa4ERTF\xa0"^^DIP0p^^BDM0PDMAp^^BPI0PPIO\xa4HPTFp^^BDM0HDMAp^^BPI0HPIO\xa4HDTFp\x00a\xa0\x08\x93`
+\x03p\x01a\xa0\x08\x93`
+
+p\x01a\xa0\x08\x93`
+\x0bp\x01a\xa01ap\\CDFLDTFTp\\CDAHDTATp^^BDM0DDMAp^^BPI0DPIO\xa4DDTF\xa1\x1cp^^BDM0IDMAp^^BPI0IPIO\xa4IDTF\x14\x1e_EJ0\x01\\/\x05_SB_PCI0LPC_EC__BEJ0h\x14)_STA\x00\xa0\x1d\\/\x05_SB_PCI0LPC_EC__BSTA
+\x01\xa4
+\x0f\xa1\x04\xa4
+\x00[\x82K"SATA\x08_ADR\x0c\x02\x00\x1f\x00\x08_S3D
+\x03\x08RID_
+\x00[\x80IDCS\x02
+\x00\x0b\x00\x01[\x81@\x12IDCS\x03\x00@ PFT0\x01PIE0\x01PPE0\x01PDT0\x01PFT1\x01PIE1\x01PPE1\x01PDT1\x01PRC0\x02\x00\x02PIS0\x02PSIE\x01PIDE\x01SFT0\x01SIE0\x01SPE0\x01SDT0\x01SFT1\x01SIE1\x01SPE1\x01SDT1\x01SRC0\x02\x00\x02SIS0\x02SSIE\x01SIDE\x01PRC1\x02PIS1\x02SRC1\x02SIS1\x02\x00\x18PSD0\x01PSD1\x01SSD0\x01SSD1\x01\x00\x0cPCT0\x02\x00\x02PCT1\x02\x00\x02SCT0\x02\x00\x02SCT1\x02\x00\x02\x00@\x04PCB0\x01PCB1\x01SCB0\x01SCB1\x01PCR0\x01PCR1\x01SCR0\x01SCR1\x01\x00\x02WRPP\x01\x00\x01FPB0\x01FPB1\x01FSB0\x01FSB1\x01PSIG\x02SSIG\x02[\x81\x1fIDCS\x03\x00@ PTI0\x04PTI1\x04\x00\x08STI0\x04STI1\x04\x14\'GPCT\x04\xa0\t\x92}hi\x00\xa4
+\x00\xa0\t\x90\x92hi\xa4\x0b\x84\x03\xa4wt
+\trjk\x00\x00
+\x1e\x00\x14*GDCT\x04\xa0\x06\x92h\xa4
+\x00\xa0\x05i\xa4
+\x14\xa0\x0cj\xa4wt
+\x04k\x00
+\x0f\x00\xa4wt
+\x04k\x00
+\x1e\x00\x142MTIM\x02p
+\x00`\xa0\x07h}`
+\x01`\xa0\x0b\x92\x95h
+\x02}`
+\x02`\xa0\x08\x92i}`
+\x04`\xa0\x08\x92h}`
+\x08`\xa4`\x14\x1aMISP\x01\xa0\x06\x92h\xa4
+\x00\xa0\t\x92\x94h
+\x02\xa4
+\x01\xa4
+\x02\x14\x1cMRCT\x01\xa0\t\x92\x94h
+\x02\xa4
+\x00\xa0\x08\x93h
+\x03\xa4
+\x01\xa4
+\x03[\x82\x1dSMBU\x08_ADR\x0c\x03\x00\x1f\x00\x08_S3D
+\x03\x08RID_
+\x00[\x82J\x0eUSB0\x08_ADR\x0c\x00\x00\x1d\x00\x08_S3D
+\x02\x08RID_
+\x00[\x80U0CS\x02
+\xc4
+\x04[\x81\rU0CS\x03U0EN\x02\x00\x1e\x08_PR0\x12\x19\x01\\/\x05_SB_PCI0LPC_EC__PUBS\x08_PR1\x12\x19\x01\\/\x05_SB_PCI0LPC_EC__PUBS\x08_PR2\x12\x19\x01\\/\x05_SB_PCI0LPC_EC__PUBS\x08_PRW\x12\x1d\x03
+\x03
+\x03\\/\x05_SB_PCI0LPC_EC__PUBS\x141_PSW\x01\xa0\thp
+\x03U0EN\xa1\x08p
+\x00U0EN\\/\x05_SB_PCI0LPC_EC__PNSTh[\x82J\x07USB1\x08_ADR\x0c\x01\x00\x1d\x00\x08_S3D
+\x02\x08RID_
+\x00[\x80U1CS\x02
+\xc4
+\x04[\x81\rU1CS\x03U1EN\x02\x00\x1e\x08_PRW\x12\x06\x02
+\x04
+\x03\x14\x19_PSW\x01\xa0\thp
+\x03U1EN\xa1\x08p
+\x00U1EN[\x82\x1aURTH\x08_ADR
+\x00[\x82\x0cUPEX\x08_ADR
+\x02[\x82N\x0eUSB2\x08_ADR\x0c\x02\x00\x1d\x00\x08_S3D
+\x02\x08RID_
+\x00[\x80U2CS\x02
+\xc4
+\x04[\x81\rU2CS\x03U2EN\x02\x00\x1e\x08_PR0\x12\x19\x01\\/\x05_SB_PCI0LPC_EC__PUBS\x08_PR1\x12\x19\x01\\/\x05_SB_PCI0LPC_EC__PUBS\x08_PR2\x12\x19\x01\\/\x05_SB_PCI0LPC_EC__PUBS\x08_PRW\x12\x1d\x03
+\x0c
+\x03\\/\x05_SB_PCI0LPC_EC__PUBS\x14\x19_PSW\x01\xa0\thp
+\x03U2EN\xa1\x08p
+\x00U2EN[\x82\x1aURTH\x08_ADR
+\x00[\x82\x0cUPDK\x08_ADR
+\x02[\x82\x16USB3\x08_ADR\x0c\x03\x00\x1d\x00\x08RID_
+\x00[\x82N\x0fUSB7\x08_ADR\x0c\x07\x00\x1d\x00\x08_S3D
+\x03\x08RID_
+\x00[\x80U7CS\x02
+`
+\x04[\x81\x14U7CS\x03\x00\x10PWKI\x01PWUC\x06\x00\t\x08_PR0\x12\x19\x01\\/\x05_SB_PCI0LPC_EC__PUBS\x08_PR1\x12\x19\x01\\/\x05_SB_PCI0LPC_EC__PUBS\x08_PR2\x12\x19\x01\\/\x05_SB_PCI0LPC_EC__PUBS\x14\x14_INI\x00p
+\x01PWKIp
+\x0fPWUC\x08_PRW\x12\x1d\x03
+\r
+\x03\\/\x05_SB_PCI0LPC_EC__PUBS[\x82(URTH\x08_ADR
+\x00[\x82\x0cUPDK\x08_ADR
+\x06[\x82\x0cUPEX\x08_ADR
+\x04[\x821HDEF\x08_ADR\x0c\x00\x00\x1b\x00\x08_S3D
+\x03\x08RID_
+\x00\x08_PRW\x12\x06\x02
+\x05
+\x04\x14\x07_PSW\x01\xa3\x10C\xbe\\/\x04_SB_PCI0LPC_EC__\x08BDEV
+\xff\x08BSTS
+\x00\x08BHKE
+\x00\x08BXCN
+\x00\x142_Q2C\x00\xa0+\x93BSTS
+\x00pBGID
+\x00BDEV\xa0\rBXCNNXREBDEV\xa1\tNBREBDEV\x14)_Q2D\x00pBGID
+\x00BDEV\xa0\rBXCNNXRCBDEV\xa1\tNBINBDEV\x14D\x07_Q38\x00pBGID
+\x00`\xa01\x93`
+\x0fBDIS\xa0\x17BXCNpBDEV`p
+\x0fBDEVNXEJ`\xa1\x0fNBEJBDEVp`BDEV\xa12\xa0\x16HPBU\xa0\x10BXCNp`BDEVNXIN`\xa1\x19p`BDEV\xa0
+BXCNNXRC`\xa1\x06NBIN`\x14B\rNBRE\x01\xa0&\x93h
+\r\xa0 \\LFDC\x86\\/\x05_SB_PCI0LPC_FDC_FDD0
+\x03\xa0F\x04\x95h
+\x0c\xa0#\x93\\BIDE
+\x03\x86\\/\x05_SB_PCI0SATASCNDMSTR
+\x03\xa1\x1b\x86\\/\x05_SB_PCI0IDE0PRIMMSTR
+\x03\xa0I\x04\x93h
+\x10\xa0+\x91HPACHB0A\xa0 \\WNTF\x86\\/\x05_SB_PCI0LPC_EC__BAT1
+\x03\xa1\x16LED_
+\x04
+\xc0BEEP
+\x0fp
+\x02BSTS\xa0\x12\x93h
+\x11\x86\\._SB_LCIO
+\x03\x14K\x0eNBEJ\x01\xa0N\x0c\x93BSTS
+\x00\xa0&\x93h
+\r\xa0 \\LFDC\x86\\/\x05_SB_PCI0LPC_FDC_FDD0
+\x01\xa0F\x04\x95h
+\x0c\xa0#\x93\\BIDE
+\x03\x86\\/\x05_SB_PCI0SATASCNDMSTR
+\x01\xa1\x1b\x86\\/\x05_SB_PCI0IDE0PRIMMSTR
+\x01\xa0C\x04\x93h
+\x10\xa0 \\WNTF\x86\\/\x05_SB_PCI0LPC_EC__BAT1
+\x01\xa1\x1b\x86\\/\x05_SB_PCI0LPC_EC__BAT1
+\x81\xa0\x12\x93h
+\x11\x86\\._SB_LCIO
+\x01LED_
+\x04
+\x00BEEP
+\x00p
+\x00BSTS\x14B\x15NBIN\x01\xa08\x93h
+\r\xa02\\LFDCBEN_
+\x00BSFDLED_
+\x04
+\x80\x86\\/\x05_SB_PCI0LPC_FDC_FDD0
+\x01\xa0B\x06\x95h
+\x0c\xa0\x0b\x93h
+\x06BEN_
+\x02\xa1\x07BEN_
+\x01LED_
+\x04
+\x80\xa0#\x93\\BIDE
+\x03\x86\\/\x05_SB_PCI0SATASCNDMSTR
+\x01\xa1\x1b\x86\\/\x05_SB_PCI0IDE0PRIMMSTR
+\x01\xa0I\x06\x93h
+\x10LED_
+\x04
+\x80\xa0>\\WNTFp
+\x01\\/\x06_SB_PCI0LPC_EC__BAT1XB1S\x86\\/\x05_SB_PCI0LPC_EC__BAT1
+\x01\xa1\x1b\x86\\/\x05_SB_PCI0LPC_EC__BAT1
+\x81\xa07\x93h
+\x11\xa01\x92\\/\x04_SB_PCI0LPC_CSONLED_
+\x04
+\x80\xa0\x13\\WNTF\x86\\._SB_LCIO
+\x01BEEP
+\x00p
+\x00BSTS\x14J\x07BEJ0\x01\xa0A\x06hBDISLED_
+\x04
+\x00\\BHDP
+\x01
+\x00p
+\x01BSTS\xa0*BHKEp
+\x00BHKE\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x030\xa0\x16\x93BDEV
+\x11p
+\x0fBDEVp
+\x00BSTS\xa1\x10LED_
+\x04
+\x80p
+\x00BSTS\x14\x1dBEJ3\x01\xa0\rhBDISp
+\x01BSTS\xa1\x08p
+\x00BSTS\x14I\x07BPTS\x01p
+\x01HDBM\xa0\x17\x92\x93BSTS
+\x00p
+\x0fBDEVp
+\x00BSTSp
+\x00BHKEp
+\x01`\xa0\x1d\x92\x93BDEV
+\x0f\xa0\x13\x90\x92\\LFDC\x93BDEV
+\rp
+\x00`\xa1\x05p
+\x00`\xa0
+\x92\x95h
+\x04p
+\x00`\xa0\x08`BUWK
+\x01\xa1\x0fLED_
+\x04
+\x00BUWK
+\x00\x14D\x14BWAK\x01BUWK
+\x00pBGID
+\x00`\xa0\x10\x90\x92\\LFDC\x93`
+\rBDIS\\/\x05_SB_PCI0LPC_FDC__INI\xa0K\x05\\LFDC\xa0C\x05\x92\x93`
+\r\xa0K\x04\x93\\/\x05_SB_PCI0LPC_FDC_FD0S\\/\x05_SB_PCI0LPC_EC__HPNF\x86\\/\x05_SB_PCI0LPC_FDC_FDD0
+\x01\xa0J
+\x93BSTS
+\x00\xa0.\x92\x93`BDEV\xa0\x10BXCNp`BDEVNXRC`\xa1\x14NBEJBDEVp`BDEVNBIN`\xa1A\x07\xa0N\x06\x91\\LFDC\x92\x93BDEV
+\r\xa0M\x05\x92\x93`
+\x0fLED_
+\x04
+\x80\xa0M\x04HPBU}yh
+\x08\x00\x0b\x05 BHKE\\/\x06_SB_PCI0LPC_EC__HKEYMHKQBHKE\xa0\x06\x92\x94h
+\x02\xa1\x13\xa0
+BXCNNXRE`\xa1\x06NBRE`\x14N\x0fBDIS\x00\xa0F\x0f\x92\\/\x04_SB_PCI0LPC_CSON\xa0F\x06\x93\\BIDE
+\x03p
+\x00\\/\x04_SB_PCI0SATASIE0p
+\x00\\/\x04_SB_PCI0SATASTI0p
+\x00\\/\x04_SB_PCI0LPC_URST[!
+\x0fp
+\x01\\/\x04_SB_PCI0SATASSIG\xa1N\x05p
+\x00\\/\x04_SB_PCI0IDE0PIE0p
+\x00\\/\x04_SB_PCI0IDE0PTI0p
+\x00\\/\x04_SB_PCI0LPC_URST[!
+\x0fp
+\x01\\/\x04_SB_PCI0IDE0PSIGp
+\x01\\/\x04_SB_PCI0LPC_CSONBSFD\x14A\x0eBEN_\x01\xa0I\r\\/\x04_SB_PCI0LPC_CSONp
+\x00\\/\x04_SB_PCI0LPC_URSTp
+\x00\\/\x04_SB_PCI0LPC_CSON["
+\x0f\xa0C\th\xa05\x93\\BIDE
+\x03p
+\x00\\/\x04_SB_PCI0SATASSIGp
+\x01\\/\x04_SB_PCI0SATASIDE\xa1-p
+\x00\\/\x04_SB_PCI0IDE0PSIGp
+\x01\\/\x04_SB_PCI0IDE0PIDE[!
+-p
+\x01\\/\x04_SB_PCI0LPC_URST\xa0
+\x93h
+\x02["\x0b\xd0\x07\xa1\x06["\x0b\x90\x01\x14N\x05BSTA\x01\xa0\x17\\/\x04_SB_PCI0LPC_CSON\xa4
+\x00BINI\xa0\r\x93h
+\x00\xa4\x93BDEV
+\r\xa0\r\x93h
+\x01\xa4\x95BDEV
+\x0c\xa0\r\x93h
+\x02\xa4\x93BDEV
+\x0e\xa0\r\x93h
+\x03\xa4\x93BDEV
+\x11\xa4
+\x00\x14D\x06BUWK\x01\xa0?\\H8DR\xa0\x1chp
+\x01\\/\x05_SB_PCI0LPC_EC__HWBU\xa1\x1bp
+\x00\\/\x05_SB_PCI0LPC_EC__HWBU\xa1\x1c\xa0\rh\\MBEC
+2
+\xff
+\x80\xa1\x0c\\MBEC
+2
+\x7f
+\x00\x14\x1aBINI\x00\xa0\x13\x93BDEV
+\xffpBGID
+\x00BDEV\x14F\x0bBGID\x01\xa0\x06hp
+\xff`\xa1E
+\xa0\x0c\\H8DRpHBID`\xa1\x10zRBEC
+G
+\x02`{`
+\x0f`{`
+\x03`\xa0\t\x93`
+\x00p
+\x03`\xa1\x11\xa0\t\x93`
+\x02p
+\x06`\xa1\x05p
+\x0f`\xa0)\x93`
+\x0f\xa0\x10\\H8DR\xa0\tHB1Ap
+\x10`\xa1\x12\xa0\x10{\\RBEC
+9
+\x80\x00p
+\x10`\xa09\x93`
+\x0f\xa03\x92\\/\x04_SB_PCI0LPC_CSON\xa0\x1d\x92{\\/\x04_SB_PCI0LPC_GL00
+@\x00p
+\x11`\xa4`\x14(BSFD\x00\xa0\x13BSTA
+\x00\\MISA\x0b\xf3\x03
+\xf3
+\x00\xa1\r\\MISA\x0b\xf3\x03
+\xf3
+\x04\x14A\x0bNXRE\x01\xa0\x14\x93h
+\x0fLED_
+\x04
+\x00p
+\x00BSTS\xa0!\x93h
+\r\xa0\x1b\\LFDCLED_
+\x04
+\xc0\x86\\._SB_SWAP
+\x83\xa0\x1a\x95h
+\x0cLED_
+\x04
+\xc0\x86\\._SB_SWAP
+\x83\xa0\x1a\x93h
+\x0eLED_
+\x04
+\xc0\x86\\._SB_SWAP
+\x83\xa0<\x93h
+\x10\xa0\x1f\x91HPACHB0ALED_
+\x04
+\xc0\x86\\._SB_SWAP
+\x83\xa1\x16LED_
+\x04
+\xc0BEEP
+\x0fp
+\x02BSTS\x14E\x0cNXRC\x01\xa0+\x93h
+\r\xa0%\\LFDCLED_
+\x04
+\x80BEN_
+\x00BSFD\x86\\._SB_SWAP
+\x80\xa0.\x95h
+\x0cLED_
+\x04
+\x80\xa0\x0b\x93h
+\x06BEN_
+\x02\xa1\x07BEN_
+\x01\x86\\._SB_SWAP
+\x80\xa0 \x93h
+\x0eLED_
+\x04
+\x80BEN_
+\x00\x86\\._SB_SWAP
+\x80\xa04\x93h
+\x10\x86\\/\x05_SB_PCI0LPC_EC__BAT1
+\x81LED_
+\x04
+\x80\x86\\._SB_SWAP
+\x80BEEP
+\x00p
+\x00BSTS\x14I\x04NXEJ\x01\xa0\x1f\x93h
+\x10\x86\\/\x05_SB_PCI0LPC_EC__BAT1
+\x81\x86\\._SB_SWAP
+\x82LED_
+\x04
+\x00BEEP
+\x00p
+\x00BSTS\x14\x13NXIN\x01\x86\\._SB_SWAP
+\x81\x10C\x10\\/\x04_SB_PCI0LPC_FDC_\x08XFDS
+\x00\x08DCFD
+\x00\x14C\x05_INI\x00p
+\x00XFDS\xa07\\H8DR}\\/\x05_SB_PCI0LPC_EC__HAMA
+\x0c\\/\x05_SB_PCI0LPC_EC__HAMA\xa1\x0c\\MBEC
+\x1a
+\xff
+\x0c\x08FDEB\x11\x17
+\x14\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x8cFDEB
+\x00FD0S\x14C\x06_FDE\x00\xa0&\x91\\/\x05_SB_PCI0LPC_EC__BSTA
+\x00DCFDp
+\x01FD0S\xa1/\xa0$\x91\\/\x05_SB_PCI0LPC_EC__HPNFXFDSp
+\x00FD0S\xa1\x08p
+\x01FD0S\xa4FDEB\x10E\x06\\/\x05_SB_PCI0LPC_FDC_FDD0\x14K\x04_EJ0\x01\xa02\\/\x05_SB_PCI0LPC_EC__BSTA
+\x00\\/\x05_SB_PCI0LPC_EC__BEJ0h\xa1\x10\xa0\x05DCFD\xa1\x08p
+\x01XFDS\x10A\x12\\/\x04_SB_PCI0LPC_EC__\x14C\t_Q52\x00\xa02\\/\x05_SB_PCI0LPC_FDC_XFDSp
+\x00\\/\x05_SB_PCI0LPC_FDC_XFDS\xa1H\x05\xa02\x91\\/\x05_SB_PCI0LPC_EC__BSTA
+\x00\\/\x05_SB_PCI0LPC_FDC_DCFD\xa1"\xa0 \\LFDC\x86\\/\x05_SB_PCI0LPC_FDC_FDD0
+\x01\x14G\x07_Q53\x00p
+\x00\\/\x05_SB_PCI0LPC_FDC_XFDS\xa02\x91\\/\x05_SB_PCI0LPC_EC__BSTA
+\x00\\/\x05_SB_PCI0LPC_FDC_DCFD\xa1"\xa0 \\LFDC\x86\\/\x05_SB_PCI0LPC_FDC_FDD0
+\x01\x10F\x04\\/\x05_SB_PCI0LPC_EC__BAT1\x14,_EJ0\x01p
+\x00B1STp
+\x00XB1S\\/\x05_SB_PCI0LPC_EC__BEJ0h\x10@3\\_SB_[\x82G2SWAP\x08_HID\x0c$M\x00i\x14\x15_STA\x00\xa0\t\\WMEF\xa4
+\x0f\xa1\x04\xa4
+\x00\x14"XCNN\x01ph\\/\x05_SB_PCI0LPC_EC__BXCN\xa4
+\t\x14\tXSWP\x00\xa4
+\x01\x14\x1eXEJ0\x01\\/\x05_SB_PCI0LPC_EC__BEJ0h\x14\x1eXEJ3\x01\\/\x05_SB_PCI0LPC_EC__BEJ3h\x14@\x1fXDID\x00\x08XPCK\x12\x17\x06
+\x00
+\x00\x0c\xff\xff\xff\xff\x0c\xff\xff\xff\xff\x0c\xff\xff\xff\xff
+\x00p\\/\x05_SB_PCI0LPC_EC__BDEV`p`\x88XPCK
+\x00\x00\xa0D\r\x95`
+\x0c\xa0J\x06\x93\\BIDE
+\x03p\\/\x04_SB_PCI0SATA_ADR\x88XPCK
+\x02\x00p\\/\x05_SB_PCI0SATASCND_ADR\x88XPCK
+\x03\x00p\\/\x06_SB_PCI0SATASCNDMSTR_ADR\x88XPCK
+\x04\x00\xa1B\x06p\\/\x04_SB_PCI0IDE0_ADR\x88XPCK
+\x02\x00p\\/\x05_SB_PCI0IDE0PRIM_ADR\x88XPCK
+\x03\x00p\\/\x06_SB_PCI0IDE0PRIMMSTR_ADR\x88XPCK
+\x04\x00\xa0O\x05\x93`
+\r\xa0K\x04\\LFDCp\\/\x05_SB_PCI0LPC_FDC__HID\x88XPCK
+\x02\x00p\\/\x06_SB_PCI0LPC_FDC_FDD0_ADR\x88XPCK
+\x04\x00\xa1\x0cp
+\x0f\x88XPCK
+\x00\x00\xa0N\x04\x93`
+\x10p\\/\x06_SB_PCI0LPC_EC__BAT1_HID\x88XPCK
+\x02\x00p\\/\x06_SB_PCI0LPC_EC__BAT1_UID\x88XPCK
+\x04\x00p\x7f\\/\x04_SB_PCI0LPC_CSON
+\x01\x00\x88XPCK
+\x05\x00\xa4XPCK\x14H\x05XSTM\x01\x08XDMY\x11\x03
+\x14\xa0\'\x93\\BIDE
+\x03\\/\x05_SB_PCI0SATASCND_STMXDMYh
+\x00\xa1\x1f\\/\x05_SB_PCI0IDE0PRIM_STMXDMYh
+\x00\x14K\x04XGTF\x00\xa0%\x93\\BIDE
+\x03\xa4\\/\x06_SB_PCI0SATASCNDMSTR_GTF\xa1\x1d\xa4\\/\x06_SB_PCI0IDE0PRIMMSTR_GTF\x10L\xe9\\_SB_[\x82C\xe9GDCK\x08_HID\x0c$M\x00y\x08_CID\x0cA\xd0\x0c\x15\x08DOID\x0c\xff\xff\xff\xff\x08DIDB\x0c\xff\xff\xff\xff\x08FLAG
+\x00\x08WUCT
+\x00\x08DHKE
+\x00[\x02DEVT\x14?DSTA\x00UDCKUDKT\xa0\x1a\x91\x93GDID\x0c$M\x00L\x93GDID\x0c$M\x00Dp
+\x0f`\xa1\x13\xa0\x0b\x92\\W98Fp
+\x00`\xa1\x05p
+\x0c`\xa4`\x14G\x07DPTS\x01\xa0O\x06\x90\x92\x95h
+\x01\x92\x94h
+\x04p
+\x00DHKE\xa0\x18DFLG
+\x02
+\x02p
+\x00DOIDDFLG
+\x01
+\x02\xa0/\x91\x93GDID\x0c$M\x00L\x93GDID\x0c$M\x00D\\/\x05_SB_PCI0LPC_EC__DDWK
+\x01pGDIDDIDBDFLG
+\x00\x0b\x00\x01\x08DDTM
+\x00\x14J\x18DWAK\x01p\x0c\xff\xff\xff\xffDOID\xa0H\x17\x90\x92\x95h
+\x01\x92\x94h
+\x04p
+\x00DDTM\xa0\x1d\x91\x93DIDB\x0c$M\x00L\x93DIDB\x0c$M\x00Dp
+\x01DDTM\xa0B\rDDTMp
+\x00DDTM\xa0\x12\x93GDID\x0c$M\x00Lp
+\x01DDTM\xa0\x12\x93GDID\x0c$M\x00Dp
+\x01DDTM\xa0;DDTM\xa0"\x93h
+\x04\xa0\x1c{\\/\x04_SB_PCI0LPC_WAKR
+\x08\x00DGPEyh
+\x08DHKE\xa0
+\x92DFLG
+\x02
+\x08\xa1B\x06p
+\x01\\/\x04_SB_PCI0LPC_BUSD\\/\x05_SB_PCI0LPC_EC__DATT
+\x00
+\x01\\/\x05_SB_PCI0LPC_EC__DATT
+\x01
+\x00\x86\\._SB_GDCK
+\x00\\DHDP
+\x00\xa1;p
+\x00DDTM\xa0\x12\x93GDID\x0c$M\x00Lp
+\x01DDTM\xa0\x12\x93GDID\x0c$M\x00Dp
+\x01DDTM\xa0\tDDTMWDCK\xa1\x02\xa3DFLG
+\x01\x0b\x00\x01DFLG
+\x01
+\x02DFLG
+\x01
+\x10DFLG
+\x01
+ p
+\x01\\/\x04_SB_PCI0LPC_DSCI\x14\x0eDGPE\x00DFLG
+\x00
+\x08\x14N\x12DDCK\x01\xa0J\x08h\\/\x05_SB_PCI0LPC_EC__LED_
+\x08
+\x00\\/\x05_SB_PCI0LPC_EC__LED_
+\t
+\x80\\/\x04_SB_PCI0LPC_LCON
+\x01BCON
+\x01\\/\x05_SB_PCI0LPC_EC__DATT
+\x00
+\x00\\/\x05_SB_PCI0LPC_EC__DATT
+\x01
+\x01\xa1H\t\\/\x05_SB_PCI0LPC_EC__LED_
+\x08
+\x80\\/\x05_SB_PCI0LPC_EC__LED_
+\t
+\xc0DFLG
+\x00
+\x02\\DHDP
+\x00BCON
+\x00\\/\x04_SB_PCI0LPC_LCON
+\x00\\/\x05_SB_PCI0LPC_EC__DATT
+\x00
+\x01\\/\x05_SB_PCI0LPC_EC__DATT
+\x01
+\x00\xa4
+\x01\x14C\x05DEJ0\x01\xa0\rhp
+\x00DOIDUDKIDFLG
+\x01
+\x02\\/\x05_SB_PCI0LPC_EC__LED_
+\x08
+\x00\\/\x05_SB_PCI0LPC_EC__LED_
+\t
+\x00\x14\x1fDEJ3\x01\xa0\x18hDFLG
+\x00
+\x10\xa0\r\x93\\SPS_
+\x03PDE3\x14\x11DEJ4\x01\xa0
+hDFLG
+\x00
+ \x14\x07PDE3\x00\xa3\x08HIDE
+\x00\x14@\x08WDCK\x00\xa0/\x91DFLG
+\x02
+\x10DFLG
+\x02
+ DDCK
+\x01\xa0\x16\\W98FDFLG
+\x00\x0b\x00\x02p
+\x05HIDE\xa1H\x04\xa06\x93\\/\x05_SB_PCI0LPC_EC__BGID
+\x00
+\x11\\/\x05_SB_PCI0LPC_EC__NBRE
+\x11\xa1\x0e\x86\\._SB_GDCK
+\x00\x14O\x07UDCK\x00\xa0G\x07DFLG
+\x02
+\x08\xa0L\x06\x92DFLG
+\x02\x0b\x00\x01}DHKE\x0b\x04 DHKE\xa0(\x93\\UOPT
+\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQDHKE\xa0\x13\\W98F\x86\\._SB_GDCK
+\x01\xa1\x0e\x86\\._SB_GDCK
+\x03DFLG
+\x01
+\x08\x14\x1dUDKI\x00\xa0\r\\WNTFp
+\x01WUCT\xa1\x08p
+\x05WUCT\x14C\x05UDKT\x00\xa0K\x04{DHKE\x0b\x04 \x00\xa0?\x93GDID
+\x00\xa06\x92vWUCTp
+\x00DHKE\xa0\'\x93\\UOPT
+\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x03@\x145GDID\x00\xa0)\x93DOID\x0c\xff\xff\xff\xffp\x0c\xff\xff\xff\xff\\/\x03_SB_GDCKG_IDpRDIDDOID\xa4DOID\x14O\tRDID\x00p
+\x00`\xa0A\t\\/\x04_SB_PCI0LPC_EPWG\xa0@\x06\x93\\/\x03_SB_GDCKGGID
+\x00\xa0B\x04\\H8DR\xa01\\/\x05_SB_PCI0LPC_EC__EEPRp\\/\x05_SB_PCI0LPC_EC__HDEP`\xa1\x08p\x0c$M\x00L`\xa1\x08p\\DCKI`\xa0\x1a\x93\\/\x03_SB_GDCKGGID
+\x01p\x0c$M\x00D`\xa4`\x14G\x08RDSR\x00p
+\x00`\xa0I\x07\x92\x93GDID
+\x00\xa0F\x05\x93\\/\x03_SB_GDCKGGID
+\x00\xa08\\H8DR\xa01\\/\x05_SB_PCI0LPC_EC__EEPRp\\/\x05_SB_PCI0LPC_EC__HDEN`\xa1\x08p\\DCKS`\xa0\x17\x93\\/\x03_SB_GDCKGGID
+\x01p
+\x00`\xa4`\x14E\x17BCON\x01p\\/\x05_SB_PCI0LPC_EC__DATT
+\x00
+\x02`\\/\x05_SB_PCI0LPC_EC__DATT
+\x00
+\x01}\\/\x04_SB_PCI0LPC_SERQ
+@\\/\x04_SB_PCI0LPC_SERQ{\\/\x04_SB_PCI0LPC_SERQ
+\x7f\\/\x04_SB_PCI0LPC_SERQp\\/\x04_SB_PCI0LPC_CLKRa\xa0.hp
+\x00\\/\x04_SB_PCI0LPC_CLKRp
+\x01\\/\x04_SB_PCI0LPC_BUSC\xa1\x17p
+\x01\\/\x04_SB_PCI0LPC_BUSDpa\\/\x04_SB_PCI0LPC_CLKR}\\/\x04_SB_PCI0LPC_SERQ
+\xc0\\/\x04_SB_PCI0LPC_SERQ{\\/\x04_SB_PCI0LPC_SERQ
+\xbf\\/\x04_SB_PCI0LPC_SERQ\xa0 \x93`
+\x00\\/\x05_SB_PCI0LPC_EC__DATT
+\x00
+\x00\x149DFLG\x02\xa0\x0f\x93h
+\x00}FLAGiFLAG\xa0\x11\x93h
+\x01{FLAG\x80i\x00FLAG\xa0\x0b{FLAGi\x00\xa4
+\x01\xa1\x04\xa4
+\x00\x10L\x1b\\/\x04_SB_PCI0LPC_EC__\x14A\x11_Q37\x00\xa0I\x10\\/\x04_SB_PCI0LPC_EPWGp\x0b\xd0\x07`["
+dp\x0c\xff\xff\xff\xff\\/\x03_SB_GDCKG_ID\xa20\x90\x93\\/\x03_SB_GDCKGGID
+\x07`["
+\x01p\x0c\xff\xff\xff\xff\\/\x03_SB_GDCKG_IDv`p\x0c\xff\xff\xff\xff\\/\x03_SB_GDCKDOID\xa0O\x08\x91\x93\\/\x03_SB_GDCKGDID\x0c$M\x00L\x93\\/\x03_SB_GDCKGDID\x0c$M\x00D\xa06\x93\\/\x05_SB_PCI0LPC_EC__BGID
+\x00
+\x11\\/\x05_SB_PCI0LPC_EC__NBRE
+\x11\xa1*\xa0(HPACp
+\x00\\/\x04_SB_PCI0LPC_DRST\x86\\._SB_GDCK
+\x00\x14D\tEEPR\x00p
+\x00`\xa0F\x08\\H8DRp
+\x00HDEOp
+
+HDEC\xa2\x0e\x92{HDEC
+\xc0\x00["
+\x01\xa0A\x06\x92{HDEC
+@\x00p
+\x00apHDENbp
+\x04c\xa2\x11cra{b
+\xff\x00azb
+\x08bvcpHDEPbp
+\x04c\xa2\x11cra{b
+\xff\x00azb
+\x08bvcraHDEMaraHDESa\xa0\x0b\x92{a
+\xff\x00p
+\x01`\xa4`\x14D\x04_STA\x00pGGID`\xa0\x0b\x92\\W98Fp
+\x00a\xa1\x05p
+\x0ca\xa0\x1b\x91\x93`
+\x00\x93`
+\x01p\\/\x03_SB_GDCKDSTAa\xa0\x06\x93`
+\x02\xa3\xa4a\x14H\x0c_INI\x00\\/\x05_SB_PCI0LPC_EC__DATT
+\x02
+\x01\xa0>\x93GGID
+\x07\\/\x05_SB_PCI0LPC_EC__DATT
+\x01
+\x00\\/\x05_SB_PCI0LPC_EC__DATT
+\x00
+\x01\xa17\\/\x05_SB_PCI0LPC_EC__DATT
+\x01
+\x01\\/\x05_SB_PCI0LPC_EC__DATT
+\x00
+\x00\\/\x05_SB_PCI0LPC_EC__DDWK
+\x00p
+\x01\\/\x04_SB_PCI0LPC_DSCI\x14K\x04_DCK\x01p
+\x00`\xa0"\x91\x93GGID
+\x00\x93GGID
+\x01p\\/\x03_SB_GDCKDDCKh`\xa0\x1a\\VIGD\\/\x04_SB_PCI0VID_VDSWh\xa4`\x08UDOP
+\x00\x148_EJ0\x01\xa0\x18\x93GGID
+\x00\\/\x03_SB_GDCKDEJ0h\xa0\x18\x93GGID
+\x01\\/\x03_SB_GDCKDEJ0h\x148XEJ3\x01\xa0\x18\x93GGID
+\x00\\/\x03_SB_GDCKDEJ3h\xa0\x18\x93GGID
+\x01\\/\x03_SB_GDCKDEJ3h\x148_EJ4\x01\xa0\x18\x93GGID
+\x00\\/\x03_SB_GDCKDEJ4h\xa0\x18\x93GGID
+\x01\\/\x03_SB_GDCKDEJ4h\x146PEJ3\x00\xa0\x17\x93GGID
+\x00\\/\x03_SB_GDCKPDE3\xa0\x17\x93GGID
+\x01\\/\x03_SB_GDCKPDE3\x14A\x04_BDN\x00p
+\x00`\xa0\x19\x93GGID
+\x00p\\/\x03_SB_GDCKRDID`\xa0\x19\x93GGID
+\x01p\\/\x03_SB_GDCKRDID`\xa4`\x14A\x04_UID\x00p
+\x00`\xa0\x19\x93GGID
+\x00p\\/\x03_SB_GDCKRDSR`\xa0\x19\x93GGID
+\x01p\\/\x03_SB_GDCKRDSR`\xa4`\x14.GPTS\x01\\/\x03_SB_GDCKDPTSh\\/\x05_SB_PCI0LPC_EC__RPTSh\x14H\x04GWAK\x01\\/\x03_SB_GDCKDWAKh\\/\x05_SB_PCI0LPC_EC__RWAKh\\/\x05_SB_PCI0LPC_EC__DDWK
+\x00\x146GGPE\x00\xa0\x17\x93GGID
+\x00\\/\x03_SB_GDCKDGPE\xa0\x17\x93GGID
+\x01\\/\x03_SB_GDCKDGPE\x08G_ID\x0c\xff\xff\xff\xff\x14N\x06GGID\x00pG_ID`\xa0N\x05\x93`\x0c\xff\xff\xff\xffp\\/\x04_SB_PCI0LPC_DKI0`p\\/\x04_SB_PCI0LPC_DKI1ap\\/\x04_SB_PCI0LPC_DKI2b}`ya
+\x01\x00`}`yb
+\x02\x00`p`G_ID\xa4`\x10F*\\/\x04_SB_PCI0LPC_EC__\x14M\x07_Q50\x00p\\/\x03_SB_GDCKGGID`\xa0D\x06\x91\x93`
+\x00\x93`
+\x01\\/\x05_SB_PCI0LPC_EC__LED_
+\x08
+\x80\\/\x05_SB_PCI0LPC_EC__LED_
+\t
+\xc0\xa0\x13\\W98F\x86\\._SB_GDCK
+\x01\xa1\x0e\x86\\._SB_GDCK
+\x03\x14F\x19DATT\x02p
+\x00`\xa0B\x08\x93h
+\x00\xa0(\x93i
+\x01\xa0\x11\\H8DR}HAM6
+\x80HAM6\xa1\x0c\\MBEC
+\x16
+\xff
+\x80p
+\x01`\xa0$\x93i
+\x00\xa0\x11\\H8DR{HAM6
+\x7fHAM6\xa1\x0c\\MBEC
+\x16
+\x7f
+\x00\xa0-\x93i
+\x02\xa0\x14\\H8DR\xa0\r{HAM6
+\x80\x00p
+\x01`\xa1\x12\xa0\x10{\\RBEC
+\x16
+\x80\x00p
+\x01`\xa0B\x08\x93h
+\x01\xa0(\x93i
+\x01\xa0\x11\\H8DR}HAMA
+\x01HAMA\xa1\x0c\\MBEC
+\x1a
+\xff
+\x01p
+\x01`\xa0$\x93i
+\x00\xa0\x11\\H8DR{HAMA
+\xfeHAMA\xa1\x0c\\MBEC
+\x1a
+\xfe
+\x00\xa0-\x93i
+\x02\xa0\x14\\H8DR\xa0\r{HAMA
+\x01\x00p
+\x01`\xa1\x12\xa0\x10{\\RBEC
+\x1a
+\x01\x00p
+\x01`\xa0B\x08\x93h
+\x02\xa0(\x93i
+\x01\xa0\x11\\H8DR}HAMB
+\x01HAMB\xa1\x0c\\MBEC
+\x1b
+\xff
+\x01p
+\x01`\xa0$\x93i
+\x00\xa0\x11\\H8DR{HAMB
+\xfeHAMB\xa1\x0c\\MBEC
+\x1a
+\xfe
+\x00\xa0-\x93i
+\x02\xa0\x14\\H8DR\xa0\r{HAMB
+\x01\x00p
+\x01`\xa1\x12\xa0\x10{\\RBEC
+\x1b
+\x01\x00p
+\x01`\xa4`\x14K\x07DDWK\x01p
+\x00`\xa0#\x93h
+\x01\xa0\x0c\\H8DRp\x01HWDK\xa1\x0c\\MBEC
+2
+\xff
+\x08p
+\x01`\xa0\x1f\x93h
+\x00\xa0\x0c\\H8DRp\x00HWDK\xa1\x0c\\MBEC
+2
+\xf7
+\x00\xa0)\x93h
+\x02\xa0\x10\\H8DR\xa0\tHWDKp
+\x01`\xa1\x12\xa0\x10{\\RBEC
+2
+\x08\x00p
+\x01`\xa4`\x10#\\/\x04_SB_PCI0LPC_EC__\x14\x07RPTS\x01\xa3\x14\x06RWAK\x01\x10B\x10\\/\x04_SB_PCI0LPC_EC__\x14N\x04_Q1C\x00\xa0?\\/\x06_SB_PCI0LPC_EC__HKEYMHKK\x0c\x00\x00 \x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x16\x10\\UCMS
+\x00\x14N\x04_Q1D\x00\xa0?\\/\x06_SB_PCI0LPC_EC__HKEYMHKK\x0c\x00\x00\x10\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x15\x10\\UCMS
+\x01\x14N\x04_Q1E\x00\xa0?\\/\x06_SB_PCI0LPC_EC__HKEYMHKK\x0c\x00\x00@\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x17\x10\\UCMS
+\x02\x10L\x13\\/\x04_SB_PCI0LPC_EC__\x08BRTF
+\x01\x14N\x08_Q14\x00\xa0=\\/\x06_SB_PCI0LPC_EC__HKEYMHKK\x0b\x00\x80\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x10\x10\xa0?\\NBCF\xa0\x1c\\VIGD\x86\\/\x04_SB_PCI0VID_LCD0
+\x86\xa1\x1b\x86\\/\x05_SB_PCI0AGP_VID_LCD0
+\x86\xa1\x08\\UCMS
+\x04\x14@\t_Q15\x00\xa0?\\/\x06_SB_PCI0LPC_EC__HKEYMHKK\x0c\x00\x00\x01\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x11\x10\xa0?\\NBCF\xa0\x1c\\VIGD\x86\\/\x04_SB_PCI0VID_LCD0
+\x87\xa1\x1b\x86\\/\x05_SB_PCI0AGP_VID_LCD0
+\x87\xa1\x08\\UCMS
+\x05\x10D\x06\\/\x04_SB_PCI0LPC_EC__\x14N\x04_Q19\x00\xa0?\\/\x06_SB_PCI0LPC_EC__HKEYMHKK\x0c\x00\x00\x80\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x18\x10\\UCMS
+\x03\x10D\x06\\/\x04_SB_PCI0LPC_EC__\x14N\x04_Q63\x00\xa0?\\/\x06_SB_PCI0LPC_EC__HKEYMHKK\x0c\x00\x00\x08\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x14\x10\\UCMS
+\x0b\x10C\t\\/\x04_SB_PCI0LPC_EC__\x14
+_Q70\x00FNST\x14
+_Q72\x00FNST\x14
+_Q73\x00FNST\x14L\x05FNST\x00\xa0\x12\\H8DRpHFNS`pHFNEa\xa1\x17{\\RBEC
+\x0e
+\x03`{\\RBEC
+\x00
+\x08a\xa0)a\xa0\x0c\x93`
+\x00\\UCMS
+\x11\xa0\x0c\x93`
+\x01\\UCMS
+\x0f\xa0\x0c\x93`
+\x02\\UCMS
+\x10\x10I<\\/\x05_SB_PCI0LPC_EC__HKEY\x08WGFL
+\x00\x14\x1eWLSW\x00\xa4\\/\x05_SB_PCI0LPC_EC__GSTS\x14B\x04GWAN\x00p
+\x00`\xa0\x0e{WGFL
+\x01\x00}`
+\x01`\xa0\x0b{WGFL
+\x08\x00\xa4`\xa0
+WPWS}`
+\x02`\xa0\x0e{WGFL
+\x04\x00}`
+\x04`\xa4`\x14K\x04SWAN\x01\xa0\x0c{h
+\x02\x00WPWC
+\x01\xa1\x07WPWC
+\x00\xa0\x18{h
+\x04\x00}WGFL
+\x04WGFL\\WGSV
+\x02\xa1\x15{WGFL\x80
+\x04\x00WGFL\\WGSV
+\x03\x14B\x04GBDC\x00p
+\x00`\xa0\x0e{WGFL
+\x10\x00}`
+\x01`\xa0\x0b{WGFL
+\x80\x00\xa4`\xa0
+BPWS}`
+\x02`\xa0\x0e{WGFL
+@\x00}`
+\x04`\xa4`\x14K\x04SBDC\x01\xa0\x0c{h
+\x02\x00BPWC
+\x01\xa1\x07BPWC
+\x00\xa0\x18{h
+\x04\x00}WGFL
+@WGFL\\BLTH
+\x02\xa1\x15{WGFL\x80
+@\x00WGFL\\BLTH
+\x03\x14;WPWS\x00\xa0\x1f\\H8DRp\\/\x05_SB_PCI0LPC_EC__DCWW`\xa1\x12pz{\\RBEC
+:
+@\x00
+\x06\x00`\xa4`\x14\x19WTGL\x00\xa0\x12{WGFL
+\x01\x00WPWC\x92WPWS\x14B\tWPWC\x01\xa0N\x04\x90h\x90{WGFL
+\x01\x00\x92{WGFL
+\x08\x00\xa0\x1f\\H8DRp\x01\\/\x05_SB_PCI0LPC_EC__DCWW\xa1\x0c\\MBEC
+:
+\xff
+@}WGFL
+\x02WGFL\xa1;\xa0\x1f\\H8DRp\x00\\/\x05_SB_PCI0LPC_EC__DCWW\xa1\x0c\\MBEC
+:
+\xbf
+\x00{WGFL\x80
+\x02\x00WGFL\x14;BPWS\x00\xa0\x1f\\H8DRp\\/\x05_SB_PCI0LPC_EC__DCBD`\xa1\x12pz{\\RBEC
+:
+\x10\x00
+\x04\x00`\xa4`\x14\x19BTGL\x00\xa0\x12{WGFL
+\x10\x00BPWC\x92BPWS\x14B\tBPWC\x01\xa0N\x04\x90h\x90{WGFL
+\x10\x00\x92{WGFL
+\x80\x00\xa0\x1f\\H8DRp\x01\\/\x05_SB_PCI0LPC_EC__DCBD\xa1\x0c\\MBEC
+:
+\xff
+\x10}WGFL
+ WGFL\xa1;\xa0\x1f\\H8DRp\x00\\/\x05_SB_PCI0LPC_EC__DCBD\xa1\x0c\\MBEC
+:
+\xef
+\x00{WGFL\x80
+ \x00WGFL\x14;WGIN\x00p
+\x00WGFLp\\WGSV
+\x01WGFL\xa0\x10WPWS}WGFL
+\x02WGFL\xa0\x10BPWS}WGFL
+ WGFL\x146WGPS\x01\xa0\r\x92\x95h
+\x04\\BLTH
+\x05\xa0\x10\x92{WGFL
+\x04\x00WPWC
+\x00\xa0\x10\x92{WGFL
+@\x00BPWC
+\x00\x14&WGWK\x01\xa0\x0f{WGFL
+ \x00BPWC
+\x01\xa0\x0f{WGFL
+\x02\x00WPWC
+\x01\x109\\/\x04_SB_PCI0LPC_EC__\x14$_Q41\x00\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b\x00p\x10N\x0b\\_SB_[\x82E\x0bLCIO\x08_HID\x0c0\xae\x00\x01\x08_CID\x0cA\xd0
+\x06\x14)_STA\x00\xa0\x1d\\/\x05_SB_PCI0LPC_EC__BSTA
+\x03\xa4
+\x0f\xa1\x04\xa4
+\x00\x14@\x07_EJ0\x01\\/\x05_SB_PCI0LPC_EC__BEJ0h\xa0@\x05\x91\x93\\/\x03_SB_GDCKGDID\x0c$M\x00L\x93\\/\x03_SB_GDCKGDID\x0c$M\x00Dp
+\x00\\/\x04_SB_PCI0LPC_DRST\x86\\._SB_GDCK
+\x00\x10#\\/\x04_SB_PCI0EXP3EXPD\x08_EJD\r_SB.GDCK\x00\x10\'\\/\x05_SB_PCI0USB2URTHUPDK\x08_EJD\r_SB.GDCK\x00\x10\'\\/\x05_SB_PCI0USB7URTHUPDK\x08_EJD\r_SB.GDCK\x00\x101\\/\x05_SB_PCI0USB1URTHUPEX\x08_EJD\r_SB.PCI0.EXP2.EXUP\x00\x101\\/\x05_SB_PCI0USB7URTHUPEX\x08_EJD\r_SB.PCI0.EXP2.EXUP\x00\x102\\/\x04_SB_PCI0EXP2EXUP\x08_EJD\r_SB.PCI0.USB7.URTH.UPEX\x00\x08\\_S0_\x12
+\x04
+\x00
+\x00
+\x00
+\x00\x08\\_S3_\x12
+\x04
+\x05
+\x05
+\x00
+\x00\x08\\_S4_\x12
+\x04
+\x06
+\x06
+\x00
+\x00\x08\\_S5_\x12
+\x04
+\x07
+\x07
+\x00
+\x00\x14O\x1d\\_PTS\x01p
+\x01`\xa0\x0c\x93h\\SPS_p
+\x00`\xa0\x0f\x91\x93h
+\x00\x92\x95h
+\x06p
+\x00`\xa0E\x1b`ph\\SPS_\\/\x06_SB_PCI0LPC_EC__HKEYMHKE
+\x00\xa0\x1f\\/\x05_SB_PCI0LPC_EC__KBLT\\UCMS
+\r\xa0G\x05\x93h
+\x01p\\/\x05_SB_PCI0LPC_EC__HFNI\\FNIDp
+\x00\\/\x05_SB_PCI0LPC_EC__HFNIp
+\x00\\/\x05_SB_PCI0LPC_EC__HFSP\xa02\x93h
+\x03\\VVPD
+\x03\\TRAPp\\/\x06_SB_PCI0LPC_EC__AC___PSR\\ACST\xa0)\x93h
+\x04\\/\x03_SB_SLPB_PSW
+\x00\xa0\r\\SPEN\\STEP
+\x07\\TRAP\xa0
+\x93h
+\x05\\TRAP\\/\x05_SB_PCI0LPC_EC__BPTSh\xa0 \x92\x95h
+\x04p
+\x00\\/\x05_SB_PCI0LPC_EC__HWLB\xa1\x1bp
+\x01\\/\x05_SB_PCI0LPC_EC__HWLB\xa0<\x92\x93h
+\x05p
+\x01\\/\x05_SB_PCI0LPC_EC__HCMU\\/\x03_SB_GDCKGPTSh\xa0\x0b\\W98F\\CBRI\\/\x06_SB_PCI0LPC_EC__HKEYWGPSh\x08WAKI\x12\x06\x02
+\x00
+\x00\x14AJ\\_WAK\x01\xa0\x10\x91\x93h
+\x00\x92\x95h
+\x05\xa4WAKIp
+\x00\\SPS_p
+\x00\\/\x05_SB_PCI0LPC_EC__HCMUp
+\x80\\/\x05_SB_PCI0LPC_EC__HFSP\\/\x05_SB_PCI0LPC_EC__EVNT
+\x01\\/\x06_SB_PCI0LPC_EC__HKEYMHKE
+\x01\\/\x05_SB_PCI0LPC_EC__FNST\\UCMS
+\rp
+\x00\\LIDB\xa0"\x93h
+\x01p\\/\x05_SB_PCI0LPC_EC__HFNI\\FNID\xa0A\x13\x93h
+\x03THRM
+\x00\xa0E\x04\\WXPFp
+\x00\\/\x04_SB_PCI0LPC_C4C3\xa0\'\\OSC4\x86\\._PR_CPU0
+\x81\xa0\x13\\MPEN\x86\\._PR_CPU1
+\x81\xa1D\x07\xa0A\x07\\WNTF\xa02\\/\x06_SB_PCI0LPC_EC__AC___PSRp
+\x00\\/\x04_SB_PCI0LPC_C4C3\xa16\xa0\x1c\\CWASp
+\x00\\/\x04_SB_PCI0LPC_C4C3\xa1\x17p
+\x01\\/\x04_SB_PCI0LPC_C4C3\xa0:\x92\x93\\ACST\\/\x06_SB_PCI0LPC_EC__AC___PSR\\/\x05_SB_PCI0LPC_EC__ATMC\xa0.\x90{\\CFGD\x0c\x00\x00\x00\x01\x00\x90\\WXPF\x92\x94\\WSPV
+\x01\xa0\x10{\\CFGD
+\xf0\x00PPMS
+\x00\xa0@\x13\x93h
+\x04\xa0\x0bDTSETHRM
+\x02\xa0\x13\\W98F\x86\\._SB_SLPB
+\x02\xa0\x1f\\WMEF\\/\x05_SB_PCI0LPC_EC__BEEP
+\x05\xa0!\x92\\W98Fp
+\x00\\/\x05_SB_PCI0LPC_EC__HSPA\xa0.\\WXPF\xa0\'\\OSC4\x86\\._PR_CPU0
+\x81\xa0\x13\\MPEN\x86\\._PR_CPU1
+\x81\xa1D\x04\xa0A\x04\\WNTF\xa09\x91\x92\\/\x06_SB_PCI0LPC_EC__AC___PSR\\CWASp
+\x00\\/\x04_SB_PCI0LPC_C4C3\xa0\r\\SPEN\\STEP
+\x08\\/\x05_SB_PCI0LPC_EC__ATMC\xa0.\x90{\\CFGD\x0c\x00\x00\x00\x01\x00\x90\\WXPF\x92\x94\\WSPV
+\x01\xa0\x10{\\CFGD
+\xf0\x00PPMS
+\x00\xa0O\x07\x7f\\/\x04_SB_PCI0EXP2PDS_\\/\x04_SB_PCI0EXP2XCPF\x00\xa0*\\/\x04_SB_PCI0EXP2PDS_p
+\x01\\/\x04_SB_PCI0EXP2XCPF\xa1\x17p
+\x00\\/\x04_SB_PCI0EXP2XCPF\x86\\/\x03_SB_PCI0EXP2
+\x00\\/\x03_SB_GDCKGWAKh\\/\x05_SB_PCI0LPC_EC__BWAKh\\/\x06_SB_PCI0LPC_EC__HKEYWGWKh\x86\\._TZ_THM0
+\x80\x86\\._TZ_THM1
+\x80\\VSLD\\/\x03_SB_LID__LID\xa01\x90\\W98F\x92\\WMEF\x86\\/\x03_SB_PCI0USB0
+\x00\x86\\/\x03_SB_PCI0USB1
+\x00\xa09\x95h
+\x04\xa03{\\RRBF
+\x02\x00yh
+\x08`p}\x0b\x13 `\x00`\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ`p\x00\\RRBF\xa4WAKI\x10@\x1e\\_SI_\x14H\x1d_SST\x01\xa0;\x93h
+\x00\\/\x05_SB_PCI0LPC_EC__LED_
+\x00
+\x00\\/\x05_SB_PCI0LPC_EC__LED_
+\x07
+\x00\xa0B\x06\x93h
+\x01\xa0%\x91\\SPS_\\WNTF\\/\x05_SB_PCI0LPC_EC__BEEP
+\x05\\/\x05_SB_PCI0LPC_EC__LED_
+\x00
+\x80\\/\x05_SB_PCI0LPC_EC__LED_
+\x07
+\x00\xa0;\x93h
+\x02\\/\x05_SB_PCI0LPC_EC__LED_
+\x00
+\x80\\/\x05_SB_PCI0LPC_EC__LED_
+\x07
+\xc0\xa0K\x0b\x93h
+\x03\xa0"\x94\\SPS_
+\x03\\/\x05_SB_PCI0LPC_EC__BEEP
+\x07\xa1O\x04\xa01\x93\\SPS_
+\x03\\/\x05_SB_PCI0LPC_EC__BEEP
+\x03\\/\x03_SB_GDCKPEJ3\xa1\x1a\\/\x05_SB_PCI0LPC_EC__BEEP
+\x04\xa0\t\x93\\SPS_
+\x03\xa1\x1c\\/\x05_SB_PCI0LPC_EC__LED_
+\x00
+\x80\\/\x05_SB_PCI0LPC_EC__LED_
+\x07
+\xc0\xa09\x93h
+\x04\\/\x05_SB_PCI0LPC_EC__BEEP
+\x03\\/\x05_SB_PCI0LPC_EC__LED_
+\x07
+\xc0\x10C<\\_GPE[\x01MGPE\x07\x14N
+_L18\x00p\\/\x05_SB_PCI0LPC_EC__HWAK`p`\\RRBF["
+
+\xa0\x06{`
+\x02\x00\xa0){`
+\x04\x00\xa0\x13\\W98F\x86\\._SB_SLPB
+\x02\xa1\x0e\x86\\._SB_LID_
+\x02\xa0"{`
+\x08\x00\\/\x03_SB_GDCKGGPE\x86\\._SB_SLPB
+\x02\xa0\x13{`
+\x10\x00\x86\\._SB_SLPB
+\x02\xa0\x06{`
+@\x00\xa0\x13{`
+\x80\x00\x86\\._SB_SLPB
+\x02\x14K\x0f_L09\x00\xa0<\\/\x04_SB_PCI0EXP0PSP0p
+\x01\\/\x04_SB_PCI0EXP0PSP0\x86\\/\x03_SB_PCI0EXP0
+\x02\xa0<\\/\x04_SB_PCI0EXP1PSP1p
+\x01\\/\x04_SB_PCI0EXP1PSP1\x86\\/\x03_SB_PCI0EXP1
+\x02\xa0<\\/\x04_SB_PCI0EXP2PSP2p
+\x01\\/\x04_SB_PCI0EXP2PSP2\x86\\/\x03_SB_PCI0EXP2
+\x02\xa0<\\/\x04_SB_PCI0EXP3PSP3p
+\x01\\/\x04_SB_PCI0EXP3PSP3\x86\\/\x03_SB_PCI0EXP3
+\x02\x14D\x17_L01\x00\xa0@\x0f\\/\x04_SB_PCI0EXP2HPCSp
+\x01\\/\x04_SB_PCI0EXP2HPCS\xa0*\\/\x04_SB_PCI0EXP2ABP_p
+\x01\\/\x04_SB_PCI0EXP2ABP_\xa0I\t\\/\x04_SB_PCI0EXP2PDC_p
+\x01\\/\x04_SB_PCI0EXP2PDC_p
+\x00\\/\x04_SB_PCI0EXP2XCPF\x86\\/\x03_SB_PCI0EXP2
+\x00\xa0E\x04\\/\x04_SB_PCI0EXP2PDS_p
+\x01\\/\x04_SB_PCI0EXP2XCPF["
+d\x86\\/\x04_SB_PCI0EXP2EXUP
+\x01[#MGPE\xff\xff\xa0M\x06\\/\x04_SB_PCI0EXP0HPCSp
+\x01\\/\x04_SB_PCI0EXP0HPCS\xa0A\x04\\/\x04_SB_PCI0EXP0PDC_["
+\xc8p
+\x01\\/\x04_SB_PCI0EXP0PDC_\x86\\/\x03_SB_PCI0EXP0
+\x00[\'MGPE\x14D\t_L02\x00p
+\x00\\/\x04_SB_PCI0LPC_SWGE\xa0A\x04\\/\x06_SB_PCI0LPC_EC__HKEYDHKC\xa0#DT02\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b"`\x86\\._TZ_THM1
+\x80\xa0\'\\OSPX\x86\\._PR_CPU0
+\x80\xa0\x13\\MPEN\x86\\._PR_CPU1
+\x80\x10@(\\/\x05_SB_PCI0LPC_EC__HKEY\x14H\x0cMHQT\x01\xa0M\x0b\x90\\WNTF\\TATC\xa0\x0e\x93h
+\x00p\\TATC`\xa4`\xa1@
+\xa0K\x04\x93h
+\x01p\\TDFA`r`y\\TDTA
+\x04\x00`r`y\\TDFD
+\x08\x00`r`y\\TDTD
+\x0c\x00`r`y\\TNFT
+\x10\x00`r`y\\TNTT
+\x14\x00`\xa4`\xa1A\x05\xa02\x93h
+\x02p\\TCFA`r`y\\TCTA
+\x04\x00`r`y\\TCFD
+\x08\x00`r`y\\TCTD
+\x0c\x00`\xa4`\xa1\x1b\xa0\x05\x93h
+\x03\xa1\x13\xa0\x0e\x93h
+\x04p\\TATW`\xa4`\xa1\x02\xa3\xa4
+\x00\x14O\x07MHAT\x01\xa0D\x07\x90\\WNTF\\TATCp{h
+\xff\x00`\xa0
+\x92ATMV`\xa4
+\x00p{zh
+\x08\x00
+\xff\x00`\xa0
+\x92ATMV`\xa4
+\x00p{h
+\x0f\x00\\TCFAp{zh
+\x04\x00
+\x0f\x00\\TCTAp{zh
+\x08\x00
+\x0f\x00\\TCFDp{zh
+\x0c\x00
+\x0f\x00\\TCTDATMC\xa4
+\x01\xa4
+\x00\x14@\rMHGT\x01\xa0E\x0c\x90\\WNTF\\TATCpy\\TSFT
+\x10\x00`r`y\\TSTT
+\x14\x00`p{h
+\xff\x00a\xa0\x0b\x92ATMVa\xa4\x0b\xff\xffp{h
+\x0f\x00a\xa0\r\x93a
+\x00r`\\TIF0`\xa1&\xa0\r\x93a
+\x01r`\\TIF1`\xa1\x16\xa0\r\x93a
+\x02r`\\TIF2`\xa1\x06r`
+\xff`p{zh
+\x04\x00
+\x0f\x00a\xa0\x11\x93a
+\x00r`y\\TIT0
+\x08\x00`\xa12\xa0\x11\x93a
+\x01r`y\\TIT1
+\x08\x00`\xa1\x1e\xa0\x11\x93a
+\x02r`y\\TIT2
+\x08\x00`\xa1
+r`y
+\xff
+\x08\x00`\xa4`\xa4
+\x00\x14L\x04ATMV\x01p{h
+\x0f\x00ap\\TNFT`\xa0\x08\x92\x95a`\xa4
+\x00p{zh
+\x04\x00
+\x0f\x00bp\\TNTT`\xa0\x08\x92\x95b`\xa4
+\x00\xa0\x0f\\TATL\xa0\x08\x7fab\x00\xa4
+\x00\xa4
+\x01\x10F\x10\\/\x04_SB_PCI0LPC_EC__\x14@\x0fATMC\x00\xa0H\x0e\x90\\WNTF\\TATC\xa0E\x06HPACp\\TCFA`p\\TCTAap}ya
+\x04\x00`\x00ATMX\xa0\x1f\x93\\TCTA
+\x00p\\TCR0\\TCRTp\\TPS0\\TPSV\xa1#\xa0\x1f\x93\\TCTA
+\x01p\\TCR1\\TCRTp\\TPS1\\TPSV\xa1\x01\xa1A\x06p\\TCFD`p\\TCTDap}ya
+\x04\x00`\x00ATMX\xa0\x1f\x93\\TCTD
+\x00p\\TCR0\\TCRTp\\TPS0\\TPSV\xa1#\xa0\x1f\x93\\TCTD
+\x01p\\TCR1\\TCRTp\\TPS1\\TPSV\xa1\x01\x86\\._TZ_THM0
+\x81THRM
+\x01\x10C\x1f\\_TZ_[\x85L\x0cTHM0\x14\r_CRT\x00\xa4C2K_
+\x7f\x14G\x0b_TMP\x00\xa0B\x05\\H8DRp\\/\x05_SB_PCI0LPC_EC__TMP0`p\\/\x05_SB_PCI0LPC_EC__HT12ap\\/\x05_SB_PCI0LPC_EC__HT13b\xa1$p\\RBEC
+x`p{\\RBEC
+@\x00ap{\\RBEC
+\x80\x00b\xa0\tb\xa4C2K_
+\x80\xa0\'\x92\\/\x06_SB_PCI0LPC_EC__HKEYDHKC\xa0\ta\xa4C2K_
+\x80\xa4C2K_`[\x85@\x0fTHM1\x143_PSL\x00\xa0\x1e\\MPEN\xa4\x12\x16\x02\\._PR_CPU0\\._PR_CPU1\xa4\x12\x0c\x01\\._PR_CPU0\x14\x0c_CRT\x00\xa4\\TCRT\x14\x0c_PSV\x00\xa4\\TPSV\x14\x0c_TC1\x00\xa4\\TTC1\x14\x0c_TC2\x00\xa4\\TTC2\x14\x0c_TSP\x00\xa4\\TTSP\x14D\x07_TMP\x00\xa0J\x05\\DTSETHRM
+\x02pDTS1`\xa0\x11\x92\x95DTS0DTS1pDTS0`\xa0.\x92\\/\x06_SB_PCI0LPC_EC__HKEYDHKC\xa0\x10DT02r\\TCRT
+\x01`\xa4`\xa4C2K_`\xa1\x11\xa4\\/\x03_TZ_THM0_TMP\x14+C2K_\x01rwh
+
+\x00\x0b\xac
+`\xa0\x0c\x92\x94`\x0b\xac
+p\x0b\xb8\x0b`\xa0\x0b\x94`\x0b\xac\x0fp\x0b\xb8\x0b`\xa4`\x10O\x13\\/\x04_SB_PCI0LPC_EC__\x14I\x12_Q40\x00\x86\\._TZ_THM0
+\x80\xa08\\H8DRp\\/\x05_SB_PCI0LPC_EC__HT11`p\\/\x05_SB_PCI0LPC_EC__HT12a\xa1\x1bp{\\RBEC
+ \x00`p{\\RBEC
+@\x00a\xa0=\\/\x06_SB_PCI0LPC_EC__HKEYDHKC\xa0 a\\/\x06_SB_PCI0LPC_EC__HKEYMHKQ\x0b"`\xa0\x06VIGD\xa3\xa1\x06\\VTHR\xa0C\x07\\SPEN\xa0\'\\OSPX\x86\\._PR_CPU0
+\x80\xa0\x13\\MPEN\x86\\._PR_CPU1
+\x80\xa1C\x04\xa07\x91\\/\x05_SB_PCI0LPC_EC__HT00\\/\x05_SB_PCI0LPC_EC__HT10\\STEP
+\t\xa1\x08\\STEP
+
+\x08GPIC
+\x00\x14\r_PIC\x01ph\\GPIC[\x80MNVS\x00\x0c\x00@\xef\x7f\x0b\x00\x10[\x81B+MNVS\x03\x00\x80\x80\x07GAPA GAPL DCKI DCKS VCDL\x01VCDC\x01VCDT\x01VCDD\x01VIGD\x01VCSS\x01VCDB\x01VCIN\x01VPDF\x01\x00\x07VLID\x04VVPO\x04\x00\x08CDFL\x08CDAH\x08PMOD\x02PDIR\x01PDMA\x01\x00\x04LFDC\x01\x00\x07C2NA\x01C3NA\x01C4NA\x01\x00\x05SPEN\x01\x00\x01\x00\x01\x00\x01MPEN\x01\x00\x03OSPX\x01OSC4\x01OSSS\x01NHPS\x01NPME\x01\x00\x03UOPT\x08BTID LWST\x08LPST\x08TCRT\x10TPSV\x10TTC1\x10TTC2\x10TTSP\x10SRAH\x08SRHE\x08SRE0\x08SRE1\x08SRE2\x08SRE3\x08SRE4\x08SRE5\x08SRU0\x08SRU1\x08SRU2\x08SRU3\x08SRU7\x08SRPB\x08SRLP\x08SRSA\x08SRSM\x08CWAC\x01CWAS\x01\x00\x06CWAP\x10CWAT\x10DBGC\x01\x00\x07FS1L\x10FS1M\x10FS1H\x10FS2L\x10FS2M\x10FS2H\x10FS3L\x10FS3M\x10FS3H\x10TATC\x01\x00\x06TATL\x01TATW\x08TNFT\x04TNTT\x04TDFA\x04TDTA\x04TDFD\x04TDTD\x04TCFA\x04TCTA\x04TCFD\x04TCTD\x04TSFT\x04TSTT\x04TIT0\x08TCR0\x10TPS0\x10TIT1\x08TCR1\x10TPS1\x10TIT2\x08TCR2\x10TPS2\x10TIF0\x08TIF1\x08TIF2\x08\x00 TCZ1\x08TCZ2\x08TCZ3\x08BTHI\x01\x00\x07HDIR\x01HDEH\x01\x00\x06TPMP\x01TPMS\x01\x00\x06BIDE\x08\x00\x01DTSE\x01\x00\x06DTS0\x08DTS1\x08DT00\x01DT01\x01DT02\x01DT03\x01\x00\x04PH01\x08PH02\x08PH03\x08PH04\x08PH05\x08PH06\x08PH07\x08PH08\x08PH09\x08PH0A\x08PH0B\x08LIDB\x01\x00\x07TCG0\x01\x00\x07[\x81\x13MNVS\x01\x00\x80\x00\x07DDC1@@\x00@@[\x81\x10MNVS\x01\x00\x80\x00\x07DDC2@\x80[\x80SMI0\x01
+\xb2
+\x01[\x81\x0bSMI0\x01APMC\x08[\x81(MNVS\x00\x00\x80\xe0\x07CMD_\x08ERR_ PAR0 PAR1 PAR2 PAR3 [\x01MSMI\x07\x14F\x05SMI_\x05[#MSMI\xff\xffphCMD_piPAR0pjPAR1pkPAR2plPAR3p
+\xf5APMC\xa2\x13\x93ERR_
+\x01["
+dp
+\xf5APMCpPAR0`[\'MSMI\xa4`\x14\x14RPCI\x01\xa4SMI_
+\x00
+\x00h
+\x00
+\x00\x14\x12WPCI\x02SMI_
+\x00
+\x01hi
+\x00\x14\x11MPCI\x03SMI_
+\x00
+\x02hij\x14\x14RBEC\x01\xa4SMI_
+\x00
+\x03h
+\x00
+\x00\x14\x12WBEC\x02SMI_
+\x00
+\x04hi
+\x00\x14\x11MBEC\x03SMI_
+\x00
+\x05hij\x14\x14RISA\x01\xa4SMI_
+\x00
+\x06h
+\x00
+\x00\x14\x12WISA\x02SMI_
+\x00
+\x07hi
+\x00\x14\x11MISA\x03SMI_
+\x00
+\x08hij\x14\x14VEXP\x00SMI_
+\x01
+\x00
+\x00
+\x00
+\x00\x14\x13VUPS\x01SMI_
+\x01
+\x01h
+\x00
+\x00\x14\x12VSDS\x02SMI_
+\x01
+\x02hi
+\x00\x14\x14VDDC\x00SMI_
+\x01
+\x03
+\x00
+\x00
+\x00\x14\x13VVPD\x01SMI_
+\x01
+\x04h
+\x00
+\x00\x14\x13VNRS\x01SMI_
+\x01
+\x05h
+\x00
+\x00\x14\x15GLPW\x00\xa4SMI_
+\x01
+\x06
+\x00
+\x00
+\x00\x14\x13VSLD\x01SMI_
+\x01
+\x07h
+\x00
+\x00\x14\x14VEVT\x01\xa4SMI_
+\x01
+\x08h
+\x00
+\x00\x14\x15VTHR\x00\xa4SMI_
+\x01
+\t
+\x00
+\x00
+\x00\x14\x13VBRC\x01SMI_
+\x01
+
+h
+\x00
+\x00\x14\x15VBRG\x00\xa4SMI_
+\x01
+\x0e
+\x00
+\x00
+\x00\x14\x14UCMS\x01\xa4SMI_
+\x02h
+\x00
+\x00
+\x00\x14\x13BHDP\x02\xa4SMI_
+\x03
+\x00hi
+\x00\x14\x14DHDP\x01\xa4SMI_
+\x03
+\x01h
+\x00
+\x00\x14\x13STEP\x01SMI_
+\x04h
+\x00
+\x00
+\x00\x14\x14TRAP\x00SMI_
+\x05
+\x00
+\x00
+\x00
+\x00\x14\x14CBRI\x00SMI_
+\x05
+\x01
+\x00
+\x00
+\x00\x14"DSPD\x01\xa0\x18\x92\x94h
+\x01rh
+\x02hSMI_
+\x05h
+\x00
+\x00
+\x00\xa1\x02\xa3\x14\x14BLTH\x01\xa4SMI_
+\x06h
+\x00
+\x00
+\x00\x14\x14FISP\x00SMI_
+\x07
+\x00
+\x00
+\x00
+\x00\x14\x13ATCC\x01SMI_
+\x08h
+\x00
+\x00
+\x00\x14\x14WGSV\x01\xa4SMI_
+\th
+\x00
+\x00
+\x00\x14\x14THRM\x01\xa4SMI_
+
+h
+\x00
+\x00
+\x00\x14\x14PPMS\x01\xa4SMI_
+\x0bh
+\x00
+\x00
+\x00\x14\x13TPHY\x01SMI_
+\x0ch
+\x00
+\x00
+\x00\x14\x13TMOR\x01SMI_
+\rh
+\x00
+\x00
+\x00\x143DPIO\x02\xa0\x06\x92h\xa4
+\x00\xa0\x08\x94h
+\xf0\xa4
+\x00\xa0\x10\x94h
+\xb4\xa0\x05i\xa4
+\x02\xa1\x04\xa4
+\x01\xa0\x08\x94h
+x\xa4
+\x03\xa4
+\x04\x14=DUDM\x02\xa0\x06\x92i\xa4
+\xff\xa0\x08\x94h
+Z\xa4
+\x00\xa0\x08\x94h
+<\xa4
+\x01\xa0\x08\x94h
+-\xa4
+\x02\xa0\x08\x94h
+\x1e\xa4
+\x03\xa0\x08\x94h
+\x14\xa4
+\x04\xa4
+\x05\x14(DMDM\x02\xa0\x05i\xa4
+\x00\xa0\x06\x92h\xa4
+\x00\xa0\x08\x94h
+\x96\xa4
+\x01\xa0\x08\x94h
+x\xa4
+\x02\xa4
+\x03\x14A\x05UUDM\x02\xa0
+\x92{h
+\x04\x00\xa4
+\x00\xa0\t{i
+ \x00\xa4
+\x14\xa0\t{i
+\x10\x00\xa4
+\x1e\xa0\t{i
+\x08\x00\xa4
+-\xa0\t{i
+\x04\x00\xa4
+<\xa0\t{i
+\x02\x00\xa4
+Z\xa0\t{i
+\x01\x00\xa4
+x\xa4
+\x00\x14H\x04UMDM\x04\xa0
+\x92{h
+\x02\x00\xa4
+\x00\xa0\x08{i
+\x04\x00\xa4k\xa0\x14{i
+\x02\x00\xa0\t\x92\x94k
+x\xa4
+\xb4\xa1\x03\xa4k\xa0\x14{j
+\x04\x00\xa0\t\x92\x94k
+\xb4\xa4
+\xf0\xa1\x03\xa4k\xa4
+\x00\x14K\x04UPIO\x04\xa0\x16\x92{h
+\x02\x00\xa0\x08\x93j
+\x02\xa4
+\xf0\xa1\x05\xa4\x0b\x84\x03\xa0\x08{i
+\x02\x00\xa4k\xa0\x14{i
+\x01\x00\xa0\t\x92\x94k
+x\xa4
+\xb4\xa1\x03\xa4k\xa0\x08\x93j
+\x02\xa4
+\xf0\xa1\x05\xa4\x0b\x84\x03\x14-FDMA\x02\xa0\x0c\x92\x93i
+\xff\xa4}i
+@\x00\xa0\x10\x92\x95h
+\x03\xa4}th
+\x02\x00
+ \x00\xa0\x05h\xa4
+\x12\xa4
+\x00\x14\x1fFPIO\x01\xa0\x0c\x92\x95h
+\x03\xa4}h
+\x08\x00\xa0\x08\x93h
+\x01\xa4
+\x01\xa4
+\x00\x14J\x05SCMP\x02p\x87h`\xa0\x08\x92\x93`\x87i\xa4\x01u`\x08STR1\x11\x02`\x08STR2\x11\x02`phSTR1piSTR2p\x00a\xa2"\x95a`p\x83\x88STR1a\x00bp\x83\x88STR2a\x00c\xa0\x07\x92\x93bc\xa4\x01ua\xa4\x00\x08SPS_
+\x00\x08OSIF
+\x00\x08W98F
+\x00\x08WNTF
+\x00\x08WMEF
+\x00\x08WXPF
+\x00\x08WVIS
+\x00\x08WSPV
+\x00\x08LNUX
+\x00\x08H8DR
+\x00\x08MEMX
+\x00\x08ACST
+\x00\x08FNID
+\x00\x08RRBF
+\x00\x08NBCF
+\x00''')
+f('sys/firmware/acpi/tables/SSDT1', 0o664, b'''SSDT\xaa\x01\x00\x00\x01\x89LENOVOTP-7I    \x11\x00\x00MSFT\x0e\x00\x00\x01\x10\x0e\\\x00\x14
+KOU2\x00[!
+d\x10I\x0b\\/\x04_SB_PCI0VID_LCD0\x14&_BCL\x00p
+\x01\\NBCF\xa4\x12\x16
+
+d
+\x1e
+\x1e
+(
+2
+<
+F
+P
+Z
+d\x08BCLP\x12\x12\x08
+\x1e
+(
+2
+<
+F
+P
+Z
+d\x08BCLL\x12\x12\x08
+\x00
+\x01
+\x02
+\x03
+\x04
+\x05
+\x06
+\x07\x14*_BCM\x01p\x89BCLP\x01h\x00
+\x00
+\x00`\xa0\x15\x92\x93`\xffp\x83\x88BCLL`\x00a\\VBRCa\x14!_BQC\x00p\\VBRG`\xa0\x0f\x92\x94`
+\x07\xa4\x83\x88BCLP`\x00\xa1\x03\xa4\x00\x10L\x0b\\/\x05_SB_PCI0AGP_VID_LCD0\x14%_BCL\x00p
+\x01NBCF\xa4\x12\x16
+
+d
+\x1e
+\x1e
+(
+2
+<
+F
+P
+Z
+d\x08BCLP\x12\x12\x08
+\x1e
+(
+2
+<
+F
+P
+Z
+d\x08BCLL\x12\x12\x08
+\x00
+\x01
+\x02
+\x03
+\x04
+\x05
+\x06
+\x07\x14*_BCM\x01p\x89BCLP\x01h\x00
+\x00
+\x00`\xa0\x15\x92\x93`\xffp\x83\x88BCLL`\x00a\\VBRCa\x14!_BQC\x00p\\VBRG`\xa0\x0f\x92\x94`
+\x07\xa4\x83\x88BCLP`\x00\xa1\x03\xa4\x00''')
+f('sys/firmware/acpi/tables/SLIC', 0o664, b'SLICv\x01\x00\x00\x01\x1dLENOVOTP-7I    \x11\x00\x00 LTP\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x06\x02\x00\x00\x00$\x00\x00RSA1\x00\x04\x00\x00\x01\x00\x01\x00i\x16J\x9f\xb1K:\xfb\x80 \xaa\xaf\xc4\xf9>\xc1\x80I\xeeje&r\x1e\xcd\xbf_/\x96\xd6\xc0\n\x92\xf5\x06\xb5\x00\xb2;)\x02\xe2L\x8d\xc2\xf2\xbcAw\x9cp\xf0\xf3\x1b\t\xd2cZ\xdc\xa8\x83\xf8^\xc9\x15\x95\xf9\xfa\xfd\xdc\x05\xb7Mg\x7f-\xb3\x843 \xe1\xd1y*\xa7jw\xd1\xb6 *vB\xc5\xd5\xe9\xb6C@UD\xc3\xc97\x99_A\x97p\xf3\xd1\xf6\x07\xec{\x1a)\xa1\xc1\xf1\x91\xfdH\x86n>\xce\xcb\x01\x00\x00\x00\xb6\x00\x00\x00\x00\x00\x02\x00LENOVOTP-7I   WINDOWS \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8bz\xb4\xe1\x0e{\x7fc\xd3M%N\xd7\tBd\x9c\x89\xf6F\xb8L\xd5M\x86sy\xf0\x15\xf2\x98\xad\x806\t\xbd\x8c%wn\xb8C\xf4\xb1\xf0W\x08x\x8d\xc6\x18T\xe1`G\xf07\xfdH\xd2\xfdM\x07\xdd\x91O\x9e*\xd6\xdd4\xeb\x9ac\x9a\xb8O%\xd4o\xf0\x95\xbb\xce\xbd:X\x04\xc5l\xb8\xa8\xd89\xf5\x02Oh\x84\x9c)K\xd0\x9b\x16\xb5\xf5A\xb0\x9d\xb8A\x07\x9dJ\x11\xaf\x19\xbd\xb7\xc7\x05\xb6\xa7\x93H\xf6\xcb')
+f('sys/firmware/acpi/tables/SSDT3', 0o664, b'''SSDT\xa6\x00\x00\x00\x01hLENOVOTP-7I    \x11\x00\x00INTL\x13\x05\x05 \x10A\x08\\._PR_CPU1\x08_TPC
+\x00\x14\x16_PTC\x00\xa4\\/\x03_PR_CPU0_PTC\x14\x16_TSS\x00\xa4\\/\x03_PR_CPU0_TSS\x14?_TSD\x00\xa0\'\x90{CFGD\x0c\x00\x00\x00\x01\x00\x92{PDC1
+\x04\x00\xa4\x12\x0f\x01\x12\x0c\x05
+\x05
+\x00
+\x00
+\xfd
+\x02\xa4\x12\x0f\x01\x12\x0c\x05
+\x05
+\x00
+\x01
+\xfc
+\x01''')
+f('sys/firmware/acpi/tables/SSDT5', 0o664, b'''SSDT\xd8\x01\x00\x00\x01\tLENOVOTP-7I    \x11\x00\x00INTL\x13\x05\x05 \x10C\x1b\\/\x03_SB_PCI0SATA[\x82@\x1aPRT0\x08DRE0
+\x00\x08DIP0
+\x00\x08HDTF\x11\x11
+\x0e\x02\x00\x00\x00\x00\xa0\xef\x00\x00\x00\x00\x00\xa0\xf5\x8cHDTF
+\rHFLC\x08ERTF\x11\x18
+\x15\x02\x00\x00\x00\x00\xa0\xef\x00\x00\x00\x00\x00\xa0\xf5_\x00\x00\x00\x00\xa0\xef\x8cERTF
+\rEFLC\x08HPTF\x11\x18
+\x15\x02\x00\x00\x00\x00\xa0\xef\x00\x00\x00\x00\x00\xa0\xf5\x10\x03\x00\x00\x00\xa0\xef\x8cHPTF
+\rPFLC\x08HXTF\x11\x1f
+\x1c\x02\x00\x00\x00\x00\xa0\xef\x00\x00\x00\x00\x00\xa0\xf5_\x00\x00\x00\x00\xa0\xef\x10\x03\x00\x00\x00\xa0\xef\x8cHXTF
+\rXFLC\x08_ADR\x0b\xff\xff\x14L\x08_SDD\x01p
+\x00DRE0p
+\x00DIP0\xa0F\x07\x93\x87h\x0b\x00\x02\x8bh
+\x9cM078\x8bh
+\xacM086\x8bh
+\xeeM119\x8bh\x0b(\x01M148\xa0\x1f\x93{M148\x0b\x00\xc0\x00\x0b\x00@\xa0\x10{M148
+\x04\x00p
+\x01DRE0\xa0\x1b{M086\x0b\x00\x80\x00\xa0\x10{M119
+\x01\x00p
+\x01DRE0\xa0\x10{M078
+\x08\x00p
+\x01DIP0\x14B\x05_GTF\x00\xa0"\\OSSSp
+\xe1XFLCp
+\xe1EFLCp
+\xe1HFLCp
+\xe1PFLC\xa0\x17DRE0\xa0
+DIP0\xa4HXTF\xa1\x06\xa4ERTF\xa0
+DIP0\xa4HPTF\xa4HDTF''')
+f('sys/firmware/acpi/tables/HPET', 0o664, b'HPET8\x00\x00\x00\x01\xaaLENOVOTP-7I    \x11\x00\x00LNVO\x01\x00\x00\x00\x01\xa2\x86\x80\x00\x00\x00\x00\x00\x00\xd0\xfe\x00\x00\x00\x00\x00\x80\x00\x00')
+f('sys/firmware/acpi/tables/FACP', 0o664, b'FACP\xf4\x00\x00\x00\x03\xf0LENOVOTP-7I    \x11\x00\x00LNVO\x01\x00\x00\x00\x00@\xef\x7f^\x19\xed\x7f\x00\x02\t\x00\xb2\x00\x00\x00\xf0\xf1\x00\xf3\x00\x10\x00\x00\x00\x00\x00\x00\x04\x10\x00\x00\x00\x00\x00\x00 \x10\x00\x00\x08\x10\x00\x00(\x10\x00\x00\x00\x00\x00\x00\x04\x02\x01\x04\x08\x00\x00\xf4\x01\x00U\x00\x00\x00\x00\x00\x01\x03\r\x002\x12\x00\x00\xad\xc2\x00\x00\x01\x08\x00\x00\xf9\x0c\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00@\xef\x7f\x00\x00\x00\x00^\x19\xed\x7f\x00\x00\x00\x00\x01 \x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x10\x00\x00\x04\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x08\x00\x00 \x10\x00\x00\x00\x00\x00\x00\x01 \x00\x00\x08\x10\x00\x00\x00\x00\x00\x00\x01 \x00\x00(\x10\x00\x00\x00\x00\x00\x00\x01 \x00\x00,\x10\x00\x00\x00\x00\x00\x00')
+f('sys/firmware/acpi/tables/APIC', 0o664, b'''APICh\x00\x00\x00\x01lLENOVOTP-7I    \x11\x00\x00LNVO\x01\x00\x00\x00\x00\x00\xe0\xfe\x01\x00\x00\x00\x00\x08\x00\x00\x01\x00\x00\x00\x00\x08\x01\x01\x01\x00\x00\x00\x01\x0c\x01\x00\x00\x00\xc0\xfe\x00\x00\x00\x00\x02
+\x00\x00\x02\x00\x00\x00\x00\x00\x02
+\x00\t\t\x00\x00\x00\r\x00\x04\x06\x00\x05\x00\x01\x04\x06\x01\x05\x00\x01''')
+f('sys/firmware/acpi/tables/SSDT2', 0o664, b'''SSDT_\x02\x00\x00\x01\xc2LENOVOTP-7I    \x11\x00\x00INTL\x13\x05\x05 \x10J#\\._PR_CPU0\x08_TPC
+\x00\x14M\x06_PTC\x00\xa07{PDC0
+\x04\x00\xa4\x12,\x02\x11\x14
+\x11\x82\x0c\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00y\x00\x11\x14
+\x11\x82\x0c\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00y\x00\xa4\x12,\x02\x11\x14
+\x11\x82\x0c\x00\x01\x04\x01\x00\x10\x10\x00\x00\x00\x00\x00\x00y\x00\x11\x14
+\x11\x82\x0c\x00\x01\x04\x01\x00\x10\x10\x00\x00\x00\x00\x00\x00y\x00\x08TSSI\x12A\x07\x08\x12\r\x05
+d\x0b\xe8\x03
+\x00
+\x00
+\x00\x12\r\x05
+X\x0bk\x03
+\x00
+\x0f
+\x00\x12\r\x05
+K\x0b\xee\x02
+\x00
+\x0e
+\x00\x12\r\x05
+?\x0bq\x02
+\x00
+\r
+\x00\x12\r\x05
+2\x0b\xf4\x01
+\x00
+\x0c
+\x00\x12\r\x05
+&\x0bw\x01
+\x00
+\x0b
+\x00\x12\x0c\x05
+\x19
+\xfa
+\x00
+
+
+\x00\x12\x0c\x05
+\r
+}
+\x00
+\t
+\x00\x08TSSM\x12A\x07\x08\x12\r\x05
+d\x0b\xe8\x03
+\x00
+\x00
+\x00\x12\r\x05
+X\x0bk\x03
+\x00
+\x1e
+\x00\x12\r\x05
+K\x0b\xee\x02
+\x00
+\x1c
+\x00\x12\r\x05
+?\x0bq\x02
+\x00
+\x1a
+\x00\x12\r\x05
+2\x0b\xf4\x01
+\x00
+\x18
+\x00\x12\r\x05
+&\x0bw\x01
+\x00
+\x16
+\x00\x12\x0c\x05
+\x19
+\xfa
+\x00
+\x14
+\x00\x12\x0c\x05
+\r
+}
+\x00
+\x12
+\x00\x08TSSF
+\x00\x14C\x08_TSS\x00\xa0G\x06\x90\x92TSSF[\x12_PSS\x00p_PSS`p\x87`avap\x83\x88\x83\x88`a\x00
+\x01\x00bp
+\x00c\xa25\x95c\x87TSSIpxwbt
+\x08c\x00\x00
+\x08\x00\x00dpd\x88\x83\x88TSSIc\x00
+\x01\x00pd\x88\x83\x88TSSMc\x00
+\x01\x00ucp\xffTSSF\xa0\x0e{PDC0
+\x04\x00\xa4TSSM\xa4TSSI\x14?_TSD\x00\xa0\'\x90{CFGD\x0c\x00\x00\x00\x01\x00\x92{PDC0
+\x04\x00\xa4\x12\x0f\x01\x12\x0c\x05
+\x05
+\x00
+\x00
+\xfd
+\x02\xa4\x12\x0f\x01\x12\x0c\x05
+\x05
+\x00
+\x00
+\xfc
+\x01''')
+f('sys/firmware/acpi/tables/BOOT', 0o664, b'BOOT(\x00\x00\x00\x01\xa8LENOVOTP-7I    \x11\x00\x00 LTP\x01\x00\x00\x005\x00\x00\x00')
+f('sys/firmware/acpi/tables/TCPA', 0o664, b'TCPA2\x00\x00\x00\x02YLENOVOTP-7I    \x11\x00\x00LNVO\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\xce\x1a\xee\x7f\x00\x00\x00\x00')
+f('sys/firmware/acpi/tables/SSDT4', 0o664, b'''SSDT\xf7\x04\x00\x00\x01\xa6LENOVOTP-7I    \x11\x00\x00INTL\x13\x05\x05 \x10E\x08\\\x00\x08SSDT\x12C\x05\x0c\rCPU0IST \x00\x0c6\x1d\xef\x7f\x0c\xc4\x02\x00\x00\rCPU1IST \x00\x0cn\x1c\xef\x7f\x0c\xc8\x00\x00\x00\rCPU0CST \x00\x0c\x7f \xef\x7f\x0cZ\x06\x00\x00\rCPU1CST \x00\x0c\xfa\x1f\xef\x7f\x0c\x85\x00\x00\x00\x08CFGD\x0c\xf1i;\x11\x08\\PDC0\x0c\x00\x00\x00\x80\x08\\PDC1\x0c\x00\x00\x00\x80\x08\\SDTL
+\x00\x10@!\\._PR_CPU0\x08HI0_
+\x00\x08HC0_
+\x00\x14H\x06_PDC\x01\x8ah
+\x00REVS\x8ah
+\x04SIZEp\x87h`pt`
+\x08\x00a[\x13h
+@wa
+\x08\x00TEMP\x08STS0\x11\x07
+\x04\x00\x00\x00\x00sSTS0TEMPb_OSC\x11\x13
+\x10\x16\xa6w@\x0c)\xbeG\x9e\xbd\xd8pXq9SREVSSIZEb\x14L\x18_OSC\x04\x8ak
+\x00STS0\x8ak
+\x04CAP0\x8ah
+\x00IID0\x8ah
+\x04IID1\x8ah
+\x08IID2\x8ah
+\x0cIID3\x08UID0\x11\x13
+\x10\x16\xa6w@\x0c)\xbeG\x9e\xbd\xd8pXq9S\x8aUID0
+\x00EID0\x8aUID0
+\x04EID1\x8aUID0
+\x08EID2\x8aUID0
+\x0cEID3\xa02\x92\x90\x90\x93IID0EID0\x93IID1EID1\x90\x93IID2EID2\x93IID3EID3p
+\x06STS0\xa4k\xa0\x0f\x92\x93i
+\x01p
+
+STS0\xa4k}{PDC0\x0c\xff\xff\xff\x7f\x00CAP0PDC0\xa0L\x05{CFGD
+\x01\x00\xa0A\x05\x90\x90{CFGD\x0c\x00\x00\x00\x01\x00\x93{PDC0
+\t\x00
+\t\x92{SDTL
+\x01\x00}SDTL
+\x01SDTL[\x80IST0\x00\x83\x88SSDT
+\x01\x00\x83\x88SSDT
+\x02\x00[ IST0HI0_\xa0I\x05{CFGD
+\xf0\x00\xa0N\x04\x90\x90{CFGD\x0c\x00\x00\x00\x01\x00{PDC0
+\x18\x00\x92{SDTL
+\x02\x00}SDTL
+\x02SDTL[\x80CST0\x00\x83\x88SSDT
+\x07\x00\x83\x88SSDT
+\x08\x00[ CST0HC0_\xa4k\x10K#\\._PR_CPU1\x08HI1_
+\x00\x08HC1_
+\x00\x14H\x06_PDC\x01\x8ah
+\x00REVS\x8ah
+\x04SIZEp\x87h`pt`
+\x08\x00a[\x13h
+@wa
+\x08\x00TEMP\x08STS1\x11\x07
+\x04\x00\x00\x00\x00sSTS1TEMPb_OSC\x11\x13
+\x10\x16\xa6w@\x0c)\xbeG\x9e\xbd\xd8pXq9SREVSSIZEb\x14L\x18_OSC\x04\x8ak
+\x00STS1\x8ak
+\x04CAP1\x8ah
+\x00IID0\x8ah
+\x04IID1\x8ah
+\x08IID2\x8ah
+\x0cIID3\x08UID1\x11\x13
+\x10\x16\xa6w@\x0c)\xbeG\x9e\xbd\xd8pXq9S\x8aUID1
+\x00EID0\x8aUID1
+\x04EID1\x8aUID1
+\x08EID2\x8aUID1
+\x0cEID3\xa02\x92\x90\x90\x93IID0EID0\x93IID1EID1\x90\x93IID2EID2\x93IID3EID3p
+\x06STS1\xa4k\xa0\x0f\x92\x93i
+\x01p
+
+STS1\xa4k}{PDC1\x0c\xff\xff\xff\x7f\x00CAP1PDC1\xa0L\x05{CFGD
+\x01\x00\xa0A\x05\x90\x90{CFGD\x0c\x00\x00\x00\x01\x00\x93{PDC1
+\t\x00
+\t\x92{SDTL
+\x10\x00}SDTL
+\x10SDTL[\x80IST1\x00\x83\x88SSDT
+\x04\x00\x83\x88SSDT
+\x05\x00[ IST1HI1_\xa0I\x05{CFGD
+\xf0\x00\xa0N\x04\x90\x90{CFGD\x0c\x00\x00\x00\x01\x00{PDC1
+\x18\x00\x92{SDTL
+ \x00}SDTL
+ SDTL[\x80CST1\x00\x83\x88SSDT
+
+\x00\x83\x88SSDT
+\x0b\x00[ CST1HC1_\xa4k\x14*_INI\x00\xa0\x0c\\DTSETHRM
+\x00\xa0\x16\x90\\WXPF\x92\x94\\WSPV
+\x01PPMS
+\x00''')
+f('sys/firmware/acpi/tables/ECDT', 0o664, b'ECDTR\x00\x00\x00\x01ULENOVOTP-7I    \x11\x00\x00LNVO\x01\x00\x00\x00\x01\x08\x00\x00f\x00\x00\x00\x00\x00\x00\x00\x01\x08\x00\x00b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\\_SB.PCI0.LPC.EC\x00')
+f('sys/firmware/acpi/tables/FACS', 0o664, b'FACS@\x00\x00\x00/\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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')
+f('sys/firmware/acpi/tables/MCFG', 0o664, b'MCFG<\x00\x00\x00\x01\x82LENOVOTP-7I    \x11\x00\x00LNVO\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x00\x00\x00\x00\x00\x00\x00?\x00\x00\x00\x00')
+d('sys/firmware/acpi/interrupts', 0o775)
+f('sys/firmware/acpi/interrupts/gpe1A', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe12', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe11', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe10', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/ff_pmtimer', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe0C', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe04', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe06', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe14', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe0B', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/sci', 0o664, b'   14240\n')
+f('sys/firmware/acpi/interrupts/gpe08', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe15', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe17', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe0A', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/ff_rt_clk', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe09', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe19', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe03', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe01', 0o664, b'       1\tenable\n')
+f('sys/firmware/acpi/interrupts/ff_slp_btn', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/error', 0o664, b'       0\n')
+f('sys/firmware/acpi/interrupts/gpe1C', 0o664, b'   14039\tenable\n')
+f('sys/firmware/acpi/interrupts/ff_pwr_btn', 0o664, b'       0\tenable\n')
+f('sys/firmware/acpi/interrupts/gpe0D', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe05', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe02', 0o664, b'     200\tenable\n')
+f('sys/firmware/acpi/interrupts/gpe1E', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe18', 0o664, b'       0\tenable\n')
+f('sys/firmware/acpi/interrupts/gpe1D', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe1F', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe0E', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe00', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe1B', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe0F', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe07', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe16', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe13', 0o664, b'       0  invalid\n')
+f('sys/firmware/acpi/interrupts/gpe_all', 0o664, b'   14240\n')
+f('sys/firmware/acpi/interrupts/ff_gbl_lock', 0o664, b'       0\tenable\n')
+d('sys/bus', 0o755)
+d('sys/bus/pci_express', 0o755)
+f('sys/bus/pci_express/drivers_autoprobe', 0o644, b'1\n')
+d('sys/bus/pci_express/devices', 0o755)
+l('sys/bus/pci_express/devices/0000:00:1c.2:pcie02', '../../../devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie02')
+l('sys/bus/pci_express/devices/0000:00:1c.2:pcie00', '../../../devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie00')
+l('sys/bus/pci_express/devices/0000:00:1c.0:pcie03', '../../../devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie03')
+l('sys/bus/pci_express/devices/0000:00:01.0:pcie03', '../../../devices/pci0000:00/0000:00:01.0/0000:00:01.0:pcie03')
+l('sys/bus/pci_express/devices/0000:00:1c.2:pcie03', '../../../devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie03')
+l('sys/bus/pci_express/devices/0000:00:1c.1:pcie02', '../../../devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie02')
+l('sys/bus/pci_express/devices/0000:00:1c.0:pcie00', '../../../devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie00')
+l('sys/bus/pci_express/devices/0000:00:1c.3:pcie02', '../../../devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie02')
+l('sys/bus/pci_express/devices/0000:00:1c.0:pcie02', '../../../devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie02')
+l('sys/bus/pci_express/devices/0000:00:1c.1:pcie03', '../../../devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie03')
+l('sys/bus/pci_express/devices/0000:00:1c.3:pcie03', '../../../devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie03')
+l('sys/bus/pci_express/devices/0000:00:1c.1:pcie00', '../../../devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie00')
+l('sys/bus/pci_express/devices/0000:00:1c.3:pcie00', '../../../devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie00')
+l('sys/bus/pci_express/devices/0000:00:01.0:pcie00', '../../../devices/pci0000:00/0000:00:01.0/0000:00:01.0:pcie00')
+d('sys/bus/acpi', 0o775)
+f('sys/bus/acpi/drivers_autoprobe', 0o664, b'1\n')
+d('sys/bus/acpi/drivers', 0o775)
+d('sys/bus/acpi/drivers/thinkpad_hotkey', 0o775)
+l('sys/bus/acpi/drivers/thinkpad_hotkey/IBM0068:00', '../../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/IBM0068:00')
+d('sys/bus/acpi/drivers/button', 0o775)
+l('sys/bus/acpi/drivers/button/PNP0C0E:00', '../../../../devices/LNXSYSTM:00/device:00/PNP0C0E:00')
+l('sys/bus/acpi/drivers/button/PNP0C0D:00', '../../../../devices/LNXSYSTM:00/device:00/PNP0C0D:00')
+l('sys/bus/acpi/drivers/button/LNXPWRBN:00', '../../../../devices/LNXSYSTM:00/LNXPWRBN:00')
+d('sys/bus/acpi/drivers/processor', 0o775)
+l('sys/bus/acpi/drivers/processor/ACPI0007:01', '../../../../devices/LNXSYSTM:00/ACPI0007:01')
+l('sys/bus/acpi/drivers/processor/ACPI0007:00', '../../../../devices/LNXSYSTM:00/ACPI0007:00')
+d('sys/bus/acpi/drivers/power', 0o775)
+l('sys/bus/acpi/drivers/power/LNXPOWER:00', '../../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/LNXPOWER:00')
+d('sys/bus/acpi/drivers/pci_link', 0o775)
+l('sys/bus/acpi/drivers/pci_link/PNP0C0F:05', '../../../../devices/LNXSYSTM:00/device:00/PNP0C0F:05')
+l('sys/bus/acpi/drivers/pci_link/PNP0C0F:07', '../../../../devices/LNXSYSTM:00/device:00/PNP0C0F:07')
+l('sys/bus/acpi/drivers/pci_link/PNP0C0F:04', '../../../../devices/LNXSYSTM:00/device:00/PNP0C0F:04')
+l('sys/bus/acpi/drivers/pci_link/PNP0C0F:02', '../../../../devices/LNXSYSTM:00/device:00/PNP0C0F:02')
+l('sys/bus/acpi/drivers/pci_link/PNP0C0F:00', '../../../../devices/LNXSYSTM:00/device:00/PNP0C0F:00')
+l('sys/bus/acpi/drivers/pci_link/PNP0C0F:01', '../../../../devices/LNXSYSTM:00/device:00/PNP0C0F:01')
+l('sys/bus/acpi/drivers/pci_link/PNP0C0F:06', '../../../../devices/LNXSYSTM:00/device:00/PNP0C0F:06')
+l('sys/bus/acpi/drivers/pci_link/PNP0C0F:03', '../../../../devices/LNXSYSTM:00/device:00/PNP0C0F:03')
+d('sys/bus/acpi/drivers/battery', 0o775)
+l('sys/bus/acpi/drivers/battery/PNP0C0A:00', '../../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00')
+d('sys/bus/acpi/drivers/ec', 0o775)
+l('sys/bus/acpi/drivers/ec/PNP0C09:00', '../../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00')
+d('sys/bus/acpi/drivers/pci_root', 0o775)
+l('sys/bus/acpi/drivers/pci_root/PNP0A08:00', '../../../../devices/LNXSYSTM:00/device:00/PNP0A08:00')
+d('sys/bus/acpi/drivers/thermal', 0o775)
+l('sys/bus/acpi/drivers/thermal/LNXTHERM:01', '../../../../devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:01')
+l('sys/bus/acpi/drivers/thermal/LNXTHERM:02', '../../../../devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:02')
+d('sys/bus/acpi/drivers/ac', 0o775)
+l('sys/bus/acpi/drivers/ac/ACPI0003:00', '../../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00')
+d('sys/bus/acpi/devices', 0o775)
+l('sys/bus/acpi/devices/device:11', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11')
+l('sys/bus/acpi/devices/device:21', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21')
+l('sys/bus/acpi/devices/PNP0000:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0000:00')
+l('sys/bus/acpi/devices/device:0b', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0b')
+l('sys/bus/acpi/devices/device:1f', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/device:1e/device:1f')
+l('sys/bus/acpi/devices/LNXTHERM:01', '../../../devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:01')
+l('sys/bus/acpi/devices/PNP0103:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0103:00')
+l('sys/bus/acpi/devices/LNXPOWER:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/LNXPOWER:00')
+l('sys/bus/acpi/devices/device:1c', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/device:1b/device:1c')
+l('sys/bus/acpi/devices/device:06', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06')
+l('sys/bus/acpi/devices/ACPI0003:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00')
+l('sys/bus/acpi/devices/PNP0C0A:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00')
+l('sys/bus/acpi/devices/device:0e', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0d/device:0e')
+l('sys/bus/acpi/devices/ATM1200:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/ATM1200:00')
+l('sys/bus/acpi/devices/device:08', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:08')
+l('sys/bus/acpi/devices/PNP0C0F:05', '../../../devices/LNXSYSTM:00/device:00/PNP0C0F:05')
+l('sys/bus/acpi/devices/device:18', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:18')
+l('sys/bus/acpi/devices/device:0c', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0c')
+l('sys/bus/acpi/devices/PNP0303:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0303:00')
+l('sys/bus/acpi/devices/device:17', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:16/device:17')
+l('sys/bus/acpi/devices/device:02', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02')
+l('sys/bus/acpi/devices/ACPI0007:01', '../../../devices/LNXSYSTM:00/ACPI0007:01')
+l('sys/bus/acpi/devices/device:13', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13')
+l('sys/bus/acpi/devices/PNP0C0E:00', '../../../devices/LNXSYSTM:00/device:00/PNP0C0E:00')
+l('sys/bus/acpi/devices/device:04', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:04')
+l('sys/bus/acpi/devices/PNP0A08:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00')
+l('sys/bus/acpi/devices/PNP0C04:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C04:00')
+l('sys/bus/acpi/devices/LNXTHERM:00', '../../../devices/LNXSYSTM:00/LNXTHERM:00')
+l('sys/bus/acpi/devices/device:15', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/device:14/device:15')
+l('sys/bus/acpi/devices/IBM0079:00', '../../../devices/LNXSYSTM:00/device:00/IBM0079:00')
+l('sys/bus/acpi/devices/device:1d', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d')
+l('sys/bus/acpi/devices/PNP0C0D:00', '../../../devices/LNXSYSTM:00/device:00/PNP0C0D:00')
+l('sys/bus/acpi/devices/device:23', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/device:23')
+l('sys/bus/acpi/devices/device:19', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:19')
+l('sys/bus/acpi/devices/device:12', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11/device:12')
+l('sys/bus/acpi/devices/device:1a', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a')
+l('sys/bus/acpi/devices/device:00', '../../../devices/LNXSYSTM:00/device:00')
+l('sys/bus/acpi/devices/PNP0800:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0800:00')
+l('sys/bus/acpi/devices/PNP0C02:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C02:00')
+l('sys/bus/acpi/devices/device:10', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f/device:10')
+l('sys/bus/acpi/devices/PNP0100:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0100:00')
+l('sys/bus/acpi/devices/device:0d', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0d')
+l('sys/bus/acpi/devices/IBM0068:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/IBM0068:00')
+l('sys/bus/acpi/devices/device:25', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:25')
+l('sys/bus/acpi/devices/PNP0C01:00', '../../../devices/LNXSYSTM:00/device:00/PNP0C01:00')
+l('sys/bus/acpi/devices/device:01', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01')
+l('sys/bus/acpi/devices/PNP0C0F:07', '../../../devices/LNXSYSTM:00/device:00/PNP0C0F:07')
+l('sys/bus/acpi/devices/PNP0C0F:04', '../../../devices/LNXSYSTM:00/device:00/PNP0C0F:04')
+l('sys/bus/acpi/devices/device:1b', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/device:1b')
+l('sys/bus/acpi/devices/device:24', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/device:24')
+l('sys/bus/acpi/devices/device:1e', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/device:1e')
+l('sys/bus/acpi/devices/ACPI0007:00', '../../../devices/LNXSYSTM:00/ACPI0007:00')
+l('sys/bus/acpi/devices/LNXTHERM:02', '../../../devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:02')
+l('sys/bus/acpi/devices/PNP0C09:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00')
+l('sys/bus/acpi/devices/device:20', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:20')
+l('sys/bus/acpi/devices/PNP0C0F:02', '../../../devices/LNXSYSTM:00/device:00/PNP0C0F:02')
+l('sys/bus/acpi/devices/LNXSYSTM:00', '../../../devices/LNXSYSTM:00')
+l('sys/bus/acpi/devices/device:05', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:05')
+l('sys/bus/acpi/devices/PNP0C0F:00', '../../../devices/LNXSYSTM:00/device:00/PNP0C0F:00')
+l('sys/bus/acpi/devices/device:0f', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f')
+l('sys/bus/acpi/devices/device:16', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:16')
+l('sys/bus/acpi/devices/device:09', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:09')
+l('sys/bus/acpi/devices/device:07', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07')
+l('sys/bus/acpi/devices/device:03', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:03')
+l('sys/bus/acpi/devices/device:22', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22')
+l('sys/bus/acpi/devices/PNP0C0F:01', '../../../devices/LNXSYSTM:00/device:00/PNP0C0F:01')
+l('sys/bus/acpi/devices/PNP0C0F:06', '../../../devices/LNXSYSTM:00/device:00/PNP0C0F:06')
+l('sys/bus/acpi/devices/device:0a', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:0a')
+l('sys/bus/acpi/devices/PNP0200:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0200:00')
+l('sys/bus/acpi/devices/device:14', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/device:14')
+l('sys/bus/acpi/devices/IBM0057:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/IBM0057:00')
+l('sys/bus/acpi/devices/PNP0B00:00', '../../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0B00:00')
+l('sys/bus/acpi/devices/PNP0C0F:03', '../../../devices/LNXSYSTM:00/device:00/PNP0C0F:03')
+l('sys/bus/acpi/devices/LNXPWRBN:00', '../../../devices/LNXSYSTM:00/LNXPWRBN:00')
+d('sys/bus/serio', 0o755)
+f('sys/bus/serio/drivers_autoprobe', 0o644, b'1\n')
+d('sys/bus/serio/drivers', 0o755)
+d('sys/bus/serio/drivers/psmouse', 0o755)
+l('sys/bus/serio/drivers/psmouse/module', '../../../../module/psmouse')
+l('sys/bus/serio/drivers/psmouse/serio1', '../../../../devices/platform/i8042/serio1')
+f('sys/bus/serio/drivers/psmouse/bind_mode', 0o644, b'auto\n')
+f('sys/bus/serio/drivers/psmouse/description', 0o644, b'PS/2 mouse driver\n')
+d('sys/bus/serio/drivers/atkbd', 0o755)
+l('sys/bus/serio/drivers/atkbd/serio0', '../../../../devices/platform/i8042/serio0')
+l('sys/bus/serio/drivers/atkbd/module', '../../../../module/atkbd')
+f('sys/bus/serio/drivers/atkbd/bind_mode', 0o644, b'auto\n')
+f('sys/bus/serio/drivers/atkbd/description', 0o644, b'AT and PS/2 keyboard driver\n')
+d('sys/bus/serio/devices', 0o755)
+l('sys/bus/serio/devices/serio0', '../../../devices/platform/i8042/serio0')
+l('sys/bus/serio/devices/serio1', '../../../devices/platform/i8042/serio1')
+d('sys/bus/scsi', 0o755)
+f('sys/bus/scsi/drivers_autoprobe', 0o644, b'1\n')
+d('sys/bus/scsi/drivers', 0o755)
+d('sys/bus/scsi/drivers/sd', 0o755)
+l('sys/bus/scsi/drivers/sd/7:0:0:0', '../../../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0')
+l('sys/bus/scsi/drivers/sd/0:0:0:0', '../../../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0')
+d('sys/bus/scsi/drivers/sr', 0o755)
+l('sys/bus/scsi/drivers/sr/4:0:0:0', '../../../../devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0')
+d('sys/bus/scsi/devices', 0o755)
+l('sys/bus/scsi/devices/target4:0:0', '../../../devices/pci0000:00/0000:00:1f.1/host4/target4:0:0')
+l('sys/bus/scsi/devices/host0', '../../../devices/pci0000:00/0000:00:1f.2/host0')
+l('sys/bus/scsi/devices/host5', '../../../devices/pci0000:00/0000:00:1f.1/host5')
+l('sys/bus/scsi/devices/host1', '../../../devices/pci0000:00/0000:00:1f.2/host1')
+l('sys/bus/scsi/devices/target0:0:0', '../../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0')
+l('sys/bus/scsi/devices/host4', '../../../devices/pci0000:00/0000:00:1f.1/host4')
+l('sys/bus/scsi/devices/7:0:0:0', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0')
+l('sys/bus/scsi/devices/target7:0:0', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0')
+l('sys/bus/scsi/devices/0:0:0:0', '../../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0')
+l('sys/bus/scsi/devices/host2', '../../../devices/pci0000:00/0000:00:1f.2/host2')
+l('sys/bus/scsi/devices/host7', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7')
+l('sys/bus/scsi/devices/4:0:0:0', '../../../devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0')
+l('sys/bus/scsi/devices/host3', '../../../devices/pci0000:00/0000:00:1f.2/host3')
+d('sys/bus/usb', 0o755)
+f('sys/bus/usb/drivers_autoprobe', 0o644, b'1\n')
+d('sys/bus/usb/drivers', 0o755)
+d('sys/bus/usb/drivers/usb-storage', 0o755)
+l('sys/bus/usb/drivers/usb-storage/module', '../../../../module/usb_storage')
+l('sys/bus/usb/drivers/usb-storage/5-1:1.0', '../../../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0')
+d('sys/bus/usb/drivers/cdc_acm', 0o755)
+l('sys/bus/usb/drivers/cdc_acm/5-2:1.1', '../../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1')
+l('sys/bus/usb/drivers/cdc_acm/5-2:1.0', '../../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0')
+l('sys/bus/usb/drivers/cdc_acm/module', '../../../../module/cdc_acm')
+d('sys/bus/usb/drivers/usbhid', 0o755)
+l('sys/bus/usb/drivers/usbhid/3-1:1.0', '../../../../devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0')
+l('sys/bus/usb/drivers/usbhid/module', '../../../../module/usbhid')
+d('sys/bus/usb/drivers/hub', 0o755)
+l('sys/bus/usb/drivers/hub/3-0:1.0', '../../../../devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0')
+l('sys/bus/usb/drivers/hub/1-0:1.0', '../../../../devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0')
+l('sys/bus/usb/drivers/hub/4-0:1.0', '../../../../devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0')
+l('sys/bus/usb/drivers/hub/module', '../../../../module/usbcore')
+l('sys/bus/usb/drivers/hub/2-0:1.0', '../../../../devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0')
+l('sys/bus/usb/drivers/hub/5-0:1.0', '../../../../devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0')
+d('sys/bus/usb/drivers/usb', 0o755)
+l('sys/bus/usb/drivers/usb/usb5', '../../../../devices/pci0000:00/0000:00:1d.7/usb5')
+l('sys/bus/usb/drivers/usb/usb1', '../../../../devices/pci0000:00/0000:00:1d.0/usb1')
+l('sys/bus/usb/drivers/usb/4-2', '../../../../devices/pci0000:00/0000:00:1d.3/usb4/4-2')
+l('sys/bus/usb/drivers/usb/5-1', '../../../../devices/pci0000:00/0000:00:1d.7/usb5/5-1')
+l('sys/bus/usb/drivers/usb/5-2', '../../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2')
+l('sys/bus/usb/drivers/usb/4-1', '../../../../devices/pci0000:00/0000:00:1d.3/usb4/4-1')
+l('sys/bus/usb/drivers/usb/module', '../../../../module/usbcore')
+l('sys/bus/usb/drivers/usb/usb4', '../../../../devices/pci0000:00/0000:00:1d.3/usb4')
+l('sys/bus/usb/drivers/usb/usb3', '../../../../devices/pci0000:00/0000:00:1d.2/usb3')
+l('sys/bus/usb/drivers/usb/usb2', '../../../../devices/pci0000:00/0000:00:1d.1/usb2')
+l('sys/bus/usb/drivers/usb/3-1', '../../../../devices/pci0000:00/0000:00:1d.2/usb3/3-1')
+d('sys/bus/usb/drivers/usbfs', 0o755)
+l('sys/bus/usb/drivers/usbfs/module', '../../../../module/usbcore')
+d('sys/bus/usb/devices', 0o755)
+l('sys/bus/usb/devices/4-1:1.3', '../../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.3')
+l('sys/bus/usb/devices/5-2:1.4', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.4')
+l('sys/bus/usb/devices/usb5', '../../../devices/pci0000:00/0000:00:1d.7/usb5')
+l('sys/bus/usb/devices/4-1:1.0', '../../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0')
+l('sys/bus/usb/devices/5-2:1.2', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2')
+l('sys/bus/usb/devices/3-0:1.0', '../../../devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0')
+l('sys/bus/usb/devices/usb1', '../../../devices/pci0000:00/0000:00:1d.0/usb1')
+l('sys/bus/usb/devices/4-2', '../../../devices/pci0000:00/0000:00:1d.3/usb4/4-2')
+l('sys/bus/usb/devices/5-2:1.1', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1')
+l('sys/bus/usb/devices/1-0:1.0', '../../../devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0')
+l('sys/bus/usb/devices/5-1', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-1')
+l('sys/bus/usb/devices/5-2:1.10', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.10')
+l('sys/bus/usb/devices/4-0:1.0', '../../../devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0')
+l('sys/bus/usb/devices/5-2:1.0', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0')
+l('sys/bus/usb/devices/5-2', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2')
+l('sys/bus/usb/devices/5-2:1.9', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.9')
+l('sys/bus/usb/devices/3-1:1.0', '../../../devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0')
+l('sys/bus/usb/devices/5-2:1.13', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.13')
+l('sys/bus/usb/devices/5-2:1.5', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.5')
+l('sys/bus/usb/devices/4-1', '../../../devices/pci0000:00/0000:00:1d.3/usb4/4-1')
+l('sys/bus/usb/devices/4-1:1.2', '../../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2')
+l('sys/bus/usb/devices/usb4', '../../../devices/pci0000:00/0000:00:1d.3/usb4')
+l('sys/bus/usb/devices/2-0:1.0', '../../../devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0')
+l('sys/bus/usb/devices/5-2:1.11', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.11')
+l('sys/bus/usb/devices/usb3', '../../../devices/pci0000:00/0000:00:1d.2/usb3')
+l('sys/bus/usb/devices/5-2:1.12', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.12')
+l('sys/bus/usb/devices/5-2:1.3', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3')
+l('sys/bus/usb/devices/5-2:1.6', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.6')
+l('sys/bus/usb/devices/4-1:1.1', '../../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1')
+l('sys/bus/usb/devices/5-1:1.0', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0')
+l('sys/bus/usb/devices/5-0:1.0', '../../../devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0')
+l('sys/bus/usb/devices/4-2:1.0', '../../../devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0')
+l('sys/bus/usb/devices/usb2', '../../../devices/pci0000:00/0000:00:1d.1/usb2')
+l('sys/bus/usb/devices/3-1', '../../../devices/pci0000:00/0000:00:1d.2/usb3/3-1')
+d('sys/bus/pci', 0o755)
+f('sys/bus/pci/drivers_autoprobe', 0o644, b'1\n')
+d('sys/bus/pci/drivers', 0o755)
+d('sys/bus/pci/drivers/pcieport-driver', 0o755)
+l('sys/bus/pci/drivers/pcieport-driver/0000:00:1c.2', '../../../../devices/pci0000:00/0000:00:1c.2')
+l('sys/bus/pci/drivers/pcieport-driver/0000:00:1c.1', '../../../../devices/pci0000:00/0000:00:1c.1')
+l('sys/bus/pci/drivers/pcieport-driver/0000:00:1c.3', '../../../../devices/pci0000:00/0000:00:1c.3')
+l('sys/bus/pci/drivers/pcieport-driver/0000:00:1c.0', '../../../../devices/pci0000:00/0000:00:1c.0')
+l('sys/bus/pci/drivers/pcieport-driver/0000:00:01.0', '../../../../devices/pci0000:00/0000:00:01.0')
+d('sys/bus/pci/drivers/uhci_hcd', 0o755)
+l('sys/bus/pci/drivers/uhci_hcd/0000:00:1d.3', '../../../../devices/pci0000:00/0000:00:1d.3')
+l('sys/bus/pci/drivers/uhci_hcd/module', '../../../../module/uhci_hcd')
+l('sys/bus/pci/drivers/uhci_hcd/0000:00:1d.0', '../../../../devices/pci0000:00/0000:00:1d.0')
+l('sys/bus/pci/drivers/uhci_hcd/0000:00:1d.2', '../../../../devices/pci0000:00/0000:00:1d.2')
+l('sys/bus/pci/drivers/uhci_hcd/0000:00:1d.1', '../../../../devices/pci0000:00/0000:00:1d.1')
+d('sys/bus/pci/drivers/HDA Intel', 0o755)
+l('sys/bus/pci/drivers/HDA Intel/0000:00:1b.0', '../../../../devices/pci0000:00/0000:00:1b.0')
+l('sys/bus/pci/drivers/HDA Intel/module', '../../../../module/snd_hda_intel')
+d('sys/bus/pci/drivers/ata_piix', 0o755)
+l('sys/bus/pci/drivers/ata_piix/0000:00:1f.1', '../../../../devices/pci0000:00/0000:00:1f.1')
+d('sys/bus/pci/drivers/yenta_cardbus', 0o755)
+l('sys/bus/pci/drivers/yenta_cardbus/module', '../../../../module/yenta_socket')
+l('sys/bus/pci/drivers/yenta_cardbus/0000:15:00.0', '../../../../devices/pci0000:00/0000:00:1e.0/0000:15:00.0')
+d('sys/bus/pci/drivers/e1000e', 0o755)
+l('sys/bus/pci/drivers/e1000e/0000:02:00.0', '../../../../devices/pci0000:00/0000:00:1c.0/0000:02:00.0')
+l('sys/bus/pci/drivers/e1000e/module', '../../../../module/e1000e')
+d('sys/bus/pci/drivers/iwl3945', 0o755)
+l('sys/bus/pci/drivers/iwl3945/module', '../../../../module/iwl3945')
+l('sys/bus/pci/drivers/iwl3945/0000:03:00.0', '../../../../devices/pci0000:00/0000:00:1c.1/0000:03:00.0')
+d('sys/bus/pci/drivers/ehci_hcd', 0o755)
+l('sys/bus/pci/drivers/ehci_hcd/module', '../../../../module/ehci_hcd')
+d('sys/bus/pci/drivers/agpgart-intel', 0o755)
+l('sys/bus/pci/drivers/agpgart-intel/module', '../../../../module/intel_agp')
+d('sys/bus/pci/drivers/ahci', 0o755)
+l('sys/bus/pci/drivers/ahci/module', '../../../../module/ahci')
+l('sys/bus/pci/drivers/ahci/0000:00:1f.2', '../../../../devices/pci0000:00/0000:00:1f.2')
+d('sys/bus/pci/devices', 0o755)
+l('sys/bus/pci/devices/0000:00:1d.3', '../../../devices/pci0000:00/0000:00:1d.3')
+l('sys/bus/pci/devices/0000:00:1c.2', '../../../devices/pci0000:00/0000:00:1c.2')
+l('sys/bus/pci/devices/0000:00:1b.0', '../../../devices/pci0000:00/0000:00:1b.0')
+l('sys/bus/pci/devices/0000:02:00.0', '../../../devices/pci0000:00/0000:00:1c.0/0000:02:00.0')
+l('sys/bus/pci/devices/0000:00:1c.1', '../../../devices/pci0000:00/0000:00:1c.1')
+l('sys/bus/pci/devices/0000:00:00.0', '../../../devices/pci0000:00/0000:00:00.0')
+l('sys/bus/pci/devices/0000:01:00.0', '../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0')
+l('sys/bus/pci/devices/0000:00:1c.3', '../../../devices/pci0000:00/0000:00:1c.3')
+l('sys/bus/pci/devices/0000:00:1f.0', '../../../devices/pci0000:00/0000:00:1f.0')
+l('sys/bus/pci/devices/0000:00:1c.0', '../../../devices/pci0000:00/0000:00:1c.0')
+l('sys/bus/pci/devices/0000:15:00.0', '../../../devices/pci0000:00/0000:00:1e.0/0000:15:00.0')
+l('sys/bus/pci/devices/0000:00:1f.3', '../../../devices/pci0000:00/0000:00:1f.3')
+l('sys/bus/pci/devices/0000:00:1d.0', '../../../devices/pci0000:00/0000:00:1d.0')
+l('sys/bus/pci/devices/0000:00:1f.2', '../../../devices/pci0000:00/0000:00:1f.2')
+l('sys/bus/pci/devices/0000:00:1d.2', '../../../devices/pci0000:00/0000:00:1d.2')
+l('sys/bus/pci/devices/0000:03:00.0', '../../../devices/pci0000:00/0000:00:1c.1/0000:03:00.0')
+l('sys/bus/pci/devices/0000:00:01.0', '../../../devices/pci0000:00/0000:00:01.0')
+l('sys/bus/pci/devices/0000:00:1f.1', '../../../devices/pci0000:00/0000:00:1f.1')
+l('sys/bus/pci/devices/0000:00:1e.0', '../../../devices/pci0000:00/0000:00:1e.0')
+l('sys/bus/pci/devices/0000:00:1d.1', '../../../devices/pci0000:00/0000:00:1d.1')
+d('sys/bus/pnp', 0o755)
+f('sys/bus/pnp/drivers_autoprobe', 0o644, b'1\n')
+d('sys/bus/pnp/drivers', 0o755)
+d('sys/bus/pnp/drivers/system', 0o755)
+l('sys/bus/pnp/drivers/system/00:02', '../../../../devices/pnp0/00:02')
+l('sys/bus/pnp/drivers/system/00:00', '../../../../devices/pnp0/00:00')
+d('sys/bus/pnp/drivers/i8042 kbd', 0o755)
+l('sys/bus/pnp/drivers/i8042 kbd/00:08', '../../../../devices/pnp0/00:08')
+d('sys/bus/pnp/drivers/rtc_cmos', 0o755)
+l('sys/bus/pnp/drivers/rtc_cmos/00:07', '../../../../devices/pnp0/00:07')
+d('sys/bus/pnp/drivers/i8042 aux', 0o755)
+l('sys/bus/pnp/drivers/i8042 aux/00:09', '../../../../devices/pnp0/00:09')
+d('sys/bus/pnp/devices', 0o755)
+l('sys/bus/pnp/devices/00:04', '../../../devices/pnp0/00:04')
+l('sys/bus/pnp/devices/00:0a', '../../../devices/pnp0/00:0a')
+l('sys/bus/pnp/devices/00:03', '../../../devices/pnp0/00:03')
+l('sys/bus/pnp/devices/00:02', '../../../devices/pnp0/00:02')
+l('sys/bus/pnp/devices/00:00', '../../../devices/pnp0/00:00')
+l('sys/bus/pnp/devices/00:09', '../../../devices/pnp0/00:09')
+l('sys/bus/pnp/devices/00:07', '../../../devices/pnp0/00:07')
+l('sys/bus/pnp/devices/00:06', '../../../devices/pnp0/00:06')
+l('sys/bus/pnp/devices/00:08', '../../../devices/pnp0/00:08')
+l('sys/bus/pnp/devices/00:05', '../../../devices/pnp0/00:05')
+l('sys/bus/pnp/devices/00:01', '../../../devices/pnp0/00:01')
+d('sys/bus/pcmcia', 0o755)
+f('sys/bus/pcmcia/drivers_autoprobe', 0o644, b'1\n')
+d('sys/bus/platform', 0o755)
+f('sys/bus/platform/drivers_autoprobe', 0o644, b'1\n')
+d('sys/bus/platform/drivers', 0o755)
+d('sys/bus/platform/drivers/pcspkr', 0o755)
+l('sys/bus/platform/drivers/pcspkr/pcspkr', '../../../../devices/platform/pcspkr')
+l('sys/bus/platform/drivers/pcspkr/module', '../../../../module/pcspkr')
+d('sys/bus/platform/drivers/serial8250', 0o755)
+l('sys/bus/platform/drivers/serial8250/serial8250', '../../../../devices/platform/serial8250')
+d('sys/bus/platform/drivers/thinkpad_acpi', 0o755)
+l('sys/bus/platform/drivers/thinkpad_acpi/module', '../../../../module/thinkpad_acpi')
+l('sys/bus/platform/drivers/thinkpad_acpi/thinkpad_acpi', '../../../../devices/platform/thinkpad_acpi')
+f('sys/bus/platform/drivers/thinkpad_acpi/version', 0o644, b'ThinkPad ACPI Extras v0.21\n')
+f('sys/bus/platform/drivers/thinkpad_acpi/debug_level', 0o644, b'0x0000\n')
+f('sys/bus/platform/drivers/thinkpad_acpi/interface_version', 0o644, b'0x00020200\n')
+d('sys/bus/platform/drivers/vesafb', 0o755)
+l('sys/bus/platform/drivers/vesafb/vesafb.0', '../../../../devices/platform/vesafb.0')
+d('sys/bus/platform/drivers/thinkpad_hwmon', 0o755)
+l('sys/bus/platform/drivers/thinkpad_hwmon/module', '../../../../module/thinkpad_acpi')
+l('sys/bus/platform/drivers/thinkpad_hwmon/thinkpad_hwmon', '../../../../devices/platform/thinkpad_hwmon')
+f('sys/bus/platform/drivers/thinkpad_hwmon/version', 0o644, b'ThinkPad ACPI Extras v0.21\n')
+f('sys/bus/platform/drivers/thinkpad_hwmon/fan_watchdog', 0o644, b'0\n')
+f('sys/bus/platform/drivers/thinkpad_hwmon/debug_level', 0o644, b'0x0000\n')
+f('sys/bus/platform/drivers/thinkpad_hwmon/interface_version', 0o644, b'0x00020200\n')
+d('sys/bus/platform/drivers/i8042', 0o755)
+l('sys/bus/platform/drivers/i8042/i8042', '../../../../devices/platform/i8042')
+d('sys/bus/platform/devices', 0o755)
+l('sys/bus/platform/devices/pcspkr', '../../../devices/platform/pcspkr')
+l('sys/bus/platform/devices/vesafb.0', '../../../devices/platform/vesafb.0')
+l('sys/bus/platform/devices/dock.0', '../../../devices/platform/dock.0')
+l('sys/bus/platform/devices/serial8250', '../../../devices/platform/serial8250')
+l('sys/bus/platform/devices/thinkpad_acpi', '../../../devices/platform/thinkpad_acpi')
+l('sys/bus/platform/devices/thinkpad_hwmon', '../../../devices/platform/thinkpad_hwmon')
+l('sys/bus/platform/devices/microcode', '../../../devices/platform/microcode')
+l('sys/bus/platform/devices/i8042', '../../../devices/platform/i8042')
+d('sys/fs', 0o775)
+d('sys/fs/fuse', 0o775)
+d('sys/fs/fuse/connections', 0o775)
+d('sys/fs/fuse/connections/16', 0o775)
+f('sys/fs/fuse/connections/16/waiting', 0o664, b'0\n')
+f('sys/fs/fuse/connections/16/abort', 0o664, b'')
+d('sys/dev', 0o755)
+d('sys/dev/char', 0o755)
+l('sys/dev/char/4:39', '../../devices/virtual/tty/tty39')
+l('sys/dev/char/116:33', '../../devices/virtual/sound/timer')
+l('sys/dev/char/10:229', '../../devices/virtual/misc/fuse')
+l('sys/dev/char/4:23', '../../devices/virtual/tty/tty23')
+l('sys/dev/char/4:19', '../../devices/virtual/tty/tty19')
+l('sys/dev/char/252:1', '../../devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00')
+l('sys/dev/char/4:48', '../../devices/virtual/tty/tty48')
+l('sys/dev/char/7:129', '../../devices/virtual/vc/vcsa1')
+l('sys/dev/char/4:34', '../../devices/virtual/tty/tty34')
+l('sys/dev/char/189:0', '../../devices/pci0000:00/0000:00:1d.0/usb1')
+l('sys/dev/char/4:61', '../../devices/virtual/tty/tty61')
+l('sys/dev/char/4:5', '../../devices/virtual/tty/tty5')
+l('sys/dev/char/10:1', '../../devices/virtual/misc/psaux')
+l('sys/dev/char/4:47', '../../devices/virtual/tty/tty47')
+l('sys/dev/char/254:2', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/bsg/7:0:0:0')
+l('sys/dev/char/252:7', '../../devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00')
+l('sys/dev/char/7:1', '../../devices/virtual/vc/vcs1')
+l('sys/dev/char/4:37', '../../devices/virtual/tty/tty37')
+l('sys/dev/char/4:3', '../../devices/virtual/tty/tty3')
+l('sys/dev/char/252:3', '../../devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00')
+l('sys/dev/char/1:3', '../../devices/virtual/mem/null')
+l('sys/dev/char/14:12', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/adsp')
+l('sys/dev/char/7:0', '../../devices/virtual/vc/vcs')
+l('sys/dev/char/252:14', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02')
+l('sys/dev/char/4:52', '../../devices/virtual/tty/tty52')
+l('sys/dev/char/252:18', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04')
+l('sys/dev/char/1:5', '../../devices/virtual/mem/zero')
+l('sys/dev/char/13:66', '../../devices/platform/pcspkr/input/input2/event2')
+l('sys/dev/char/10:223', '../../devices/virtual/misc/uinput')
+l('sys/dev/char/7:2', '../../devices/virtual/vc/vcs2')
+l('sys/dev/char/4:40', '../../devices/virtual/tty/tty40')
+l('sys/dev/char/4:31', '../../devices/virtual/tty/tty31')
+l('sys/dev/char/252:21', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02')
+l('sys/dev/char/4:11', '../../devices/virtual/tty/tty11')
+l('sys/dev/char/4:17', '../../devices/virtual/tty/tty17')
+l('sys/dev/char/252:31', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84')
+l('sys/dev/char/189:256', '../../devices/pci0000:00/0000:00:1d.2/usb3')
+l('sys/dev/char/252:5', '../../devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00')
+l('sys/dev/char/7:4', '../../devices/virtual/vc/vcs4')
+l('sys/dev/char/4:38', '../../devices/virtual/tty/tty38')
+l('sys/dev/char/4:66', '../../devices/platform/serial8250/tty/ttyS2')
+l('sys/dev/char/4:0', '../../devices/virtual/tty/tty0')
+l('sys/dev/char/21:0', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_generic/sg0')
+l('sys/dev/char/7:134', '../../devices/virtual/vc/vcsa6')
+l('sys/dev/char/116:24', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0c')
+l('sys/dev/char/4:29', '../../devices/virtual/tty/tty29')
+l('sys/dev/char/21:2', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_generic/sg2')
+l('sys/dev/char/4:27', '../../devices/virtual/tty/tty27')
+l('sys/dev/char/4:21', '../../devices/virtual/tty/tty21')
+l('sys/dev/char/13:64', '../../devices/platform/i8042/serio0/input/input0/event0')
+l('sys/dev/char/252:30', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83')
+l('sys/dev/char/4:51', '../../devices/virtual/tty/tty51')
+l('sys/dev/char/254:1', '../../devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/bsg/4:0:0:0')
+l('sys/dev/char/4:18', '../../devices/virtual/tty/tty18')
+l('sys/dev/char/7:3', '../../devices/virtual/vc/vcs3')
+l('sys/dev/char/252:32', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02')
+l('sys/dev/char/252:27', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81')
+l('sys/dev/char/252:12', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81')
+l('sys/dev/char/1:1', '../../devices/virtual/mem/mem')
+l('sys/dev/char/189:386', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-2')
+l('sys/dev/char/10:62', '../../devices/virtual/misc/network_latency')
+l('sys/dev/char/252:4', '../../devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81')
+l('sys/dev/char/5:1', '../../devices/virtual/tty/console')
+l('sys/dev/char/1:7', '../../devices/virtual/mem/full')
+l('sys/dev/char/7:5', '../../devices/virtual/vc/vcs5')
+l('sys/dev/char/4:4', '../../devices/virtual/tty/tty4')
+l('sys/dev/char/4:15', '../../devices/virtual/tty/tty15')
+l('sys/dev/char/4:9', '../../devices/virtual/tty/tty9')
+l('sys/dev/char/4:20', '../../devices/virtual/tty/tty20')
+l('sys/dev/char/10:228', '../../devices/virtual/misc/hpet')
+l('sys/dev/char/4:59', '../../devices/virtual/tty/tty59')
+l('sys/dev/char/252:2', '../../devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81')
+l('sys/dev/char/4:7', '../../devices/virtual/tty/tty7')
+l('sys/dev/char/4:35', '../../devices/virtual/tty/tty35')
+l('sys/dev/char/254:0', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0')
+l('sys/dev/char/189:128', '../../devices/pci0000:00/0000:00:1d.1/usb2')
+l('sys/dev/char/10:184', '../../devices/virtual/misc/microcode')
+l('sys/dev/char/7:131', '../../devices/virtual/vc/vcsa3')
+l('sys/dev/char/116:1', '../../devices/virtual/sound/seq')
+l('sys/dev/char/252:17', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84')
+l('sys/dev/char/10:61', '../../devices/virtual/misc/network_throughput')
+l('sys/dev/char/7:130', '../../devices/virtual/vc/vcsa2')
+l('sys/dev/char/252:0', '../../devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81')
+l('sys/dev/char/4:33', '../../devices/virtual/tty/tty33')
+l('sys/dev/char/4:10', '../../devices/virtual/tty/tty10')
+l('sys/dev/char/13:71', '../../devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/event7')
+l('sys/dev/char/252:10', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81')
+l('sys/dev/char/253:0', '../../devices/pnp0/00:07/rtc/rtc0')
+l('sys/dev/char/252:19', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00')
+l('sys/dev/char/7:10', '../../devices/virtual/vc/vcs10')
+l('sys/dev/char/4:42', '../../devices/virtual/tty/tty42')
+l('sys/dev/char/10:144', '../../devices/virtual/misc/nvram')
+l('sys/dev/char/4:63', '../../devices/virtual/tty/tty63')
+l('sys/dev/char/252:25', '../../devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81')
+l('sys/dev/char/189:520', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2')
+l('sys/dev/char/4:55', '../../devices/virtual/tty/tty55')
+l('sys/dev/char/13:33', '../../devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/mouse1')
+l('sys/dev/char/13:70', '../../devices/virtual/input/input6/event6')
+l('sys/dev/char/252:29', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01')
+l('sys/dev/char/4:45', '../../devices/virtual/tty/tty45')
+l('sys/dev/char/4:56', '../../devices/virtual/tty/tty56')
+l('sys/dev/char/10:60', '../../devices/virtual/misc/device-mapper')
+l('sys/dev/char/5:2', '../../devices/virtual/tty/ptmx')
+l('sys/dev/char/252:8', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81')
+l('sys/dev/char/14:3', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/dsp')
+l('sys/dev/char/13:68', '../../devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/event4')
+l('sys/dev/char/13:67', '../../devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/event3')
+l('sys/dev/char/1:4', '../../devices/virtual/mem/port')
+l('sys/dev/char/116:0', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/controlC0')
+l('sys/dev/char/4:46', '../../devices/virtual/tty/tty46')
+l('sys/dev/char/4:41', '../../devices/virtual/tty/tty41')
+l('sys/dev/char/189:512', '../../devices/pci0000:00/0000:00:1d.7/usb5')
+l('sys/dev/char/4:62', '../../devices/virtual/tty/tty62')
+l('sys/dev/char/252:15', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83')
+l('sys/dev/char/7:133', '../../devices/virtual/vc/vcsa5')
+l('sys/dev/char/4:2', '../../devices/virtual/tty/tty2')
+l('sys/dev/char/1:8', '../../devices/virtual/mem/random')
+l('sys/dev/char/7:138', '../../devices/virtual/vc/vcsa10')
+l('sys/dev/char/4:64', '../../devices/platform/serial8250/tty/ttyS0')
+l('sys/dev/char/4:1', '../../devices/virtual/tty/tty1')
+l('sys/dev/char/4:28', '../../devices/virtual/tty/tty28')
+l('sys/dev/char/13:32', '../../devices/platform/i8042/serio1/input/input1/mouse0')
+l('sys/dev/char/4:44', '../../devices/virtual/tty/tty44')
+l('sys/dev/char/4:36', '../../devices/virtual/tty/tty36')
+l('sys/dev/char/4:43', '../../devices/virtual/tty/tty43')
+l('sys/dev/char/7:128', '../../devices/virtual/vc/vcsa')
+l('sys/dev/char/4:60', '../../devices/virtual/tty/tty60')
+l('sys/dev/char/7:135', '../../devices/virtual/vc/vcsa7')
+l('sys/dev/char/4:6', '../../devices/virtual/tty/tty6')
+l('sys/dev/char/4:49', '../../devices/virtual/tty/tty49')
+l('sys/dev/char/189:518', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1')
+l('sys/dev/char/29:0', '../../devices/platform/vesafb.0/graphics/fb0')
+l('sys/dev/char/252:23', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00')
+l('sys/dev/char/10:227', '../../devices/virtual/misc/mcelog')
+l('sys/dev/char/4:14', '../../devices/virtual/tty/tty14')
+l('sys/dev/char/4:54', '../../devices/virtual/tty/tty54')
+l('sys/dev/char/7:132', '../../devices/virtual/vc/vcsa4')
+l('sys/dev/char/5:0', '../../devices/virtual/tty/tty')
+l('sys/dev/char/252:26', '../../devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00')
+l('sys/dev/char/1:2', '../../devices/virtual/mem/kmem')
+l('sys/dev/char/189:259', '../../devices/pci0000:00/0000:00:1d.2/usb3/3-1')
+l('sys/dev/char/252:11', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02')
+l('sys/dev/char/4:26', '../../devices/virtual/tty/tty26')
+l('sys/dev/char/252:33', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00')
+l('sys/dev/char/4:22', '../../devices/virtual/tty/tty22')
+l('sys/dev/char/10:63', '../../devices/virtual/misc/cpu_dma_latency')
+l('sys/dev/char/4:13', '../../devices/virtual/tty/tty13')
+l('sys/dev/char/116:17', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D1p')
+l('sys/dev/char/116:16', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0p')
+l('sys/dev/char/252:16', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03')
+l('sys/dev/char/4:8', '../../devices/virtual/tty/tty8')
+l('sys/dev/char/252:28', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82')
+l('sys/dev/char/21:1', '../../devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_generic/sg1')
+l('sys/dev/char/4:24', '../../devices/virtual/tty/tty24')
+l('sys/dev/char/7:7', '../../devices/virtual/vc/vcs7')
+l('sys/dev/char/252:20', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81')
+l('sys/dev/char/166:0', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0')
+l('sys/dev/char/4:58', '../../devices/virtual/tty/tty58')
+l('sys/dev/char/4:57', '../../devices/virtual/tty/tty57')
+l('sys/dev/char/189:384', '../../devices/pci0000:00/0000:00:1d.3/usb4')
+l('sys/dev/char/4:50', '../../devices/virtual/tty/tty50')
+l('sys/dev/char/7:6', '../../devices/virtual/vc/vcs6')
+l('sys/dev/char/4:25', '../../devices/virtual/tty/tty25')
+l('sys/dev/char/4:16', '../../devices/virtual/tty/tty16')
+l('sys/dev/char/4:65', '../../devices/platform/serial8250/tty/ttyS1')
+l('sys/dev/char/13:65', '../../devices/platform/i8042/serio1/input/input1/event1')
+l('sys/dev/char/13:69', '../../devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/event5')
+l('sys/dev/char/252:22', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83')
+l('sys/dev/char/1:11', '../../devices/virtual/mem/kmsg')
+l('sys/dev/char/189:385', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1')
+l('sys/dev/char/4:12', '../../devices/virtual/tty/tty12')
+l('sys/dev/char/252:13', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82')
+l('sys/dev/char/1:9', '../../devices/virtual/mem/urandom')
+l('sys/dev/char/4:67', '../../devices/platform/serial8250/tty/ttyS3')
+l('sys/dev/char/13:63', '../../devices/virtual/input/mice')
+l('sys/dev/char/252:24', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00')
+l('sys/dev/char/252:9', '../../devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00')
+l('sys/dev/char/4:53', '../../devices/virtual/tty/tty53')
+l('sys/dev/char/4:30', '../../devices/virtual/tty/tty30')
+l('sys/dev/char/14:4', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/audio')
+l('sys/dev/char/14:0', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/mixer')
+l('sys/dev/char/252:6', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81')
+l('sys/dev/char/4:32', '../../devices/virtual/tty/tty32')
+d('sys/dev/block', 0o755)
+l('sys/dev/block/7:1', '../../devices/virtual/block/loop1')
+l('sys/dev/block/7:0', '../../devices/virtual/block/loop0')
+l('sys/dev/block/8:17', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb1')
+l('sys/dev/block/7:2', '../../devices/virtual/block/loop2')
+l('sys/dev/block/7:4', '../../devices/virtual/block/loop4')
+l('sys/dev/block/8:8', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8')
+l('sys/dev/block/7:3', '../../devices/virtual/block/loop3')
+l('sys/dev/block/11:0', '../../devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0')
+l('sys/dev/block/7:5', '../../devices/virtual/block/loop5')
+l('sys/dev/block/8:5', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5')
+l('sys/dev/block/8:10', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10')
+l('sys/dev/block/8:0', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda')
+l('sys/dev/block/8:9', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9')
+l('sys/dev/block/8:7', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7')
+l('sys/dev/block/8:16', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb')
+l('sys/dev/block/9:0', '../../devices/virtual/block/md0')
+l('sys/dev/block/7:7', '../../devices/virtual/block/loop7')
+l('sys/dev/block/8:6', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6')
+l('sys/dev/block/7:6', '../../devices/virtual/block/loop6')
+l('sys/dev/block/8:1', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1')
+d('sys/module', 0o775)
+d('sys/module/arc4', 0o775)
+f('sys/module/arc4/initstate', 0o664, b'live\n')
+f('sys/module/arc4/srcversion', 0o664, b'0E7B177AF22D87B5B21A577\n')
+f('sys/module/arc4/refcnt', 0o664, b'2\n')
+d('sys/module/arc4/sections', 0o775)
+f('sys/module/arc4/sections/.exit.text', 0o664, b'0xffffffffa006b0dc\n')
+f('sys/module/arc4/sections/.note.gnu.build-id', 0o664, b'0xffffffffa006b0f0\n')
+f('sys/module/arc4/sections/.strtab', 0o664, b'0xffffffffa006b400\n')
+f('sys/module/arc4/sections/.bss', 0o664, b'0xffffffffa006ba00\n')
+f('sys/module/arc4/sections/.text', 0o664, b'0xffffffffa006b000\n')
+f('sys/module/arc4/sections/.init.text', 0o664, b'0xffffffffa009a000\n')
+f('sys/module/arc4/sections/.data', 0o664, b'0xffffffffa006b520\n')
+f('sys/module/arc4/sections/.symtab', 0o664, b'0xffffffffa006b118\n')
+f('sys/module/arc4/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa006b640\n')
+d('sys/module/arc4/notes', 0o775)
+f('sys/module/arc4/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00[P \tR\xc2\xa7\xdd\xf0H\xaa\x06\x1a,\xb3\xa1\xa4\x9a\x13G')
+d('sys/module/vt', 0o775)
+d('sys/module/vt/parameters', 0o775)
+f('sys/module/vt/parameters/default_grn', 0o664, b'0,0,170,85,0,0,170,170,85,85,255,255,85,85,255,255\n')
+f('sys/module/vt/parameters/default_red', 0o664, b'0,170,0,170,0,170,0,170,85,255,85,255,85,255,85,255\n')
+f('sys/module/vt/parameters/italic', 0o664, b'2\n')
+f('sys/module/vt/parameters/underline', 0o664, b'3\n')
+f('sys/module/vt/parameters/default_blu', 0o664, b'0,0,0,0,170,170,170,170,85,85,85,85,255,255,255,255\n')
+f('sys/module/vt/parameters/default_utf8', 0o664, b'1\n')
+d('sys/module/cdrom', 0o775)
+f('sys/module/cdrom/initstate', 0o664, b'live\n')
+f('sys/module/cdrom/srcversion', 0o664, b'D868CCB0789DA27F51280A8\n')
+f('sys/module/cdrom/refcnt', 0o664, b'1\n')
+d('sys/module/cdrom/holders', 0o775)
+l('sys/module/cdrom/holders/sr_mod', '../../sr_mod')
+d('sys/module/cdrom/sections', 0o775)
+f('sys/module/cdrom/sections/__ksymtab_strings', 0o664, b'0xffffffffa002fe20\n')
+f('sys/module/cdrom/sections/.exit.text', 0o664, b'0xffffffffa002e0f8\n')
+f('sys/module/cdrom/sections/.note.gnu.build-id', 0o664, b'0xffffffffa002e120\n')
+f('sys/module/cdrom/sections/.strtab', 0o664, b'0xffffffffa0030f60\n')
+f('sys/module/cdrom/sections/__ksymtab', 0o664, b'0xffffffffa002fc10\n')
+f('sys/module/cdrom/sections/.rodata', 0o664, b'0xffffffffa002e160\n')
+f('sys/module/cdrom/sections/__param', 0o664, b'0xffffffffa002fd30\n')
+f('sys/module/cdrom/sections/.bss', 0o664, b'0xffffffffa0032380\n')
+f('sys/module/cdrom/sections/.text', 0o664, b'0xffffffffa0029000\n')
+f('sys/module/cdrom/sections/.init.text', 0o664, b'0xffffffffa0034000\n')
+f('sys/module/cdrom/sections/__kcrctab', 0o664, b'0xffffffffa002fcd0\n')
+f('sys/module/cdrom/sections/.data', 0o664, b'0xffffffffa0031b80\n')
+f('sys/module/cdrom/sections/.symtab', 0o664, b'0xffffffffa002fef8\n')
+f('sys/module/cdrom/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0031fc0\n')
+f('sys/module/cdrom/sections/.rodata.str1.1', 0o664, b'0xffffffffa002f896\n')
+d('sys/module/cdrom/notes', 0o775)
+f('sys/module/cdrom/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00C\x03\x04\xe9\x8a\x17\x19\x8b\xc7Y\xea\x1a\xa35\x85K\x9e\x1e\xf8=')
+d('sys/module/rfkill', 0o775)
+f('sys/module/rfkill/version', 0o664, b'1.0\n')
+f('sys/module/rfkill/initstate', 0o664, b'live\n')
+f('sys/module/rfkill/srcversion', 0o664, b'6B4E68548C57FD365EB4E71\n')
+f('sys/module/rfkill/refcnt', 0o664, b'2\n')
+d('sys/module/rfkill/holders', 0o775)
+l('sys/module/rfkill/holders/thinkpad_acpi', '../../thinkpad_acpi')
+d('sys/module/rfkill/parameters', 0o775)
+f('sys/module/rfkill/parameters/default_state', 0o664, b'1\n')
+d('sys/module/rfkill/sections', 0o775)
+f('sys/module/rfkill/sections/__ksymtab_gpl', 0o664, b'0xffffffffa01d9f70\n')
+f('sys/module/rfkill/sections/.smp_locks', 0o664, b'0xffffffffa01d9e80\n')
+f('sys/module/rfkill/sections/__bug_table', 0o664, b'0xffffffffa01d9e36\n')
+f('sys/module/rfkill/sections/__ksymtab_strings', 0o664, b'0xffffffffa01d9fe0\n')
+f('sys/module/rfkill/sections/.exit.text', 0o664, b'0xffffffffa01d9c88\n')
+f('sys/module/rfkill/sections/.note.gnu.build-id', 0o664, b'0xffffffffa01d9cb0\n')
+f('sys/module/rfkill/sections/.strtab', 0o664, b'0xffffffffa01dae08\n')
+f('sys/module/rfkill/sections/__ksymtab', 0o664, b'0xffffffffa01d9ee0\n')
+f('sys/module/rfkill/sections/.rodata', 0o664, b'0xffffffffa01d9cd8\n')
+f('sys/module/rfkill/sections/__param', 0o664, b'0xffffffffa01d9fb8\n')
+f('sys/module/rfkill/sections/.bss', 0o664, b'0xffffffffa01dbe00\n')
+f('sys/module/rfkill/sections/.text', 0o664, b'0xffffffffa01d9000\n')
+f('sys/module/rfkill/sections/.init.text', 0o664, b'0xffffffffa009a000\n')
+f('sys/module/rfkill/sections/__kcrctab', 0o664, b'0xffffffffa01d9f40\n')
+f('sys/module/rfkill/sections/.data', 0o664, b'0xffffffffa01db780\n')
+f('sys/module/rfkill/sections/.symtab', 0o664, b'0xffffffffa01da088\n')
+f('sys/module/rfkill/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa01dba40\n')
+f('sys/module/rfkill/sections/.rodata.str1.1', 0o664, b'0xffffffffa01d9d36\n')
+f('sys/module/rfkill/sections/__kcrctab_gpl', 0o664, b'0xffffffffa01d9fa0\n')
+d('sys/module/rfkill/notes', 0o775)
+f('sys/module/rfkill/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xd1\x1fs\x98\x9b\x97\xc4\xec\x9dd\xac:\x94m\x1e\xc0Y\xcfd"')
+d('sys/module/uinput', 0o775)
+f('sys/module/uinput/version', 0o664, b'0.3\n')
+f('sys/module/uinput/initstate', 0o664, b'live\n')
+f('sys/module/uinput/srcversion', 0o664, b'2C3E0DB9E2496AD70174B85\n')
+f('sys/module/uinput/refcnt', 0o664, b'0\n')
+d('sys/module/uinput/sections', 0o775)
+f('sys/module/uinput/sections/.smp_locks', 0o664, b'0xffffffffa0206448\n')
+f('sys/module/uinput/sections/.exit.text', 0o664, b'0xffffffffa0206278\n')
+f('sys/module/uinput/sections/.note.gnu.build-id', 0o664, b'0xffffffffa020628c\n')
+f('sys/module/uinput/sections/.strtab', 0o664, b'0xffffffffa0206c88\n')
+f('sys/module/uinput/sections/.rodata', 0o664, b'0xffffffffa02062c0\n')
+f('sys/module/uinput/sections/.bss', 0o664, b'0xffffffffa02074c0\n')
+f('sys/module/uinput/sections/.text', 0o664, b'0xffffffffa0205000\n')
+f('sys/module/uinput/sections/.init.text', 0o664, b'0xffffffffa0070000\n')
+f('sys/module/uinput/sections/.data', 0o664, b'0xffffffffa02070c0\n')
+f('sys/module/uinput/sections/.symtab', 0o664, b'0xffffffffa0206490\n')
+f('sys/module/uinput/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0207100\n')
+f('sys/module/uinput/sections/.rodata.str1.1', 0o664, b'0xffffffffa0206398\n')
+d('sys/module/uinput/notes', 0o775)
+f('sys/module/uinput/notes/.note.gnu.build-id', 0o664, b"\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00'\n{\xdf\xe9m\x80\xea\xa8k\x8f=\x90\x8c\xe1\xf7{\x06\x15S")
+d('sys/module/fuse', 0o775)
+f('sys/module/fuse/initstate', 0o664, b'live\n')
+f('sys/module/fuse/srcversion', 0o664, b'A6C92EE44A51B1B0DC4377D\n')
+f('sys/module/fuse/refcnt', 0o664, b'3\n')
+d('sys/module/fuse/sections', 0o775)
+f('sys/module/fuse/sections/.smp_locks', 0o664, b'0xffffffffa0249d78\n')
+f('sys/module/fuse/sections/__bug_table', 0o664, b'0xffffffffa024a032\n')
+f('sys/module/fuse/sections/.exit.text', 0o664, b'0xffffffffa02493d0\n')
+f('sys/module/fuse/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0249414\n')
+f('sys/module/fuse/sections/.strtab', 0o664, b'0xffffffffa024c4e8\n')
+f('sys/module/fuse/sections/.rodata', 0o664, b'0xffffffffa0249440\n')
+f('sys/module/fuse/sections/.bss', 0o664, b'0xffffffffa024e300\n')
+f('sys/module/fuse/sections/.text', 0o664, b'0xffffffffa0240000\n')
+f('sys/module/fuse/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/fuse/sections/.data', 0o664, b'0xffffffffa024dba0\n')
+f('sys/module/fuse/sections/.symtab', 0o664, b'0xffffffffa024a208\n')
+f('sys/module/fuse/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa024df40\n')
+f('sys/module/fuse/sections/.rodata.str1.1', 0o664, b'0xffffffffa0249e50\n')
+d('sys/module/fuse/notes', 0o775)
+f('sys/module/fuse/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\x7fh\xfe:\x1f\xc6\xddW\x96\x80\x16\x9fK\x7f\xba,\x8a\xc6\xf6E')
+d('sys/module/hid', 0o775)
+d('sys/module/hid/parameters', 0o775)
+f('sys/module/hid/parameters/pb_fnmode', 0o664, b'1\n')
+d('sys/module/uhci_hcd', 0o775)
+f('sys/module/uhci_hcd/initstate', 0o664, b'live\n')
+f('sys/module/uhci_hcd/srcversion', 0o664, b'E3F4B6BEC99D6670259FCC9\n')
+f('sys/module/uhci_hcd/refcnt', 0o664, b'0\n')
+d('sys/module/uhci_hcd/drivers', 0o775)
+l('sys/module/uhci_hcd/drivers/pci:uhci_hcd', '../../../bus/pci/drivers/uhci_hcd')
+d('sys/module/uhci_hcd/parameters', 0o775)
+f('sys/module/uhci_hcd/parameters/ignore_oc', 0o664, b'N\n')
+d('sys/module/uhci_hcd/sections', 0o775)
+f('sys/module/uhci_hcd/sections/.smp_locks', 0o664, b'0xffffffffa00c6850\n')
+f('sys/module/uhci_hcd/sections/.exit.text', 0o664, b'0xffffffffa00c621c\n')
+f('sys/module/uhci_hcd/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00c6254\n')
+f('sys/module/uhci_hcd/sections/.strtab', 0o664, b'0xffffffffa00c7690\n')
+f('sys/module/uhci_hcd/sections/.rodata', 0o664, b'0xffffffffa00c6280\n')
+f('sys/module/uhci_hcd/sections/__param', 0o664, b'0xffffffffa00c6888\n')
+f('sys/module/uhci_hcd/sections/.bss', 0o664, b'0xffffffffa00c8400\n')
+f('sys/module/uhci_hcd/sections/.text', 0o664, b'0xffffffffa00c2000\n')
+f('sys/module/uhci_hcd/sections/.init.text', 0o664, b'0xffffffffa0027000\n')
+f('sys/module/uhci_hcd/sections/.data', 0o664, b'0xffffffffa00c7ee0\n')
+f('sys/module/uhci_hcd/sections/.symtab', 0o664, b'0xffffffffa00c68b0\n')
+f('sys/module/uhci_hcd/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa00c8040\n')
+f('sys/module/uhci_hcd/sections/.rodata.str1.1', 0o664, b'0xffffffffa00c67d2\n')
+d('sys/module/uhci_hcd/notes', 0o775)
+f('sys/module/uhci_hcd/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00t\xd0\xa5\xd2A\xa2\x874\x12\xb5\xf6\x9c\xff\xb9\xee`\x8d\x9f[\x04')
+d('sys/module/crypto_blkcipher', 0o775)
+f('sys/module/crypto_blkcipher/initstate', 0o664, b'live\n')
+f('sys/module/crypto_blkcipher/srcversion', 0o664, b'723F00BD2391209F4D65272\n')
+f('sys/module/crypto_blkcipher/refcnt', 0o664, b'1\n')
+d('sys/module/crypto_blkcipher/holders', 0o775)
+l('sys/module/crypto_blkcipher/holders/ecb', '../../ecb')
+d('sys/module/crypto_blkcipher/sections', 0o775)
+f('sys/module/crypto_blkcipher/sections/__ksymtab_gpl', 0o664, b'0xffffffffa01f1610\n')
+f('sys/module/crypto_blkcipher/sections/.smp_locks', 0o664, b'0xffffffffa01f18c0\n')
+f('sys/module/crypto_blkcipher/sections/__bug_table', 0o664, b'0xffffffffa01f185f\n')
+f('sys/module/crypto_blkcipher/sections/__ksymtab_strings', 0o664, b'0xffffffffa01f1748\n')
+f('sys/module/crypto_blkcipher/sections/.exit.text', 0o664, b'0xffffffffa01f138c\n')
+f('sys/module/crypto_blkcipher/sections/.note.gnu.build-id', 0o664, b'0xffffffffa01f13b0\n')
+f('sys/module/crypto_blkcipher/sections/.strtab', 0o664, b'0xffffffffa01f2b10\n')
+f('sys/module/crypto_blkcipher/sections/.rodata', 0o664, b'0xffffffffa01f13e0\n')
+f('sys/module/crypto_blkcipher/sections/.bss', 0o664, b'0xffffffffa01f3ec0\n')
+f('sys/module/crypto_blkcipher/sections/.text', 0o664, b'0xffffffffa01ef000\n')
+f('sys/module/crypto_blkcipher/sections/.init.text', 0o664, b'0xffffffffa0027000\n')
+f('sys/module/crypto_blkcipher/sections/.data', 0o664, b'0xffffffffa01f39e0\n')
+f('sys/module/crypto_blkcipher/sections/.symtab', 0o664, b'0xffffffffa01f18f8\n')
+f('sys/module/crypto_blkcipher/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa01f3b00\n')
+f('sys/module/crypto_blkcipher/sections/.rodata.str1.1', 0o664, b'0xffffffffa01f1440\n')
+f('sys/module/crypto_blkcipher/sections/__kcrctab_gpl', 0o664, b'0xffffffffa01f16e0\n')
+d('sys/module/crypto_blkcipher/notes', 0o775)
+f('sys/module/crypto_blkcipher/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00-_P~\xd2\x1eM\xee\xb0!\xc0\xd8\xb7\x00\x1b\xe4#-\xc8\xe0')
+d('sys/module/soundcore', 0o775)
+f('sys/module/soundcore/initstate', 0o664, b'live\n')
+f('sys/module/soundcore/srcversion', 0o664, b'E4F49ED9C4CFD1A5A923330\n')
+f('sys/module/soundcore/refcnt', 0o664, b'1\n')
+d('sys/module/soundcore/holders', 0o775)
+l('sys/module/soundcore/holders/snd', '../../snd')
+d('sys/module/soundcore/sections', 0o775)
+f('sys/module/soundcore/sections/__ksymtab_strings', 0o664, b'0xffffffffa0067bf0\n')
+f('sys/module/soundcore/sections/.exit.text', 0o664, b'0xffffffffa0067850\n')
+f('sys/module/soundcore/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0067874\n')
+f('sys/module/soundcore/sections/.strtab', 0o664, b'0xffffffffa00686d0\n')
+f('sys/module/soundcore/sections/__ksymtab', 0o664, b'0xffffffffa0067b00\n')
+f('sys/module/soundcore/sections/.rodata', 0o664, b'0xffffffffa00678a0\n')
+f('sys/module/soundcore/sections/.bss', 0o664, b'0xffffffffa00692c0\n')
+f('sys/module/soundcore/sections/.text', 0o664, b'0xffffffffa0067000\n')
+f('sys/module/soundcore/sections/.init.text', 0o664, b'0xffffffffa006b000\n')
+f('sys/module/soundcore/sections/__kcrctab', 0o664, b'0xffffffffa0067ba0\n')
+f('sys/module/soundcore/sections/.data', 0o664, b'0xffffffffa0068ec0\n')
+f('sys/module/soundcore/sections/.symtab', 0o664, b'0xffffffffa0067cc8\n')
+f('sys/module/soundcore/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0068f00\n')
+f('sys/module/soundcore/sections/.rodata.str1.1', 0o664, b'0xffffffffa00679f8\n')
+d('sys/module/soundcore/notes', 0o775)
+f('sys/module/soundcore/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00^\x97fIs2\xf4Ck\xe0$]\xd8)]\xe2\x9c\xea\x1d\x0c')
+d('sys/module/pcspkr', 0o775)
+f('sys/module/pcspkr/initstate', 0o664, b'live\n')
+f('sys/module/pcspkr/srcversion', 0o664, b'5757E9C81E627525BA9D165\n')
+f('sys/module/pcspkr/refcnt', 0o664, b'0\n')
+d('sys/module/pcspkr/drivers', 0o775)
+l('sys/module/pcspkr/drivers/platform:pcspkr', '../../../bus/platform/drivers/pcspkr')
+d('sys/module/pcspkr/sections', 0o775)
+f('sys/module/pcspkr/sections/.exit.text', 0o664, b'0xffffffffa009e15c\n')
+f('sys/module/pcspkr/sections/.note.gnu.build-id', 0o664, b'0xffffffffa009e250\n')
+f('sys/module/pcspkr/sections/.strtab', 0o664, b'0xffffffffa009e6e8\n')
+f('sys/module/pcspkr/sections/.devexit.text', 0o664, b'0xffffffffa009e16e\n')
+f('sys/module/pcspkr/sections/.bss', 0o664, b'0xffffffffa009ed80\n')
+f('sys/module/pcspkr/sections/.text', 0o664, b'0xffffffffa009e000\n')
+f('sys/module/pcspkr/sections/.init.text', 0o664, b'0xffffffffa00a0000\n')
+f('sys/module/pcspkr/sections/.data', 0o664, b'0xffffffffa009e900\n')
+f('sys/module/pcspkr/sections/.devinit.text', 0o664, b'0xffffffffa009e1ad\n')
+f('sys/module/pcspkr/sections/.symtab', 0o664, b'0xffffffffa009e298\n')
+f('sys/module/pcspkr/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa009e9c0\n')
+f('sys/module/pcspkr/sections/.rodata.str1.1', 0o664, b'0xffffffffa009e274\n')
+d('sys/module/pcspkr/notes', 0o775)
+f('sys/module/pcspkr/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xe3\xfd\xb1\xf7b\xd2\x8f\xc1\xd2C\xfc\xfe\xdf8\x80\x82\x85A\xc9!')
+d('sys/module/sr_mod', 0o775)
+f('sys/module/sr_mod/initstate', 0o664, b'live\n')
+f('sys/module/sr_mod/srcversion', 0o664, b'3484F077F1A71803F453437\n')
+f('sys/module/sr_mod/refcnt', 0o664, b'0\n')
+d('sys/module/sr_mod/parameters', 0o775)
+f('sys/module/sr_mod/parameters/xa_test', 0o664, b'0\n')
+d('sys/module/sr_mod/sections', 0o775)
+f('sys/module/sr_mod/sections/.smp_locks', 0o664, b'0xffffffffa0061488\n')
+f('sys/module/sr_mod/sections/.exit.text', 0o664, b'0xffffffffa006126c\n')
+f('sys/module/sr_mod/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0061290\n')
+f('sys/module/sr_mod/sections/.strtab', 0o664, b'0xffffffffa00623f0\n')
+f('sys/module/sr_mod/sections/.rodata', 0o664, b'0xffffffffa00612c0\n')
+f('sys/module/sr_mod/sections/__param', 0o664, b'0xffffffffa0061750\n')
+f('sys/module/sr_mod/sections/.bss', 0o664, b'0xffffffffa00630c0\n')
+f('sys/module/sr_mod/sections/.text', 0o664, b'0xffffffffa005f000\n')
+f('sys/module/sr_mod/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/sr_mod/sections/.data', 0o664, b'0xffffffffa0062aa0\n')
+f('sys/module/sr_mod/sections/.symtab', 0o664, b'0xffffffffa0061778\n')
+f('sys/module/sr_mod/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0062d00\n')
+f('sys/module/sr_mod/sections/.rodata.str1.1', 0o664, b'0xffffffffa0061308\n')
+d('sys/module/sr_mod/notes', 0o775)
+f('sys/module/sr_mod/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xae\xa7\xdcHo\xe7\xe1\xa0#\x94\x9a\xfeV8\xa6O$@\xc1(')
+d('sys/module/cfg80211', 0o775)
+f('sys/module/cfg80211/initstate', 0o664, b'live\n')
+f('sys/module/cfg80211/srcversion', 0o664, b'C43F275505B181F0D1625BE\n')
+f('sys/module/cfg80211/refcnt', 0o664, b'2\n')
+d('sys/module/cfg80211/holders', 0o775)
+l('sys/module/cfg80211/holders/mac80211', '../../mac80211')
+l('sys/module/cfg80211/holders/iwl3945', '../../iwl3945')
+d('sys/module/cfg80211/parameters', 0o775)
+f('sys/module/cfg80211/parameters/ieee80211_regdom', 0o664, b'US\n')
+d('sys/module/cfg80211/sections', 0o775)
+f('sys/module/cfg80211/sections/.smp_locks', 0o664, b'0xffffffffa00bd2a0\n')
+f('sys/module/cfg80211/sections/__bug_table', 0o664, b'0xffffffffa00bd166\n')
+f('sys/module/cfg80211/sections/__ksymtab_strings', 0o664, b'0xffffffffa00bd448\n')
+f('sys/module/cfg80211/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00bce58\n')
+f('sys/module/cfg80211/sections/.strtab', 0o664, b'0xffffffffa00be8c0\n')
+f('sys/module/cfg80211/sections/__ksymtab', 0o664, b'0xffffffffa00bd370\n')
+f('sys/module/cfg80211/sections/.rodata', 0o664, b'0xffffffffa00bce80\n')
+f('sys/module/cfg80211/sections/.data.read_mostly', 0o664, b'0xffffffffa00bfe60\n')
+f('sys/module/cfg80211/sections/__param', 0o664, b'0xffffffffa00bd518\n')
+f('sys/module/cfg80211/sections/.bss', 0o664, b'0xffffffffa00c02c0\n')
+f('sys/module/cfg80211/sections/.text', 0o664, b'0xffffffffa00b9000\n')
+f('sys/module/cfg80211/sections/__kcrctab', 0o664, b'0xffffffffa00bd400\n')
+f('sys/module/cfg80211/sections/.data', 0o664, b'0xffffffffa00bf760\n')
+f('sys/module/cfg80211/sections/.symtab', 0o664, b'0xffffffffa00bd540\n')
+f('sys/module/cfg80211/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa00bff00\n')
+f('sys/module/cfg80211/sections/.rodata.str1.1', 0o664, b'0xffffffffa00bd078\n')
+d('sys/module/cfg80211/notes', 0o775)
+f('sys/module/cfg80211/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00}-\xdb\xa6\xb1\xf6I\x90\xaf\xbdX\xed\x8d\xac\x86o(\xc8zC')
+d('sys/module/snd_seq', 0o775)
+f('sys/module/snd_seq/initstate', 0o664, b'live\n')
+f('sys/module/snd_seq/srcversion', 0o664, b'94E19F6DBC8F63B241414FE\n')
+f('sys/module/snd_seq/refcnt', 0o664, b'0\n')
+d('sys/module/snd_seq/parameters', 0o775)
+f('sys/module/snd_seq/parameters/seq_default_timer_device', 0o664, b'0\n')
+f('sys/module/snd_seq/parameters/seq_default_timer_class', 0o664, b'1\n')
+f('sys/module/snd_seq/parameters/seq_client_load', 0o664, b'-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1\n')
+f('sys/module/snd_seq/parameters/seq_default_timer_sclass', 0o664, b'0\n')
+f('sys/module/snd_seq/parameters/seq_default_timer_resolution', 0o664, b'0\n')
+f('sys/module/snd_seq/parameters/seq_default_timer_subdevice', 0o664, b'0\n')
+f('sys/module/snd_seq/parameters/seq_default_timer_card', 0o664, b'-1\n')
+d('sys/module/snd_seq/sections', 0o775)
+f('sys/module/snd_seq/sections/.smp_locks', 0o664, b'0xffffffffa02b1d30\n')
+f('sys/module/snd_seq/sections/__ksymtab_strings', 0o664, b'0xffffffffa02b1748\n')
+f('sys/module/snd_seq/sections/.exit.text', 0o664, b'0xffffffffa02b0ff0\n')
+f('sys/module/snd_seq/sections/.note.gnu.build-id', 0o664, b'0xffffffffa02b10bc\n')
+f('sys/module/snd_seq/sections/.strtab', 0o664, b'0xffffffffa02b4590\n')
+f('sys/module/snd_seq/sections/__ksymtab', 0o664, b'0xffffffffa02b1610\n')
+f('sys/module/snd_seq/sections/.rodata', 0o664, b'0xffffffffa02b10e0\n')
+f('sys/module/snd_seq/sections/__param', 0o664, b'0xffffffffa02b1320\n')
+f('sys/module/snd_seq/sections/.bss', 0o664, b'0xffffffffa02b6f80\n')
+f('sys/module/snd_seq/sections/.text', 0o664, b'0xffffffffa02a9000\n')
+f('sys/module/snd_seq/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/snd_seq/sections/__kcrctab', 0o664, b'0xffffffffa02b16e0\n')
+f('sys/module/snd_seq/sections/.data', 0o664, b'0xffffffffa02b6860\n')
+f('sys/module/snd_seq/sections/.symtab', 0o664, b'0xffffffffa02b1fc8\n')
+f('sys/module/snd_seq/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa02b6bc0\n')
+f('sys/module/snd_seq/sections/.rodata.str1.1', 0o664, b'0xffffffffa02b18b6\n')
+d('sys/module/snd_seq/notes', 0o775)
+f('sys/module/snd_seq/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00O@T\xdaF\x1cl\x11\xfev\xdd\xaa \xea\x87\x92P\xfe\xb1\xf8')
+d('sys/module/usb_storage', 0o775)
+f('sys/module/usb_storage/initstate', 0o664, b'live\n')
+f('sys/module/usb_storage/srcversion', 0o664, b'D07F7C47643AB7AFB6BEF6F\n')
+f('sys/module/usb_storage/refcnt', 0o664, b'1\n')
+d('sys/module/usb_storage/drivers', 0o775)
+l('sys/module/usb_storage/drivers/usb:usb-storage', '../../../bus/usb/drivers/usb-storage')
+d('sys/module/usb_storage/parameters', 0o775)
+f('sys/module/usb_storage/parameters/swi_tru_install', 0o664, b'1\n')
+f('sys/module/usb_storage/parameters/delay_use', 0o664, b'5\n')
+d('sys/module/usb_storage/sections', 0o775)
+f('sys/module/usb_storage/sections/.smp_locks', 0o664, b'0xffffffffa02e1820\n')
+f('sys/module/usb_storage/sections/.exit.text', 0o664, b'0xffffffffa02e056c\n')
+f('sys/module/usb_storage/sections/.note.gnu.build-id', 0o664, b'0xffffffffa02e0580\n')
+f('sys/module/usb_storage/sections/.strtab', 0o664, b'0xffffffffa02e42d0\n')
+f('sys/module/usb_storage/sections/.rodata', 0o664, b'0xffffffffa02e05b0\n')
+f('sys/module/usb_storage/sections/__param', 0o664, b'0xffffffffa02e18b0\n')
+f('sys/module/usb_storage/sections/.bss', 0o664, b'0xffffffffa02e9400\n')
+f('sys/module/usb_storage/sections/.text', 0o664, b'0xffffffffa02dd000\n')
+f('sys/module/usb_storage/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/usb_storage/sections/.data', 0o664, b'0xffffffffa02e5dc0\n')
+f('sys/module/usb_storage/sections/.symtab', 0o664, b'0xffffffffa02e1900\n')
+f('sys/module/usb_storage/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa02e9040\n')
+f('sys/module/usb_storage/sections/.rodata.str1.1', 0o664, b'0xffffffffa02e0ab1\n')
+d('sys/module/usb_storage/notes', 0o775)
+f('sys/module/usb_storage/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00B~(&&u\xc4Ax\xd8|\x80n\xc4G(i\xf3kG')
+d('sys/module/acpi_cpufreq', 0o775)
+f('sys/module/acpi_cpufreq/initstate', 0o664, b'live\n')
+f('sys/module/acpi_cpufreq/srcversion', 0o664, b'09166B6001DCE2189668F16\n')
+f('sys/module/acpi_cpufreq/refcnt', 0o664, b'1\n')
+d('sys/module/acpi_cpufreq/parameters', 0o775)
+f('sys/module/acpi_cpufreq/parameters/acpi_pstate_strict', 0o664, b'0\n')
+d('sys/module/acpi_cpufreq/sections', 0o775)
+f('sys/module/acpi_cpufreq/sections/.smp_locks', 0o664, b'0xffffffffa0254d68\n')
+f('sys/module/acpi_cpufreq/sections/.exit.text', 0o664, b'0xffffffffa0254c4c\n')
+f('sys/module/acpi_cpufreq/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0254c6c\n')
+f('sys/module/acpi_cpufreq/sections/.strtab', 0o664, b'0xffffffffa0255620\n')
+f('sys/module/acpi_cpufreq/sections/.rodata', 0o664, b'0xffffffffa0254ca0\n')
+f('sys/module/acpi_cpufreq/sections/__param', 0o664, b'0xffffffffa0254d70\n')
+f('sys/module/acpi_cpufreq/sections/.bss', 0o664, b'0xffffffffa0256000\n')
+f('sys/module/acpi_cpufreq/sections/.text', 0o664, b'0xffffffffa0254000\n')
+f('sys/module/acpi_cpufreq/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/acpi_cpufreq/sections/.data', 0o664, b'0xffffffffa0255bc0\n')
+f('sys/module/acpi_cpufreq/sections/.symtab', 0o664, b'0xffffffffa0254dc8\n')
+f('sys/module/acpi_cpufreq/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0255c40\n')
+f('sys/module/acpi_cpufreq/sections/.rodata.str1.1', 0o664, b'0xffffffffa0254d98\n')
+d('sys/module/acpi_cpufreq/notes', 0o775)
+f('sys/module/acpi_cpufreq/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xa4\xfd\x13\xe7*\xbd\x99\x95\x99C\xf6\x95\x04\xf1r\xf9\xf7}aL')
+d('sys/module/button', 0o775)
+f('sys/module/button/initstate', 0o664, b'live\n')
+f('sys/module/button/srcversion', 0o664, b'2713981C971D8EC4C059338\n')
+f('sys/module/button/refcnt', 0o664, b'0\n')
+d('sys/module/button/sections', 0o775)
+f('sys/module/button/sections/.smp_locks', 0o664, b'0xffffffffa00a7c98\n')
+f('sys/module/button/sections/.exit.text', 0o664, b'0xffffffffa00a781c\n')
+f('sys/module/button/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00a7898\n')
+f('sys/module/button/sections/.strtab', 0o664, b'0xffffffffa00a84d8\n')
+f('sys/module/button/sections/.rodata', 0o664, b'0xffffffffa00a78c0\n')
+f('sys/module/button/sections/.bss', 0o664, b'0xffffffffa00a8f40\n')
+f('sys/module/button/sections/.text', 0o664, b'0xffffffffa00a7000\n')
+f('sys/module/button/sections/.init.text', 0o664, b'0xffffffffa00aa000\n')
+f('sys/module/button/sections/.data', 0o664, b'0xffffffffa00a89e0\n')
+f('sys/module/button/sections/.symtab', 0o664, b'0xffffffffa00a7cb0\n')
+f('sys/module/button/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa00a8b80\n')
+f('sys/module/button/sections/.rodata.str1.1', 0o664, b'0xffffffffa00a7b60\n')
+d('sys/module/button/notes', 0o775)
+f('sys/module/button/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00;\xc1\xa4qIi\xa7\xa0g\x7fb\xcb\xb4\xba\x80\xb1\x17Z#\xb5')
+d('sys/module/processor', 0o775)
+f('sys/module/processor/initstate', 0o664, b'live\n')
+f('sys/module/processor/srcversion', 0o664, b'8A1C302AFF80867DBAC4684\n')
+f('sys/module/processor/refcnt', 0o664, b'4\n')
+d('sys/module/processor/holders', 0o775)
+l('sys/module/processor/holders/acpi_cpufreq', '../../acpi_cpufreq')
+l('sys/module/processor/holders/thermal', '../../thermal')
+d('sys/module/processor/parameters', 0o775)
+f('sys/module/processor/parameters/ignore_ppc', 0o664, b'0\n')
+f('sys/module/processor/parameters/latency_factor', 0o664, b'2\n')
+d('sys/module/processor/sections', 0o775)
+f('sys/module/processor/sections/.smp_locks', 0o664, b'0xffffffffa0077788\n')
+f('sys/module/processor/sections/__ex_table', 0o664, b'0xffffffffa0077768\n')
+f('sys/module/processor/sections/__bug_table', 0o664, b'0xffffffffa0077621\n')
+f('sys/module/processor/sections/__ksymtab_strings', 0o664, b'0xffffffffa00776b8\n')
+f('sys/module/processor/sections/.exit.text', 0o664, b'0xffffffffa00763a9\n')
+f('sys/module/processor/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00765c4\n')
+f('sys/module/processor/sections/.strtab', 0o664, b'0xffffffffa0079438\n')
+f('sys/module/processor/sections/.fixup', 0o664, b'0xffffffffa00765ad\n')
+f('sys/module/processor/sections/__ksymtab', 0o664, b'0xffffffffa0077640\n')
+f('sys/module/processor/sections/.rodata', 0o664, b'0xffffffffa00765f0\n')
+f('sys/module/processor/sections/.data.read_mostly', 0o664, b'0xffffffffa007b7d8\n')
+f('sys/module/processor/sections/__param', 0o664, b'0xffffffffa00777f0\n')
+f('sys/module/processor/sections/.bss', 0o664, b'0xffffffffa007bbc0\n')
+f('sys/module/processor/sections/.text', 0o664, b'0xffffffffa0072000\n')
+f('sys/module/processor/sections/.init.text', 0o664, b'0xffffffffa007d000\n')
+f('sys/module/processor/sections/__kcrctab', 0o664, b'0xffffffffa0077690\n')
+f('sys/module/processor/sections/.data', 0o664, b'0xffffffffa007ab90\n')
+f('sys/module/processor/sections/.cpuinit.data', 0o664, b'0xffffffffa007b040\n')
+f('sys/module/processor/sections/.symtab', 0o664, b'0xffffffffa0077890\n')
+f('sys/module/processor/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa007b800\n')
+f('sys/module/processor/sections/.rodata.str1.1', 0o664, b'0xffffffffa0076863\n')
+f('sys/module/processor/sections/.cpuinit.text', 0o664, b'0xffffffffa0075abc\n')
+f('sys/module/processor/sections/.ref.text', 0o664, b'0xffffffffa007641a\n')
+d('sys/module/processor/notes', 0o775)
+f('sys/module/processor/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xa1\x01$C\tS,+Ue\\\x8cg\xb0Z\xe9\xa1\xaf[\xe5')
+d('sys/module/oprofile', 0o775)
+d('sys/module/oprofile/parameters', 0o775)
+f('sys/module/oprofile/parameters/timer', 0o664, b'0\n')
+d('sys/module/spurious', 0o775)
+d('sys/module/spurious/parameters', 0o775)
+f('sys/module/spurious/parameters/noirqdebug', 0o664, b'N\n')
+f('sys/module/spurious/parameters/irqfixup', 0o664, b'0\n')
+d('sys/module/raid1', 0o775)
+f('sys/module/raid1/initstate', 0o664, b'live\n')
+f('sys/module/raid1/srcversion', 0o664, b'EA08FDD37C2EEFA95DE4413\n')
+f('sys/module/raid1/refcnt', 0o664, b'1\n')
+d('sys/module/raid1/sections', 0o775)
+f('sys/module/raid1/sections/.smp_locks', 0o664, b'0xffffffffa0236438\n')
+f('sys/module/raid1/sections/__bug_table', 0o664, b'0xffffffffa02369c0\n')
+f('sys/module/raid1/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0236414\n')
+f('sys/module/raid1/sections/.strtab', 0o664, b'0xffffffffa02376f8\n')
+f('sys/module/raid1/sections/.bss', 0o664, b'0xffffffffa0238280\n')
+f('sys/module/raid1/sections/.text', 0o664, b'0xffffffffa0232000\n')
+f('sys/module/raid1/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/raid1/sections/.data', 0o664, b'0xffffffffa0237e20\n')
+f('sys/module/raid1/sections/.symtab', 0o664, b'0xffffffffa0236a08\n')
+f('sys/module/raid1/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0237ec0\n')
+f('sys/module/raid1/sections/.rodata.str1.1', 0o664, b'0xffffffffa0236618\n')
+d('sys/module/raid1/notes', 0o775)
+f('sys/module/raid1/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xcd\xdf0\xe8v}\x0cuP}\x93\xe1\x19\xcd\xed~\xf7\x14\xdd@')
+d('sys/module/edd', 0o775)
+f('sys/module/edd/version', 0o664, b'0.16\n')
+f('sys/module/edd/initstate', 0o664, b'live\n')
+f('sys/module/edd/srcversion', 0o664, b'ED68C1ACC4B2D1B19C7BEA7\n')
+f('sys/module/edd/refcnt', 0o664, b'0\n')
+d('sys/module/edd/sections', 0o775)
+f('sys/module/edd/sections/.exit.text', 0o664, b'0xffffffffa02a1de8\n')
+f('sys/module/edd/sections/.note.gnu.build-id', 0o664, b'0xffffffffa02a1e6c\n')
+f('sys/module/edd/sections/.strtab', 0o664, b'0xffffffffa02a2b88\n')
+f('sys/module/edd/sections/.rodata', 0o664, b'0xffffffffa02a1ea0\n')
+f('sys/module/edd/sections/.bss', 0o664, b'0xffffffffa02a3880\n')
+f('sys/module/edd/sections/.text', 0o664, b'0xffffffffa02a1000\n')
+f('sys/module/edd/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/edd/sections/.data', 0o664, b'0xffffffffa02a3120\n')
+f('sys/module/edd/sections/.symtab', 0o664, b'0xffffffffa02a22b8\n')
+f('sys/module/edd/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa02a34c0\n')
+f('sys/module/edd/sections/.rodata.str1.1', 0o664, b'0xffffffffa02a1f18\n')
+d('sys/module/edd/notes', 0o775)
+f('sys/module/edd/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xbe\x92\xcfW\xc8l\x08\xaf\xb6\x1a\xb7!E\xb8\xd1\x9eU\xd2\xddM')
+d('sys/module/hwmon', 0o775)
+f('sys/module/hwmon/initstate', 0o664, b'live\n')
+f('sys/module/hwmon/srcversion', 0o664, b'9344A0FAA4A298DC9AEBDC8\n')
+f('sys/module/hwmon/refcnt', 0o664, b'1\n')
+d('sys/module/hwmon/holders', 0o775)
+l('sys/module/hwmon/holders/thinkpad_acpi', '../../thinkpad_acpi')
+d('sys/module/hwmon/sections', 0o775)
+f('sys/module/hwmon/sections/__ksymtab_gpl', 0o664, b'0xffffffffa007d1d0\n')
+f('sys/module/hwmon/sections/__ksymtab_strings', 0o664, b'0xffffffffa007d200\n')
+f('sys/module/hwmon/sections/.exit.text', 0o664, b'0xffffffffa007d138\n')
+f('sys/module/hwmon/sections/.note.gnu.build-id', 0o664, b'0xffffffffa007d14c\n')
+f('sys/module/hwmon/sections/.strtab', 0o664, b'0xffffffffa007d770\n')
+f('sys/module/hwmon/sections/.bss', 0o664, b'0xffffffffa007de80\n')
+f('sys/module/hwmon/sections/.text', 0o664, b'0xffffffffa007d000\n')
+f('sys/module/hwmon/sections/.init.text', 0o664, b'0xffffffffa009a000\n')
+f('sys/module/hwmon/sections/.data', 0o664, b'0xffffffffa007da20\n')
+f('sys/module/hwmon/sections/.symtab', 0o664, b'0xffffffffa007d230\n')
+f('sys/module/hwmon/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa007dac0\n')
+f('sys/module/hwmon/sections/.rodata.str1.1', 0o664, b'0xffffffffa007d170\n')
+f('sys/module/hwmon/sections/__kcrctab_gpl', 0o664, b'0xffffffffa007d1f0\n')
+d('sys/module/hwmon/notes', 0o775)
+f('sys/module/hwmon/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\x0fR\x0b\x94!\x19\xde\x14\x93\xac\x9e@\xa2&\xcam,\xba\x12\xd1')
+d('sys/module/backlight', 0o775)
+f('sys/module/backlight/initstate', 0o664, b'live\n')
+f('sys/module/backlight/srcversion', 0o664, b'AFD1565C65F3DA6D942CB52\n')
+f('sys/module/backlight/refcnt', 0o664, b'1\n')
+d('sys/module/backlight/holders', 0o775)
+l('sys/module/backlight/holders/thinkpad_acpi', '../../thinkpad_acpi')
+d('sys/module/backlight/sections', 0o775)
+f('sys/module/backlight/sections/__ksymtab_strings', 0o664, b'0xffffffffa0131700\n')
+f('sys/module/backlight/sections/.exit.text', 0o664, b'0xffffffffa01315ec\n')
+f('sys/module/backlight/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0131600\n')
+f('sys/module/backlight/sections/.strtab', 0o664, b'0xffffffffa0131de0\n')
+f('sys/module/backlight/sections/__ksymtab', 0o664, b'0xffffffffa01316d0\n')
+f('sys/module/backlight/sections/.bss', 0o664, b'0xffffffffa01326c0\n')
+f('sys/module/backlight/sections/.text', 0o664, b'0xffffffffa0131000\n')
+f('sys/module/backlight/sections/.init.text', 0o664, b'0xffffffffa0070000\n')
+f('sys/module/backlight/sections/__kcrctab', 0o664, b'0xffffffffa01316f0\n')
+f('sys/module/backlight/sections/.data', 0o664, b'0xffffffffa0132220\n')
+f('sys/module/backlight/sections/.symtab', 0o664, b'0xffffffffa0131738\n')
+f('sys/module/backlight/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0132300\n')
+f('sys/module/backlight/sections/.rodata.str1.1', 0o664, b'0xffffffffa0131624\n')
+d('sys/module/backlight/notes', 0o775)
+f('sys/module/backlight/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00d\xb6_\xb64[\x83\x90Fm(\x91J\xb1\xce\xf5\xaa\xd2\xf4}')
+d('sys/module/snd', 0o775)
+f('sys/module/snd/initstate', 0o664, b'live\n')
+f('sys/module/snd/srcversion', 0o664, b'D48337942305C9A41A7CC12\n')
+f('sys/module/snd/refcnt', 0o664, b'13\n')
+d('sys/module/snd/holders', 0o775)
+l('sys/module/snd/holders/snd_seq', '../../snd_seq')
+l('sys/module/snd/holders/snd_timer', '../../snd_timer')
+l('sys/module/snd/holders/snd_pcm', '../../snd_pcm')
+l('sys/module/snd/holders/snd_hda_intel', '../../snd_hda_intel')
+l('sys/module/snd/holders/snd_mixer_oss', '../../snd_mixer_oss')
+l('sys/module/snd/holders/snd_pcm_oss', '../../snd_pcm_oss')
+l('sys/module/snd/holders/snd_seq_device', '../../snd_seq_device')
+d('sys/module/snd/parameters', 0o775)
+f('sys/module/snd/parameters/slots', 0o664, b'snd-hda-intel,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>\n')
+f('sys/module/snd/parameters/major', 0o664, b'116\n')
+f('sys/module/snd/parameters/cards_limit', 0o664, b'1\n')
+d('sys/module/snd/sections', 0o775)
+f('sys/module/snd/sections/__ksymtab_strings', 0o664, b'0xffffffffa00d32e8\n')
+f('sys/module/snd/sections/.exit.text', 0o664, b'0xffffffffa00d1bc4\n')
+f('sys/module/snd/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00d1c8c\n')
+f('sys/module/snd/sections/.strtab', 0o664, b'0xffffffffa00d6cc8\n')
+f('sys/module/snd/sections/__ksymtab', 0o664, b'0xffffffffa00d2d00\n')
+f('sys/module/snd/sections/.rodata', 0o664, b'0xffffffffa00d1cc0\n')
+f('sys/module/snd/sections/__param', 0o664, b'0xffffffffa00d3270\n')
+f('sys/module/snd/sections/.bss', 0o664, b'0xffffffffa00da480\n')
+f('sys/module/snd/sections/.text', 0o664, b'0xffffffffa00ca000\n')
+f('sys/module/snd/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/snd/sections/__kcrctab', 0o664, b'0xffffffffa00d30a0\n')
+f('sys/module/snd/sections/.data', 0o664, b'0xffffffffa00d9be0\n')
+f('sys/module/snd/sections/.symtab', 0o664, b'0xffffffffa00d3770\n')
+f('sys/module/snd/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa00da0c0\n')
+f('sys/module/snd/sections/.rodata.str1.1', 0o664, b'0xffffffffa00d2558\n')
+d('sys/module/snd/notes', 0o775)
+f('sys/module/snd/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xee\x11+\xc0\xd4\x8f\x10\x02v\xf8\t\xb4\xa8\xf6[z\xd3\xb3\xb7\x87')
+d('sys/module/mac80211', 0o775)
+f('sys/module/mac80211/initstate', 0o664, b'live\n')
+f('sys/module/mac80211/srcversion', 0o664, b'330E8FB2F2933F478C444A4\n')
+f('sys/module/mac80211/refcnt', 0o664, b'1\n')
+d('sys/module/mac80211/holders', 0o775)
+l('sys/module/mac80211/holders/iwl3945', '../../iwl3945')
+d('sys/module/mac80211/parameters', 0o775)
+f('sys/module/mac80211/parameters/ieee80211_default_rc_algo', 0o664, b'pid\n')
+d('sys/module/mac80211/sections', 0o775)
+f('sys/module/mac80211/sections/__ksymtab_gpl', 0o664, b'0xffffffffa0127a50\n')
+f('sys/module/mac80211/sections/.smp_locks', 0o664, b'0xffffffffa01270a0\n')
+f('sys/module/mac80211/sections/__bug_table', 0o664, b'0xffffffffa0124183\n')
+f('sys/module/mac80211/sections/__ksymtab_strings', 0o664, b'0xffffffffa0127630\n')
+f('sys/module/mac80211/sections/.exit.text', 0o664, b'0xffffffffa0122de4\n')
+f('sys/module/mac80211/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0122df4\n')
+f('sys/module/mac80211/sections/.strtab', 0o664, b'0xffffffffa012b890\n')
+f('sys/module/mac80211/sections/__ksymtab', 0o664, b'0xffffffffa01272a0\n')
+f('sys/module/mac80211/sections/.rodata', 0o664, b'0xffffffffa0122e20\n')
+f('sys/module/mac80211/sections/__param', 0o664, b'0xffffffffa0127a28\n')
+f('sys/module/mac80211/sections/.bss', 0o664, b'0xffffffffa012fa40\n')
+f('sys/module/mac80211/sections/.text', 0o664, b'0xffffffffa0109000\n')
+f('sys/module/mac80211/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/mac80211/sections/__kcrctab', 0o664, b'0xffffffffa0127500\n')
+f('sys/module/mac80211/sections/.data', 0o664, b'0xffffffffa012f340\n')
+f('sys/module/mac80211/sections/.symtab', 0o664, b'0xffffffffa0127a80\n')
+f('sys/module/mac80211/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa012f680\n')
+f('sys/module/mac80211/sections/.rodata.str1.1', 0o664, b'0xffffffffa0123c40\n')
+f('sys/module/mac80211/sections/__kcrctab_gpl', 0o664, b'0xffffffffa0127a70\n')
+d('sys/module/mac80211/notes', 0o775)
+f('sys/module/mac80211/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00"i\xe2\xa0\x92\xbc7\xc4#\xbc\xda\xf11\x02\x13\xd5\x155\x1cS')
+d('sys/module/printk', 0o775)
+d('sys/module/printk/parameters', 0o775)
+f('sys/module/printk/parameters/time', 0o664, b'N\n')
+d('sys/module/rtc_lib', 0o775)
+f('sys/module/rtc_lib/initstate', 0o664, b'live\n')
+f('sys/module/rtc_lib/srcversion', 0o664, b'7884E7FF8728D88C6BD1427\n')
+f('sys/module/rtc_lib/refcnt', 0o664, b'1\n')
+d('sys/module/rtc_lib/holders', 0o775)
+l('sys/module/rtc_lib/holders/rtc_core', '../../rtc_core')
+d('sys/module/rtc_lib/sections', 0o775)
+f('sys/module/rtc_lib/sections/__ksymtab_strings', 0o664, b'0xffffffffa009c3f8\n')
+f('sys/module/rtc_lib/sections/.note.gnu.build-id', 0o664, b'0xffffffffa009c31c\n')
+f('sys/module/rtc_lib/sections/.strtab', 0o664, b'0xffffffffa009c8f0\n')
+f('sys/module/rtc_lib/sections/__ksymtab', 0o664, b'0xffffffffa009c380\n')
+f('sys/module/rtc_lib/sections/.rodata', 0o664, b'0xffffffffa009c340\n')
+f('sys/module/rtc_lib/sections/.bss', 0o664, b'0xffffffffa009cf80\n')
+f('sys/module/rtc_lib/sections/.text', 0o664, b'0xffffffffa009c000\n')
+f('sys/module/rtc_lib/sections/__kcrctab', 0o664, b'0xffffffffa009c3d0\n')
+f('sys/module/rtc_lib/sections/.data', 0o664, b'0xffffffffa009cba8\n')
+f('sys/module/rtc_lib/sections/.symtab', 0o664, b'0xffffffffa009c440\n')
+f('sys/module/rtc_lib/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa009cbc0\n')
+d('sys/module/rtc_lib/notes', 0o775)
+f('sys/module/rtc_lib/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xb4\xe2\xcfLw\x17j\xb2\xc7\xf1 \xfa\xc7G\x99+b^+S')
+d('sys/module/mousedev', 0o775)
+d('sys/module/mousedev/parameters', 0o775)
+f('sys/module/mousedev/parameters/tap_time', 0o664, b'200\n')
+f('sys/module/mousedev/parameters/yres', 0o664, b'768\n')
+f('sys/module/mousedev/parameters/xres', 0o664, b'1024\n')
+d('sys/module/rtc_cmos', 0o775)
+f('sys/module/rtc_cmos/initstate', 0o664, b'live\n')
+f('sys/module/rtc_cmos/srcversion', 0o664, b'7BE4B8C2A52556D0C62CB0B\n')
+f('sys/module/rtc_cmos/refcnt', 0o664, b'0\n')
+d('sys/module/rtc_cmos/sections', 0o775)
+f('sys/module/rtc_cmos/sections/.exit.text', 0o664, b'0xffffffffa00fe370\n')
+f('sys/module/rtc_cmos/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00fe4e4\n')
+f('sys/module/rtc_cmos/sections/.strtab', 0o664, b'0xffffffffa00ff1a8\n')
+f('sys/module/rtc_cmos/sections/.rodata', 0o664, b'0xffffffffa00fe520\n')
+f('sys/module/rtc_cmos/sections/.bss', 0o664, b'0xffffffffa00ffd40\n')
+f('sys/module/rtc_cmos/sections/.text', 0o664, b'0xffffffffa00fd000\n')
+f('sys/module/rtc_cmos/sections/.init.text', 0o664, b'0xffffffffa007d000\n')
+f('sys/module/rtc_cmos/sections/.data', 0o664, b'0xffffffffa00ff800\n')
+f('sys/module/rtc_cmos/sections/.devinit.text', 0o664, b'0xffffffffa00fe44f\n')
+f('sys/module/rtc_cmos/sections/.symtab', 0o664, b'0xffffffffa00fe6e0\n')
+f('sys/module/rtc_cmos/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa00ff980\n')
+f('sys/module/rtc_cmos/sections/.rodata.str1.1', 0o664, b'0xffffffffa00fe6a2\n')
+d('sys/module/rtc_cmos/notes', 0o775)
+f('sys/module/rtc_cmos/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xf4\x82\xed4\xe7\x10\xb9\x7f\xa9 \x0c\xedIf0\x86u\xd41\x87')
+d('sys/module/battery', 0o775)
+f('sys/module/battery/initstate', 0o664, b'live\n')
+f('sys/module/battery/srcversion', 0o664, b'5A2CE8D302B31A112CFB57A\n')
+f('sys/module/battery/refcnt', 0o664, b'0\n')
+d('sys/module/battery/parameters', 0o775)
+f('sys/module/battery/parameters/cache_time', 0o664, b'1000\n')
+d('sys/module/battery/sections', 0o775)
+f('sys/module/battery/sections/.exit.text', 0o664, b'0xffffffffa008008c\n')
+f('sys/module/battery/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00800ac\n')
+f('sys/module/battery/sections/.strtab', 0o664, b'0xffffffffa0081318\n')
+f('sys/module/battery/sections/.rodata', 0o664, b'0xffffffffa00800d0\n')
+f('sys/module/battery/sections/__param', 0o664, b'0xffffffffa0080798\n')
+f('sys/module/battery/sections/.bss', 0o664, b'0xffffffffa0082440\n')
+f('sys/module/battery/sections/.text', 0o664, b'0xffffffffa007f000\n')
+f('sys/module/battery/sections/.init.text', 0o664, b'0xffffffffa0084000\n')
+f('sys/module/battery/sections/.data', 0o664, b'0xffffffffa0081a90\n')
+f('sys/module/battery/sections/.symtab', 0o664, b'0xffffffffa00807c0\n')
+f('sys/module/battery/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0082080\n')
+f('sys/module/battery/sections/.rodata.str1.1', 0o664, b'0xffffffffa008025b\n')
+d('sys/module/battery/notes', 0o775)
+f('sys/module/battery/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xe3\xa8\xcc.j\xb3\xda\xc8\x88\x03\xca\xf6\xf0*\x9c-\xffE!\xd3')
+d('sys/module/yenta_socket', 0o775)
+f('sys/module/yenta_socket/initstate', 0o664, b'live\n')
+f('sys/module/yenta_socket/srcversion', 0o664, b'B0538CB6E6ED071E80A4575\n')
+f('sys/module/yenta_socket/refcnt', 0o664, b'1\n')
+d('sys/module/yenta_socket/drivers', 0o775)
+l('sys/module/yenta_socket/drivers/pci:yenta_cardbus', '../../../bus/pci/drivers/yenta_cardbus')
+d('sys/module/yenta_socket/parameters', 0o775)
+f('sys/module/yenta_socket/parameters/isa_probe', 0o664, b'Y\n')
+f('sys/module/yenta_socket/parameters/disable_clkrun', 0o664, b'N\n')
+f('sys/module/yenta_socket/parameters/pwr_irqs_off', 0o664, b'N\n')
+d('sys/module/yenta_socket/sections', 0o775)
+f('sys/module/yenta_socket/sections/__bug_table', 0o664, b'0xffffffffa0104aa6\n')
+f('sys/module/yenta_socket/sections/.exit.text', 0o664, b'0xffffffffa0103c44\n')
+f('sys/module/yenta_socket/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0104330\n')
+f('sys/module/yenta_socket/sections/.strtab', 0o664, b'0xffffffffa0105e80\n')
+f('sys/module/yenta_socket/sections/.rodata', 0o664, b'0xffffffffa0104354\n')
+f('sys/module/yenta_socket/sections/__param', 0o664, b'0xffffffffa0104ad8\n')
+f('sys/module/yenta_socket/sections/.bss', 0o664, b'0xffffffffa0107800\n')
+f('sys/module/yenta_socket/sections/.text', 0o664, b'0xffffffffa0101000\n')
+f('sys/module/yenta_socket/sections/.init.text', 0o664, b'0xffffffffa0084000\n')
+f('sys/module/yenta_socket/sections/.data', 0o664, b'0xffffffffa0106ac0\n')
+f('sys/module/yenta_socket/sections/.devinit.text', 0o664, b'0xffffffffa0103c60\n')
+f('sys/module/yenta_socket/sections/.symtab', 0o664, b'0xffffffffa0104b78\n')
+f('sys/module/yenta_socket/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0107440\n')
+f('sys/module/yenta_socket/sections/.rodata.str1.1', 0o664, b'0xffffffffa0104388\n')
+d('sys/module/yenta_socket/notes', 0o775)
+f('sys/module/yenta_socket/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00H\xa8\xe9\xf1\x06e\xb4\xe4\xd7\xa1\x7f\xf8G)\x1a\xa3\xec\xe7m<')
+d('sys/module/acpi', 0o775)
+d('sys/module/acpi/parameters', 0o775)
+f('sys/module/acpi/parameters/acpica_version', 0o664, b'20080609\n')
+d('sys/module/cdc_acm', 0o775)
+f('sys/module/cdc_acm/initstate', 0o664, b'live\n')
+f('sys/module/cdc_acm/srcversion', 0o664, b'5DED3866AA046376E4E36DD\n')
+f('sys/module/cdc_acm/refcnt', 0o664, b'0\n')
+d('sys/module/cdc_acm/drivers', 0o775)
+l('sys/module/cdc_acm/drivers/usb:cdc_acm', '../../../bus/usb/drivers/cdc_acm')
+d('sys/module/cdc_acm/sections', 0o775)
+f('sys/module/cdc_acm/sections/.smp_locks', 0o664, b'0xffffffffa02d9660\n')
+f('sys/module/cdc_acm/sections/.exit.text', 0o664, b'0xffffffffa02d949c\n')
+f('sys/module/cdc_acm/sections/.note.gnu.build-id', 0o664, b'0xffffffffa02d94c8\n')
+f('sys/module/cdc_acm/sections/.strtab', 0o664, b'0xffffffffa02da838\n')
+f('sys/module/cdc_acm/sections/.rodata', 0o664, b'0xffffffffa02d9500\n')
+f('sys/module/cdc_acm/sections/.bss', 0o664, b'0xffffffffa02db8c0\n')
+f('sys/module/cdc_acm/sections/.text', 0o664, b'0xffffffffa02d7000\n')
+f('sys/module/cdc_acm/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/cdc_acm/sections/.data', 0o664, b'0xffffffffa02db0e0\n')
+f('sys/module/cdc_acm/sections/.symtab', 0o664, b'0xffffffffa02d9968\n')
+f('sys/module/cdc_acm/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa02db500\n')
+f('sys/module/cdc_acm/sections/.rodata.str1.1', 0o664, b'0xffffffffa02d9698\n')
+d('sys/module/cdc_acm/notes', 0o775)
+f('sys/module/cdc_acm/notes/.note.gnu.build-id', 0o664, b"\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xe1=\x89\xe9\xe8L\t\xfe|o\x9c+\xfe\x81\xe8\xc6P'\xa4$")
+d('sys/module/snd_timer', 0o775)
+f('sys/module/snd_timer/initstate', 0o664, b'live\n')
+f('sys/module/snd_timer/srcversion', 0o664, b'1F1836030C5B604CF478CFC\n')
+f('sys/module/snd_timer/refcnt', 0o664, b'2\n')
+d('sys/module/snd_timer/holders', 0o775)
+l('sys/module/snd_timer/holders/snd_seq', '../../snd_seq')
+l('sys/module/snd_timer/holders/snd_pcm', '../../snd_pcm')
+d('sys/module/snd_timer/parameters', 0o775)
+f('sys/module/snd_timer/parameters/timer_tstamp_monotonic', 0o664, b'1\n')
+f('sys/module/snd_timer/parameters/timer_limit', 0o664, b'1\n')
+d('sys/module/snd_timer/sections', 0o775)
+f('sys/module/snd_timer/sections/.smp_locks', 0o664, b'0xffffffffa00f8908\n')
+f('sys/module/snd_timer/sections/__bug_table', 0o664, b'0xffffffffa00f888f\n')
+f('sys/module/snd_timer/sections/__ksymtab_strings', 0o664, b'0xffffffffa00f8a98\n')
+f('sys/module/snd_timer/sections/.exit.text', 0o664, b'0xffffffffa00f8520\n')
+f('sys/module/snd_timer/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00f8590\n')
+f('sys/module/snd_timer/sections/.strtab', 0o664, b'0xffffffffa00f9e90\n')
+f('sys/module/snd_timer/sections/__ksymtab', 0o664, b'0xffffffffa00f8910\n')
+f('sys/module/snd_timer/sections/.rodata', 0o664, b'0xffffffffa00f85c0\n')
+f('sys/module/snd_timer/sections/__param', 0o664, b'0xffffffffa00f8a48\n')
+f('sys/module/snd_timer/sections/.bss', 0o664, b'0xffffffffa00fb200\n')
+f('sys/module/snd_timer/sections/.text', 0o664, b'0xffffffffa00f5000\n')
+f('sys/module/snd_timer/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/snd_timer/sections/__kcrctab', 0o664, b'0xffffffffa00f89e0\n')
+f('sys/module/snd_timer/sections/.data', 0o664, b'0xffffffffa00fad00\n')
+f('sys/module/snd_timer/sections/.symtab', 0o664, b'0xffffffffa00f8b88\n')
+f('sys/module/snd_timer/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa00fae40\n')
+f('sys/module/snd_timer/sections/.rodata.str1.1', 0o664, b'0xffffffffa00f8723\n')
+d('sys/module/snd_timer/notes', 0o775)
+f('sys/module/snd_timer/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xb2uP\xf49\x98_\xdcY\xc1\xbfY\xa4yn\xb0\xbe\x9c\xf2F')
+d('sys/module/e1000e', 0o775)
+f('sys/module/e1000e/version', 0o664, b'0.3.3.3-k2\n')
+f('sys/module/e1000e/initstate', 0o664, b'live\n')
+f('sys/module/e1000e/srcversion', 0o664, b'5B93BF2B618524ED19305C8\n')
+f('sys/module/e1000e/refcnt', 0o664, b'0\n')
+d('sys/module/e1000e/drivers', 0o775)
+l('sys/module/e1000e/drivers/pci:e1000e', '../../../bus/pci/drivers/e1000e')
+d('sys/module/e1000e/parameters', 0o775)
+f('sys/module/e1000e/parameters/copybreak', 0o664, b'256\n')
+d('sys/module/e1000e/sections', 0o775)
+f('sys/module/e1000e/sections/.devinit.data', 0o664, b'0xffffffffa0024fe0\n')
+f('sys/module/e1000e/sections/.smp_locks', 0o664, b'0xffffffffa001e730\n')
+f('sys/module/e1000e/sections/__bug_table', 0o664, b'0xffffffffa001e590\n')
+f('sys/module/e1000e/sections/.exit.text', 0o664, b'0xffffffffa001c64f\n')
+f('sys/module/e1000e/sections/.note.gnu.build-id', 0o664, b'0xffffffffa001c750\n')
+f('sys/module/e1000e/sections/.strtab', 0o664, b'0xffffffffa0021ac0\n')
+f('sys/module/e1000e/sections/.devexit.text', 0o664, b'0xffffffffa001c672\n')
+f('sys/module/e1000e/sections/.rodata', 0o664, b'0xffffffffa001c780\n')
+f('sys/module/e1000e/sections/__param', 0o664, b'0xffffffffa001e5f0\n')
+f('sys/module/e1000e/sections/.bss', 0o664, b'0xffffffffa0025800\n')
+f('sys/module/e1000e/sections/.text', 0o664, b'0xffffffffa0009000\n')
+f('sys/module/e1000e/sections/.init.text', 0o664, b'0xffffffffa0027000\n')
+f('sys/module/e1000e/sections/.data', 0o664, b'0xffffffffa00243c0\n')
+f('sys/module/e1000e/sections/.devinit.text', 0o664, b'0xffffffffa001b380\n')
+f('sys/module/e1000e/sections/.symtab', 0o664, b'0xffffffffa001e8b0\n')
+f('sys/module/e1000e/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0025440\n')
+f('sys/module/e1000e/sections/.rodata.str1.1', 0o664, b'0xffffffffa001d6f0\n')
+d('sys/module/e1000e/notes', 0o775)
+f('sys/module/e1000e/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xcbJ\xb1\x8eG^\xf7\xba\xbf\xa6\x1b\x03\xfasqDl\xf7"\xf1')
+d('sys/module/aes_x86_64', 0o775)
+f('sys/module/aes_x86_64/initstate', 0o664, b'live\n')
+f('sys/module/aes_x86_64/srcversion', 0o664, b'4E315E23114A08593D5D731\n')
+f('sys/module/aes_x86_64/refcnt', 0o664, b'2\n')
+d('sys/module/aes_x86_64/sections', 0o775)
+f('sys/module/aes_x86_64/sections/.exit.text', 0o664, b'0xffffffffa02d471c\n')
+f('sys/module/aes_x86_64/sections/.note.gnu.build-id', 0o664, b'0xffffffffa02d4730\n')
+f('sys/module/aes_x86_64/sections/.strtab', 0o664, b'0xffffffffa02d4b60\n')
+f('sys/module/aes_x86_64/sections/.bss', 0o664, b'0xffffffffa02d5200\n')
+f('sys/module/aes_x86_64/sections/.text', 0o664, b'0xffffffffa02d3000\n')
+f('sys/module/aes_x86_64/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/aes_x86_64/sections/.data', 0o664, b'0xffffffffa02d4d20\n')
+f('sys/module/aes_x86_64/sections/.symtab', 0o664, b'0xffffffffa02d4758\n')
+f('sys/module/aes_x86_64/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa02d4e40\n')
+d('sys/module/aes_x86_64/notes', 0o775)
+f('sys/module/aes_x86_64/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\x1e3\x8c\xa9\xdd\xa1\xeb\\\xcf\xd3\x0f\xd1\xfc\xaa\xd2y\x08+f\xca')
+d('sys/module/dm_mod', 0o775)
+f('sys/module/dm_mod/initstate', 0o664, b'live\n')
+f('sys/module/dm_mod/srcversion', 0o664, b'458AEB289C7AA031FFD0011\n')
+f('sys/module/dm_mod/refcnt', 0o664, b'0\n')
+d('sys/module/dm_mod/sections', 0o775)
+f('sys/module/dm_mod/sections/__ksymtab_gpl', 0o664, b'0xffffffffa02122b0\n')
+f('sys/module/dm_mod/sections/.smp_locks', 0o664, b'0xffffffffa0210eb8\n')
+f('sys/module/dm_mod/sections/__bug_table', 0o664, b'0xffffffffa0211f54\n')
+f('sys/module/dm_mod/sections/__ksymtab_strings', 0o664, b'0xffffffffa0212310\n')
+f('sys/module/dm_mod/sections/.exit.text', 0o664, b'0xffffffffa0210c20\n')
+f('sys/module/dm_mod/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0210c54\n')
+f('sys/module/dm_mod/sections/.strtab', 0o664, b'0xffffffffa02151f0\n')
+f('sys/module/dm_mod/sections/__ksymtab', 0o664, b'0xffffffffa02120d0\n')
+f('sys/module/dm_mod/sections/.rodata', 0o664, b'0xffffffffa0210c80\n')
+f('sys/module/dm_mod/sections/__param', 0o664, b'0xffffffffa02120a8\n')
+f('sys/module/dm_mod/sections/.bss', 0o664, b'0xffffffffa02177c0\n')
+f('sys/module/dm_mod/sections/.text', 0o664, b'0xffffffffa0209000\n')
+f('sys/module/dm_mod/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/dm_mod/sections/__kcrctab', 0o664, b'0xffffffffa0212210\n')
+f('sys/module/dm_mod/sections/.data', 0o664, b'0xffffffffa0216f40\n')
+f('sys/module/dm_mod/sections/.init.data', 0o664, b'0xffffffffa00652c0\n')
+f('sys/module/dm_mod/sections/.symtab', 0o664, b'0xffffffffa02124a8\n')
+f('sys/module/dm_mod/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0217400\n')
+f('sys/module/dm_mod/sections/.rodata.str1.1', 0o664, b'0xffffffffa0211c4d\n')
+f('sys/module/dm_mod/sections/__kcrctab_gpl', 0o664, b'0xffffffffa02122f0\n')
+d('sys/module/dm_mod/notes', 0o775)
+f('sys/module/dm_mod/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00^(\xdd\x16OD6\xfb\x89\xe6\xca3Vl\xb0\xd7MBp\x84')
+d('sys/module/usbhid', 0o775)
+f('sys/module/usbhid/initstate', 0o664, b'live\n')
+f('sys/module/usbhid/srcversion', 0o664, b'3D7B82FE16E5E534DE4C12B\n')
+f('sys/module/usbhid/refcnt', 0o664, b'0\n')
+d('sys/module/usbhid/drivers', 0o775)
+l('sys/module/usbhid/drivers/usb:usbhid', '../../../bus/usb/drivers/usbhid')
+d('sys/module/usbhid/parameters', 0o775)
+f('sys/module/usbhid/parameters/mousepoll', 0o664, b'0\n')
+f('sys/module/usbhid/parameters/rdesc_quirks', 0o664, b'<NULL>,<NULL>,<NULL>,<NULL>\n')
+f('sys/module/usbhid/parameters/quirks', 0o664, b'<NULL>,<NULL>,<NULL>,<NULL>\n')
+d('sys/module/usbhid/sections', 0o775)
+f('sys/module/usbhid/sections/__ksymtab_gpl', 0o664, b'0xffffffffa0201e60\n')
+f('sys/module/usbhid/sections/.smp_locks', 0o664, b'0xffffffffa0201700\n')
+f('sys/module/usbhid/sections/__ksymtab_strings', 0o664, b'0xffffffffa0201e78\n')
+f('sys/module/usbhid/sections/.exit.text', 0o664, b'0xffffffffa0200c6c\n')
+f('sys/module/usbhid/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0200c84\n')
+f('sys/module/usbhid/sections/.strtab', 0o664, b'0xffffffffa0202e68\n')
+f('sys/module/usbhid/sections/.rodata', 0o664, b'0xffffffffa0200cc0\n')
+f('sys/module/usbhid/sections/__param', 0o664, b'0xffffffffa0201de0\n')
+f('sys/module/usbhid/sections/.bss', 0o664, b'0xffffffffa0203d80\n')
+f('sys/module/usbhid/sections/.text', 0o664, b'0xffffffffa01fe000\n')
+f('sys/module/usbhid/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/usbhid/sections/.data', 0o664, b'0xffffffffa02037c0\n')
+f('sys/module/usbhid/sections/.symtab', 0o664, b'0xffffffffa0201e90\n')
+f('sys/module/usbhid/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa02039c0\n')
+f('sys/module/usbhid/sections/.rodata.str1.1', 0o664, b'0xffffffffa02017a8\n')
+f('sys/module/usbhid/sections/__kcrctab_gpl', 0o664, b'0xffffffffa0201e70\n')
+d('sys/module/usbhid/notes', 0o775)
+f('sys/module/usbhid/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00F\xd8\xa9\xb5\x91:~\xd6KY>\x94\xe1\x1d\xab\xf6\xe5\xeeu*')
+d('sys/module/iwl3945', 0o775)
+f('sys/module/iwl3945/version', 0o664, b'1.2.26ks\n')
+f('sys/module/iwl3945/initstate', 0o664, b'live\n')
+f('sys/module/iwl3945/srcversion', 0o664, b'5C079549ABD48E07B20F3C7\n')
+f('sys/module/iwl3945/refcnt', 0o664, b'0\n')
+d('sys/module/iwl3945/drivers', 0o775)
+l('sys/module/iwl3945/drivers/pci:iwl3945', '../../../bus/pci/drivers/iwl3945')
+d('sys/module/iwl3945/parameters', 0o775)
+f('sys/module/iwl3945/parameters/disable_hw_scan', 0o664, b'0\n')
+f('sys/module/iwl3945/parameters/queues_num', 0o664, b'8\n')
+f('sys/module/iwl3945/parameters/debug', 0o664, b'0\n')
+f('sys/module/iwl3945/parameters/disable', 0o664, b'0\n')
+f('sys/module/iwl3945/parameters/hwcrypto', 0o664, b'0\n')
+f('sys/module/iwl3945/parameters/antenna', 0o664, b'0\n')
+f('sys/module/iwl3945/parameters/qos_enable', 0o664, b'1\n')
+d('sys/module/iwl3945/sections', 0o775)
+f('sys/module/iwl3945/sections/.smp_locks', 0o664, b'0xffffffffa015e0e0\n')
+f('sys/module/iwl3945/sections/__bug_table', 0o664, b'0xffffffffa015e300\n')
+f('sys/module/iwl3945/sections/.exit.text', 0o664, b'0xffffffffa015b2e4\n')
+f('sys/module/iwl3945/sections/.note.gnu.build-id', 0o664, b'0xffffffffa015b2fc\n')
+f('sys/module/iwl3945/sections/.strtab', 0o664, b'0xffffffffa0160f20\n')
+f('sys/module/iwl3945/sections/.devexit.text', 0o664, b'0xffffffffa015b044\n')
+f('sys/module/iwl3945/sections/.rodata', 0o664, b'0xffffffffa015b320\n')
+f('sys/module/iwl3945/sections/__param', 0o664, b'0xffffffffa015e4b0\n')
+f('sys/module/iwl3945/sections/.bss', 0o664, b'0xffffffffa0163d80\n')
+f('sys/module/iwl3945/sections/.text', 0o664, b'0xffffffffa014b000\n')
+f('sys/module/iwl3945/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/iwl3945/sections/.data', 0o664, b'0xffffffffa0162f00\n')
+f('sys/module/iwl3945/sections/.symtab', 0o664, b'0xffffffffa015e5c8\n')
+f('sys/module/iwl3945/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa01639c0\n')
+f('sys/module/iwl3945/sections/.rodata.str1.1', 0o664, b'0xffffffffa015bc0c\n')
+d('sys/module/iwl3945/notes', 0o775)
+f('sys/module/iwl3945/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xd1^"`\xf9\xf2&\x0b\xe0T\x9b\xe1,\xab\x88\x9bos\x0b\xdb')
+d('sys/module/rsrc_nonstatic', 0o775)
+f('sys/module/rsrc_nonstatic/initstate', 0o664, b'live\n')
+f('sys/module/rsrc_nonstatic/srcversion', 0o664, b'8554CBDFE6293476856E830\n')
+f('sys/module/rsrc_nonstatic/refcnt', 0o664, b'1\n')
+d('sys/module/rsrc_nonstatic/holders', 0o775)
+l('sys/module/rsrc_nonstatic/holders/yenta_socket', '../../yenta_socket')
+d('sys/module/rsrc_nonstatic/parameters', 0o775)
+f('sys/module/rsrc_nonstatic/parameters/probe_mem', 0o664, b'1\n')
+d('sys/module/rsrc_nonstatic/sections', 0o775)
+f('sys/module/rsrc_nonstatic/sections/__ksymtab_strings', 0o664, b'0xffffffffa00ef8a0\n')
+f('sys/module/rsrc_nonstatic/sections/.exit.text', 0o664, b'0xffffffffa00ef624\n')
+f('sys/module/rsrc_nonstatic/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00ef69c\n')
+f('sys/module/rsrc_nonstatic/sections/.strtab', 0o664, b'0xffffffffa00f0260\n')
+f('sys/module/rsrc_nonstatic/sections/__ksymtab', 0o664, b'0xffffffffa00ef860\n')
+f('sys/module/rsrc_nonstatic/sections/.devexit.text', 0o664, b'0xffffffffa00ef636\n')
+f('sys/module/rsrc_nonstatic/sections/.rodata', 0o664, b'0xffffffffa00ef6c0\n')
+f('sys/module/rsrc_nonstatic/sections/__param', 0o664, b'0xffffffffa00ef878\n')
+f('sys/module/rsrc_nonstatic/sections/.bss', 0o664, b'0xffffffffa00f0dc0\n')
+f('sys/module/rsrc_nonstatic/sections/.text', 0o664, b'0xffffffffa00ee000\n')
+f('sys/module/rsrc_nonstatic/sections/.init.text', 0o664, b'0xffffffffa0084000\n')
+f('sys/module/rsrc_nonstatic/sections/__kcrctab', 0o664, b'0xffffffffa00ef870\n')
+f('sys/module/rsrc_nonstatic/sections/.ref.data', 0o664, b'0xffffffffa00f09c0\n')
+f('sys/module/rsrc_nonstatic/sections/.data', 0o664, b'0xffffffffa00f0820\n')
+f('sys/module/rsrc_nonstatic/sections/.devinit.text', 0o664, b'0xffffffffa00ef665\n')
+f('sys/module/rsrc_nonstatic/sections/.symtab', 0o664, b'0xffffffffa00ef8b8\n')
+f('sys/module/rsrc_nonstatic/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa00f0a00\n')
+f('sys/module/rsrc_nonstatic/sections/.rodata.str1.1', 0o664, b'0xffffffffa00ef78d\n')
+d('sys/module/rsrc_nonstatic/notes', 0o775)
+f('sys/module/rsrc_nonstatic/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xd5n\x94\x07\x89\xe1\x08\xe3\x07C\xb9\x83\x0c\x19*6\xe8\xe3\x10R')
+d('sys/module/thinkpad_acpi', 0o775)
+f('sys/module/thinkpad_acpi/version', 0o664, b'0.21\n')
+f('sys/module/thinkpad_acpi/initstate', 0o664, b'live\n')
+f('sys/module/thinkpad_acpi/srcversion', 0o664, b'FA276F7EFAA90BF39100654\n')
+f('sys/module/thinkpad_acpi/refcnt', 0o664, b'0\n')
+d('sys/module/thinkpad_acpi/drivers', 0o775)
+l('sys/module/thinkpad_acpi/drivers/platform:thinkpad_hwmon', '../../../bus/platform/drivers/thinkpad_hwmon')
+l('sys/module/thinkpad_acpi/drivers/platform:thinkpad_acpi', '../../../bus/platform/drivers/thinkpad_acpi')
+d('sys/module/thinkpad_acpi/sections', 0o775)
+f('sys/module/thinkpad_acpi/sections/.smp_locks', 0o664, b'0xffffffffa01e6088\n')
+f('sys/module/thinkpad_acpi/sections/__bug_table', 0o664, b'0xffffffffa01e60e0\n')
+f('sys/module/thinkpad_acpi/sections/.note.gnu.build-id', 0o664, b'0xffffffffa01e3a80\n')
+f('sys/module/thinkpad_acpi/sections/.strtab', 0o664, b'0xffffffffa01e98b8\n')
+f('sys/module/thinkpad_acpi/sections/.rodata', 0o664, b'0xffffffffa01e3ac0\n')
+f('sys/module/thinkpad_acpi/sections/__param', 0o664, b'0xffffffffa01e61a0\n')
+f('sys/module/thinkpad_acpi/sections/.bss', 0o664, b'0xffffffffa01ed600\n')
+f('sys/module/thinkpad_acpi/sections/.text', 0o664, b'0xffffffffa01dd000\n')
+f('sys/module/thinkpad_acpi/sections/.init.text', 0o664, b'0xffffffffa01ef000\n')
+f('sys/module/thinkpad_acpi/sections/.data', 0o664, b'0xffffffffa01ebd60\n')
+f('sys/module/thinkpad_acpi/sections/.init.data', 0o664, b'0xffffffffa01f1700\n')
+f('sys/module/thinkpad_acpi/sections/.symtab', 0o664, b'0xffffffffa01e6498\n')
+f('sys/module/thinkpad_acpi/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa01ed240\n')
+f('sys/module/thinkpad_acpi/sections/.rodata.str1.1', 0o664, b'0xffffffffa01e3df0\n')
+d('sys/module/thinkpad_acpi/notes', 0o775)
+f('sys/module/thinkpad_acpi/notes/.note.gnu.build-id', 0o664, b"\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00]\xca\x1f\xba\xb1J'\xa8\x14\x83cj=h\x11\xe60;\x08\xd6")
+d('sys/module/psmouse', 0o775)
+d('sys/module/psmouse/drivers', 0o775)
+l('sys/module/psmouse/drivers/serio:psmouse', '../../../bus/serio/drivers/psmouse')
+d('sys/module/psmouse/parameters', 0o775)
+f('sys/module/psmouse/parameters/proto', 0o664, b'''auto
+
+''')
+f('sys/module/psmouse/parameters/resync_time', 0o664, b'0\n')
+f('sys/module/psmouse/parameters/resolution', 0o664, b'200\n')
+f('sys/module/psmouse/parameters/resetafter', 0o664, b'5\n')
+f('sys/module/psmouse/parameters/rate', 0o664, b'100\n')
+f('sys/module/psmouse/parameters/smartscroll', 0o664, b'Y\n')
+d('sys/module/md_mod', 0o775)
+f('sys/module/md_mod/initstate', 0o664, b'live\n')
+f('sys/module/md_mod/srcversion', 0o664, b'1DB954BE8FA97D4755DC15B\n')
+f('sys/module/md_mod/refcnt', 0o664, b'1\n')
+d('sys/module/md_mod/holders', 0o775)
+l('sys/module/md_mod/holders/raid1', '../../raid1')
+d('sys/module/md_mod/parameters', 0o775)
+f('sys/module/md_mod/parameters/start_ro', 0o664, b'0\n')
+f('sys/module/md_mod/parameters/start_dirty_degraded', 0o664, b'0\n')
+d('sys/module/md_mod/sections', 0o775)
+f('sys/module/md_mod/sections/__ksymtab_gpl', 0o664, b'0xffffffffa022a790\n')
+f('sys/module/md_mod/sections/.smp_locks', 0o664, b'0xffffffffa022a038\n')
+f('sys/module/md_mod/sections/__bug_table', 0o664, b'0xffffffffa022a4b8\n')
+f('sys/module/md_mod/sections/__ksymtab_strings', 0o664, b'0xffffffffa022a7f0\n')
+f('sys/module/md_mod/sections/.exit.text', 0o664, b'0xffffffffa02283a0\n')
+f('sys/module/md_mod/sections/.note.gnu.build-id', 0o664, b'0xffffffffa02284c8\n')
+f('sys/module/md_mod/sections/.strtab', 0o664, b'0xffffffffa022d7a0\n')
+f('sys/module/md_mod/sections/__ksymtab', 0o664, b'0xffffffffa022a590\n')
+f('sys/module/md_mod/sections/.rodata', 0o664, b'0xffffffffa0228500\n')
+f('sys/module/md_mod/sections/__param', 0o664, b'0xffffffffa022a740\n')
+f('sys/module/md_mod/sections/.bss', 0o664, b'0xffffffffa0230880\n')
+f('sys/module/md_mod/sections/.text', 0o664, b'0xffffffffa021a000\n')
+f('sys/module/md_mod/sections/.init.text', 0o664, b'0xffffffffa0070000\n')
+f('sys/module/md_mod/sections/__kcrctab', 0o664, b'0xffffffffa022a6b0\n')
+f('sys/module/md_mod/sections/.data', 0o664, b'0xffffffffa022f660\n')
+f('sys/module/md_mod/sections/.symtab', 0o664, b'0xffffffffa022a968\n')
+f('sys/module/md_mod/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa02304c0\n')
+f('sys/module/md_mod/sections/.rodata.str1.1', 0o664, b'0xffffffffa022869e\n')
+f('sys/module/md_mod/sections/__kcrctab_gpl', 0o664, b'0xffffffffa022a7d0\n')
+d('sys/module/md_mod/notes', 0o775)
+f('sys/module/md_mod/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xbd\xb6!\x84\x88Z\x8bnL\x0f\xf0\xbe\xf0]\n"\xd8\xf3\xb0*')
+d('sys/module/snd_pcm', 0o775)
+f('sys/module/snd_pcm/initstate', 0o664, b'live\n')
+f('sys/module/snd_pcm/srcversion', 0o664, b'96530AD1426FF7F73757C4F\n')
+f('sys/module/snd_pcm/refcnt', 0o664, b'2\n')
+d('sys/module/snd_pcm/holders', 0o775)
+l('sys/module/snd_pcm/holders/snd_hda_intel', '../../snd_hda_intel')
+l('sys/module/snd_pcm/holders/snd_pcm_oss', '../../snd_pcm_oss')
+d('sys/module/snd_pcm/parameters', 0o775)
+f('sys/module/snd_pcm/parameters/preallocate_dma', 0o664, b'1\n')
+f('sys/module/snd_pcm/parameters/maximum_substreams', 0o664, b'4\n')
+d('sys/module/snd_pcm/sections', 0o775)
+f('sys/module/snd_pcm/sections/.smp_locks', 0o664, b'0xffffffffa0141af8\n')
+f('sys/module/snd_pcm/sections/__ex_table', 0o664, b'0xffffffffa0141b30\n')
+f('sys/module/snd_pcm/sections/__ksymtab_strings', 0o664, b'0xffffffffa01415f0\n')
+f('sys/module/snd_pcm/sections/.exit.text', 0o664, b'0xffffffffa01401d4\n')
+f('sys/module/snd_pcm/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0140260\n')
+f('sys/module/snd_pcm/sections/.strtab', 0o664, b'0xffffffffa0145428\n')
+f('sys/module/snd_pcm/sections/.fixup', 0o664, b'0xffffffffa01401fe\n')
+f('sys/module/snd_pcm/sections/__ksymtab', 0o664, b'0xffffffffa01410b0\n')
+f('sys/module/snd_pcm/sections/.rodata', 0o664, b'0xffffffffa01402a0\n')
+f('sys/module/snd_pcm/sections/__param', 0o664, b'0xffffffffa0141bb0\n')
+f('sys/module/snd_pcm/sections/.bss', 0o664, b'0xffffffffa0149640\n')
+f('sys/module/snd_pcm/sections/.text', 0o664, b'0xffffffffa0134000\n')
+f('sys/module/snd_pcm/sections/.init.text', 0o664, b'0xffffffffa007d000\n')
+f('sys/module/snd_pcm/sections/__kcrctab', 0o664, b'0xffffffffa0141430\n')
+f('sys/module/snd_pcm/sections/.data', 0o664, b'0xffffffffa0148b60\n')
+f('sys/module/snd_pcm/sections/.symtab', 0o664, b'0xffffffffa0141c00\n')
+f('sys/module/snd_pcm/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0149280\n')
+f('sys/module/snd_pcm/sections/.rodata.str1.1', 0o664, b'0xffffffffa0140930\n')
+d('sys/module/snd_pcm/notes', 0o775)
+f('sys/module/snd_pcm/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xc8N\x86\x9c\x8dq\x14\x04\xe7\xed\xee\x9b\xe0\x8f\xe4\x8fvF{\xfe')
+d('sys/module/snd_hda_intel', 0o775)
+f('sys/module/snd_hda_intel/initstate', 0o664, b'live\n')
+f('sys/module/snd_hda_intel/srcversion', 0o664, b'B76633A09F11336101E5480\n')
+f('sys/module/snd_hda_intel/refcnt', 0o664, b'3\n')
+d('sys/module/snd_hda_intel/drivers', 0o775)
+l('sys/module/snd_hda_intel/drivers/pci:HDA Intel', '../../../bus/pci/drivers/HDA Intel')
+d('sys/module/snd_hda_intel/parameters', 0o775)
+f('sys/module/snd_hda_intel/parameters/bdl_pos_adj', 0o664, b'1,-1,-1,-1,-1,-1,-1,-1\n')
+f('sys/module/snd_hda_intel/parameters/enable', 0o664, b'Y,Y,Y,Y,Y,Y,Y,Y\n')
+f('sys/module/snd_hda_intel/parameters/id', 0o664, b'<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>\n')
+f('sys/module/snd_hda_intel/parameters/probe_mask', 0o664, b'1,-1,-1,-1,-1,-1,-1,-1\n')
+f('sys/module/snd_hda_intel/parameters/enable_msi', 0o664, b'0\n')
+f('sys/module/snd_hda_intel/parameters/index', 0o664, b'-1,-1,-1,-1,-1,-1,-1,-1\n')
+f('sys/module/snd_hda_intel/parameters/single_cmd', 0o664, b'N\n')
+f('sys/module/snd_hda_intel/parameters/model', 0o664, b'<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>,<NULL>\n')
+f('sys/module/snd_hda_intel/parameters/position_fix', 0o664, b'0,0,0,0,0,0,0,0\n')
+d('sys/module/snd_hda_intel/sections', 0o775)
+f('sys/module/snd_hda_intel/sections/.devinit.data', 0o664, b'0xffffffffa01d7340\n')
+f('sys/module/snd_hda_intel/sections/.exit.text', 0o664, b'0xffffffffa0182a58\n')
+f('sys/module/snd_hda_intel/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0183f4c\n')
+f('sys/module/snd_hda_intel/sections/.strtab', 0o664, b'0xffffffffa0193910\n')
+f('sys/module/snd_hda_intel/sections/.devexit.text', 0o664, b'0xffffffffa0182a6a\n')
+f('sys/module/snd_hda_intel/sections/.rodata', 0o664, b'0xffffffffa0183f80\n')
+f('sys/module/snd_hda_intel/sections/__param', 0o664, b'0xffffffffa0189de8\n')
+f('sys/module/snd_hda_intel/sections/.bss', 0o664, b'0xffffffffa01d7800\n')
+f('sys/module/snd_hda_intel/sections/.text', 0o664, b'0xffffffffa0165000\n')
+f('sys/module/snd_hda_intel/sections/.init.text', 0o664, b'0xffffffffa0070000\n')
+f('sys/module/snd_hda_intel/sections/.data', 0o664, b'0xffffffffa019bd40\n')
+f('sys/module/snd_hda_intel/sections/.devinit.text', 0o664, b'0xffffffffa0182aa0\n')
+f('sys/module/snd_hda_intel/sections/.symtab', 0o664, b'0xffffffffa0189f50\n')
+f('sys/module/snd_hda_intel/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa01d7440\n')
+f('sys/module/snd_hda_intel/sections/.rodata.str1.1', 0o664, b'0xffffffffa0186d8b\n')
+d('sys/module/snd_hda_intel/notes', 0o775)
+f('sys/module/snd_hda_intel/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x002\xfe\x91\xd2K\x86\x1d\x92P\xdcX/c\x07=\xf3\xceY\xbc-')
+d('sys/module/ehci_hcd', 0o775)
+f('sys/module/ehci_hcd/initstate', 0o664, b'live\n')
+f('sys/module/ehci_hcd/srcversion', 0o664, b'6EBBF13EC8AD467D8AB11A4\n')
+f('sys/module/ehci_hcd/refcnt', 0o664, b'0\n')
+d('sys/module/ehci_hcd/drivers', 0o775)
+l('sys/module/ehci_hcd/drivers/pci:ehci_hcd', '../../../bus/pci/drivers/ehci_hcd')
+d('sys/module/ehci_hcd/parameters', 0o775)
+f('sys/module/ehci_hcd/parameters/park', 0o664, b'0\n')
+f('sys/module/ehci_hcd/parameters/ignore_oc', 0o664, b'N\n')
+f('sys/module/ehci_hcd/parameters/log2_irq_thresh', 0o664, b'0\n')
+d('sys/module/ehci_hcd/sections', 0o775)
+f('sys/module/ehci_hcd/sections/.smp_locks', 0o664, b'0xffffffffa00e4048\n')
+f('sys/module/ehci_hcd/sections/__bug_table', 0o664, b'0xffffffffa00e3f22\n')
+f('sys/module/ehci_hcd/sections/.exit.text', 0o664, b'0xffffffffa00e3b98\n')
+f('sys/module/ehci_hcd/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00e3bac\n')
+f('sys/module/ehci_hcd/sections/.strtab', 0o664, b'0xffffffffa00e54a8\n')
+f('sys/module/ehci_hcd/sections/.rodata', 0o664, b'0xffffffffa00e3be0\n')
+f('sys/module/ehci_hcd/sections/__param', 0o664, b'0xffffffffa00e42f0\n')
+f('sys/module/ehci_hcd/sections/.bss', 0o664, b'0xffffffffa00e6480\n')
+f('sys/module/ehci_hcd/sections/.text', 0o664, b'0xffffffffa00dd000\n')
+f('sys/module/ehci_hcd/sections/.init.text', 0o664, b'0xffffffffa006b000\n')
+f('sys/module/ehci_hcd/sections/.data', 0o664, b'0xffffffffa00e5f40\n')
+f('sys/module/ehci_hcd/sections/.symtab', 0o664, b'0xffffffffa00e4368\n')
+f('sys/module/ehci_hcd/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa00e60c0\n')
+f('sys/module/ehci_hcd/sections/.rodata.str1.1', 0o664, b'0xffffffffa00e3dd0\n')
+d('sys/module/ehci_hcd/notes', 0o775)
+f('sys/module/ehci_hcd/notes/.note.gnu.build-id', 0o664, b"\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00 \xc7\x01\xa9Mi;\xcaNB'\x08T\xc4\xf9\x80\xd7\x10\xb3h")
+d('sys/module/sg', 0o775)
+f('sys/module/sg/version', 0o664, b'3.5.34\n')
+f('sys/module/sg/initstate', 0o664, b'live\n')
+f('sys/module/sg/srcversion', 0o664, b'DC7DE342543B6D7AB46D718\n')
+f('sys/module/sg/refcnt', 0o664, b'0\n')
+d('sys/module/sg/parameters', 0o775)
+f('sys/module/sg/parameters/allow_dio', 0o664, b'0\n')
+f('sys/module/sg/parameters/scatter_elem_sz', 0o664, b'32768\n')
+f('sys/module/sg/parameters/def_reserved_size', 0o664, b'32768\n')
+d('sys/module/sg/sections', 0o775)
+f('sys/module/sg/sections/.smp_locks', 0o664, b'0xffffffffa00054d8\n')
+f('sys/module/sg/sections/__ex_table', 0o664, b'0xffffffffa0005530\n')
+f('sys/module/sg/sections/__bug_table', 0o664, b'0xffffffffa00054e8\n')
+f('sys/module/sg/sections/.exit.text', 0o664, b'0xffffffffa00049f0\n')
+f('sys/module/sg/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0004afc\n')
+f('sys/module/sg/sections/.strtab', 0o664, b'0xffffffffa0006710\n')
+f('sys/module/sg/sections/.fixup', 0o664, b'0xffffffffa0004a33\n')
+f('sys/module/sg/sections/.rodata', 0o664, b'0xffffffffa0004b20\n')
+f('sys/module/sg/sections/__param', 0o664, b'0xffffffffa0005630\n')
+f('sys/module/sg/sections/.bss', 0o664, b'0xffffffffa0007640\n')
+f('sys/module/sg/sections/.text', 0o664, b'0xffffffffa0000000\n')
+f('sys/module/sg/sections/.init.text', 0o664, b'0xffffffffa0009000\n')
+f('sys/module/sg/sections/.data', 0o664, b'0xffffffffa0007040\n')
+f('sys/module/sg/sections/.symtab', 0o664, b'0xffffffffa00056a8\n')
+f('sys/module/sg/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0007280\n')
+f('sys/module/sg/sections/.rodata.str1.1', 0o664, b'0xffffffffa0004bc0\n')
+d('sys/module/sg/notes', 0o775)
+f('sys/module/sg/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00q\x06\xb5<\xb3\x13\xd4\xe6\xc5W\xbb;{\x14\x93\xd5\x07\xc7\x13\xfa')
+d('sys/module/snd_mixer_oss', 0o775)
+f('sys/module/snd_mixer_oss/initstate', 0o664, b'live\n')
+f('sys/module/snd_mixer_oss/srcversion', 0o664, b'9D2BFE821DD0ACFA2CFF364\n')
+f('sys/module/snd_mixer_oss/refcnt', 0o664, b'1\n')
+d('sys/module/snd_mixer_oss/holders', 0o775)
+l('sys/module/snd_mixer_oss/holders/snd_pcm_oss', '../../snd_pcm_oss')
+d('sys/module/snd_mixer_oss/sections', 0o775)
+f('sys/module/snd_mixer_oss/sections/__ksymtab_strings', 0o664, b'0xffffffffa02bba78\n')
+f('sys/module/snd_mixer_oss/sections/.exit.text', 0o664, b'0xffffffffa02bb508\n')
+f('sys/module/snd_mixer_oss/sections/.note.gnu.build-id', 0o664, b'0xffffffffa02bb54c\n')
+f('sys/module/snd_mixer_oss/sections/.strtab', 0o664, b'0xffffffffa02bc470\n')
+f('sys/module/snd_mixer_oss/sections/__ksymtab', 0o664, b'0xffffffffa02bba60\n')
+f('sys/module/snd_mixer_oss/sections/.rodata', 0o664, b'0xffffffffa02bb580\n')
+f('sys/module/snd_mixer_oss/sections/.bss', 0o664, b'0xffffffffa02bd240\n')
+f('sys/module/snd_mixer_oss/sections/.text', 0o664, b'0xffffffffa02b9000\n')
+f('sys/module/snd_mixer_oss/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/snd_mixer_oss/sections/__kcrctab', 0o664, b'0xffffffffa02bba70\n')
+f('sys/module/snd_mixer_oss/sections/.data', 0o664, b'0xffffffffa02bcb20\n')
+f('sys/module/snd_mixer_oss/sections/.symtab', 0o664, b'0xffffffffa02bba98\n')
+f('sys/module/snd_mixer_oss/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa02bce80\n')
+f('sys/module/snd_mixer_oss/sections/.rodata.str1.1', 0o664, b'0xffffffffa02bb760\n')
+d('sys/module/snd_mixer_oss/notes', 0o775)
+f('sys/module/snd_mixer_oss/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xc3u\x0b\x0eh,\x90W\xba\xf3S\xa9\x16\\<\x97u\x0f.\xa6')
+d('sys/module/pcmcia', 0o775)
+f('sys/module/pcmcia/initstate', 0o664, b'live\n')
+f('sys/module/pcmcia/srcversion', 0o664, b'6544CB07B8D7D79F19A4CD6\n')
+f('sys/module/pcmcia/refcnt', 0o664, b'0\n')
+d('sys/module/pcmcia/parameters', 0o775)
+f('sys/module/pcmcia/parameters/io_speed', 0o664, b'0\n')
+d('sys/module/pcmcia/sections', 0o775)
+f('sys/module/pcmcia/sections/__ksymtab_strings', 0o664, b'0xffffffffa01f9890\n')
+f('sys/module/pcmcia/sections/.exit.text', 0o664, b'0xffffffffa01f85c4\n')
+f('sys/module/pcmcia/sections/.note.gnu.build-id', 0o664, b'0xffffffffa01f86c8\n')
+f('sys/module/pcmcia/sections/.strtab', 0o664, b'0xffffffffa01fb138\n')
+f('sys/module/pcmcia/sections/__ksymtab', 0o664, b'0xffffffffa01f9710\n')
+f('sys/module/pcmcia/sections/.rodata', 0o664, b'0xffffffffa01f8700\n')
+f('sys/module/pcmcia/sections/__param', 0o664, b'0xffffffffa01f9a00\n')
+f('sys/module/pcmcia/sections/.bss', 0o664, b'0xffffffffa01fcb40\n')
+f('sys/module/pcmcia/sections/.text', 0o664, b'0xffffffffa01f5000\n')
+f('sys/module/pcmcia/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/pcmcia/sections/__kcrctab', 0o664, b'0xffffffffa01f9810\n')
+f('sys/module/pcmcia/sections/.ref.data', 0o664, b'0xffffffffa01fc720\n')
+f('sys/module/pcmcia/sections/.data', 0o664, b'0xffffffffa01fc3a0\n')
+f('sys/module/pcmcia/sections/.devinit.text', 0o664, b'0xffffffffa01f85e2\n')
+f('sys/module/pcmcia/sections/.symtab', 0o664, b'0xffffffffa01f9a28\n')
+f('sys/module/pcmcia/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa01fc780\n')
+f('sys/module/pcmcia/sections/.rodata.str1.1', 0o664, b'0xffffffffa01f913d\n')
+d('sys/module/pcmcia/notes', 0o775)
+f('sys/module/pcmcia/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00v\xd6BR5q\xd2\xd4\x05y\xe0\x84j\x17\xab\xb2\xe6o\xd43')
+d('sys/module/nvram', 0o775)
+f('sys/module/nvram/initstate', 0o664, b'live\n')
+f('sys/module/nvram/srcversion', 0o664, b'ECD12B2949BC771BDCE8146\n')
+f('sys/module/nvram/refcnt', 0o664, b'1\n')
+d('sys/module/nvram/holders', 0o775)
+l('sys/module/nvram/holders/thinkpad_acpi', '../../thinkpad_acpi')
+d('sys/module/nvram/sections', 0o775)
+f('sys/module/nvram/sections/__ksymtab_strings', 0o664, b'0xffffffffa00ad2c0\n')
+f('sys/module/nvram/sections/.exit.text', 0o664, b'0xffffffffa00ace3c\n')
+f('sys/module/nvram/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00ace5c\n')
+f('sys/module/nvram/sections/.strtab', 0o664, b'0xffffffffa00adc38\n')
+f('sys/module/nvram/sections/__ksymtab', 0o664, b'0xffffffffa00ad230\n')
+f('sys/module/nvram/sections/.rodata', 0o664, b'0xffffffffa00ace80\n')
+f('sys/module/nvram/sections/.bss', 0o664, b'0xffffffffa00ae640\n')
+f('sys/module/nvram/sections/.text', 0o664, b'0xffffffffa00ac000\n')
+f('sys/module/nvram/sections/.init.text', 0o664, b'0xffffffffa00b0000\n')
+f('sys/module/nvram/sections/__kcrctab', 0o664, b'0xffffffffa00ad290\n')
+f('sys/module/nvram/sections/.data', 0o664, b'0xffffffffa00ae200\n')
+f('sys/module/nvram/sections/.symtab', 0o664, b'0xffffffffa00ad338\n')
+f('sys/module/nvram/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa00ae280\n')
+f('sys/module/nvram/sections/.rodata.str1.1', 0o664, b'0xffffffffa00acfb8\n')
+d('sys/module/nvram/notes', 0o775)
+f('sys/module/nvram/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\x00j\xf9\trf\x94M\xafD\\s\xced\xcc\x97c\xd5L\n')
+d('sys/module/scsi_mod', 0o775)
+d('sys/module/scsi_mod/parameters', 0o775)
+f('sys/module/scsi_mod/parameters/scan', 0o664, b'sync\n')
+f('sys/module/scsi_mod/parameters/default_dev_flags', 0o664, b'0\n')
+f('sys/module/scsi_mod/parameters/scsi_logging_level', 0o664, b'0\n')
+f('sys/module/scsi_mod/parameters/inq_timeout', 0o664, b'5\n')
+f('sys/module/scsi_mod/parameters/max_luns', 0o664, b'512\n')
+f('sys/module/scsi_mod/parameters/max_report_luns', 0o664, b'511\n')
+d('sys/module/pcmcia_core', 0o775)
+f('sys/module/pcmcia_core/initstate', 0o664, b'live\n')
+f('sys/module/pcmcia_core/srcversion', 0o664, b'7C1220572DE8897E4D560EB\n')
+f('sys/module/pcmcia_core/refcnt', 0o664, b'3\n')
+d('sys/module/pcmcia_core/holders', 0o775)
+l('sys/module/pcmcia_core/holders/yenta_socket', '../../yenta_socket')
+l('sys/module/pcmcia_core/holders/rsrc_nonstatic', '../../rsrc_nonstatic')
+l('sys/module/pcmcia_core/holders/pcmcia', '../../pcmcia')
+d('sys/module/pcmcia_core/parameters', 0o775)
+f('sys/module/pcmcia_core/parameters/setup_delay', 0o664, b'10\n')
+f('sys/module/pcmcia_core/parameters/cis_speed', 0o664, b'300\n')
+f('sys/module/pcmcia_core/parameters/unreset_delay', 0o664, b'10\n')
+f('sys/module/pcmcia_core/parameters/shutdown_delay', 0o664, b'3\n')
+f('sys/module/pcmcia_core/parameters/cis_width', 0o664, b'0\n')
+f('sys/module/pcmcia_core/parameters/unreset_limit', 0o664, b'30\n')
+f('sys/module/pcmcia_core/parameters/reset_time', 0o664, b'10\n')
+f('sys/module/pcmcia_core/parameters/resume_delay', 0o664, b'20\n')
+f('sys/module/pcmcia_core/parameters/unreset_check', 0o664, b'10\n')
+f('sys/module/pcmcia_core/parameters/vcc_settle', 0o664, b'40\n')
+d('sys/module/pcmcia_core/sections', 0o775)
+f('sys/module/pcmcia_core/sections/__ksymtab_strings', 0o664, b'0xffffffffa0094310\n')
+f('sys/module/pcmcia_core/sections/.exit.text', 0o664, b'0xffffffffa0093558\n')
+f('sys/module/pcmcia_core/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0093668\n')
+f('sys/module/pcmcia_core/sections/.strtab', 0o664, b'0xffffffffa0096898\n')
+f('sys/module/pcmcia_core/sections/__ksymtab', 0o664, b'0xffffffffa0093e50\n')
+f('sys/module/pcmcia_core/sections/.rodata', 0o664, b'0xffffffffa00936a0\n')
+f('sys/module/pcmcia_core/sections/__param', 0o664, b'0xffffffffa0094180\n')
+f('sys/module/pcmcia_core/sections/.bss', 0o664, b'0xffffffffa0098f40\n')
+f('sys/module/pcmcia_core/sections/.text', 0o664, b'0xffffffffa008f000\n')
+f('sys/module/pcmcia_core/sections/.init.text', 0o664, b'0xffffffffa009a000\n')
+f('sys/module/pcmcia_core/sections/__kcrctab', 0o664, b'0xffffffffa0094070\n')
+f('sys/module/pcmcia_core/sections/.data', 0o664, b'0xffffffffa0098700\n')
+f('sys/module/pcmcia_core/sections/.symtab', 0o664, b'0xffffffffa00945d0\n')
+f('sys/module/pcmcia_core/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0098b80\n')
+f('sys/module/pcmcia_core/sections/.rodata.str1.1', 0o664, b'0xffffffffa0093a88\n')
+f('sys/module/pcmcia_core/sections/.ref.text', 0o664, b'0xffffffffa0093580\n')
+d('sys/module/pcmcia_core/notes', 0o775)
+f('sys/module/pcmcia_core/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00M\xe5~\xb9\x10\x7f(\xb8\x18\xe2ma\xb4\xdc\x9a\x8er\xb2t\xbc')
+d('sys/module/rtc_core', 0o775)
+f('sys/module/rtc_core/initstate', 0o664, b'live\n')
+f('sys/module/rtc_core/srcversion', 0o664, b'8684A14821938B7D8E50DB5\n')
+f('sys/module/rtc_core/refcnt', 0o664, b'1\n')
+d('sys/module/rtc_core/holders', 0o775)
+l('sys/module/rtc_core/holders/rtc_cmos', '../../rtc_cmos')
+d('sys/module/rtc_core/sections', 0o775)
+f('sys/module/rtc_core/sections/__ksymtab_gpl', 0o664, b'0xffffffffa00ea380\n')
+f('sys/module/rtc_core/sections/.smp_locks', 0o664, b'0xffffffffa00ea5b8\n')
+f('sys/module/rtc_core/sections/__ksymtab_strings', 0o664, b'0xffffffffa00ea4d0\n')
+f('sys/module/rtc_core/sections/.exit.text', 0o664, b'0xffffffffa00e9e60\n')
+f('sys/module/rtc_core/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00e9ea4\n')
+f('sys/module/rtc_core/sections/.strtab', 0o664, b'0xffffffffa00eb9c0\n')
+f('sys/module/rtc_core/sections/.rodata', 0o664, b'0xffffffffa00e9ee0\n')
+f('sys/module/rtc_core/sections/.bss', 0o664, b'0xffffffffa00ecd80\n')
+f('sys/module/rtc_core/sections/.text', 0o664, b'0xffffffffa00e8000\n')
+f('sys/module/rtc_core/sections/.init.text', 0o664, b'0xffffffffa007d000\n')
+f('sys/module/rtc_core/sections/.data', 0o664, b'0xffffffffa00ec760\n')
+f('sys/module/rtc_core/sections/.symtab', 0o664, b'0xffffffffa00ea5e0\n')
+f('sys/module/rtc_core/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa00ec9c0\n')
+f('sys/module/rtc_core/sections/.rodata.str1.1', 0o664, b'0xffffffffa00ea098\n')
+f('sys/module/rtc_core/sections/__kcrctab_gpl', 0o664, b'0xffffffffa00ea460\n')
+d('sys/module/rtc_core/notes', 0o775)
+f('sys/module/rtc_core/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xfbj\x90X\x98\xf7\x0e\x95\x19\xc6\xa1\xa1\xcd\xe0\x835$\x0e\x96\x17')
+d('sys/module/led_class', 0o775)
+f('sys/module/led_class/initstate', 0o664, b'live\n')
+f('sys/module/led_class/srcversion', 0o664, b'B916A50F53ABBBB19DFF203\n')
+f('sys/module/led_class/refcnt', 0o664, b'2\n')
+d('sys/module/led_class/holders', 0o775)
+l('sys/module/led_class/holders/iwl3945', '../../iwl3945')
+l('sys/module/led_class/holders/thinkpad_acpi', '../../thinkpad_acpi')
+d('sys/module/led_class/sections', 0o775)
+f('sys/module/led_class/sections/__ksymtab_gpl', 0o664, b'0xffffffffa00f23c0\n')
+f('sys/module/led_class/sections/__ksymtab_strings', 0o664, b'0xffffffffa00f2420\n')
+f('sys/module/led_class/sections/.exit.text', 0o664, b'0xffffffffa00f2330\n')
+f('sys/module/led_class/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00f2344\n')
+f('sys/module/led_class/sections/.strtab', 0o664, b'0xffffffffa00f2bf8\n')
+f('sys/module/led_class/sections/.bss', 0o664, b'0xffffffffa00f3500\n')
+f('sys/module/led_class/sections/.text', 0o664, b'0xffffffffa00f2000\n')
+f('sys/module/led_class/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/led_class/sections/.data', 0o664, b'0xffffffffa00f30c0\n')
+f('sys/module/led_class/sections/.symtab', 0o664, b'0xffffffffa00f2478\n')
+f('sys/module/led_class/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa00f3140\n')
+f('sys/module/led_class/sections/.rodata.str1.1', 0o664, b'0xffffffffa00f2368\n')
+f('sys/module/led_class/sections/__kcrctab_gpl', 0o664, b'0xffffffffa00f2400\n')
+d('sys/module/led_class/notes', 0o775)
+f('sys/module/led_class/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00Iq;\xaf\xad\xf1\xe5\xcf8\xa5\x86u\xa9tMV\x02*\xfd\r')
+d('sys/module/libata', 0o775)
+d('sys/module/libata/parameters', 0o775)
+f('sys/module/libata/parameters/acpi_gtf_filter', 0o664, b'7\n')
+f('sys/module/libata/parameters/noacpi', 0o664, b'0\n')
+f('sys/module/libata/parameters/atapi_passthru16', 0o664, b'1\n')
+f('sys/module/libata/parameters/ata_probe_timeout', 0o664, b'0\n')
+f('sys/module/libata/parameters/dma', 0o664, b'7\n')
+f('sys/module/libata/parameters/atapi_dmadir', 0o664, b'0\n')
+f('sys/module/libata/parameters/fua', 0o664, b'0\n')
+f('sys/module/libata/parameters/ignore_hpa', 0o664, b'0\n')
+f('sys/module/libata/parameters/atapi_enabled', 0o664, b'1\n')
+f('sys/module/libata/parameters/allow_tpm', 0o664, b'0\n')
+d('sys/module/thermal', 0o775)
+f('sys/module/thermal/initstate', 0o664, b'live\n')
+f('sys/module/thermal/srcversion', 0o664, b'1787CE9FEB053C917D031A9\n')
+f('sys/module/thermal/refcnt', 0o664, b'0\n')
+d('sys/module/thermal/parameters', 0o775)
+f('sys/module/thermal/parameters/act', 0o664, b'0\n')
+f('sys/module/thermal/parameters/tzp', 0o664, b'0\n')
+f('sys/module/thermal/parameters/crt', 0o664, b'0\n')
+f('sys/module/thermal/parameters/psv', 0o664, b'0\n')
+d('sys/module/thermal/sections', 0o775)
+f('sys/module/thermal/sections/.exit.text', 0o664, b'0xffffffffa00a1f14\n')
+f('sys/module/thermal/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00a1f3c\n')
+f('sys/module/thermal/sections/.strtab', 0o664, b'0xffffffffa00a3b28\n')
+f('sys/module/thermal/sections/.rodata', 0o664, b'0xffffffffa00a1f60\n')
+f('sys/module/thermal/sections/__param', 0o664, b'0xffffffffa00a29d0\n')
+f('sys/module/thermal/sections/.bss', 0o664, b'0xffffffffa00a4bc0\n')
+f('sys/module/thermal/sections/.text', 0o664, b'0xffffffffa00a0000\n')
+f('sys/module/thermal/sections/.init.text', 0o664, b'0xffffffffa0070000\n')
+f('sys/module/thermal/sections/.data', 0o664, b'0xffffffffa00a4640\n')
+f('sys/module/thermal/sections/.init.data', 0o664, b'0xffffffffa0070090\n')
+f('sys/module/thermal/sections/.symtab', 0o664, b'0xffffffffa00a2ac0\n')
+f('sys/module/thermal/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa00a4800\n')
+f('sys/module/thermal/sections/.rodata.str1.1', 0o664, b'0xffffffffa00a242a\n')
+d('sys/module/thermal/notes', 0o775)
+f('sys/module/thermal/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\x97\xa9\xec\xf2\x01\x86!\x94\x89\xa4n%q\t\xb7\xb4\x97a\x1a\x85')
+d('sys/module/keyboard', 0o775)
+d('sys/module/keyboard/parameters', 0o775)
+f('sys/module/keyboard/parameters/brl_nbchords', 0o664, b'1\n')
+f('sys/module/keyboard/parameters/brl_timeout', 0o664, b'300\n')
+d('sys/module/ahci', 0o775)
+d('sys/module/ahci/drivers', 0o775)
+l('sys/module/ahci/drivers/pci:ahci', '../../../bus/pci/drivers/ahci')
+d('sys/module/ahci/parameters', 0o775)
+f('sys/module/ahci/parameters/marvell_enable', 0o664, b'1\n')
+f('sys/module/ahci/parameters/ahci_em_messages', 0o664, b'1\n')
+f('sys/module/ahci/parameters/skip_host_reset', 0o664, b'0\n')
+d('sys/module/snd_pcm_oss', 0o775)
+f('sys/module/snd_pcm_oss/initstate', 0o664, b'live\n')
+f('sys/module/snd_pcm_oss/srcversion', 0o664, b'E3D05A52B04130012283029\n')
+f('sys/module/snd_pcm_oss/refcnt', 0o664, b'0\n')
+d('sys/module/snd_pcm_oss/parameters', 0o775)
+f('sys/module/snd_pcm_oss/parameters/dsp_map', 0o664, b'0,0,0,0,0,0,0,0\n')
+f('sys/module/snd_pcm_oss/parameters/nonblock_open', 0o664, b'Y\n')
+f('sys/module/snd_pcm_oss/parameters/adsp_map', 0o664, b'1,1,1,1,1,1,1,1\n')
+d('sys/module/snd_pcm_oss/sections', 0o775)
+f('sys/module/snd_pcm_oss/sections/.exit.text', 0o664, b'0xffffffffa02c6e7c\n')
+f('sys/module/snd_pcm_oss/sections/.note.gnu.build-id', 0o664, b'0xffffffffa02c6e94\n')
+f('sys/module/snd_pcm_oss/sections/.strtab', 0o664, b'0xffffffffa02c8818\n')
+f('sys/module/snd_pcm_oss/sections/.rodata', 0o664, b'0xffffffffa02c6ec0\n')
+f('sys/module/snd_pcm_oss/sections/__param', 0o664, b'0xffffffffa02c7378\n')
+f('sys/module/snd_pcm_oss/sections/.bss', 0o664, b'0xffffffffa02c9b00\n')
+f('sys/module/snd_pcm_oss/sections/.text', 0o664, b'0xffffffffa02bf000\n')
+f('sys/module/snd_pcm_oss/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/snd_pcm_oss/sections/.data', 0o664, b'0xffffffffa02c96c0\n')
+f('sys/module/snd_pcm_oss/sections/.symtab', 0o664, b'0xffffffffa02c73f0\n')
+f('sys/module/snd_pcm_oss/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa02c9740\n')
+f('sys/module/snd_pcm_oss/sections/.rodata.str1.1', 0o664, b'0xffffffffa02c71a8\n')
+d('sys/module/snd_pcm_oss/notes', 0o775)
+f('sys/module/snd_pcm_oss/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xd7y|\xbf\xa5\x8aZm\x86\x85CF\x11s\xd3\xf5f\xbd7\xc6')
+d('sys/module/ac', 0o775)
+f('sys/module/ac/initstate', 0o664, b'live\n')
+f('sys/module/ac/srcversion', 0o664, b'6E9CD20EE5BE8425A61B938\n')
+f('sys/module/ac/refcnt', 0o664, b'0\n')
+d('sys/module/ac/sections', 0o775)
+f('sys/module/ac/sections/.exit.text', 0o664, b'0xffffffffa006d43c\n')
+f('sys/module/ac/sections/.note.gnu.build-id', 0o664, b'0xffffffffa006d45c\n')
+f('sys/module/ac/sections/.strtab', 0o664, b'0xffffffffa006dd28\n')
+f('sys/module/ac/sections/.rodata', 0o664, b'0xffffffffa006d480\n')
+f('sys/module/ac/sections/.bss', 0o664, b'0xffffffffa006e600\n')
+f('sys/module/ac/sections/.text', 0o664, b'0xffffffffa006d000\n')
+f('sys/module/ac/sections/.init.text', 0o664, b'0xffffffffa0070000\n')
+f('sys/module/ac/sections/.data', 0o664, b'0xffffffffa006e0d0\n')
+f('sys/module/ac/sections/.symtab', 0o664, b'0xffffffffa006d668\n')
+f('sys/module/ac/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa006e240\n')
+f('sys/module/ac/sections/.rodata.str1.1', 0o664, b'0xffffffffa006d5a0\n')
+d('sys/module/ac/notes', 0o775)
+f('sys/module/ac/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00^h\xf0\x19\xcc\x94"G\xf8\xbc\x1c\xf0\xa3\x8d?\xec\xa5\xc4\x95\x9f')
+d('sys/module/dock', 0o775)
+d('sys/module/dock/parameters', 0o775)
+f('sys/module/dock/parameters/immediate_undock', 0o664, b'Y\n')
+d('sys/module/pcie_aspm', 0o775)
+d('sys/module/pcie_aspm/parameters', 0o775)
+f('sys/module/pcie_aspm/parameters/policy', 0o664, b'[default] performance powersave \n')
+d('sys/module/lockdep', 0o775)
+d('sys/module/lockdep/parameters', 0o775)
+f('sys/module/lockdep/parameters/lock_stat', 0o664, b'1\n')
+d('sys/module/tcp_cubic', 0o775)
+d('sys/module/tcp_cubic/parameters', 0o775)
+f('sys/module/tcp_cubic/parameters/tcp_friendliness', 0o664, b'1\n')
+f('sys/module/tcp_cubic/parameters/beta', 0o664, b'717\n')
+f('sys/module/tcp_cubic/parameters/bic_scale', 0o664, b'41\n')
+f('sys/module/tcp_cubic/parameters/fast_convergence', 0o664, b'1\n')
+f('sys/module/tcp_cubic/parameters/initial_ssthresh', 0o664, b'0\n')
+d('sys/module/ecb', 0o775)
+f('sys/module/ecb/initstate', 0o664, b'live\n')
+f('sys/module/ecb/srcversion', 0o664, b'5BBA8E5CDEA4EA8BA5ED31D\n')
+f('sys/module/ecb/refcnt', 0o664, b'2\n')
+d('sys/module/ecb/sections', 0o775)
+f('sys/module/ecb/sections/.exit.text', 0o664, b'0xffffffffa0027300\n')
+f('sys/module/ecb/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0027314\n')
+f('sys/module/ecb/sections/.strtab', 0o664, b'0xffffffffa00277c0\n')
+f('sys/module/ecb/sections/.bss', 0o664, b'0xffffffffa0027e80\n')
+f('sys/module/ecb/sections/.text', 0o664, b'0xffffffffa0027000\n')
+f('sys/module/ecb/sections/.init.text', 0o664, b'0xffffffffa006b000\n')
+f('sys/module/ecb/sections/.data', 0o664, b'0xffffffffa0027a40\n')
+f('sys/module/ecb/sections/.symtab', 0o664, b'0xffffffffa0027340\n')
+f('sys/module/ecb/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0027ac0\n')
+f('sys/module/ecb/sections/.rodata.str1.1', 0o664, b'0xffffffffa0027338\n')
+d('sys/module/ecb/notes', 0o775)
+f('sys/module/ecb/notes/.note.gnu.build-id', 0o664, b"\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xc20'\x18T\x8bW#\xf5\xe5\xf8JvI\xcb\xc4\x91\x95\nJ")
+d('sys/module/snd_page_alloc', 0o775)
+f('sys/module/snd_page_alloc/initstate', 0o664, b'live\n')
+f('sys/module/snd_page_alloc/srcversion', 0o664, b'D9E59C27F28D5DA2B935016\n')
+f('sys/module/snd_page_alloc/refcnt', 0o664, b'2\n')
+d('sys/module/snd_page_alloc/holders', 0o775)
+l('sys/module/snd_page_alloc/holders/snd_pcm', '../../snd_pcm')
+l('sys/module/snd_page_alloc/holders/snd_hda_intel', '../../snd_hda_intel')
+d('sys/module/snd_page_alloc/sections', 0o775)
+f('sys/module/snd_page_alloc/sections/__ksymtab_strings', 0o664, b'0xffffffffa00350e8\n')
+f('sys/module/snd_page_alloc/sections/.exit.text', 0o664, b'0xffffffffa0034cc0\n')
+f('sys/module/snd_page_alloc/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0034cf8\n')
+f('sys/module/snd_page_alloc/sections/.strtab', 0o664, b'0xffffffffa0035be8\n')
+f('sys/module/snd_page_alloc/sections/__ksymtab', 0o664, b'0xffffffffa0035040\n')
+f('sys/module/snd_page_alloc/sections/.rodata', 0o664, b'0xffffffffa0034d20\n')
+f('sys/module/snd_page_alloc/sections/.bss', 0o664, b'0xffffffffa0036780\n')
+f('sys/module/snd_page_alloc/sections/.text', 0o664, b'0xffffffffa0034000\n')
+f('sys/module/snd_page_alloc/sections/.init.text', 0o664, b'0xffffffffa0038000\n')
+f('sys/module/snd_page_alloc/sections/__kcrctab', 0o664, b'0xffffffffa00350b0\n')
+f('sys/module/snd_page_alloc/sections/.data', 0o664, b'0xffffffffa0036300\n')
+f('sys/module/snd_page_alloc/sections/.symtab', 0o664, b'0xffffffffa0035180\n')
+f('sys/module/snd_page_alloc/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa00363c0\n')
+f('sys/module/snd_page_alloc/sections/.rodata.str1.1', 0o664, b'0xffffffffa0034fd5\n')
+d('sys/module/snd_page_alloc/notes', 0o775)
+f('sys/module/snd_page_alloc/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00s\xc1\x8a\x9a\xf7g\x83-x\xc0\xbe\x98\xb0[\x95"\xd7\x97Q=')
+d('sys/module/loop', 0o775)
+f('sys/module/loop/initstate', 0o664, b'live\n')
+f('sys/module/loop/srcversion', 0o664, b'7595F5D46DFDB4A2D489DDD\n')
+f('sys/module/loop/refcnt', 0o664, b'0\n')
+d('sys/module/loop/sections', 0o775)
+f('sys/module/loop/sections/__bug_table', 0o664, b'0xffffffffa023ca1f\n')
+f('sys/module/loop/sections/__ksymtab_strings', 0o664, b'0xffffffffa023caf0\n')
+f('sys/module/loop/sections/.exit.text', 0o664, b'0xffffffffa023c72c\n')
+f('sys/module/loop/sections/.note.gnu.build-id', 0o664, b'0xffffffffa023c7e4\n')
+f('sys/module/loop/sections/.strtab', 0o664, b'0xffffffffa023d960\n')
+f('sys/module/loop/sections/__ksymtab', 0o664, b'0xffffffffa023ca70\n')
+f('sys/module/loop/sections/.rodata', 0o664, b'0xffffffffa023c808\n')
+f('sys/module/loop/sections/__param', 0o664, b'0xffffffffa023caa0\n')
+f('sys/module/loop/sections/.bss', 0o664, b'0xffffffffa023e780\n')
+f('sys/module/loop/sections/.text', 0o664, b'0xffffffffa023a000\n')
+f('sys/module/loop/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/loop/sections/__kcrctab', 0o664, b'0xffffffffa023ca90\n')
+f('sys/module/loop/sections/.data', 0o664, b'0xffffffffa023e180\n')
+f('sys/module/loop/sections/.symtab', 0o664, b'0xffffffffa023cb20\n')
+f('sys/module/loop/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa023e3c0\n')
+f('sys/module/loop/sections/.rodata.str1.1', 0o664, b'0xffffffffa023c88a\n')
+d('sys/module/loop/notes', 0o775)
+f('sys/module/loop/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x007;\xf4\xa1\x0e\xe8\x13\xedX\xe6\xbc\xa4\xcd\xde_\x7fe\x84\x90\x85')
+d('sys/module/aes_generic', 0o775)
+f('sys/module/aes_generic/initstate', 0o664, b'live\n')
+f('sys/module/aes_generic/srcversion', 0o664, b'CE7DEF557FD2F72DE36DE4A\n')
+f('sys/module/aes_generic/refcnt', 0o664, b'1\n')
+d('sys/module/aes_generic/holders', 0o775)
+l('sys/module/aes_generic/holders/aes_x86_64', '../../aes_x86_64')
+d('sys/module/aes_generic/sections', 0o775)
+f('sys/module/aes_generic/sections/__ksymtab_gpl', 0o664, b'0xffffffffa02ccef0\n')
+f('sys/module/aes_generic/sections/__ksymtab_strings', 0o664, b'0xffffffffa02ccf80\n')
+f('sys/module/aes_generic/sections/.exit.text', 0o664, b'0xffffffffa02cceb8\n')
+f('sys/module/aes_generic/sections/.note.gnu.build-id', 0o664, b'0xffffffffa02ccecc\n')
+f('sys/module/aes_generic/sections/.strtab', 0o664, b'0xffffffffa02cd678\n')
+f('sys/module/aes_generic/sections/.bss', 0o664, b'0xffffffffa02cdf80\n')
+f('sys/module/aes_generic/sections/.text', 0o664, b'0xffffffffa02cb000\n')
+f('sys/module/aes_generic/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/aes_generic/sections/.data', 0o664, b'0xffffffffa02cda80\n')
+f('sys/module/aes_generic/sections/.init.data', 0o664, b'0xffffffffa0065300\n')
+f('sys/module/aes_generic/sections/.symtab', 0o664, b'0xffffffffa02ccfe8\n')
+f('sys/module/aes_generic/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa02cdbc0\n')
+f('sys/module/aes_generic/sections/__kcrctab_gpl', 0o664, b'0xffffffffa02ccf50\n')
+d('sys/module/aes_generic/notes', 0o775)
+f('sys/module/aes_generic/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00V@\xa6&\x10\xf7X\xe0q\xbf\xb9G\xd9d\x004\x06h\xe6\x13')
+d('sys/module/snd_seq_device', 0o775)
+f('sys/module/snd_seq_device/initstate', 0o664, b'live\n')
+f('sys/module/snd_seq_device/srcversion', 0o664, b'A166653189DAF15E3F2B588\n')
+f('sys/module/snd_seq_device/refcnt', 0o664, b'1\n')
+d('sys/module/snd_seq_device/holders', 0o775)
+l('sys/module/snd_seq_device/holders/snd_seq', '../../snd_seq')
+d('sys/module/snd_seq_device/sections', 0o775)
+f('sys/module/snd_seq_device/sections/__ksymtab_strings', 0o664, b'0xffffffffa02a5d10\n')
+f('sys/module/snd_seq_device/sections/.exit.text', 0o664, b'0xffffffffa02a5a5c\n')
+f('sys/module/snd_seq_device/sections/.note.gnu.build-id', 0o664, b'0xffffffffa02a5a90\n')
+f('sys/module/snd_seq_device/sections/.strtab', 0o664, b'0xffffffffa02a66e0\n')
+f('sys/module/snd_seq_device/sections/__ksymtab', 0o664, b'0xffffffffa02a5c80\n')
+f('sys/module/snd_seq_device/sections/.bss', 0o664, b'0xffffffffa02a7280\n')
+f('sys/module/snd_seq_device/sections/.text', 0o664, b'0xffffffffa02a5000\n')
+f('sys/module/snd_seq_device/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/snd_seq_device/sections/__kcrctab', 0o664, b'0xffffffffa02a5ce0\n')
+f('sys/module/snd_seq_device/sections/.data', 0o664, b'0xffffffffa02a6de0\n')
+f('sys/module/snd_seq_device/sections/.symtab', 0o664, b'0xffffffffa02a5db0\n')
+f('sys/module/snd_seq_device/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa02a6ec0\n')
+f('sys/module/snd_seq_device/sections/.rodata.str1.1', 0o664, b'0xffffffffa02a5bd0\n')
+d('sys/module/snd_seq_device/notes', 0o775)
+f('sys/module/snd_seq_device/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xb6B\x93\xc2\xcc\x83\xa8\xfc\xc2r\xf6\x8c\xcej\n\xc5\x87ys\r')
+d('sys/module/8250', 0o775)
+d('sys/module/8250/parameters', 0o775)
+f('sys/module/8250/parameters/share_irqs', 0o664, b'0\n')
+f('sys/module/8250/parameters/nr_uarts', 0o664, b'4\n')
+d('sys/module/ipv6', 0o775)
+f('sys/module/ipv6/initstate', 0o664, b'live\n')
+f('sys/module/ipv6/srcversion', 0o664, b'184C844E7A78529619B4C9D\n')
+f('sys/module/ipv6/refcnt', 0o664, b'10\n')
+d('sys/module/ipv6/sections', 0o775)
+f('sys/module/ipv6/sections/__ksymtab_gpl', 0o664, b'0xffffffffa028ac10\n')
+f('sys/module/ipv6/sections/.smp_locks', 0o664, b'0xffffffffa028a240\n')
+f('sys/module/ipv6/sections/__bug_table', 0o664, b'0xffffffffa0288edd\n')
+f('sys/module/ipv6/sections/__ksymtab_strings', 0o664, b'0xffffffffa028b108\n')
+f('sys/module/ipv6/sections/.exit.text', 0o664, b'0xffffffffa0285e40\n')
+f('sys/module/ipv6/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0286024\n')
+f('sys/module/ipv6/sections/.strtab', 0o664, b'0xffffffffa02937f0\n')
+f('sys/module/ipv6/sections/__ksymtab', 0o664, b'0xffffffffa028ad90\n')
+f('sys/module/ipv6/sections/.rodata', 0o664, b'0xffffffffa0286060\n')
+f('sys/module/ipv6/sections/.data.read_mostly', 0o664, b'0xffffffffa029cf20\n')
+f('sys/module/ipv6/sections/.bss', 0o664, b'0xffffffffa029dd80\n')
+f('sys/module/ipv6/sections/.text', 0o664, b'0xffffffffa0258000\n')
+f('sys/module/ipv6/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/ipv6/sections/__kcrctab', 0o664, b'0xffffffffa028afe0\n')
+f('sys/module/ipv6/sections/.data', 0o664, b'0xffffffffa02998c0\n')
+f('sys/module/ipv6/sections/.init.data', 0o664, b'0xffffffffa0065d80\n')
+f('sys/module/ipv6/sections/.symtab', 0o664, b'0xffffffffa028b4c8\n')
+f('sys/module/ipv6/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa029d9c0\n')
+f('sys/module/ipv6/sections/.rodata.str1.1', 0o664, b'0xffffffffa02883c0\n')
+f('sys/module/ipv6/sections/.ref.text', 0o664, b'0xffffffffa0285f40\n')
+f('sys/module/ipv6/sections/__kcrctab_gpl', 0o664, b'0xffffffffa028ad10\n')
+d('sys/module/ipv6/notes', 0o775)
+f('sys/module/ipv6/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\x90\x01\xde\xf3>\xfd_r\xbc\xbb\x16\xbd\xceIf\xc2vC\xbd\xc9')
+d('sys/module/microcode', 0o775)
+f('sys/module/microcode/initstate', 0o664, b'live\n')
+f('sys/module/microcode/srcversion', 0o664, b'FC3DA13E858B639D12F2043\n')
+f('sys/module/microcode/refcnt', 0o664, b'0\n')
+d('sys/module/microcode/sections', 0o775)
+f('sys/module/microcode/sections/__bug_table', 0o664, b'0xffffffffa02516f7\n')
+f('sys/module/microcode/sections/.exit.text', 0o664, b'0xffffffffa0250ff6\n')
+f('sys/module/microcode/sections/.note.gnu.build-id', 0o664, b'0xffffffffa0251040\n')
+f('sys/module/microcode/sections/.strtab', 0o664, b'0xffffffffa02520b8\n')
+f('sys/module/microcode/sections/.rodata', 0o664, b'0xffffffffa0251080\n')
+f('sys/module/microcode/sections/.bss', 0o664, b'0xffffffffa0252c40\n')
+f('sys/module/microcode/sections/.text', 0o664, b'0xffffffffa0250000\n')
+f('sys/module/microcode/sections/.init.text', 0o664, b'0xffffffffa0065000\n')
+f('sys/module/microcode/sections/.ref.data', 0o664, b'0xffffffffa0252850\n')
+f('sys/module/microcode/sections/.data', 0o664, b'0xffffffffa0252600\n')
+f('sys/module/microcode/sections/.symtab', 0o664, b'0xffffffffa0251740\n')
+f('sys/module/microcode/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa0252880\n')
+f('sys/module/microcode/sections/.rodata.str1.1', 0o664, b'0xffffffffa0251218\n')
+f('sys/module/microcode/sections/.cpuinit.text', 0o664, b'0xffffffffa0250d90\n')
+d('sys/module/microcode/notes', 0o775)
+f('sys/module/microcode/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\x81 p\x0b\x99+\x14\x05\x9c\xb2\xf6{\xacs\xa9\xf3<\xb5\x99\x1a')
+d('sys/module/i8042', 0o775)
+d('sys/module/i8042/parameters', 0o775)
+f('sys/module/i8042/parameters/debug', 0o664, b'N\n')
+f('sys/module/i8042/parameters/panicblink', 0o664, b'500\n')
+d('sys/module/usbcore', 0o775)
+f('sys/module/usbcore/initstate', 0o664, b'live\n')
+f('sys/module/usbcore/srcversion', 0o664, b'4FF77EB8DAB25F4076D7357\n')
+f('sys/module/usbcore/refcnt', 0o664, b'5\n')
+d('sys/module/usbcore/holders', 0o775)
+l('sys/module/usbcore/holders/uhci_hcd', '../../uhci_hcd')
+l('sys/module/usbcore/holders/usb_storage', '../../usb_storage')
+l('sys/module/usbcore/holders/cdc_acm', '../../cdc_acm')
+l('sys/module/usbcore/holders/usbhid', '../../usbhid')
+l('sys/module/usbcore/holders/ehci_hcd', '../../ehci_hcd')
+d('sys/module/usbcore/drivers', 0o775)
+l('sys/module/usbcore/drivers/usb:usbfs', '../../../bus/usb/drivers/usbfs')
+l('sys/module/usbcore/drivers/usb:usb', '../../../bus/usb/drivers/usb')
+l('sys/module/usbcore/drivers/usb:hub', '../../../bus/usb/drivers/hub')
+d('sys/module/usbcore/parameters', 0o775)
+f('sys/module/usbcore/parameters/use_both_schemes', 0o664, b'Y\n')
+f('sys/module/usbcore/parameters/blinkenlights', 0o664, b'N\n')
+f('sys/module/usbcore/parameters/usbfs_snoop', 0o664, b'N\n')
+f('sys/module/usbcore/parameters/autosuspend', 0o664, b'2\n')
+f('sys/module/usbcore/parameters/nousb', 0o664, b'N\n')
+f('sys/module/usbcore/parameters/old_scheme_first', 0o664, b'N\n')
+d('sys/module/usbcore/sections', 0o775)
+f('sys/module/usbcore/sections/__ksymtab_gpl', 0o664, b'0xffffffffa004ea30\n')
+f('sys/module/usbcore/sections/.smp_locks', 0o664, b'0xffffffffa004f930\n')
+f('sys/module/usbcore/sections/__ex_table', 0o664, b'0xffffffffa004fa58\n')
+f('sys/module/usbcore/sections/__bug_table', 0o664, b'0xffffffffa004fa40\n')
+f('sys/module/usbcore/sections/__ksymtab_strings', 0o664, b'0xffffffffa004f300\n')
+f('sys/module/usbcore/sections/.exit.text', 0o664, b'0xffffffffa004ba30\n')
+f('sys/module/usbcore/sections/.note.gnu.build-id', 0o664, b'0xffffffffa004bb30\n')
+f('sys/module/usbcore/sections/.strtab', 0o664, b'0xffffffffa0055cf8\n')
+f('sys/module/usbcore/sections/.fixup', 0o664, b'0xffffffffa004ba87\n')
+f('sys/module/usbcore/sections/.rodata', 0o664, b'0xffffffffa004bb60\n')
+f('sys/module/usbcore/sections/__param', 0o664, b'0xffffffffa004f210\n')
+f('sys/module/usbcore/sections/.bss', 0o664, b'0xffffffffa005cec0\n')
+f('sys/module/usbcore/sections/.text', 0o664, b'0xffffffffa0038000\n')
+f('sys/module/usbcore/sections/.init.text', 0o664, b'0xffffffffa0027000\n')
+f('sys/module/usbcore/sections/.data', 0o664, b'0xffffffffa005af00\n')
+f('sys/module/usbcore/sections/.symtab', 0o664, b'0xffffffffa004fb18\n')
+f('sys/module/usbcore/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa005cb00\n')
+f('sys/module/usbcore/sections/.rodata.str1.1', 0o664, b'0xffffffffa004c044\n')
+f('sys/module/usbcore/sections/__kcrctab_gpl', 0o664, b'0xffffffffa004ef70\n')
+d('sys/module/usbcore/notes', 0o775)
+f('sys/module/usbcore/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00!\xbeP\xa2@m\xffg\xff\x1b\xa8\x8f\xd2\xb3\x11\x14[\xb0\x89\x1e')
+d('sys/module/intel_agp', 0o775)
+f('sys/module/intel_agp/initstate', 0o664, b'live\n')
+f('sys/module/intel_agp/srcversion', 0o664, b'98AFACFFF6A1ADC3A6FAB67\n')
+f('sys/module/intel_agp/refcnt', 0o664, b'0\n')
+d('sys/module/intel_agp/drivers', 0o775)
+l('sys/module/intel_agp/drivers/pci:agpgart-intel', '../../../bus/pci/drivers/agpgart-intel')
+d('sys/module/intel_agp/sections', 0o775)
+f('sys/module/intel_agp/sections/.smp_locks', 0o664, b'0xffffffffa008ae38\n')
+f('sys/module/intel_agp/sections/.exit.text', 0o664, b'0xffffffffa00893ac\n')
+f('sys/module/intel_agp/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00896b0\n')
+f('sys/module/intel_agp/sections/.strtab', 0o664, b'0xffffffffa008c1b8\n')
+f('sys/module/intel_agp/sections/.devexit.text', 0o664, b'0xffffffffa00893be\n')
+f('sys/module/intel_agp/sections/.rodata', 0o664, b'0xffffffffa00896e0\n')
+f('sys/module/intel_agp/sections/.bss', 0o664, b'0xffffffffa008da00\n')
+f('sys/module/intel_agp/sections/.text', 0o664, b'0xffffffffa0086000\n')
+f('sys/module/intel_agp/sections/.init.text', 0o664, b'0xffffffffa008f000\n')
+f('sys/module/intel_agp/sections/.data', 0o664, b'0xffffffffa008cf60\n')
+f('sys/module/intel_agp/sections/.devinit.text', 0o664, b'0xffffffffa0089400\n')
+f('sys/module/intel_agp/sections/.symtab', 0o664, b'0xffffffffa008ae50\n')
+f('sys/module/intel_agp/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa008d640\n')
+f('sys/module/intel_agp/sections/.rodata.str1.1', 0o664, b'0xffffffffa008a9c0\n')
+d('sys/module/intel_agp/notes', 0o775)
+f('sys/module/intel_agp/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\xb0\xb5IU\x04F\xdb\x80\xdf\x9a8\xedq\x0b\xd4\xc7K\x851\x86')
+d('sys/module/evdev', 0o775)
+f('sys/module/evdev/initstate', 0o664, b'live\n')
+f('sys/module/evdev/srcversion', 0o664, b'6F6934C1F95317926EA0520\n')
+f('sys/module/evdev/refcnt', 0o664, b'5\n')
+d('sys/module/evdev/sections', 0o775)
+f('sys/module/evdev/sections/.exit.text', 0o664, b'0xffffffffa00b3724\n')
+f('sys/module/evdev/sections/.note.gnu.build-id', 0o664, b'0xffffffffa00b3738\n')
+f('sys/module/evdev/sections/.strtab', 0o664, b'0xffffffffa00b4610\n')
+f('sys/module/evdev/sections/.rodata', 0o664, b'0xffffffffa00b3760\n')
+f('sys/module/evdev/sections/.bss', 0o664, b'0xffffffffa00b50c0\n')
+f('sys/module/evdev/sections/.text', 0o664, b'0xffffffffa00b2000\n')
+f('sys/module/evdev/sections/.init.text', 0o664, b'0xffffffffa00b7000\n')
+f('sys/module/evdev/sections/.data', 0o664, b'0xffffffffa00b4be0\n')
+f('sys/module/evdev/sections/.symtab', 0o664, b'0xffffffffa00b3b60\n')
+f('sys/module/evdev/sections/.gnu.linkonce.this_module', 0o664, b'0xffffffffa00b4d00\n')
+f('sys/module/evdev/sections/.rodata.str1.1', 0o664, b'0xffffffffa00b3a38\n')
+d('sys/module/evdev/notes', 0o775)
+f('sys/module/evdev/notes/.note.gnu.build-id', 0o664, b'\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00GNU\x00\x8d/u!\xb1\xf2\xe7\x10z\x8a\xf7\x0c\x88\x17\x1c4i\\2\xa8')
+d('sys/module/atkbd', 0o775)
+d('sys/module/atkbd/drivers', 0o775)
+l('sys/module/atkbd/drivers/serio:atkbd', '../../../bus/serio/drivers/atkbd')
+d('sys/class', 0o755)
+d('sys/class/rfkill', 0o755)
+l('sys/class/rfkill/rfkill0', '../../devices/platform/thinkpad_acpi/rfkill/rfkill0')
+d('sys/class/rtc', 0o755)
+l('sys/class/rtc/rtc0', '../../devices/pnp0/00:07/rtc/rtc0')
+d('sys/class/usb_endpoint', 0o755)
+l('sys/class/usb_endpoint/usbdev1.1_ep00', '../../devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00')
+l('sys/class/usb_endpoint/usbdev4.3_ep83', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83')
+l('sys/class/usb_endpoint/usbdev4.2_ep04', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04')
+l('sys/class/usb_endpoint/usbdev1.1_ep81', '../../devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81')
+l('sys/class/usb_endpoint/usbdev3.1_ep81', '../../devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81')
+l('sys/class/usb_endpoint/usbdev4.1_ep00', '../../devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00')
+l('sys/class/usb_endpoint/usbdev3.4_ep00', '../../devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00')
+l('sys/class/usb_endpoint/usbdev4.2_ep00', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00')
+l('sys/class/usb_endpoint/usbdev5.7_ep81', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81')
+l('sys/class/usb_endpoint/usbdev5.9_ep81', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81')
+l('sys/class/usb_endpoint/usbdev5.9_ep83', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83')
+l('sys/class/usb_endpoint/usbdev5.9_ep84', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84')
+l('sys/class/usb_endpoint/usbdev5.9_ep00', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00')
+l('sys/class/usb_endpoint/usbdev4.2_ep03', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03')
+l('sys/class/usb_endpoint/usbdev4.2_ep84', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84')
+l('sys/class/usb_endpoint/usbdev3.1_ep00', '../../devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00')
+l('sys/class/usb_endpoint/usbdev4.2_ep83', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83')
+l('sys/class/usb_endpoint/usbdev4.2_ep02', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02')
+l('sys/class/usb_endpoint/usbdev4.3_ep00', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00')
+l('sys/class/usb_endpoint/usbdev5.7_ep00', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00')
+l('sys/class/usb_endpoint/usbdev4.1_ep81', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81')
+l('sys/class/usb_endpoint/usbdev5.9_ep02', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02')
+l('sys/class/usb_endpoint/usbdev4.2_ep82', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82')
+l('sys/class/usb_endpoint/usbdev2.1_ep81', '../../devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81')
+l('sys/class/usb_endpoint/usbdev4.3_ep81', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81')
+l('sys/class/usb_endpoint/usbdev2.1_ep00', '../../devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00')
+l('sys/class/usb_endpoint/usbdev5.1_ep81', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81')
+l('sys/class/usb_endpoint/usbdev4.2_ep81', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81')
+l('sys/class/usb_endpoint/usbdev3.4_ep81', '../../devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81')
+l('sys/class/usb_endpoint/usbdev4.3_ep02', '../../devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02')
+l('sys/class/usb_endpoint/usbdev5.7_ep02', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02')
+l('sys/class/usb_endpoint/usbdev5.1_ep00', '../../devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00')
+l('sys/class/usb_endpoint/usbdev5.9_ep01', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01')
+l('sys/class/usb_endpoint/usbdev5.9_ep82', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82')
+d('sys/class/ieee80211', 0o755)
+l('sys/class/ieee80211/phy0', '../../devices/pci0000:00/0000:00:1c.1/0000:03:00.0/ieee80211/phy0')
+d('sys/class/scsi_disk', 0o755)
+l('sys/class/scsi_disk/7:0:0:0', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_disk/7:0:0:0')
+l('sys/class/scsi_disk/0:0:0:0', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0')
+d('sys/class/vc', 0o755)
+l('sys/class/vc/vcsa3', '../../devices/virtual/vc/vcsa3')
+l('sys/class/vc/vcsa6', '../../devices/virtual/vc/vcsa6')
+l('sys/class/vc/vcsa2', '../../devices/virtual/vc/vcsa2')
+l('sys/class/vc/vcsa', '../../devices/virtual/vc/vcsa')
+l('sys/class/vc/vcs2', '../../devices/virtual/vc/vcs2')
+l('sys/class/vc/vcs7', '../../devices/virtual/vc/vcs7')
+l('sys/class/vc/vcsa5', '../../devices/virtual/vc/vcsa5')
+l('sys/class/vc/vcsa10', '../../devices/virtual/vc/vcsa10')
+l('sys/class/vc/vcs10', '../../devices/virtual/vc/vcs10')
+l('sys/class/vc/vcsa1', '../../devices/virtual/vc/vcsa1')
+l('sys/class/vc/vcsa4', '../../devices/virtual/vc/vcsa4')
+l('sys/class/vc/vcs', '../../devices/virtual/vc/vcs')
+l('sys/class/vc/vcs1', '../../devices/virtual/vc/vcs1')
+l('sys/class/vc/vcs4', '../../devices/virtual/vc/vcs4')
+l('sys/class/vc/vcsa7', '../../devices/virtual/vc/vcsa7')
+l('sys/class/vc/vcs6', '../../devices/virtual/vc/vcs6')
+l('sys/class/vc/vcs3', '../../devices/virtual/vc/vcs3')
+l('sys/class/vc/vcs5', '../../devices/virtual/vc/vcs5')
+d('sys/class/mem', 0o755)
+l('sys/class/mem/zero', '../../devices/virtual/mem/zero')
+l('sys/class/mem/kmsg', '../../devices/virtual/mem/kmsg')
+l('sys/class/mem/mem', '../../devices/virtual/mem/mem')
+l('sys/class/mem/urandom', '../../devices/virtual/mem/urandom')
+l('sys/class/mem/port', '../../devices/virtual/mem/port')
+l('sys/class/mem/null', '../../devices/virtual/mem/null')
+l('sys/class/mem/kmem', '../../devices/virtual/mem/kmem')
+l('sys/class/mem/full', '../../devices/virtual/mem/full')
+l('sys/class/mem/random', '../../devices/virtual/mem/random')
+d('sys/class/pci_bus', 0o755)
+l('sys/class/pci_bus/0000:00', '../../devices/pci0000:00/pci_bus/0000:00')
+l('sys/class/pci_bus/0000:01', '../../devices/pci0000:00/0000:00:01.0/pci_bus/0000:01')
+l('sys/class/pci_bus/0000:03', '../../devices/pci0000:00/0000:00:1c.1/pci_bus/0000:03')
+l('sys/class/pci_bus/0000:0c', '../../devices/pci0000:00/0000:00:1c.3/pci_bus/0000:0c')
+l('sys/class/pci_bus/0000:16', '../../devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pci_bus/0000:16')
+l('sys/class/pci_bus/0000:04', '../../devices/pci0000:00/0000:00:1c.2/pci_bus/0000:04')
+l('sys/class/pci_bus/0000:02', '../../devices/pci0000:00/0000:00:1c.0/pci_bus/0000:02')
+l('sys/class/pci_bus/0000:15', '../../devices/pci0000:00/0000:00:1e.0/pci_bus/0000:15')
+d('sys/class/hwmon', 0o755)
+l('sys/class/hwmon/hwmon0', '../../devices/platform/thinkpad_hwmon/hwmon/hwmon0')
+d('sys/class/net', 0o755)
+l('sys/class/net/wmaster0', '../../devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0')
+l('sys/class/net/wlan0', '../../devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0')
+l('sys/class/net/lo', '../../devices/virtual/net/lo')
+l('sys/class/net/eth0', '../../devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0')
+d('sys/class/dmi', 0o755)
+l('sys/class/dmi/id', '../../devices/virtual/dmi/id')
+d('sys/class/firmware', 0o755)
+f('sys/class/firmware/timeout', 0o644, b'60\n')
+d('sys/class/scsi_generic', 0o755)
+l('sys/class/scsi_generic/sg0', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_generic/sg0')
+l('sys/class/scsi_generic/sg1', '../../devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_generic/sg1')
+l('sys/class/scsi_generic/sg2', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_generic/sg2')
+d('sys/class/bdi', 0o755)
+l('sys/class/bdi/7:1', '../../devices/virtual/bdi/7:1')
+l('sys/class/bdi/7:0', '../../devices/virtual/bdi/7:0')
+l('sys/class/bdi/7:2', '../../devices/virtual/bdi/7:2')
+l('sys/class/bdi/7:4', '../../devices/virtual/bdi/7:4')
+l('sys/class/bdi/7:3', '../../devices/virtual/bdi/7:3')
+l('sys/class/bdi/11:0', '../../devices/virtual/bdi/11:0')
+l('sys/class/bdi/7:5', '../../devices/virtual/bdi/7:5')
+l('sys/class/bdi/8:0', '../../devices/virtual/bdi/8:0')
+l('sys/class/bdi/default', '../../devices/virtual/bdi/default')
+l('sys/class/bdi/0:16', '../../devices/virtual/bdi/0:16')
+l('sys/class/bdi/8:16', '../../devices/virtual/bdi/8:16')
+l('sys/class/bdi/9:0', '../../devices/virtual/bdi/9:0')
+l('sys/class/bdi/7:7', '../../devices/virtual/bdi/7:7')
+l('sys/class/bdi/7:6', '../../devices/virtual/bdi/7:6')
+d('sys/class/leds', 0o755)
+l('sys/class/leds/iwl-phy0:TX', '../../devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:TX')
+l('sys/class/leds/tpacpi::bay_active', '../../devices/platform/thinkpad_acpi/leds/tpacpi::bay_active')
+l('sys/class/leds/tpacpi:orange:batt', '../../devices/platform/thinkpad_acpi/leds/tpacpi:orange:batt')
+l('sys/class/leds/tpacpi::dock_active', '../../devices/platform/thinkpad_acpi/leds/tpacpi::dock_active')
+l('sys/class/leds/tpacpi::unknown_led', '../../devices/platform/thinkpad_acpi/leds/tpacpi::unknown_led')
+l('sys/class/leds/iwl-phy0:assoc', '../../devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:assoc')
+l('sys/class/leds/tpacpi:green:batt', '../../devices/platform/thinkpad_acpi/leds/tpacpi:green:batt')
+l('sys/class/leds/iwl-phy0:radio', '../../devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:radio')
+l('sys/class/leds/iwl-phy0:RX', '../../devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:RX')
+l('sys/class/leds/tpacpi::dock_batt', '../../devices/platform/thinkpad_acpi/leds/tpacpi::dock_batt')
+l('sys/class/leds/tpacpi::thinklight', '../../devices/platform/thinkpad_acpi/leds/tpacpi::thinklight')
+l('sys/class/leds/tpacpi::power', '../../devices/platform/thinkpad_acpi/leds/tpacpi::power')
+l('sys/class/leds/tpacpi::standby', '../../devices/platform/thinkpad_acpi/leds/tpacpi::standby')
+d('sys/class/usb_host', 0o755)
+l('sys/class/usb_host/usb_host1', '../../devices/pci0000:00/0000:00:1d.0/usb_host/usb_host1')
+l('sys/class/usb_host/usb_host2', '../../devices/pci0000:00/0000:00:1d.1/usb_host/usb_host2')
+l('sys/class/usb_host/usb_host4', '../../devices/pci0000:00/0000:00:1d.3/usb_host/usb_host4')
+l('sys/class/usb_host/usb_host5', '../../devices/pci0000:00/0000:00:1d.7/usb_host/usb_host5')
+l('sys/class/usb_host/usb_host3', '../../devices/pci0000:00/0000:00:1d.2/usb_host/usb_host3')
+d('sys/class/pcmcia_socket', 0o755)
+l('sys/class/pcmcia_socket/pcmcia_socket0', '../../devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0')
+d('sys/class/sound', 0o755)
+l('sys/class/sound/audio', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/audio')
+l('sys/class/sound/dsp', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/dsp')
+l('sys/class/sound/timer', '../../devices/virtual/sound/timer')
+l('sys/class/sound/card0', '../../devices/pci0000:00/0000:00:1b.0/sound/card0')
+l('sys/class/sound/seq', '../../devices/virtual/sound/seq')
+l('sys/class/sound/mixer', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/mixer')
+l('sys/class/sound/pcmC0D0p', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0p')
+l('sys/class/sound/controlC0', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/controlC0')
+l('sys/class/sound/pcmC0D0c', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0c')
+l('sys/class/sound/adsp', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/adsp')
+l('sys/class/sound/pcmC0D1p', '../../devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D1p')
+d('sys/class/misc', 0o755)
+l('sys/class/misc/uinput', '../../devices/virtual/misc/uinput')
+l('sys/class/misc/fuse', '../../devices/virtual/misc/fuse')
+l('sys/class/misc/hpet', '../../devices/virtual/misc/hpet')
+l('sys/class/misc/cpu_dma_latency', '../../devices/virtual/misc/cpu_dma_latency')
+l('sys/class/misc/mcelog', '../../devices/virtual/misc/mcelog')
+l('sys/class/misc/device-mapper', '../../devices/virtual/misc/device-mapper')
+l('sys/class/misc/psaux', '../../devices/virtual/misc/psaux')
+l('sys/class/misc/nvram', '../../devices/virtual/misc/nvram')
+l('sys/class/misc/network_latency', '../../devices/virtual/misc/network_latency')
+l('sys/class/misc/network_throughput', '../../devices/virtual/misc/network_throughput')
+l('sys/class/misc/microcode', '../../devices/virtual/misc/microcode')
+d('sys/class/vtconsole', 0o755)
+l('sys/class/vtconsole/vtcon1', '../../devices/virtual/vtconsole/vtcon1')
+l('sys/class/vtconsole/vtcon0', '../../devices/virtual/vtconsole/vtcon0')
+d('sys/class/bsg', 0o755)
+l('sys/class/bsg/7:0:0:0', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/bsg/7:0:0:0')
+l('sys/class/bsg/0:0:0:0', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0')
+l('sys/class/bsg/4:0:0:0', '../../devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/bsg/4:0:0:0')
+d('sys/class/input', 0o755)
+l('sys/class/input/event0', '../../devices/platform/i8042/serio0/input/input0/event0')
+l('sys/class/input/input0', '../../devices/platform/i8042/serio0/input/input0')
+l('sys/class/input/event4', '../../devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/event4')
+l('sys/class/input/mouse0', '../../devices/platform/i8042/serio1/input/input1/mouse0')
+l('sys/class/input/mouse1', '../../devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/mouse1')
+l('sys/class/input/event2', '../../devices/platform/pcspkr/input/input2/event2')
+l('sys/class/input/input2', '../../devices/platform/pcspkr/input/input2')
+l('sys/class/input/input5', '../../devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5')
+l('sys/class/input/input8', '../../devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8')
+l('sys/class/input/input3', '../../devices/LNXSYSTM:00/LNXPWRBN:00/input/input3')
+l('sys/class/input/input1', '../../devices/platform/i8042/serio1/input/input1')
+l('sys/class/input/mice', '../../devices/virtual/input/mice')
+l('sys/class/input/event6', '../../devices/virtual/input/input6/event6')
+l('sys/class/input/input6', '../../devices/virtual/input/input6')
+l('sys/class/input/event3', '../../devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/event3')
+l('sys/class/input/event1', '../../devices/platform/i8042/serio1/input/input1/event1')
+l('sys/class/input/input4', '../../devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4')
+l('sys/class/input/event7', '../../devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/event7')
+l('sys/class/input/event5', '../../devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/event5')
+d('sys/class/thermal', 0o755)
+l('sys/class/thermal/thermal_zone1', '../../devices/virtual/thermal/thermal_zone1')
+l('sys/class/thermal/cooling_device1', '../../devices/virtual/thermal/cooling_device1')
+l('sys/class/thermal/cooling_device0', '../../devices/virtual/thermal/cooling_device0')
+l('sys/class/thermal/thermal_zone0', '../../devices/virtual/thermal/thermal_zone0')
+d('sys/class/power_supply', 0o755)
+l('sys/class/power_supply/AC', '../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/power_supply/AC')
+l('sys/class/power_supply/BAT0', '../../devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0')
+d('sys/class/block', 0o755)
+l('sys/class/block/loop1', '../../devices/virtual/block/loop1')
+l('sys/class/block/loop7', '../../devices/virtual/block/loop7')
+l('sys/class/block/loop0', '../../devices/virtual/block/loop0')
+l('sys/class/block/sda10', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10')
+l('sys/class/block/sr0', '../../devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0')
+l('sys/class/block/loop5', '../../devices/virtual/block/loop5')
+l('sys/class/block/loop3', '../../devices/virtual/block/loop3')
+l('sys/class/block/sda9', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9')
+l('sys/class/block/sda7', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7')
+l('sys/class/block/loop6', '../../devices/virtual/block/loop6')
+l('sys/class/block/sdb', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb')
+l('sys/class/block/sda1', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1')
+l('sys/class/block/loop2', '../../devices/virtual/block/loop2')
+l('sys/class/block/sda8', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8')
+l('sys/class/block/sda5', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5')
+l('sys/class/block/loop4', '../../devices/virtual/block/loop4')
+l('sys/class/block/sda6', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6')
+l('sys/class/block/sda', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda')
+l('sys/class/block/md0', '../../devices/virtual/block/md0')
+l('sys/class/block/sdb1', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb1')
+d('sys/class/scsi_host', 0o755)
+l('sys/class/scsi_host/host0', '../../devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0')
+l('sys/class/scsi_host/host5', '../../devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5')
+l('sys/class/scsi_host/host1', '../../devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1')
+l('sys/class/scsi_host/host4', '../../devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4')
+l('sys/class/scsi_host/host2', '../../devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2')
+l('sys/class/scsi_host/host7', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7')
+l('sys/class/scsi_host/host3', '../../devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3')
+d('sys/class/graphics', 0o755)
+l('sys/class/graphics/fbcon', '../../devices/virtual/graphics/fbcon')
+l('sys/class/graphics/fb0', '../../devices/platform/vesafb.0/graphics/fb0')
+d('sys/class/tty', 0o755)
+l('sys/class/tty/tty51', '../../devices/virtual/tty/tty51')
+l('sys/class/tty/tty24', '../../devices/virtual/tty/tty24')
+l('sys/class/tty/tty61', '../../devices/virtual/tty/tty61')
+l('sys/class/tty/ttyS1', '../../devices/platform/serial8250/tty/ttyS1')
+l('sys/class/tty/tty40', '../../devices/virtual/tty/tty40')
+l('sys/class/tty/tty60', '../../devices/virtual/tty/tty60')
+l('sys/class/tty/tty15', '../../devices/virtual/tty/tty15')
+l('sys/class/tty/tty27', '../../devices/virtual/tty/tty27')
+l('sys/class/tty/tty7', '../../devices/virtual/tty/tty7')
+l('sys/class/tty/tty43', '../../devices/virtual/tty/tty43')
+l('sys/class/tty/tty23', '../../devices/virtual/tty/tty23')
+l('sys/class/tty/tty14', '../../devices/virtual/tty/tty14')
+l('sys/class/tty/tty56', '../../devices/virtual/tty/tty56')
+l('sys/class/tty/tty3', '../../devices/virtual/tty/tty3')
+l('sys/class/tty/ttyS3', '../../devices/platform/serial8250/tty/ttyS3')
+l('sys/class/tty/tty49', '../../devices/virtual/tty/tty49')
+l('sys/class/tty/tty47', '../../devices/virtual/tty/tty47')
+l('sys/class/tty/tty57', '../../devices/virtual/tty/tty57')
+l('sys/class/tty/tty30', '../../devices/virtual/tty/tty30')
+l('sys/class/tty/tty45', '../../devices/virtual/tty/tty45')
+l('sys/class/tty/tty22', '../../devices/virtual/tty/tty22')
+l('sys/class/tty/tty55', '../../devices/virtual/tty/tty55')
+l('sys/class/tty/tty11', '../../devices/virtual/tty/tty11')
+l('sys/class/tty/tty53', '../../devices/virtual/tty/tty53')
+l('sys/class/tty/tty12', '../../devices/virtual/tty/tty12')
+l('sys/class/tty/tty28', '../../devices/virtual/tty/tty28')
+l('sys/class/tty/tty58', '../../devices/virtual/tty/tty58')
+l('sys/class/tty/tty32', '../../devices/virtual/tty/tty32')
+l('sys/class/tty/tty44', '../../devices/virtual/tty/tty44')
+l('sys/class/tty/tty6', '../../devices/virtual/tty/tty6')
+l('sys/class/tty/tty9', '../../devices/virtual/tty/tty9')
+l('sys/class/tty/tty26', '../../devices/virtual/tty/tty26')
+l('sys/class/tty/tty10', '../../devices/virtual/tty/tty10')
+l('sys/class/tty/tty39', '../../devices/virtual/tty/tty39')
+l('sys/class/tty/tty0', '../../devices/virtual/tty/tty0')
+l('sys/class/tty/tty36', '../../devices/virtual/tty/tty36')
+l('sys/class/tty/tty34', '../../devices/virtual/tty/tty34')
+l('sys/class/tty/tty16', '../../devices/virtual/tty/tty16')
+l('sys/class/tty/tty25', '../../devices/virtual/tty/tty25')
+l('sys/class/tty/tty13', '../../devices/virtual/tty/tty13')
+l('sys/class/tty/tty52', '../../devices/virtual/tty/tty52')
+l('sys/class/tty/ttyS0', '../../devices/platform/serial8250/tty/ttyS0')
+l('sys/class/tty/tty31', '../../devices/virtual/tty/tty31')
+l('sys/class/tty/tty35', '../../devices/virtual/tty/tty35')
+l('sys/class/tty/tty54', '../../devices/virtual/tty/tty54')
+l('sys/class/tty/tty63', '../../devices/virtual/tty/tty63')
+l('sys/class/tty/tty1', '../../devices/virtual/tty/tty1')
+l('sys/class/tty/tty33', '../../devices/virtual/tty/tty33')
+l('sys/class/tty/tty18', '../../devices/virtual/tty/tty18')
+l('sys/class/tty/ttyACM0', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0')
+l('sys/class/tty/tty42', '../../devices/virtual/tty/tty42')
+l('sys/class/tty/tty8', '../../devices/virtual/tty/tty8')
+l('sys/class/tty/tty37', '../../devices/virtual/tty/tty37')
+l('sys/class/tty/tty5', '../../devices/virtual/tty/tty5')
+l('sys/class/tty/tty48', '../../devices/virtual/tty/tty48')
+l('sys/class/tty/tty17', '../../devices/virtual/tty/tty17')
+l('sys/class/tty/tty62', '../../devices/virtual/tty/tty62')
+l('sys/class/tty/tty59', '../../devices/virtual/tty/tty59')
+l('sys/class/tty/tty50', '../../devices/virtual/tty/tty50')
+l('sys/class/tty/tty21', '../../devices/virtual/tty/tty21')
+l('sys/class/tty/ttyS2', '../../devices/platform/serial8250/tty/ttyS2')
+l('sys/class/tty/tty19', '../../devices/virtual/tty/tty19')
+l('sys/class/tty/ptmx', '../../devices/virtual/tty/ptmx')
+l('sys/class/tty/tty46', '../../devices/virtual/tty/tty46')
+l('sys/class/tty/tty2', '../../devices/virtual/tty/tty2')
+l('sys/class/tty/console', '../../devices/virtual/tty/console')
+l('sys/class/tty/tty41', '../../devices/virtual/tty/tty41')
+l('sys/class/tty/tty4', '../../devices/virtual/tty/tty4')
+l('sys/class/tty/tty29', '../../devices/virtual/tty/tty29')
+l('sys/class/tty/tty', '../../devices/virtual/tty/tty')
+l('sys/class/tty/tty38', '../../devices/virtual/tty/tty38')
+l('sys/class/tty/tty20', '../../devices/virtual/tty/tty20')
+d('sys/class/scsi_device', 0o755)
+l('sys/class/scsi_device/7:0:0:0', '../../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_device/7:0:0:0')
+l('sys/class/scsi_device/0:0:0:0', '../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_device/0:0:0:0')
+l('sys/class/scsi_device/4:0:0:0', '../../devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_device/4:0:0:0')
+d('sys/block', 0o755)
+l('sys/block/loop1', '../devices/virtual/block/loop1')
+l('sys/block/loop7', '../devices/virtual/block/loop7')
+l('sys/block/loop0', '../devices/virtual/block/loop0')
+l('sys/block/sr0', '../devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0')
+l('sys/block/loop5', '../devices/virtual/block/loop5')
+l('sys/block/loop3', '../devices/virtual/block/loop3')
+l('sys/block/loop6', '../devices/virtual/block/loop6')
+l('sys/block/sdb', '../devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb')
+l('sys/block/loop2', '../devices/virtual/block/loop2')
+l('sys/block/loop4', '../devices/virtual/block/loop4')
+l('sys/block/sda', '../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda')
+l('sys/block/md0', '../devices/virtual/block/md0')
+d('sys/devices', 0o755)
+d('sys/devices/system', 0o755)
+d('sys/devices/system/machinecheck', 0o755)
+d('sys/devices/system/machinecheck/machinecheck1', 0o755)
+f('sys/devices/system/machinecheck/machinecheck1/trigger', 0o644, b'\n')
+f('sys/devices/system/machinecheck/machinecheck1/bank0ctl', 0o644, b'ffffffffffffffff\n')
+f('sys/devices/system/machinecheck/machinecheck1/check_interval', 0o644, b'12c\n')
+f('sys/devices/system/machinecheck/machinecheck1/tolerant', 0o644, b'1\n')
+f('sys/devices/system/machinecheck/machinecheck1/bank1ctl', 0o644, b'ffffffffffffffff\n')
+f('sys/devices/system/machinecheck/machinecheck1/bank5ctl', 0o644, b'ffffffffffffffff\n')
+f('sys/devices/system/machinecheck/machinecheck1/bank3ctl', 0o644, b'ffffffffffffffff\n')
+f('sys/devices/system/machinecheck/machinecheck1/bank2ctl', 0o644, b'ffffffffffffffff\n')
+f('sys/devices/system/machinecheck/machinecheck1/bank4ctl', 0o644, b'ffffffffffffffff\n')
+d('sys/devices/system/machinecheck/machinecheck0', 0o755)
+f('sys/devices/system/machinecheck/machinecheck0/trigger', 0o644, b'\n')
+f('sys/devices/system/machinecheck/machinecheck0/bank0ctl', 0o644, b'ffffffffffffffff\n')
+f('sys/devices/system/machinecheck/machinecheck0/check_interval', 0o644, b'12c\n')
+f('sys/devices/system/machinecheck/machinecheck0/tolerant', 0o644, b'1\n')
+f('sys/devices/system/machinecheck/machinecheck0/bank1ctl', 0o644, b'ffffffffffffffff\n')
+f('sys/devices/system/machinecheck/machinecheck0/bank5ctl', 0o644, b'ffffffffffffffff\n')
+f('sys/devices/system/machinecheck/machinecheck0/bank3ctl', 0o644, b'ffffffffffffffff\n')
+f('sys/devices/system/machinecheck/machinecheck0/bank2ctl', 0o644, b'ffffffffffffffff\n')
+f('sys/devices/system/machinecheck/machinecheck0/bank4ctl', 0o644, b'ffffffffffffffff\n')
+d('sys/devices/system/clocksource', 0o755)
+d('sys/devices/system/clocksource/clocksource0', 0o755)
+f('sys/devices/system/clocksource/clocksource0/available_clocksource', 0o644, b'hpet acpi_pm jiffies tsc \n')
+f('sys/devices/system/clocksource/clocksource0/current_clocksource', 0o644, b'hpet\n')
+d('sys/devices/system/cpu', 0o755)
+f('sys/devices/system/cpu/possible', 0o644, b'0-1\n')
+f('sys/devices/system/cpu/online', 0o644, b'0-1\n')
+f('sys/devices/system/cpu/present', 0o644, b'0-1\n')
+f('sys/devices/system/cpu/sched_mc_power_savings', 0o644, b'1\n')
+d('sys/devices/system/cpu/cpu0', 0o755)
+f('sys/devices/system/cpu/cpu0/crash_notes', 0o644, b'7fb20920\n')
+d('sys/devices/system/cpu/cpu0/topology', 0o755)
+f('sys/devices/system/cpu/cpu0/topology/thread_siblings', 0o644, b'01\n')
+f('sys/devices/system/cpu/cpu0/topology/thread_siblings_list', 0o644, b'0\n')
+f('sys/devices/system/cpu/cpu0/topology/core_siblings_list', 0o644, b'0-1\n')
+f('sys/devices/system/cpu/cpu0/topology/core_siblings', 0o644, b'03\n')
+f('sys/devices/system/cpu/cpu0/topology/core_id', 0o644, b'0\n')
+f('sys/devices/system/cpu/cpu0/topology/physical_package_id', 0o644, b'0\n')
+d('sys/devices/system/cpu/cpu0/thermal_throttle', 0o755)
+f('sys/devices/system/cpu/cpu0/thermal_throttle/count', 0o644, b'0\n')
+d('sys/devices/system/cpu/cpu0/cache', 0o755)
+d('sys/devices/system/cpu/cpu0/cache/index0', 0o755)
+f('sys/devices/system/cpu/cpu0/cache/index0/ways_of_associativity', 0o644, b'8\n')
+f('sys/devices/system/cpu/cpu0/cache/index0/type', 0o644, b'Data\n')
+f('sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size', 0o644, b'64\n')
+f('sys/devices/system/cpu/cpu0/cache/index0/number_of_sets', 0o644, b'64\n')
+f('sys/devices/system/cpu/cpu0/cache/index0/size', 0o644, b'32K\n')
+f('sys/devices/system/cpu/cpu0/cache/index0/physical_line_partition', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu0/cache/index0/shared_cpu_map', 0o644, b'01\n')
+f('sys/devices/system/cpu/cpu0/cache/index0/level', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu0/cache/index0/shared_cpu_list', 0o644, b'0\n')
+d('sys/devices/system/cpu/cpu0/cache/index2', 0o755)
+f('sys/devices/system/cpu/cpu0/cache/index2/ways_of_associativity', 0o644, b'16\n')
+f('sys/devices/system/cpu/cpu0/cache/index2/type', 0o644, b'Unified\n')
+f('sys/devices/system/cpu/cpu0/cache/index2/coherency_line_size', 0o644, b'64\n')
+f('sys/devices/system/cpu/cpu0/cache/index2/number_of_sets', 0o644, b'4096\n')
+f('sys/devices/system/cpu/cpu0/cache/index2/size', 0o644, b'4096K\n')
+f('sys/devices/system/cpu/cpu0/cache/index2/physical_line_partition', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu0/cache/index2/shared_cpu_map', 0o644, b'03\n')
+f('sys/devices/system/cpu/cpu0/cache/index2/level', 0o644, b'2\n')
+f('sys/devices/system/cpu/cpu0/cache/index2/shared_cpu_list', 0o644, b'0-1\n')
+d('sys/devices/system/cpu/cpu0/cache/index1', 0o755)
+f('sys/devices/system/cpu/cpu0/cache/index1/ways_of_associativity', 0o644, b'8\n')
+f('sys/devices/system/cpu/cpu0/cache/index1/type', 0o644, b'Instruction\n')
+f('sys/devices/system/cpu/cpu0/cache/index1/coherency_line_size', 0o644, b'64\n')
+f('sys/devices/system/cpu/cpu0/cache/index1/number_of_sets', 0o644, b'64\n')
+f('sys/devices/system/cpu/cpu0/cache/index1/size', 0o644, b'32K\n')
+f('sys/devices/system/cpu/cpu0/cache/index1/physical_line_partition', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu0/cache/index1/shared_cpu_map', 0o644, b'01\n')
+f('sys/devices/system/cpu/cpu0/cache/index1/level', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu0/cache/index1/shared_cpu_list', 0o644, b'0\n')
+d('sys/devices/system/cpu/cpu0/cpuidle', 0o755)
+d('sys/devices/system/cpu/cpu0/cpuidle/state2', 0o755)
+f('sys/devices/system/cpu/cpu0/cpuidle/state2/desc', 0o644, b'ACPI FFH INTEL MWAIT 0x10\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state2/power', 0o644, b'500\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state2/latency', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state2/usage', 0o644, b'689\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state2/name', 0o644, b'C2\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state2/time', 0o644, b'209561\n')
+d('sys/devices/system/cpu/cpu0/cpuidle/state3', 0o755)
+f('sys/devices/system/cpu/cpu0/cpuidle/state3/desc', 0o644, b'ACPI FFH INTEL MWAIT 0x30\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state3/power', 0o644, b'100\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state3/latency', 0o644, b'57\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state3/usage', 0o644, b'11774\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state3/name', 0o644, b'C3\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state3/time', 0o644, b'116651688\n')
+d('sys/devices/system/cpu/cpu0/cpuidle/state1', 0o755)
+f('sys/devices/system/cpu/cpu0/cpuidle/state1/desc', 0o644, b'ACPI FFH INTEL MWAIT 0x0\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state1/power', 0o644, b'1000\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state1/latency', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state1/usage', 0o644, b'2\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state1/name', 0o644, b'C1\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state1/time', 0o644, b'1044\n')
+d('sys/devices/system/cpu/cpu0/cpuidle/state0', 0o755)
+f('sys/devices/system/cpu/cpu0/cpuidle/state0/desc', 0o644, b'<null>\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state0/power', 0o644, b'4294967295\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state0/latency', 0o644, b'0\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state0/usage', 0o644, b'0\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state0/name', 0o644, b'<null>\n')
+f('sys/devices/system/cpu/cpu0/cpuidle/state0/time', 0o644, b'0\n')
+d('sys/devices/system/cpu/cpu0/cpufreq', 0o755)
+f('sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq', 0o644, b'1000000\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq', 0o644, b'2333000\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies', 0o644, b'2333000 2000000 1667000 1333000 1000000 \n')
+f('sys/devices/system/cpu/cpu0/cpufreq/scaling_governor', 0o644, b'ondemand\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors', 0o644, b'ondemand performance \n')
+f('sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq', 0o644, b'1000000\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/affected_cpus', 0o644, b'0 1\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/related_cpus', 0o644, b'0 1\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed', 0o644, b'<unsupported>\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/scaling_driver', 0o644, b'acpi-cpufreq\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq', 0o644, b'1000000\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq', 0o644, b'1000000\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq', 0o644, b'1000000\n')
+d('sys/devices/system/cpu/cpu0/cpufreq/stats', 0o755)
+f('sys/devices/system/cpu/cpu0/cpufreq/stats/total_trans', 0o644, b'12627\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state', 0o644, b'''2333000 92206
+2000000 442
+1667000 1009
+1333000 1713
+1000000 740740
+''')
+d('sys/devices/system/cpu/cpu0/cpufreq/ondemand', 0o755)
+f('sys/devices/system/cpu/cpu0/cpufreq/ondemand/powersave_bias', 0o644, b'0\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_max', 0o644, b'10000000\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate', 0o644, b'20000\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold', 0o644, b'90\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore_nice_load', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_min', 0o644, b'10000\n')
+d('sys/devices/system/cpu/cpu0/microcode', 0o755)
+f('sys/devices/system/cpu/cpu0/microcode/version', 0o644, b'0xc7\n')
+f('sys/devices/system/cpu/cpu0/microcode/processor_flags', 0o644, b'0x20\n')
+d('sys/devices/system/cpu/cpuidle', 0o755)
+f('sys/devices/system/cpu/cpuidle/current_driver', 0o644, b'acpi_idle\n')
+f('sys/devices/system/cpu/cpuidle/current_governor_ro', 0o644, b'menu\n')
+d('sys/devices/system/cpu/cpu1', 0o755)
+l('sys/devices/system/cpu/cpu1/cpufreq', '../cpu0/cpufreq')
+f('sys/devices/system/cpu/cpu1/crash_notes', 0o644, b'7fb20b68\n')
+f('sys/devices/system/cpu/cpu1/online', 0o644, b'1\n')
+d('sys/devices/system/cpu/cpu1/topology', 0o755)
+f('sys/devices/system/cpu/cpu1/topology/thread_siblings', 0o644, b'02\n')
+f('sys/devices/system/cpu/cpu1/topology/thread_siblings_list', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu1/topology/core_siblings_list', 0o644, b'0-1\n')
+f('sys/devices/system/cpu/cpu1/topology/core_siblings', 0o644, b'03\n')
+f('sys/devices/system/cpu/cpu1/topology/core_id', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu1/topology/physical_package_id', 0o644, b'0\n')
+d('sys/devices/system/cpu/cpu1/thermal_throttle', 0o755)
+f('sys/devices/system/cpu/cpu1/thermal_throttle/count', 0o644, b'0\n')
+d('sys/devices/system/cpu/cpu1/cache', 0o755)
+d('sys/devices/system/cpu/cpu1/cache/index0', 0o755)
+f('sys/devices/system/cpu/cpu1/cache/index0/ways_of_associativity', 0o644, b'8\n')
+f('sys/devices/system/cpu/cpu1/cache/index0/type', 0o644, b'Data\n')
+f('sys/devices/system/cpu/cpu1/cache/index0/coherency_line_size', 0o644, b'64\n')
+f('sys/devices/system/cpu/cpu1/cache/index0/number_of_sets', 0o644, b'64\n')
+f('sys/devices/system/cpu/cpu1/cache/index0/size', 0o644, b'32K\n')
+f('sys/devices/system/cpu/cpu1/cache/index0/physical_line_partition', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu1/cache/index0/shared_cpu_map', 0o644, b'02\n')
+f('sys/devices/system/cpu/cpu1/cache/index0/level', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu1/cache/index0/shared_cpu_list', 0o644, b'1\n')
+d('sys/devices/system/cpu/cpu1/cache/index2', 0o755)
+f('sys/devices/system/cpu/cpu1/cache/index2/ways_of_associativity', 0o644, b'16\n')
+f('sys/devices/system/cpu/cpu1/cache/index2/type', 0o644, b'Unified\n')
+f('sys/devices/system/cpu/cpu1/cache/index2/coherency_line_size', 0o644, b'64\n')
+f('sys/devices/system/cpu/cpu1/cache/index2/number_of_sets', 0o644, b'4096\n')
+f('sys/devices/system/cpu/cpu1/cache/index2/size', 0o644, b'4096K\n')
+f('sys/devices/system/cpu/cpu1/cache/index2/physical_line_partition', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu1/cache/index2/shared_cpu_map', 0o644, b'03\n')
+f('sys/devices/system/cpu/cpu1/cache/index2/level', 0o644, b'2\n')
+f('sys/devices/system/cpu/cpu1/cache/index2/shared_cpu_list', 0o644, b'0-1\n')
+d('sys/devices/system/cpu/cpu1/cache/index1', 0o755)
+f('sys/devices/system/cpu/cpu1/cache/index1/ways_of_associativity', 0o644, b'8\n')
+f('sys/devices/system/cpu/cpu1/cache/index1/type', 0o644, b'Instruction\n')
+f('sys/devices/system/cpu/cpu1/cache/index1/coherency_line_size', 0o644, b'64\n')
+f('sys/devices/system/cpu/cpu1/cache/index1/number_of_sets', 0o644, b'64\n')
+f('sys/devices/system/cpu/cpu1/cache/index1/size', 0o644, b'32K\n')
+f('sys/devices/system/cpu/cpu1/cache/index1/physical_line_partition', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu1/cache/index1/shared_cpu_map', 0o644, b'02\n')
+f('sys/devices/system/cpu/cpu1/cache/index1/level', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu1/cache/index1/shared_cpu_list', 0o644, b'1\n')
+d('sys/devices/system/cpu/cpu1/cpuidle', 0o755)
+d('sys/devices/system/cpu/cpu1/cpuidle/state2', 0o755)
+f('sys/devices/system/cpu/cpu1/cpuidle/state2/desc', 0o644, b'ACPI FFH INTEL MWAIT 0x10\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state2/power', 0o644, b'500\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state2/latency', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state2/usage', 0o644, b'271\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state2/name', 0o644, b'C2\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state2/time', 0o644, b'47233\n')
+d('sys/devices/system/cpu/cpu1/cpuidle/state3', 0o755)
+f('sys/devices/system/cpu/cpu1/cpuidle/state3/desc', 0o644, b'ACPI FFH INTEL MWAIT 0x30\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state3/power', 0o644, b'100\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state3/latency', 0o644, b'57\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state3/usage', 0o644, b'10601\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state3/name', 0o644, b'C3\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state3/time', 0o644, b'117038054\n')
+d('sys/devices/system/cpu/cpu1/cpuidle/state1', 0o755)
+f('sys/devices/system/cpu/cpu1/cpuidle/state1/desc', 0o644, b'ACPI FFH INTEL MWAIT 0x0\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state1/power', 0o644, b'1000\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state1/latency', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state1/usage', 0o644, b'1\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state1/name', 0o644, b'C1\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state1/time', 0o644, b'8\n')
+d('sys/devices/system/cpu/cpu1/cpuidle/state0', 0o755)
+f('sys/devices/system/cpu/cpu1/cpuidle/state0/desc', 0o644, b'<null>\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state0/power', 0o644, b'4294967295\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state0/latency', 0o644, b'0\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state0/usage', 0o644, b'0\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state0/name', 0o644, b'<null>\n')
+f('sys/devices/system/cpu/cpu1/cpuidle/state0/time', 0o644, b'0\n')
+d('sys/devices/system/cpu/cpu1/microcode', 0o755)
+f('sys/devices/system/cpu/cpu1/microcode/version', 0o644, b'0xc7\n')
+f('sys/devices/system/cpu/cpu1/microcode/processor_flags', 0o644, b'0x20\n')
+d('sys/devices/pnp0', 0o755)
+f('sys/devices/pnp0/uevent', 0o644, b'')
+d('sys/devices/pnp0/00:04', 0o755)
+l('sys/devices/pnp0/00:04/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0200:00')
+l('sys/devices/pnp0/00:04/subsystem', '../../../bus/pnp')
+f('sys/devices/pnp0/00:04/options', 0o644, b'')
+f('sys/devices/pnp0/00:04/id', 0o644, b'PNP0200\n')
+f('sys/devices/pnp0/00:04/resources', 0o644, b'''state = active
+io 0x0-0xf
+io 0x80-0x8f
+io 0xc0-0xdf
+dma 4
+''')
+f('sys/devices/pnp0/00:04/uevent', 0o644, b'')
+d('sys/devices/pnp0/00:04/power', 0o755)
+f('sys/devices/pnp0/00:04/power/wakeup', 0o644, b'\n')
+d('sys/devices/pnp0/00:0a', 0o755)
+l('sys/devices/pnp0/00:0a/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:01/ATM1200:00')
+l('sys/devices/pnp0/00:0a/subsystem', '../../../bus/pnp')
+f('sys/devices/pnp0/00:0a/options', 0o644, b'')
+f('sys/devices/pnp0/00:0a/id', 0o644, b'''ATM1200
+PNP0c31
+''')
+f('sys/devices/pnp0/00:0a/resources', 0o644, b'''state = active
+mem 0xfed40000-0xfed40fff
+''')
+f('sys/devices/pnp0/00:0a/uevent', 0o644, b'')
+d('sys/devices/pnp0/00:0a/power', 0o755)
+f('sys/devices/pnp0/00:0a/power/wakeup', 0o644, b'\n')
+d('sys/devices/pnp0/00:03', 0o755)
+l('sys/devices/pnp0/00:03/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0103:00')
+l('sys/devices/pnp0/00:03/subsystem', '../../../bus/pnp')
+f('sys/devices/pnp0/00:03/options', 0o644, b'')
+f('sys/devices/pnp0/00:03/id', 0o644, b'PNP0103\n')
+f('sys/devices/pnp0/00:03/resources', 0o644, b'''state = active
+mem 0xfed00000-0xfed003ff
+''')
+f('sys/devices/pnp0/00:03/uevent', 0o644, b'')
+d('sys/devices/pnp0/00:03/power', 0o755)
+f('sys/devices/pnp0/00:03/power/wakeup', 0o644, b'\n')
+d('sys/devices/pnp0/00:02', 0o755)
+l('sys/devices/pnp0/00:02/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C02:00')
+l('sys/devices/pnp0/00:02/subsystem', '../../../bus/pnp')
+l('sys/devices/pnp0/00:02/driver', '../../../bus/pnp/drivers/system')
+f('sys/devices/pnp0/00:02/options', 0o644, b'')
+f('sys/devices/pnp0/00:02/id', 0o644, b'PNP0c02\n')
+f('sys/devices/pnp0/00:02/resources', 0o644, b'''state = active
+io 0x10-0x1f
+io 0x90-0x9f
+io 0x24-0x25
+io 0x28-0x29
+io 0x2c-0x2d
+io 0x30-0x31
+io 0x34-0x35
+io 0x38-0x39
+io 0x3c-0x3d
+io 0xa4-0xa5
+io 0xa8-0xa9
+io 0xac-0xad
+io 0xb0-0xb5
+io 0xb8-0xb9
+io 0xbc-0xbd
+io 0x50-0x53
+io 0x72-0x77
+io 0x164e-0x164f
+io 0x2e-0x2f
+io 0x1000-0x107f
+io 0x1180-0x11bf
+io 0x800-0x80f
+io 0x15e0-0x15ef
+io 0x1600-0x165f
+mem 0xf0000000-0xf3ffffff
+mem 0xfed1c000-0xfed1ffff
+mem 0xfed14000-0xfed17fff
+mem 0xfed18000-0xfed18fff
+mem 0xfed19000-0xfed19fff
+''')
+f('sys/devices/pnp0/00:02/uevent', 0o644, b'DRIVER=system\n')
+d('sys/devices/pnp0/00:02/power', 0o755)
+f('sys/devices/pnp0/00:02/power/wakeup', 0o644, b'\n')
+d('sys/devices/pnp0/00:00', 0o755)
+l('sys/devices/pnp0/00:00/firmware_node', '../../LNXSYSTM:00/device:00/PNP0C01:00')
+l('sys/devices/pnp0/00:00/subsystem', '../../../bus/pnp')
+l('sys/devices/pnp0/00:00/driver', '../../../bus/pnp/drivers/system')
+f('sys/devices/pnp0/00:00/options', 0o644, b'')
+f('sys/devices/pnp0/00:00/id', 0o644, b'PNP0c01\n')
+f('sys/devices/pnp0/00:00/resources', 0o644, b'''state = active
+mem 0x0-0x9ffff
+mem 0xc0000-0xc3fff
+mem 0xc4000-0xc7fff
+mem 0xc8000-0xcbfff
+mem 0xcc000-0xcffff
+mem disabled
+mem disabled
+mem disabled
+mem 0xdc000-0xdffff
+mem 0xe0000-0xe3fff
+mem 0xe4000-0xe7fff
+mem 0xe8000-0xebfff
+mem 0xec000-0xeffff
+mem 0xf0000-0xfffff
+mem 0x100000-0x7fffffff
+mem 0xfec00000-0xfed3ffff
+mem 0xfed41000-0xffffffff
+''')
+f('sys/devices/pnp0/00:00/uevent', 0o644, b'DRIVER=system\n')
+d('sys/devices/pnp0/00:00/power', 0o755)
+f('sys/devices/pnp0/00:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pnp0/power', 0o755)
+f('sys/devices/pnp0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pnp0/00:09', 0o755)
+l('sys/devices/pnp0/00:09/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:01/IBM0057:00')
+l('sys/devices/pnp0/00:09/subsystem', '../../../bus/pnp')
+l('sys/devices/pnp0/00:09/driver', '../../../bus/pnp/drivers/i8042 aux')
+f('sys/devices/pnp0/00:09/options', 0o644, b'')
+f('sys/devices/pnp0/00:09/id', 0o644, b'''IBM0057
+PNP0f13
+''')
+f('sys/devices/pnp0/00:09/resources', 0o644, b'''state = active
+irq 12
+''')
+f('sys/devices/pnp0/00:09/uevent', 0o644, b'DRIVER=i8042 aux\n')
+d('sys/devices/pnp0/00:09/power', 0o755)
+f('sys/devices/pnp0/00:09/power/wakeup', 0o644, b'\n')
+d('sys/devices/pnp0/00:07', 0o755)
+l('sys/devices/pnp0/00:07/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0B00:00')
+l('sys/devices/pnp0/00:07/subsystem', '../../../bus/pnp')
+l('sys/devices/pnp0/00:07/driver', '../../../bus/pnp/drivers/rtc_cmos')
+f('sys/devices/pnp0/00:07/options', 0o644, b'')
+f('sys/devices/pnp0/00:07/id', 0o644, b'PNP0b00\n')
+f('sys/devices/pnp0/00:07/nvram', 0o644, b'\x00\x00\x00\x00\x00\x00\x03\x80\x02\x00\xfc\x01\x00\x03\x00\x9f\x16\x00\x00\x02\x00\x00\x00\x01\x05\x00\x00\x11\x11\x01\x00\x00\x02e\x00\xfc \x8c\xc1\x01\x00|\x00\x00\x00\x00\x00\x00\x00\x00\x08D\xb0\x11\x00c\x11T/\x06\xd00\x80\x00\x00\x00\x00\x00\xc0\x05R\xfc\x01\x1d\x00[\x0f\x02\x03\x00\x00\x04\x04\x00\xdf8\xd3\xa0\x13r\xf2\x06\x13\xf9\xa7\xf1\x0e\x00\xc5\xfe\x00\x00\xf1\xff\xff\xff\xff\x00\x00\x00IS\xb2\x00')
+f('sys/devices/pnp0/00:07/resources', 0o644, b'''state = active
+io 0x70-0x71
+irq 8
+''')
+f('sys/devices/pnp0/00:07/uevent', 0o644, b'DRIVER=rtc_cmos\n')
+d('sys/devices/pnp0/00:07/rtc', 0o755)
+d('sys/devices/pnp0/00:07/rtc/rtc0', 0o755)
+l('sys/devices/pnp0/00:07/rtc/rtc0/subsystem', '../../../../../class/rtc')
+l('sys/devices/pnp0/00:07/rtc/rtc0/device', '../../../00:07')
+f('sys/devices/pnp0/00:07/rtc/rtc0/date', 0o644, b'2008-09-29\n')
+f('sys/devices/pnp0/00:07/rtc/rtc0/dev', 0o644, b'253:0\n')
+f('sys/devices/pnp0/00:07/rtc/rtc0/max_user_freq', 0o644, b'64\n')
+f('sys/devices/pnp0/00:07/rtc/rtc0/wakealarm', 0o644, b'')
+f('sys/devices/pnp0/00:07/rtc/rtc0/since_epoch', 0o644, b'1222655451\n')
+f('sys/devices/pnp0/00:07/rtc/rtc0/name', 0o644, b'rtc_cmos\n')
+f('sys/devices/pnp0/00:07/rtc/rtc0/time', 0o644, b'02:30:51\n')
+f('sys/devices/pnp0/00:07/rtc/rtc0/uevent', 0o644, b'''MAJOR=253
+MINOR=0
+''')
+d('sys/devices/pnp0/00:07/rtc/rtc0/power', 0o755)
+f('sys/devices/pnp0/00:07/rtc/rtc0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pnp0/00:07/power', 0o755)
+f('sys/devices/pnp0/00:07/power/wakeup', 0o644, b'enabled\n')
+d('sys/devices/pnp0/00:06', 0o755)
+l('sys/devices/pnp0/00:06/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C04:00')
+l('sys/devices/pnp0/00:06/subsystem', '../../../bus/pnp')
+f('sys/devices/pnp0/00:06/options', 0o644, b'')
+f('sys/devices/pnp0/00:06/id', 0o644, b'PNP0c04\n')
+f('sys/devices/pnp0/00:06/resources', 0o644, b'''state = active
+io 0xf0-0xf0
+irq 13
+''')
+f('sys/devices/pnp0/00:06/uevent', 0o644, b'')
+d('sys/devices/pnp0/00:06/power', 0o755)
+f('sys/devices/pnp0/00:06/power/wakeup', 0o644, b'\n')
+d('sys/devices/pnp0/00:08', 0o755)
+l('sys/devices/pnp0/00:08/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0303:00')
+l('sys/devices/pnp0/00:08/subsystem', '../../../bus/pnp')
+l('sys/devices/pnp0/00:08/driver', '../../../bus/pnp/drivers/i8042 kbd')
+f('sys/devices/pnp0/00:08/options', 0o644, b'')
+f('sys/devices/pnp0/00:08/id', 0o644, b'PNP0303\n')
+f('sys/devices/pnp0/00:08/resources', 0o644, b'''state = active
+io 0x60-0x60
+io 0x64-0x64
+irq 1
+''')
+f('sys/devices/pnp0/00:08/uevent', 0o644, b'DRIVER=i8042 kbd\n')
+d('sys/devices/pnp0/00:08/power', 0o755)
+f('sys/devices/pnp0/00:08/power/wakeup', 0o644, b'\n')
+d('sys/devices/pnp0/00:05', 0o755)
+l('sys/devices/pnp0/00:05/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0800:00')
+l('sys/devices/pnp0/00:05/subsystem', '../../../bus/pnp')
+f('sys/devices/pnp0/00:05/options', 0o644, b'')
+f('sys/devices/pnp0/00:05/id', 0o644, b'PNP0800\n')
+f('sys/devices/pnp0/00:05/resources', 0o644, b'''state = active
+io 0x61-0x61
+''')
+f('sys/devices/pnp0/00:05/uevent', 0o644, b'')
+d('sys/devices/pnp0/00:05/power', 0o755)
+f('sys/devices/pnp0/00:05/power/wakeup', 0o644, b'\n')
+d('sys/devices/pnp0/00:01', 0o755)
+l('sys/devices/pnp0/00:01/subsystem', '../../../bus/pnp')
+f('sys/devices/pnp0/00:01/options', 0o644, b'')
+f('sys/devices/pnp0/00:01/id', 0o644, b'''PNP0a08
+PNP0a03
+''')
+f('sys/devices/pnp0/00:01/resources', 0o644, b'''state = active
+io 0xcf8-0xcff
+''')
+f('sys/devices/pnp0/00:01/uevent', 0o644, b'')
+d('sys/devices/pnp0/00:01/power', 0o755)
+f('sys/devices/pnp0/00:01/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00', 0o755)
+l('sys/devices/pci0000:00/firmware_node', '../LNXSYSTM:00/device:00/PNP0A08:00')
+f('sys/devices/pci0000:00/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1d.3', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:20')
+l('sys/devices/pci0000:00/0000:00:1d.3/subsystem', '../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:1d.3/driver', '../../../bus/pci/drivers/uhci_hcd')
+f('sys/devices/pci0000:00/0000:00:1d.3/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/enable', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/modalias', 0o644, b'pci:v00008086d000027CBsv000017AAsd0000200Abc0Csc03i00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/resource', 0o644, b'''0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000001860 0x000000000000187f 0x0000000000020101
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/config', 0o644, b"\x86\x80\xcb'\x05\x00\x80\x02\x02\x00\x03\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00a\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x17\n \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\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\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x0f\x02\x00\x00\x00\x00\x00")
+f('sys/devices/pci0000:00/0000:00:1d.3/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/subsystem_device', 0o644, b'0x200a\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/irq', 0o644, b'19\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/pools', 0o644, b'''poolinfo - 0.1
+uhci_qh            13   32  128  1
+uhci_td             3   64   64  1
+buffer-2048         0    0 2048  0
+buffer-512          0    0  512  0
+buffer-128          0    0  128  0
+buffer-32           1  128   32  1
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/device', 0o644, b'0x27cb\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/class', 0o644, b'0x0c0300\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/msi_bus', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.3/subsystem_vendor', 0o644, b'0x17aa\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/uevent', 0o644, b'''DRIVER=uhci_hcd
+PCI_CLASS=C0300
+PCI_ID=8086:27CB
+PCI_SUBSYS_ID=17AA:200A
+PCI_SLOT_NAME=0000:00:1d.3
+MODALIAS=pci:v00008086d000027CBsv000017AAsd0000200Abc0Csc03i00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/resource4', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.3/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb_host', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.3/usb_host/usb_host4', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb_host/usb_host4/subsystem', '../../../../../class/usb_host')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb_host/usb_host4/device', '../../../0000:00:1d.3')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb_host/usb_host4/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb_host/usb_host4/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb_host/usb_host4/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/subsystem', '../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/driver', '../../../../bus/usb/drivers/usb')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/ep_00', 'usb_endpoint/usbdev4.1_ep00')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/version', 0o644, b' 1.10\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/authorized_default', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/maxchild', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/bDeviceClass', 0o644, b'09\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/bcdDevice', 0o644, b'0206\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/devnum', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/bDeviceProtocol', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/idProduct', 0o644, b'0001\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/product', 0o644, b'UHCI Host Controller\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/bDeviceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/configuration', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/dev', 0o644, b'189:384\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/urbnum', 0o644, b'62\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/authorized', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/descriptors', 0o644, b'\x12\x01\x10\x01\t\x00\x00@k\x1d\x01\x00\x06\x02\x03\x02\x01\x01\t\x02\x19\x00\x01\x01\x00\xe0\x00\t\x04\x00\x00\x01\t\x00\x00\x00\x07\x05\x81\x03\x02\x00\xff')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/bNumConfigurations', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/serial', 0o644, b'0000:00:1d.3\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/speed', 0o644, b'12\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/bMaxPacketSize0', 0o644, b'64\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/bmAttributes', 0o644, b'e0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/busnum', 0o644, b'4\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/quirks', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/bConfigurationValue', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/uevent', 0o644, b'''MAJOR=189
+MINOR=384
+DEVTYPE=usb_device
+DRIVER=usb
+PRODUCT=1d6b/1/206
+TYPE=9/0/0
+BUSNUM=004
+DEVNUM=001
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/manufacturer', 0o644, b'Linux 2.6.27-rc7-00106-g6ef190c-dirty uhci_hcd\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/idVendor', 0o644, b'1d6b\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/bNumInterfaces', 0o644, b' 1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/bMaxPower', 0o644, b'  0mA\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00/subsystem', '../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00/device', '../../../usb4')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00/bEndpointAddress', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00/type', 0o644, b'Control\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00/dev', 0o644, b'252:7\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00/direction', 0o644, b'both\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00/wMaxPacketSize', 0o644, b'0040\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00/bmAttributes', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00/uevent', 0o644, b'''MAJOR=252
+MINOR=7
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00/bInterval', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/usb_endpoint/usbdev4.1_ep00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/subsystem', '../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/driver', '../../../../../bus/usb/drivers/usb')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/ep_00', 'usb_endpoint/usbdev4.3_ep00')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/version', 0o644, b' 1.00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/maxchild', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/bDeviceClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/bcdDevice', 0o644, b'0001\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/devnum', 0o644, b'3\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/bDeviceProtocol', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/idProduct', 0o644, b'2016\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/product', 0o644, b'Biometric Coprocessor\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/bDeviceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/configuration', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/dev', 0o644, b'189:386\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/urbnum', 0o644, b'9\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/authorized', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/descriptors', 0o644, b"\x12\x01\x00\x01\x00\x00\x00\x08\x83\x04\x16 \x01\x00\x01\x02\x00\x01\t\x02'\x00\x01\x01\x00\xa02\t\x04\x00\x00\x03\xff\x00\x00\x00\x07\x05\x81\x02@\x00\x00\x07\x05\x02\x02@\x00\x00\x07\x05\x83\x03\x04\x00\x14")
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/bNumConfigurations', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/speed', 0o644, b'12\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/bMaxPacketSize0', 0o644, b'8\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/bmAttributes', 0o644, b'a0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/busnum', 0o644, b'4\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/quirks', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/bConfigurationValue', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/uevent', 0o644, b'''MAJOR=189
+MINOR=386
+DEVTYPE=usb_device
+DRIVER=usb
+PRODUCT=483/2016/1
+TYPE=0/0/0
+BUSNUM=004
+DEVNUM=003
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/manufacturer', 0o644, b'STMicroelectronics\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/idVendor', 0o644, b'0483\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/bNumInterfaces', 0o644, b' 1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/bMaxPower', 0o644, b'100mA\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00/subsystem', '../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00/device', '../../../4-2')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00/bEndpointAddress', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00/type', 0o644, b'Control\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00/dev', 0o644, b'252:23\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00/direction', 0o644, b'both\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00/wMaxPacketSize', 0o644, b'0008\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00/bmAttributes', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00/uevent', 0o644, b'''MAJOR=252
+MINOR=23
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00/bInterval', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/usb_endpoint/usbdev4.3_ep00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/power/active_duration', 0o644, b'8370363\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/power/wakeup', 0o644, b'enabled\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/power/connected_duration', 0o644, b'8370362\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/power/autosuspend', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/power/persist', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/power/level', 0o644, b'on\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/subsystem', '../../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/ep_83', 'usb_endpoint/usbdev4.3_ep83')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/ep_81', 'usb_endpoint/usbdev4.3_ep81')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/ep_02', 'usb_endpoint/usbdev4.3_ep02')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/modalias', 0o644, b'usb:v0483p2016d0001dc00dsc00dp00icFFisc00ip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/bInterfaceNumber', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/bNumEndpoints', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/bInterfaceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/bInterfaceClass', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=483/2016/1
+TYPE=0/0/0
+INTERFACE=255/0/0
+MODALIAS=usb:v0483p2016d0001dc00dsc00dp00icFFisc00ip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83/device', '../../../4-2:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83/interval', 0o644, b'20ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83/bEndpointAddress', 0o644, b'83\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83/type', 0o644, b'Interrupt\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83/dev', 0o644, b'252:22\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83/wMaxPacketSize', 0o644, b'0004\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83/bmAttributes', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83/uevent', 0o644, b'''MAJOR=252
+MINOR=22
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83/bInterval', 0o644, b'14\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep83/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81/device', '../../../4-2:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81/bEndpointAddress', 0o644, b'81\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81/type', 0o644, b'Bulk\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81/dev', 0o644, b'252:20\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81/wMaxPacketSize', 0o644, b'0040\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81/bmAttributes', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81/uevent', 0o644, b'''MAJOR=252
+MINOR=20
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81/bInterval', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep81/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02/device', '../../../4-2:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02/bEndpointAddress', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02/type', 0o644, b'Bulk\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02/dev', 0o644, b'252:21\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02/direction', 0o644, b'out\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02/wMaxPacketSize', 0o644, b'0040\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02/bmAttributes', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02/uevent', 0o644, b'''MAJOR=252
+MINOR=21
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02/bInterval', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/usb_endpoint/usbdev4.3_ep02/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-2/4-2:1.0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/subsystem', '../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/ep_81', 'usb_endpoint/usbdev4.1_ep81')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/driver', '../../../../../bus/usb/drivers/hub')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/modalias', 0o644, b'usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/bInterfaceNumber', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/bNumEndpoints', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/bInterfaceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/bInterfaceClass', 0o644, b'09\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/uevent', 0o644, b'''DEVTYPE=usb_interface
+DRIVER=hub
+PRODUCT=1d6b/1/206
+TYPE=9/0/0
+INTERFACE=9/0/0
+MODALIAS=usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81/subsystem', '../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81/device', '../../../4-0:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81/interval', 0o644, b'255ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81/bEndpointAddress', 0o644, b'81\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81/type', 0o644, b'Interrupt\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81/dev', 0o644, b'252:6\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81/wMaxPacketSize', 0o644, b'0002\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81/bmAttributes', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81/uevent', 0o644, b'''MAJOR=252
+MINOR=6
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81/bInterval', 0o644, b'ff\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/usb_endpoint/usbdev4.1_ep81/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-0:1.0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/power/active_duration', 0o644, b'8372033\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/power/wakeup', 0o644, b'enabled\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/power/connected_duration', 0o644, b'8372033\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/power/autosuspend', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/power/level', 0o644, b'auto\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/subsystem', '../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/driver', '../../../../../bus/usb/drivers/usb')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/ep_00', 'usb_endpoint/usbdev4.2_ep00')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/version', 0o644, b' 2.00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/maxchild', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/bDeviceClass', 0o644, b'e0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/bcdDevice', 0o644, b'0100\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/devnum', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/bDeviceProtocol', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/idProduct', 0o644, b'2110\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/product', 0o644, b'BCM2045B\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/bDeviceSubClass', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/configuration', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/dev', 0o644, b'189:385\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/urbnum', 0o644, b'12\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/authorized', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/descriptors', 0o644, b'\x12\x01\x00\x02\xe0\x01\x01@\\\n\x10!\x00\x01\x01\x02\x00\x01\t\x02\xd8\x00\x04\x01\x00\xe0\x00\t\x04\x00\x00\x03\xe0\x01\x01\x00\x07\x05\x81\x03\x10\x00\x01\x07\x05\x82\x02@\x00\x01\x07\x05\x02\x02@\x00\x01\t\x04\x01\x00\x02\xe0\x01\x01\x00\x07\x05\x83\x01\x00\x00\x01\x07\x05\x03\x01\x00\x00\x01\t\x04\x01\x01\x02\xe0\x01\x01\x00\x07\x05\x83\x01\t\x00\x01\x07\x05\x03\x01\t\x00\x01\t\x04\x01\x02\x02\xe0\x01\x01\x00\x07\x05\x83\x01\x11\x00\x01\x07\x05\x03\x01\x11\x00\x01\t\x04\x01\x03\x02\xe0\x01\x01\x00\x07\x05\x83\x01 \x00\x01\x07\x05\x03\x01 \x00\x01\t\x04\x01\x04\x02\xe0\x01\x01\x00\x07\x05\x83\x01@\x00\x01\x07\x05\x03\x01@\x00\x01\t\x04\x01\x05\x02\xe0\x01\x01\x00\x07\x05\x83\x01@\x00\x01\x07\x05\x03\x01@\x00\x01\t\x04\x02\x00\x02\xff\xff\xff\x00\x07\x05\x84\x02 \x00\x01\x07\x05\x04\x02 \x00\x01\t\x04\x03\x00\x00\xfe\x01\x00\x00\x07!\x07\x88\x13@\x00')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/bNumConfigurations', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/speed', 0o644, b'12\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/bMaxPacketSize0', 0o644, b'64\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/bmAttributes', 0o644, b'e0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/busnum', 0o644, b'4\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/quirks', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/bConfigurationValue', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/uevent', 0o644, b'''MAJOR=189
+MINOR=385
+DEVTYPE=usb_device
+DRIVER=usb
+PRODUCT=a5c/2110/100
+TYPE=224/1/1
+BUSNUM=004
+DEVNUM=002
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/manufacturer', 0o644, b'Broadcom Corp\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/idVendor', 0o644, b'0a5c\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/bNumInterfaces', 0o644, b' 4\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/bMaxPower', 0o644, b'  0mA\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.3', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.3/subsystem', '../../../../../../bus/usb')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.3/modalias', 0o644, b'usb:v0A5Cp2110d0100dcE0dsc01dp01icFEisc01ip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.3/bInterfaceNumber', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.3/bNumEndpoints', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.3/bInterfaceSubClass', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.3/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.3/bInterfaceClass', 0o644, b'fe\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.3/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=a5c/2110/100
+TYPE=224/1/1
+INTERFACE=254/1/0
+MODALIAS=usb:v0A5Cp2110d0100dcE0dsc01dp01icFEisc01ip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.3/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.3/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.3/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00/subsystem', '../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00/device', '../../../4-1')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00/bEndpointAddress', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00/type', 0o644, b'Control\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00/dev', 0o644, b'252:19\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00/direction', 0o644, b'both\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00/wMaxPacketSize', 0o644, b'0040\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00/bmAttributes', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00/uevent', 0o644, b'''MAJOR=252
+MINOR=19
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00/bInterval', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/usb_endpoint/usbdev4.2_ep00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/subsystem', '../../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/ep_81', 'usb_endpoint/usbdev4.2_ep81')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/ep_02', 'usb_endpoint/usbdev4.2_ep02')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/ep_82', 'usb_endpoint/usbdev4.2_ep82')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/modalias', 0o644, b'usb:v0A5Cp2110d0100dcE0dsc01dp01icE0isc01ip01\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/bInterfaceNumber', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/bNumEndpoints', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/bInterfaceSubClass', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/bInterfaceClass', 0o644, b'e0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=a5c/2110/100
+TYPE=224/1/1
+INTERFACE=224/1/1
+MODALIAS=usb:v0A5Cp2110d0100dcE0dsc01dp01icE0isc01ip01
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/bInterfaceProtocol', 0o644, b'01\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02/device', '../../../4-1:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02/bEndpointAddress', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02/type', 0o644, b'Bulk\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02/dev', 0o644, b'252:14\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02/direction', 0o644, b'out\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02/wMaxPacketSize', 0o644, b'0040\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02/bmAttributes', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02/uevent', 0o644, b'''MAJOR=252
+MINOR=14
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02/bInterval', 0o644, b'01\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep02/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82/device', '../../../4-1:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82/bEndpointAddress', 0o644, b'82\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82/type', 0o644, b'Bulk\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82/dev', 0o644, b'252:13\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82/wMaxPacketSize', 0o644, b'0040\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82/bmAttributes', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82/uevent', 0o644, b'''MAJOR=252
+MINOR=13
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82/bInterval', 0o644, b'01\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep82/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81/device', '../../../4-1:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81/interval', 0o644, b'1ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81/bEndpointAddress', 0o644, b'81\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81/type', 0o644, b'Interrupt\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81/dev', 0o644, b'252:12\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81/wMaxPacketSize', 0o644, b'0010\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81/bmAttributes', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81/uevent', 0o644, b'''MAJOR=252
+MINOR=12
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81/bInterval', 0o644, b'01\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/usb_endpoint/usbdev4.2_ep81/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/power/active_duration', 0o644, b'8370651\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/power/wakeup', 0o644, b'enabled\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/power/connected_duration', 0o644, b'8370650\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/power/autosuspend', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/power/persist', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/power/level', 0o644, b'on\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/subsystem', '../../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/ep_84', 'usb_endpoint/usbdev4.2_ep84')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/ep_04', 'usb_endpoint/usbdev4.2_ep04')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/modalias', 0o644, b'usb:v0A5Cp2110d0100dcE0dsc01dp01icFFiscFFipFF\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/bInterfaceNumber', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/bNumEndpoints', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/bInterfaceSubClass', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/bInterfaceClass', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=a5c/2110/100
+TYPE=224/1/1
+INTERFACE=255/255/255
+MODALIAS=usb:v0A5Cp2110d0100dcE0dsc01dp01icFFiscFFipFF
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/bInterfaceProtocol', 0o644, b'ff\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04/device', '../../../4-1:1.2')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04/bEndpointAddress', 0o644, b'04\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04/type', 0o644, b'Bulk\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04/dev', 0o644, b'252:18\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04/direction', 0o644, b'out\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04/wMaxPacketSize', 0o644, b'0020\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04/bmAttributes', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04/uevent', 0o644, b'''MAJOR=252
+MINOR=18
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04/bInterval', 0o644, b'01\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep04/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84/device', '../../../4-1:1.2')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84/bEndpointAddress', 0o644, b'84\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84/type', 0o644, b'Bulk\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84/dev', 0o644, b'252:17\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84/wMaxPacketSize', 0o644, b'0020\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84/bmAttributes', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84/uevent', 0o644, b'''MAJOR=252
+MINOR=17
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84/bInterval', 0o644, b'01\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/usb_endpoint/usbdev4.2_ep84/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.2/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/subsystem', '../../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/ep_83', 'usb_endpoint/usbdev4.2_ep83')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/ep_03', 'usb_endpoint/usbdev4.2_ep03')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/modalias', 0o644, b'usb:v0A5Cp2110d0100dcE0dsc01dp01icE0isc01ip01\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/bInterfaceNumber', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/bNumEndpoints', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/bInterfaceSubClass', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/bInterfaceClass', 0o644, b'e0\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=a5c/2110/100
+TYPE=224/1/1
+INTERFACE=224/1/1
+MODALIAS=usb:v0A5Cp2110d0100dcE0dsc01dp01icE0isc01ip01
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/bInterfaceProtocol', 0o644, b'01\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03/device', '../../../4-1:1.1')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03/interval', 0o644, b'1ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03/bEndpointAddress', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03/type', 0o644, b'Isoc\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03/dev', 0o644, b'252:16\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03/direction', 0o644, b'out\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03/wMaxPacketSize', 0o644, b'0000\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03/bmAttributes', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03/uevent', 0o644, b'''MAJOR=252
+MINOR=16
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03/bInterval', 0o644, b'01\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep03/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83/device', '../../../4-1:1.1')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83/interval', 0o644, b'1ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83/bEndpointAddress', 0o644, b'83\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83/type', 0o644, b'Isoc\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83/dev', 0o644, b'252:15\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83/wMaxPacketSize', 0o644, b'0000\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83/bmAttributes', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83/uevent', 0o644, b'''MAJOR=252
+MINOR=15
+''')
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83/bInterval', 0o644, b'01\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/usb_endpoint/usbdev4.2_ep83/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.3/usb4/4-1/4-1:1.1/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.2', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.2/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:0d')
+l('sys/devices/pci0000:00/0000:00:1c.2/subsystem', '../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:1c.2/driver', '../../../bus/pci/drivers/pcieport-driver')
+f('sys/devices/pci0000:00/0000:00:1c.2/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1c.2/enable', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1c.2/modalias', 0o644, b'pci:v00008086d000027D4sv00000000sd00000000bc06sc04i00\n')
+f('sys/devices/pci0000:00/0000:00:1c.2/resource', 0o644, b'''0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000006000 0x0000000000007fff 0x0000000000000100
+0x00000000e8000000 0x00000000e9ffffff 0x0000000000000200
+0x00000000e4100000 0x00000000e41fffff 0x0000000000001201
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1c.2/config', 0o644, b"\x86\x80\xd4'\x07\x05\x10\x00\x02\x00\x04\x06\x10\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x0b\x00`p\x00\x00\x00\xe8\xf0\xe9\x11\xe4\x11\xe4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x0b\x03\x04\x00\x10\x80A\x01\xc0\x0f\x00\x00\x00\x00\x10\x00\x11L\x11\x03\x00\x00\x01\x10\xe0\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\x05\x90\x01\x00\x0c0\xe0\xfe\x89A\x00\x00\x00\x00\x00\x00\r\xa0\x00\x00\xaa\x17\x11 \x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x11\xc0\x00\x00\x00\x00\x00\x00\xc7\x00\x06\x07\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x0f\x02\x00\x00\x00\x00\x00\x02\x00\x01\x18\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\xff\x00\x00\x80\x00\x00\x00\x00\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\x11\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x01\x00\x00\x01\x02\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x00\x00\x00\x00\x01\xc0\xd1\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07`\x00`\x00\x00\x00\x00`\x02\x00\x00\x0c\x00\x06\x00\x00\x00\x00\x00[`\xc9\xc0\x00p&u\x00\x10\x00\x00\xff\x0f\x00\x00\x16\x00\x00\x14\xb5\xbcJ\xbc\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\x10\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x02\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00")
+f('sys/devices/pci0000:00/0000:00:1c.2/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1c.2/subsystem_device', 0o644, b'0x0000\n')
+f('sys/devices/pci0000:00/0000:00:1c.2/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1c.2/irq', 0o644, b'508\n')
+f('sys/devices/pci0000:00/0000:00:1c.2/device', 0o644, b'0x27d4\n')
+f('sys/devices/pci0000:00/0000:00:1c.2/class', 0o644, b'0x060400\n')
+f('sys/devices/pci0000:00/0000:00:1c.2/msi_bus', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1c.2/subsystem_vendor', 0o644, b'0x0000\n')
+f('sys/devices/pci0000:00/0000:00:1c.2/uevent', 0o644, b'''DRIVER=pcieport-driver
+PCI_CLASS=60400
+PCI_ID=8086:27D4
+PCI_SUBSYS_ID=0000:0000
+PCI_SLOT_NAME=0000:00:1c.2
+MODALIAS=pci:v00008086d000027D4sv00000000sd00000000bc06sc04i00
+''')
+f('sys/devices/pci0000:00/0000:00:1c.2/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie02', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie02/subsystem', '../../../../bus/pci_express')
+f('sys/devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie02/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie02/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie02/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie00', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie00/subsystem', '../../../../bus/pci_express')
+f('sys/devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie00/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie00/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.2/pci_bus', 0o755)
+d('sys/devices/pci0000:00/0000:00:1c.2/pci_bus/0000:04', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.2/pci_bus/0000:04/subsystem', '../../../../../class/pci_bus')
+l('sys/devices/pci0000:00/0000:00:1c.2/pci_bus/0000:04/device', '../../../0000:00:1c.2')
+f('sys/devices/pci0000:00/0000:00:1c.2/pci_bus/0000:04/cpuaffinity', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1c.2/pci_bus/0000:04/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.2/pci_bus/0000:04/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.2/pci_bus/0000:04/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.2/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.2/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie03', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie03/subsystem', '../../../../bus/pci_express')
+f('sys/devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie03/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie03/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.2/0000:00:1c.2:pcie03/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1b.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1b.0/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:25')
+l('sys/devices/pci0000:00/0000:00:1b.0/subsystem', '../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:1b.0/driver', '../../../bus/pci/drivers/HDA Intel')
+f('sys/devices/pci0000:00/0000:00:1b.0/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/enable', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/modalias', 0o644, b'pci:v00008086d000027D8sv000017AAsd00002010bc04sc03i00\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/resource', 0o644, b'''0x00000000ee400000 0x00000000ee403fff 0x0000000000020204
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1b.0/config', 0o644, b"\x86\x80\xd8'\x06\x01\x10\x00\x02\x00\x03\x04\x10\x00\x00\x00\x04\x00@\xee\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x17\x10 \x00\x00\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x0b\x02\x00\x00\x03\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x01`B\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05p\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x91\x00\x00\x00\x00\x00\x00\x08\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x86\x0f\x02\x00\x00\x00\x00\x00\x02\x00\x01\x13\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x01\x00\x00\x01\x02\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x00\x00\x00\x00\x00\xc0\xd1\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00")
+f('sys/devices/pci0000:00/0000:00:1b.0/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/subsystem_device', 0o644, b'0x2010\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/irq', 0o644, b'17\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/device', 0o644, b'0x27d8\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/class', 0o644, b'0x040300\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/msi_bus', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1b.0/resource0', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1b.0/subsystem_vendor', 0o644, b'0x17aa\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/uevent', 0o644, b'''DRIVER=HDA Intel
+PCI_CLASS=40300
+PCI_ID=8086:27D8
+PCI_SUBSYS_ID=17AA:2010
+PCI_SLOT_NAME=0000:00:1b.0
+MODALIAS=pci:v00008086d000027D8sv000017AAsd00002010bc04sc03i00
+''')
+f('sys/devices/pci0000:00/0000:00:1b.0/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1b.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1b.0/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound', 0o755)
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/subsystem', '../../../../../class/sound')
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/device', '../../../0000:00:1b.0')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/audio', 0o755)
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/audio/subsystem', '../../../../../../class/sound')
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/audio/device', '../../card0')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/audio/dev', 0o644, b'14:4\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/audio/uevent', 0o644, b'''MAJOR=14
+MINOR=4
+''')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/audio/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/audio/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/dsp', 0o755)
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/dsp/subsystem', '../../../../../../class/sound')
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/dsp/device', '../../card0')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/dsp/dev', 0o644, b'14:3\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/dsp/uevent', 0o644, b'''MAJOR=14
+MINOR=3
+''')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/dsp/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/dsp/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/mixer', 0o755)
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/mixer/subsystem', '../../../../../../class/sound')
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/mixer/device', '../../card0')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/mixer/dev', 0o644, b'14:0\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/mixer/uevent', 0o644, b'''MAJOR=14
+MINOR=0
+''')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/mixer/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/mixer/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0p', 0o755)
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0p/subsystem', '../../../../../../class/sound')
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0p/device', '../../card0')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0p/pcm_class', 0o644, b'generic\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0p/dev', 0o644, b'116:16\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0p/uevent', 0o644, b'''MAJOR=116
+MINOR=16
+''')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0p/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0p/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/controlC0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/controlC0/subsystem', '../../../../../../class/sound')
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/controlC0/device', '../../card0')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/controlC0/dev', 0o644, b'116:0\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/controlC0/uevent', 0o644, b'''MAJOR=116
+MINOR=0
+''')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/controlC0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/controlC0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0c', 0o755)
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0c/subsystem', '../../../../../../class/sound')
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0c/device', '../../card0')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0c/pcm_class', 0o644, b'generic\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0c/dev', 0o644, b'116:24\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0c/uevent', 0o644, b'''MAJOR=116
+MINOR=24
+''')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0c/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D0c/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/adsp', 0o755)
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/adsp/subsystem', '../../../../../../class/sound')
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/adsp/device', '../../card0')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/adsp/dev', 0o644, b'14:12\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/adsp/uevent', 0o644, b'''MAJOR=14
+MINOR=12
+''')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/adsp/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/adsp/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D1p', 0o755)
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D1p/subsystem', '../../../../../../class/sound')
+l('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D1p/device', '../../card0')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D1p/pcm_class', 0o644, b'generic\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D1p/dev', 0o644, b'116:17\n')
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D1p/uevent', 0o644, b'''MAJOR=116
+MINOR=17
+''')
+d('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D1p/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1b.0/sound/card0/pcmC0D1p/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/pci_bus', 0o755)
+d('sys/devices/pci0000:00/pci_bus/0000:00', 0o755)
+l('sys/devices/pci0000:00/pci_bus/0000:00/subsystem', '../../../../class/pci_bus')
+l('sys/devices/pci0000:00/pci_bus/0000:00/device', '../../../pci0000:00')
+f('sys/devices/pci0000:00/pci_bus/0000:00/cpuaffinity', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/pci_bus/0000:00/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/pci_bus/0000:00/power', 0o755)
+f('sys/devices/pci0000:00/pci_bus/0000:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/power', 0o755)
+f('sys/devices/pci0000:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:21')
+l('sys/devices/pci0000:00/0000:00:1d.7/subsystem', '../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:1d.7/driver', '../../../bus/pci/drivers/ehci_hcd')
+f('sys/devices/pci0000:00/0000:00:1d.7/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/enable', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/modalias', 0o644, b'pci:v00008086d000027CCsv000017AAsd0000200Bbc0Csc03i20\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/resource', 0o644, b'''0x00000000ee404000 0x00000000ee4043ff 0x0000000000020200
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/config', 0o644, b"\x86\x80\xcc'\x06\x01\x90\x02\x02 \x03\x0c\x00\x00\x00\x00\x00@@\xee\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x17\x0b \x00\x00\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x0b\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01X\xc2\xc9\x00\x80\x00\x00\n\x00\xa0 \x00\x00\x00\x00  \x9f\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x08\x80\x00\x00\xd7?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xaa\xff\x00\xff\x00\xff\x00 \x00\x00\x88\x00\x00\x00\x00\xdb\xb6m\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\t\x88\x85@\x00\x86\x0f\x02\x00\x06\x17\x02 ")
+f('sys/devices/pci0000:00/0000:00:1d.7/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/subsystem_device', 0o644, b'0x200b\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/irq', 0o644, b'19\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/pools', 0o644, b'''poolinfo - 0.1
+ehci_sitd           0    0   96  0
+ehci_itd            0    0  192  0
+ehci_qh             5   25  160  1
+ehci_qtd            5   42   96  1
+buffer-2048        16   32 2048 16
+buffer-512          0    0  512  0
+buffer-128          2   32  128  1
+buffer-32           2  128   32  1
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/device', 0o644, b'0x27cc\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/class', 0o644, b'0x0c0320\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/msi_bus', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.7/resource0', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.7/subsystem_vendor', 0o644, b'0x17aa\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/uevent', 0o644, b'''DRIVER=ehci_hcd
+PCI_CLASS=C0320
+PCI_ID=8086:27CC
+PCI_SUBSYS_ID=17AA:200B
+PCI_SLOT_NAME=0000:00:1d.7
+MODALIAS=pci:v00008086d000027CCsv000017AAsd0000200Bbc0Csc03i20
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/subsystem', '../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/driver', '../../../../bus/usb/drivers/usb')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/ep_00', 'usb_endpoint/usbdev5.1_ep00')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/version', 0o644, b' 2.00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/authorized_default', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/maxchild', 0o644, b'8\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/bDeviceClass', 0o644, b'09\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/bcdDevice', 0o644, b'0206\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/devnum', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/bDeviceProtocol', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/idProduct', 0o644, b'0002\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/product', 0o644, b'EHCI Host Controller\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/bDeviceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/configuration', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/dev', 0o644, b'189:512\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/urbnum', 0o644, b'151\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/authorized', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/descriptors', 0o644, b'\x12\x01\x00\x02\t\x00\x00@k\x1d\x02\x00\x06\x02\x03\x02\x01\x01\t\x02\x19\x00\x01\x01\x00\xe0\x00\t\x04\x00\x00\x01\t\x00\x00\x00\x07\x05\x81\x03\x04\x00\x0c')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/bNumConfigurations', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/serial', 0o644, b'0000:00:1d.7\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/speed', 0o644, b'480\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/bMaxPacketSize0', 0o644, b'64\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/bmAttributes', 0o644, b'e0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/busnum', 0o644, b'5\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/quirks', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/bConfigurationValue', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/uevent', 0o644, b'''MAJOR=189
+MINOR=512
+DEVTYPE=usb_device
+DRIVER=usb
+PRODUCT=1d6b/2/206
+TYPE=9/0/0
+BUSNUM=005
+DEVNUM=001
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/manufacturer', 0o644, b'Linux 2.6.27-rc7-00106-g6ef190c-dirty ehci_hcd\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/idVendor', 0o644, b'1d6b\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/bNumInterfaces', 0o644, b' 1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/bMaxPower', 0o644, b'  0mA\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00/subsystem', '../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00/device', '../../../usb5')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00/bEndpointAddress', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00/type', 0o644, b'Control\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00/dev', 0o644, b'252:9\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00/direction', 0o644, b'both\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00/wMaxPacketSize', 0o644, b'0040\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00/bmAttributes', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00/uevent', 0o644, b'''MAJOR=252
+MINOR=9
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00/bInterval', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/usb_endpoint/usbdev5.1_ep00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/subsystem', '../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/driver', '../../../../../bus/usb/drivers/usb')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/ep_00', 'usb_endpoint/usbdev5.7_ep00')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/version', 0o644, b' 2.00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/maxchild', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/bDeviceClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/bcdDevice', 0o644, b'0100\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/devnum', 0o644, b'7\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/bDeviceProtocol', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/idProduct', 0o644, b'8012\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/product', 0o644, b'Flash Disk\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/bDeviceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/configuration', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/dev', 0o644, b'189:518\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/urbnum', 0o644, b'743\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/authorized', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/descriptors', 0o644, b'\x12\x01\x00\x02\x00\x00\x00@C\x10\x12\x80\x00\x01\x01\x02\x00\x01\t\x02 \x00\x01\x01\x00\x802\t\x04\x00\x00\x02\x08\x06P\x00\x07\x05\x81\x02\x00\x02\x00\x07\x05\x02\x02\x00\x02\x00')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/bNumConfigurations', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/speed', 0o644, b'480\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/bMaxPacketSize0', 0o644, b'64\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/bmAttributes', 0o644, b'80\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/busnum', 0o644, b'5\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/quirks', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/bConfigurationValue', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/uevent', 0o644, b'''MAJOR=189
+MINOR=518
+DEVTYPE=usb_device
+DRIVER=usb
+PRODUCT=1043/8012/100
+TYPE=0/0/0
+BUSNUM=005
+DEVNUM=007
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/manufacturer', 0o644, b'Generic\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/idVendor', 0o644, b'1043\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/bNumInterfaces', 0o644, b' 1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/bMaxPower', 0o644, b'100mA\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00/subsystem', '../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00/device', '../../../5-1')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00/bEndpointAddress', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00/type', 0o644, b'Control\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00/dev', 0o644, b'252:24\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00/direction', 0o644, b'both\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00/wMaxPacketSize', 0o644, b'0040\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00/bmAttributes', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00/uevent', 0o644, b'''MAJOR=252
+MINOR=24
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00/bInterval', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/usb_endpoint/usbdev5.7_ep00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/power/active_duration', 0o644, b'65113\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/power/wakeup', 0o644, b'\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/power/connected_duration', 0o644, b'65113\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/power/autosuspend', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/power/persist', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/power/level', 0o644, b'on\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/subsystem', '../../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/ep_81', 'usb_endpoint/usbdev5.7_ep81')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/ep_02', 'usb_endpoint/usbdev5.7_ep02')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/driver', '../../../../../../bus/usb/drivers/usb-storage')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/modalias', 0o644, b'usb:v1043p8012d0100dc00dsc00dp00ic08isc06ip50\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/bInterfaceNumber', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/bNumEndpoints', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/bInterfaceSubClass', 0o644, b'06\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/bInterfaceClass', 0o644, b'08\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/uevent', 0o644, b'''DEVTYPE=usb_interface
+DRIVER=usb-storage
+PRODUCT=1043/8012/100
+TYPE=0/0/0
+INTERFACE=8/6/80
+MODALIAS=usb:v1043p8012d0100dc00dsc00dp00ic08isc06ip50
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/bInterfaceProtocol', 0o644, b'50\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81/device', '../../../5-1:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81/bEndpointAddress', 0o644, b'81\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81/type', 0o644, b'Bulk\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81/dev', 0o644, b'252:10\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81/wMaxPacketSize', 0o644, b'0200\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81/bmAttributes', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81/uevent', 0o644, b'''MAJOR=252
+MINOR=10
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81/bInterval', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep81/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02/device', '../../../5-1:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02/bEndpointAddress', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02/type', 0o644, b'Bulk\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02/dev', 0o644, b'252:11\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02/direction', 0o644, b'out\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02/wMaxPacketSize', 0o644, b'0200\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02/bmAttributes', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02/uevent', 0o644, b'''MAJOR=252
+MINOR=11
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02/bInterval', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/usb_endpoint/usbdev5.7_ep02/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/subsystem', '../../../../../../../bus/scsi')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/uevent', 0o644, b'DEVTYPE=scsi_host\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/subsystem', '../../../../../../../../bus/scsi')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/uevent', 0o644, b'DEVTYPE=scsi_target\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/generic', 'scsi_generic/sg2')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/subsystem', '../../../../../../../../../bus/scsi')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/driver', '../../../../../../../../../bus/scsi/drivers/sd')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/iodone_cnt', 0o644, b'0xc3\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/device_blocked', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/max_sectors', 0o644, b'240\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/modalias', 0o644, b'scsi:t-0x00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_level', 0o644, b'3\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/queue_depth', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/rev', 0o644, b'1.00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/type', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/iocounterbits', 0o644, b'32\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/vendor', 0o644, b'Generic \n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/state', 0o644, b'running\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/queue_type', 0o644, b'none\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/iorequest_cnt', 0o644, b'0xc3\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/evt_media_change', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/model', 0o644, b'USB Flash Drive \n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/ioerr_cnt', 0o644, b'0x2\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/uevent', 0o644, b'''DEVTYPE=scsi_device
+DRIVER=sd
+MODALIAS=scsi:t-0x00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/timeout', 0o644, b'60\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_disk', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_disk/7:0:0:0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_disk/7:0:0:0/subsystem', '../../../../../../../../../../../class/scsi_disk')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_disk/7:0:0:0/device', '../../../7:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_disk/7:0:0:0/app_tag_own', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_disk/7:0:0:0/FUA', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_disk/7:0:0:0/cache_type', 0o644, b'write through\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_disk/7:0:0:0/protection_type', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_disk/7:0:0:0/manage_start_stop', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_disk/7:0:0:0/allow_restart', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_disk/7:0:0:0/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_disk/7:0:0:0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_disk/7:0:0:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_generic', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_generic/sg2', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_generic/sg2/subsystem', '../../../../../../../../../../../class/scsi_generic')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_generic/sg2/device', '../../../7:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_generic/sg2/dev', 0o644, b'21:2\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_generic/sg2/uevent', 0o644, b'''MAJOR=21
+MINOR=2
+''')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_generic/sg2/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_generic/sg2/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/bsg', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/bsg/7:0:0:0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/bsg/7:0:0:0/subsystem', '../../../../../../../../../../../class/bsg')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/bsg/7:0:0:0/device', '../../../7:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/bsg/7:0:0:0/dev', 0o644, b'254:2\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/bsg/7:0:0:0/uevent', 0o644, b'''MAJOR=254
+MINOR=2
+''')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/bsg/7:0:0:0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/bsg/7:0:0:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/subsystem', '../../../../../../../../../../../class/block')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/bdi', '../../../../../../../../../../virtual/bdi/8:16')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/device', '../../../7:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/capability', 0o644, b'13\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/ro', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/make-it-fail', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/size', 0o644, b'257024\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/dev', 0o644, b'8:16\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/range', 0o644, b'16\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/removable', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/stat', 0o644, b'     117      409     2103      272        0        0        0        0        0      194      272\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/uevent', 0o644, b'''MAJOR=8
+MINOR=16
+DEVTYPE=disk
+''')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/bsg', '../../../bsg/7:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/nr_requests', 0o644, b'128\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/nomerges', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/scheduler', 0o644, b'noop anticipatory deadline [cfq] \n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/hw_sector_size', 0o644, b'512\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/max_hw_sectors_kb', 0o644, b'120\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/read_ahead_kb', 0o644, b'128\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/max_sectors_kb', 0o644, b'120\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/iosched', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/iosched/slice_async_rq', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/iosched/back_seek_max', 0o644, b'16384\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/iosched/slice_sync', 0o644, b'100\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/iosched/slice_async', 0o644, b'40\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/iosched/fifo_expire_sync', 0o644, b'125\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/iosched/slice_idle', 0o644, b'8\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/iosched/back_seek_penalty', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/iosched/fifo_expire_async', 0o644, b'250\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/queue/iosched/quantum', 0o644, b'4\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb1/subsystem', '../../../../../../../../../../../../class/block')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb1/start', 0o644, b'32\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb1/make-it-fail', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb1/size', 0o644, b'256992\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb1/dev', 0o644, b'8:17\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb1/stat', 0o644, b'     109      392     1903      246        0        0        0        0        0      169      246\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb1/uevent', 0o644, b'''MAJOR=8
+MINOR=17
+DEVTYPE=partition
+''')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb1/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_device', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_device/7:0:0:0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_device/7:0:0:0/subsystem', '../../../../../../../../../../../class/scsi_device')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_device/7:0:0:0/device', '../../../7:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_device/7:0:0:0/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_device/7:0:0:0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/target7:0:0/7:0:0:0/scsi_device/7:0:0:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/subsystem', '../../../../../../../../../class/scsi_host')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/device', '../../../host7')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/unique_id', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/can_queue', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/unchecked_isa_dma', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/active_mode', 0o644, b'Initiator\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/sg_tablesize', 0o644, b'128\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/prot_guard_type', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/host_busy', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/proc_name', 0o644, b'usb-storage\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/state', 0o644, b'running\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/cmd_per_lun', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/supported_mode', 0o644, b'Initiator\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/uevent', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/prot_capabilities', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-1/5-1:1.0/host7/scsi_host/host7/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/subsystem', '../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/driver', '../../../../../bus/usb/drivers/usb')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/ep_00', 'usb_endpoint/usbdev5.9_ep00')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/version', 0o644, b' 2.00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/maxchild', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/bDeviceClass', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/bcdDevice', 0o644, b'0100\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/devnum', 0o644, b'9\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/bDeviceProtocol', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/idProduct', 0o644, b'007b\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/product', 0o644, b'N78\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/bDeviceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/configuration', 0o644, b'Bulk transfer method configuration\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/dev', 0o644, b'189:520\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/urbnum', 0o644, b'20\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/authorized', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/descriptors', 0o644, b'''\x12\x01\x00\x02\x02\x00\x00@!\x04{\x00\x00\x01\x01\x02\x03\x01\t\x02\xab\x01\x0e\x01\x04\xc02\t\x04\x00\x00\x01\x02\x02\x01\x06\x05$\x00\x00\x01\x04$\x02\x0f\x05$\x06\x00\x01\x07\x05\x81\x03@\x00\x08\t\x04\x01\x00\x02
+\x00\x00\x07\x07\x05\x82\x02\x00\x02\xff\x07\x05\x01\x02\x00\x02\xff\t\x04\x02\x00\x01\x02\x02\xff\x08\x05$\x00\x00\x01\x04$\x02\x0f\x05$\x06\x02\x03\x07\x05\x83\x03@\x00\x08\t\x04\x03\x00\x02
+\x00\x00\t\x07\x05\x84\x02\x00\x02\xff\x07\x05\x02\x02\x00\x02\xff\t\x04\x04\x00\x00\x02\x08\x00\x00\x05$\x00\x10\x01\x05$\x11\x00\x01\r$\x06\x04\x05\x06\x07\x08\t
+\x0b\x0c\r\t\x04\x05\x00\x00\x02\x0b\x00
+\x05$\x00\x10\x01\x05$\x15\x00\x01\x05$\x06\x05\x06\t\x04\x06\x00\x00
+\x00\x00\x00\t\x04\x06\x01\x02
+\x00\x00\x00\x07\x05\x85\x02\x00\x02\xff\x07\x05\x03\x02\x00\x02\xff\t\x04\x07\x00\x00\x02\x0b\x00\x0b\x05$\x00\x10\x01\x05$\x15\x00\x01\x05$\x06\x07\x08\t\x04\x08\x00\x00
+\x00\x00\x00\t\x04\x08\x01\x02
+\x00\x00\x00\x07\x05\x86\x02\x00\x02\xff\x07\x05\x04\x02\x00\x02\xff\t\x04\t\x00\x00\x02\x08\x01\x00\x05$\x00\x10\x01\x05$\x08\x00\x01\x06$\x06\t
+\x0b\t\x04
+\x00\x00\x02\xfe\x00\x00\x05$\x00\x10\x01\x05$\xab\x05\x15\x05$\x06
+\x0b\t\x04\x0b\x00\x00
+\x00\x00\x00\t\x04\x0b\x01\x02
+\x00\x00\x00\x04$\xfd\x01\x07\x05\x05\x02\x00\x02\xff\x07\x05\x87\x02\x00\x02\xff\t\x04\x0c\x00\x00\x02\xfd\x00\x0c\x05$\x00\x10\x01\x05$\xfc\x00\x01\x05$\x06\x0c\r\x04$\xfd\x00\t\x04\r\x00\x00
+\x00\x00\x00\t\x04\r\x01\x02
+\x00\x00\x00\x07\x05\x88\x03\x00\x02\x06\x07\x05\x06\x02\x00\x02\xff\t\x04\r\x02\x02
+\x00\x00\x00\x07\x05\x88\x02\x00\x02\xff\x07\x05\x06\x02\x00\x02\xff''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/bNumConfigurations', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/serial', 0o644, b'354172020305000\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/speed', 0o644, b'480\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/bMaxPacketSize0', 0o644, b'64\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/bmAttributes', 0o644, b'c0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/busnum', 0o644, b'5\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/quirks', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/bConfigurationValue', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/uevent', 0o644, b'''MAJOR=189
+MINOR=520
+DEVTYPE=usb_device
+DRIVER=usb
+PRODUCT=421/7b/100
+TYPE=2/0/0
+BUSNUM=005
+DEVNUM=009
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/manufacturer', 0o644, b'Nokia\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/idVendor', 0o644, b'0421\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/bNumInterfaces', 0o644, b'14\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/bMaxPower', 0o644, b'100mA\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.4', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.4/subsystem', '../../../../../../bus/usb')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.4/modalias', 0o644, b'usb:v0421p007Bd0100dc02dsc00dp00ic02isc08ip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.4/bInterfaceNumber', 0o644, b'04\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.4/bNumEndpoints', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.4/bInterfaceSubClass', 0o644, b'08\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.4/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.4/bInterfaceClass', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.4/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=421/7b/100
+TYPE=2/0/0
+INTERFACE=2/8/0
+MODALIAS=usb:v0421p007Bd0100dc02dsc00dp00ic02isc08ip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.4/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.4/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.4/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00/subsystem', '../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00/device', '../../../5-2')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00/bEndpointAddress', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00/type', 0o644, b'Control\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00/dev', 0o644, b'252:33\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00/direction', 0o644, b'both\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00/wMaxPacketSize', 0o644, b'0040\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00/bmAttributes', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00/uevent', 0o644, b'''MAJOR=252
+MINOR=33
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00/bInterval', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/usb_endpoint/usbdev5.9_ep00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/subsystem', '../../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/ep_83', 'usb_endpoint/usbdev5.9_ep83')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/modalias', 0o644, b'usb:v0421p007Bd0100dc02dsc00dp00ic02isc02ipFF\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/bInterfaceNumber', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/bNumEndpoints', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/interface', 0o644, b'CDC Comms Interface\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/bInterfaceSubClass', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/bInterfaceClass', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=421/7b/100
+TYPE=2/0/0
+INTERFACE=2/2/255
+MODALIAS=usb:v0421p007Bd0100dc02dsc00dp00ic02isc02ipFF
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/bInterfaceProtocol', 0o644, b'ff\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83/device', '../../../5-2:1.2')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83/interval', 0o644, b'16ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83/bEndpointAddress', 0o644, b'83\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83/type', 0o644, b'Interrupt\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83/dev', 0o644, b'252:30\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83/wMaxPacketSize', 0o644, b'0040\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83/bmAttributes', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83/uevent', 0o644, b'''MAJOR=252
+MINOR=30
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83/bInterval', 0o644, b'08\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/usb_endpoint/usbdev5.9_ep83/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.2/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/subsystem', '../../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/ep_01', 'usb_endpoint/usbdev5.9_ep01')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/ep_82', 'usb_endpoint/usbdev5.9_ep82')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/driver', '../../../../../../bus/usb/drivers/cdc_acm')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/modalias', 0o644, b'usb:v0421p007Bd0100dc02dsc00dp00ic0Aisc00ip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/bInterfaceNumber', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/bNumEndpoints', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/interface', 0o644, b'CDC Data Interface\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/bInterfaceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/bInterfaceClass', 0o644, b'0a\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/uevent', 0o644, b'''DEVTYPE=usb_interface
+DRIVER=cdc_acm
+PRODUCT=421/7b/100
+TYPE=2/0/0
+INTERFACE=10/0/0
+MODALIAS=usb:v0421p007Bd0100dc02dsc00dp00ic0Aisc00ip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01/device', '../../../5-2:1.1')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01/interval', 0o644, b'31875us\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01/bEndpointAddress', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01/type', 0o644, b'Bulk\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01/dev', 0o644, b'252:29\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01/direction', 0o644, b'out\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01/wMaxPacketSize', 0o644, b'0200\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01/bmAttributes', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01/uevent', 0o644, b'''MAJOR=252
+MINOR=29
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01/bInterval', 0o644, b'ff\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep01/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82/device', '../../../5-2:1.1')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82/bEndpointAddress', 0o644, b'82\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82/type', 0o644, b'Bulk\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82/dev', 0o644, b'252:28\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82/wMaxPacketSize', 0o644, b'0200\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82/bmAttributes', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82/uevent', 0o644, b'''MAJOR=252
+MINOR=28
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82/bInterval', 0o644, b'ff\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/usb_endpoint/usbdev5.9_ep82/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.1/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.10', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.10/subsystem', '../../../../../../bus/usb')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.10/modalias', 0o644, b'usb:v0421p007Bd0100dc02dsc00dp00ic02iscFEip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.10/bInterfaceNumber', 0o644, b'0a\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.10/bNumEndpoints', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.10/bInterfaceSubClass', 0o644, b'fe\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.10/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.10/bInterfaceClass', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.10/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=421/7b/100
+TYPE=2/0/0
+INTERFACE=2/254/0
+MODALIAS=usb:v0421p007Bd0100dc02dsc00dp00ic02iscFEip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.10/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.10/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.10/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.7', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.7/subsystem', '../../../../../../bus/usb')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.7/modalias', 0o644, b'usb:v0421p007Bd0100dc02dsc00dp00ic02isc0Bip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.7/bInterfaceNumber', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.7/bNumEndpoints', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.7/interface', 0o644, b'PC Suite Services\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.7/bInterfaceSubClass', 0o644, b'0b\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.7/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.7/bInterfaceClass', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.7/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=421/7b/100
+TYPE=2/0/0
+INTERFACE=2/11/0
+MODALIAS=usb:v0421p007Bd0100dc02dsc00dp00ic02isc0Bip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.7/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.7/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.7/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/subsystem', '../../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/ep_81', 'usb_endpoint/usbdev5.9_ep81')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/driver', '../../../../../../bus/usb/drivers/cdc_acm')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/modalias', 0o644, b'usb:v0421p007Bd0100dc02dsc00dp00ic02isc02ip01\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/bInterfaceNumber', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/bmCapabilities', 0o644, b'15')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/bNumEndpoints', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/interface', 0o644, b'CDC Comms Interface\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/bInterfaceSubClass', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/bInterfaceClass', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/uevent', 0o644, b'''DEVTYPE=usb_interface
+DRIVER=cdc_acm
+PRODUCT=421/7b/100
+TYPE=2/0/0
+INTERFACE=2/2/1
+MODALIAS=usb:v0421p007Bd0100dc02dsc00dp00ic02isc02ip01
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/bInterfaceProtocol', 0o644, b'01\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81/device', '../../../5-2:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81/interval', 0o644, b'16ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81/bEndpointAddress', 0o644, b'81\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81/type', 0o644, b'Interrupt\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81/dev', 0o644, b'252:27\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81/wMaxPacketSize', 0o644, b'0040\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81/bmAttributes', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81/uevent', 0o644, b'''MAJOR=252
+MINOR=27
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81/bInterval', 0o644, b'08\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/usb_endpoint/usbdev5.9_ep81/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0/subsystem', '../../../../../../../../class/tty')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0/device', '../../../5-2:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0/dev', 0o644, b'166:0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0/uevent', 0o644, b'''MAJOR=166
+MINOR=0
+DEVNAME=ttyACM0
+''')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/tty/ttyACM0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.9', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.9/subsystem', '../../../../../../bus/usb')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.9/modalias', 0o644, b'usb:v0421p007Bd0100dc02dsc00dp00ic02isc08ip01\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.9/bInterfaceNumber', 0o644, b'09\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.9/bNumEndpoints', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.9/bInterfaceSubClass', 0o644, b'08\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.9/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.9/bInterfaceClass', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.9/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=421/7b/100
+TYPE=2/0/0
+INTERFACE=2/8/1
+MODALIAS=usb:v0421p007Bd0100dc02dsc00dp00ic02isc08ip01
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.9/bInterfaceProtocol', 0o644, b'01\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.9/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.9/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.8', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.8/subsystem', '../../../../../../bus/usb')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.8/modalias', 0o644, b'usb:v0421p007Bd0100dc02dsc00dp00ic0Aisc00ip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.8/bInterfaceNumber', 0o644, b'08\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.8/bNumEndpoints', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.8/bInterfaceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.8/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.8/bInterfaceClass', 0o644, b'0a\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.8/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=421/7b/100
+TYPE=2/0/0
+INTERFACE=10/0/0
+MODALIAS=usb:v0421p007Bd0100dc02dsc00dp00ic0Aisc00ip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.8/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.8/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.8/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/power/active_duration', 0o644, b'20902\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/power/wakeup', 0o644, b'\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/power/connected_duration', 0o644, b'20901\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/power/autosuspend', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/power/persist', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/power/level', 0o644, b'on\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.13', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.13/subsystem', '../../../../../../bus/usb')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.13/modalias', 0o644, b'usb:v0421p007Bd0100dc02dsc00dp00ic0Aisc00ip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.13/bInterfaceNumber', 0o644, b'0d\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.13/bNumEndpoints', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.13/bInterfaceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.13/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.13/bInterfaceClass', 0o644, b'0a\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.13/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=421/7b/100
+TYPE=2/0/0
+INTERFACE=10/0/0
+MODALIAS=usb:v0421p007Bd0100dc02dsc00dp00ic0Aisc00ip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.13/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.13/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.13/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.5', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.5/subsystem', '../../../../../../bus/usb')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.5/modalias', 0o644, b'usb:v0421p007Bd0100dc02dsc00dp00ic02isc0Bip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.5/bInterfaceNumber', 0o644, b'05\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.5/bNumEndpoints', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.5/interface', 0o644, b'SYNCML-SYNC\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.5/bInterfaceSubClass', 0o644, b'0b\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.5/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.5/bInterfaceClass', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.5/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=421/7b/100
+TYPE=2/0/0
+INTERFACE=2/11/0
+MODALIAS=usb:v0421p007Bd0100dc02dsc00dp00ic02isc0Bip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.5/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.5/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.5/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.11', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.11/subsystem', '../../../../../../bus/usb')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.11/modalias', 0o644, b'usb:v0421p007Bd0100dc02dsc00dp00ic0Aisc00ip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.11/bInterfaceNumber', 0o644, b'0b\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.11/bNumEndpoints', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.11/bInterfaceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.11/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.11/bInterfaceClass', 0o644, b'0a\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.11/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=421/7b/100
+TYPE=2/0/0
+INTERFACE=10/0/0
+MODALIAS=usb:v0421p007Bd0100dc02dsc00dp00ic0Aisc00ip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.11/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.11/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.11/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.12', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.12/subsystem', '../../../../../../bus/usb')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.12/modalias', 0o644, b'usb:v0421p007Bd0100dc02dsc00dp00ic02iscFDip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.12/bInterfaceNumber', 0o644, b'0c\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.12/bNumEndpoints', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.12/interface', 0o644, b'LCIF_Alt0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.12/bInterfaceSubClass', 0o644, b'fd\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.12/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.12/bInterfaceClass', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.12/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=421/7b/100
+TYPE=2/0/0
+INTERFACE=2/253/0
+MODALIAS=usb:v0421p007Bd0100dc02dsc00dp00ic02iscFDip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.12/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.12/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.12/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/subsystem', '../../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/ep_02', 'usb_endpoint/usbdev5.9_ep02')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/ep_84', 'usb_endpoint/usbdev5.9_ep84')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/modalias', 0o644, b'usb:v0421p007Bd0100dc02dsc00dp00ic0Aisc00ip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/bInterfaceNumber', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/bNumEndpoints', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/interface', 0o644, b'CDC Data Interface\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/bInterfaceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/bInterfaceClass', 0o644, b'0a\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=421/7b/100
+TYPE=2/0/0
+INTERFACE=10/0/0
+MODALIAS=usb:v0421p007Bd0100dc02dsc00dp00ic0Aisc00ip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84/device', '../../../5-2:1.3')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84/bEndpointAddress', 0o644, b'84\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84/type', 0o644, b'Bulk\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84/dev', 0o644, b'252:31\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84/wMaxPacketSize', 0o644, b'0200\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84/bmAttributes', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84/uevent', 0o644, b'''MAJOR=252
+MINOR=31
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84/bInterval', 0o644, b'ff\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep84/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02/device', '../../../5-2:1.3')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02/interval', 0o644, b'31875us\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02/bEndpointAddress', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02/type', 0o644, b'Bulk\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02/dev', 0o644, b'252:32\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02/direction', 0o644, b'out\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02/wMaxPacketSize', 0o644, b'0200\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02/bmAttributes', 0o644, b'02\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02/uevent', 0o644, b'''MAJOR=252
+MINOR=32
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02/bInterval', 0o644, b'ff\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/usb_endpoint/usbdev5.9_ep02/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.3/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.6', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.6/subsystem', '../../../../../../bus/usb')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.6/modalias', 0o644, b'usb:v0421p007Bd0100dc02dsc00dp00ic0Aisc00ip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.6/bInterfaceNumber', 0o644, b'06\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.6/bNumEndpoints', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.6/bInterfaceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.6/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.6/bInterfaceClass', 0o644, b'0a\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.6/uevent', 0o644, b'''DEVTYPE=usb_interface
+PRODUCT=421/7b/100
+TYPE=2/0/0
+INTERFACE=10/0/0
+MODALIAS=usb:v0421p007Bd0100dc02dsc00dp00ic0Aisc00ip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.6/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.6/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.6/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/power/active_duration', 0o644, b'547102\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/power/wakeup', 0o644, b'enabled\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/power/connected_duration', 0o644, b'8371932\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/power/autosuspend', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/power/level', 0o644, b'auto\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/subsystem', '../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/ep_81', 'usb_endpoint/usbdev5.1_ep81')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/driver', '../../../../../bus/usb/drivers/hub')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/modalias', 0o644, b'usb:v1D6Bp0002d0206dc09dsc00dp00ic09isc00ip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/bInterfaceNumber', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/bNumEndpoints', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/bInterfaceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/bInterfaceClass', 0o644, b'09\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/uevent', 0o644, b'''DEVTYPE=usb_interface
+DRIVER=hub
+PRODUCT=1d6b/2/206
+TYPE=9/0/0
+INTERFACE=9/0/0
+MODALIAS=usb:v1D6Bp0002d0206dc09dsc00dp00ic09isc00ip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81/subsystem', '../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81/device', '../../../5-0:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81/interval', 0o644, b'256ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81/bEndpointAddress', 0o644, b'81\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81/type', 0o644, b'Interrupt\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81/dev', 0o644, b'252:8\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81/wMaxPacketSize', 0o644, b'0004\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81/bmAttributes', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81/uevent', 0o644, b'''MAJOR=252
+MINOR=8
+''')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81/bInterval', 0o644, b'0c\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/usb_endpoint/usbdev5.1_ep81/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb5/5-0:1.0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb_host', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.7/usb_host/usb_host5', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.7/usb_host/usb_host5/subsystem', '../../../../../class/usb_host')
+l('sys/devices/pci0000:00/0000:00:1d.7/usb_host/usb_host5/device', '../../../0000:00:1d.7')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb_host/usb_host5/companion', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.7/usb_host/usb_host5/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1d.7/usb_host/usb_host5/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.7/usb_host/usb_host5/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.1/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:0c')
+l('sys/devices/pci0000:00/0000:00:1c.1/subsystem', '../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:1c.1/driver', '../../../bus/pci/drivers/pcieport-driver')
+f('sys/devices/pci0000:00/0000:00:1c.1/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/enable', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/modalias', 0o644, b'pci:v00008086d000027D2sv00000000sd00000000bc06sc04i00\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/resource', 0o644, b'''0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000004000 0x0000000000005fff 0x0000000000000100
+0x00000000ec000000 0x00000000edffffff 0x0000000000000200
+0x00000000e4000000 0x00000000e40fffff 0x0000000000001201
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1c.1/config', 0o644, b"\x86\x80\xd2'\x07\x05\x10\x00\x02\x00\x04\x06\x10\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x03\x00@P\x00\x00\x00\xec\xf0\xed\x01\xe4\x01\xe4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x0b\x02\x04\x00\x10\x80A\x01\xc0\x0f\x00\x00\x00\x00\x11\x00\x11,\x11\x02B\x00\x110\xe0\xa0\x18\x00\x00\x00H\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\x05\x90\x01\x00\x0c0\xe0\xfe\x81A\x00\x00\x00\x00\x00\x00\r\xa0\x00\x00\xaa\x17\x11 \x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x11\x00\x00\x00\x00\x00\x00\x0f\xc7\x80\x06\x07\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x0f\x02\x00\x00\x00\x00\x00\x02\x00\x01\x18\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x80\x00\x00\x00\x00\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\x11\x00\x06\x00\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\x05\x00\x01\x00\x00\x01\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x00\x00\x00\x00\x01\xc0\xd1\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07`\x00`\x00\x00\x00\x00`\x02\x00\x00\x0c\x00\x06\x00\x00\x00\x001[`\xc9\xc0\x00p&u\xa2\x178\x00\xa1\x07G\x02\x16\x00\x00\x14\xb5\xbcJ\xbc\x0b*\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x0c\xb4\x00\xc4\x0c\xb6\x00A\x08z\x00Y\x00\x1b\x00[\x00\x1d\x00\x01\x00\xba\x00\xe3\x0f\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x02\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00")
+f('sys/devices/pci0000:00/0000:00:1c.1/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/subsystem_device', 0o644, b'0x0000\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/irq', 0o644, b'509\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/device', 0o644, b'0x27d2\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/class', 0o644, b'0x060400\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/msi_bus', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/subsystem_vendor', 0o644, b'0x0000\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/uevent', 0o644, b'''DRIVER=pcieport-driver
+PCI_CLASS=60400
+PCI_ID=8086:27D2
+PCI_SUBSYS_ID=0000:0000
+PCI_SLOT_NAME=0000:00:1c.1
+MODALIAS=pci:v00008086d000027D2sv00000000sd00000000bc06sc04i00
+''')
+f('sys/devices/pci0000:00/0000:00:1c.1/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/pci_bus', 0o755)
+d('sys/devices/pci0000:00/0000:00:1c.1/pci_bus/0000:03', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.1/pci_bus/0000:03/subsystem', '../../../../../class/pci_bus')
+l('sys/devices/pci0000:00/0000:00:1c.1/pci_bus/0000:03/device', '../../../0000:00:1c.1')
+f('sys/devices/pci0000:00/0000:00:1c.1/pci_bus/0000:03/cpuaffinity', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/pci_bus/0000:03/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.1/pci_bus/0000:03/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/pci_bus/0000:03/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie02', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie02/subsystem', '../../../../bus/pci_express')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie02/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie02/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie02/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie03', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie03/subsystem', '../../../../bus/pci_express')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie03/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie03/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie03/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/subsystem', '../../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/driver', '../../../../bus/pci/drivers/iwl3945')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/enable', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/rs_window', 0o644, b''' 54Mbs: 00000000000000000000000000000000000000000000000000000000000000
+ 48Mbs: 00000000000000000000000000000000000000000000000000000000000000
+ 36Mbs: 00000000000000000000000000000000000000000000000000000000000000
+ 24Mbs: 00000000000000000000000000000000000000000000000000000000000000
+ 18Mbs: 00000000000000000000000000000000000000000000000000000000000000
+ 12Mbs: 00000000000000000000000000000000000000000000000000000000000000
+ 11Mbs: 00000000000000000000000000000000000000000000000000000000000000
+  9Mbs: 00000000000000000000000000000000000000000000000000000000000000
+  6Mbs: 00000000000000000000000000000000000000000000000000000000000000
+  5Mbs: 00000000000000000000000000000000000000000000000000000000000000
+  2Mbs: 00000000000000000000000000000000000000000000000000000000000000
+  1Mbs: 00000000000000000000000000000000000000000000000000000000000000
+
+Average rate: 0Mbs
+''')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/modalias', 0o644, b'pci:v00008086d00004227sv00008086sd00001011bc02sc80i00\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/resource', 0o644, b'''0x00000000edf00000 0x00000000edf00fff 0x0000000000020200
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/statistics', 0o644, b'''02 00 01 00 a4 c0 02 00 c6 27 01 00 80 16 01 00  .........\'......
+e9 0c 00 00 00 00 00 00 00 00 00 00 69 05 00 00  ............i...
+de 98 01 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+00 00 00 00 00 00 00 00 bd 01 00 00 00 00 00 00  ................
+fd 68 08 00 ae d3 06 00 78 65 04 00 b8 2b 00 00  .h......xe...+..
+00 00 00 00 00 00 00 00 7e 42 02 00 4f 95 01 00  ........~B..O...
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+00 00 00 00 da 01 00 00 00 00 00 00 00 00 00 00  ................
+00 00 00 00 d8 dc 00 00 59 10 01 00 00 00 00 00  ........Y.......
+df 0c 00 00 16 00 00 00 00 00 00 00 00 00 00 00  ................
+88 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00  ................
+00 00 00 00 72 ff ff ff 00 00 00 00 00 00 00 00  ....r...........
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
+00 00 00 00 01 00 00 00 bb 45 98 35 1c 91 e7 f1  .........E.5....
+4c 19 00 00 c2 0c 00 00 e7 ed 00 00 1c 4c 00 00  L............L..
+''')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/config', 0o644, b'\x86\x80\'B\x06\x05\x10\x00\x02\x00\x80\x02\x10\x00\x00\x00\x00\x00\xf0\xed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x80\x11\x10\x00\x00\x00\x00\xc8\x00\x00\x00\x00\x00\x00\x00\x0b\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\x01\xd0"H\x00\x00\x00\r\x05\xe0\x81\x00\x0c\x10\xe0\xfe\x00\x00\x00\x00\xd1A\x00\x00\x10\x00\x11\x00\xc0\x0e\x00\x00\x10\x08\n\x00\x11\x1c\x07\x00B\x01\x11\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x14\x00\x00\x10\x00\x00\x00\x00\x00\x11 \x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x01\x00\x00\x04\x0f\x1a\x00\x00\x00\x01\x01\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\x03\x00\x01\x00\xd1\xaeu\xff\xff\xd2\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/filter_flags', 0o644, b'0x0024\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/retry_rate', 0o644, b'1')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/channels', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/subsystem_device', 0o644, b'0x1011\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/tx_power', 0o644, b'16\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/irq', 0o644, b'504\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/antenna', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/device', 0o644, b'0x4227\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/class', 0o644, b'0x028000\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/power_level', 0o644, b'6 (AC) OFF\n\x00')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/msi_bus', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/flags', 0o644, b'0x8015\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/resource0', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/temperature', 0o644, b'-142\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/measurement', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/subsystem_vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/uevent', 0o644, b'''DRIVER=iwl3945
+PCI_CLASS=28000
+PCI_ID=8086:4227
+PCI_SUBSYS_ID=8086:1011
+PCI_SLOT_NAME=0000:03:00.0
+MODALIAS=pci:v00008086d00004227sv00008086sd00001011bc02sc80i00
+''')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/status', 0o644, b'0x000002e4\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/ieee80211', 0o755)
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/ieee80211/phy0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/ieee80211/phy0/subsystem', '../../../../../../class/ieee80211')
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/ieee80211/phy0/device', '../../../0000:03:00.0')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/ieee80211/phy0/index', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/ieee80211/phy0/uevent', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/ieee80211/phy0/macaddress', 0o644, b'00:19:d2:75:ae:d1\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/ieee80211/phy0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/ieee80211/phy0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net', 0o755)
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/subsystem', '../../../../../../class/net')
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/device', '../../../0000:03:00.0')
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/phy80211', '../../ieee80211/phy0')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/ifindex', 0o644, b'3\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/features', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/iflink', 0o644, b'3\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/dormant', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/dev_id', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/type', 0o644, b'801\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/operstate', 0o644, b'unknown\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/carrier', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/link_mode', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/tx_queue_len', 0o644, b'1000\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/flags', 0o644, b'0x1003\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/addr_len', 0o644, b'6\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/address', 0o644, b'00:19:d2:75:ae:ff\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/uevent', 0o644, b'''INTERFACE=wmaster0
+IFINDEX=3
+''')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/mtu', 0o644, b'1500\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/broadcast', 0o644, b'ff:ff:ff:ff:ff:ff\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/tx_aborted_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/rx_crc_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/rx_bytes', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/rx_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/tx_packets', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/tx_carrier_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/tx_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/rx_dropped', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/tx_fifo_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/rx_length_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/tx_dropped', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/rx_fifo_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/rx_missed_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/tx_window_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/collisions', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/rx_frame_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/rx_packets', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/rx_compressed', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/tx_compressed', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/multicast', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/rx_over_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/tx_bytes', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/statistics/tx_heartbeat_errors', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/subsystem', '../../../../../../class/net')
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/device', '../../../0000:03:00.0')
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/phy80211', '../../ieee80211/phy0')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/ifindex', 0o644, b'4\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/features', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/iflink', 0o644, b'4\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/dormant', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/dev_id', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/type', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/operstate', 0o644, b'up\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/carrier', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/link_mode', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/tx_queue_len', 0o644, b'1000\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/flags', 0o644, b'0x1003\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/addr_len', 0o644, b'6\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/address', 0o644, b'00:19:d2:75:ae:ff\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/uevent', 0o644, b'''INTERFACE=wlan0
+IFINDEX=4
+''')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/mtu', 0o644, b'1500\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/broadcast', 0o644, b'ff:ff:ff:ff:ff:ff\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/tx_aborted_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/rx_crc_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/rx_bytes', 0o644, b'289996\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/rx_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/tx_packets', 0o644, b'1029\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/tx_carrier_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/tx_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/rx_dropped', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/tx_fifo_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/rx_length_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/tx_dropped', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/rx_fifo_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/rx_missed_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/tx_window_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/collisions', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/rx_frame_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/rx_packets', 0o644, b'788\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/rx_compressed', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/tx_compressed', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/multicast', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/rx_over_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/tx_bytes', 0o644, b'530013\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/statistics/tx_heartbeat_errors', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/wireless', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/wireless/beacon', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/wireless/link', 0o644, b'77\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/wireless/nwid', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/wireless/retries', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/wireless/fragment', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/wireless/misc', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/wireless/crypt', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/wireless/noise', 0o644, b'178\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/wireless/level', 0o644, b'199\n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0/wireless/status', 0o644, b'0x0\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds', 0o755)
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:TX', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:TX/subsystem', '../../../../../../class/leds')
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:TX/device', '../../../0000:03:00.0')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:TX/trigger', 0o644, b'none AC-online BAT0-charging-or-full BAT0-charging BAT0-full rfkill0 phy0rx [phy0tx] phy0assoc phy0radio \n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:TX/brightness', 0o644, b'0\n\x00')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:TX/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:TX/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:TX/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:assoc', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:assoc/subsystem', '../../../../../../class/leds')
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:assoc/device', '../../../0000:03:00.0')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:assoc/trigger', 0o644, b'none AC-online BAT0-charging-or-full BAT0-charging BAT0-full rfkill0 phy0rx phy0tx [phy0assoc] phy0radio \n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:assoc/brightness', 0o644, b'255\n\x00')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:assoc/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:assoc/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:assoc/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:radio', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:radio/subsystem', '../../../../../../class/leds')
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:radio/device', '../../../0000:03:00.0')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:radio/trigger', 0o644, b'none AC-online BAT0-charging-or-full BAT0-charging BAT0-full rfkill0 phy0rx phy0tx phy0assoc [phy0radio] \n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:radio/brightness', 0o644, b'255\n\x00')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:radio/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:radio/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:radio/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:RX', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:RX/subsystem', '../../../../../../class/leds')
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:RX/device', '../../../0000:03:00.0')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:RX/trigger', 0o644, b'none AC-online BAT0-charging-or-full BAT0-charging BAT0-full rfkill0 [phy0rx] phy0tx phy0assoc phy0radio \n')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:RX/brightness', 0o644, b'0\n\x00')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:RX/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:RX/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/iwl-phy0:RX/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie00', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie00/subsystem', '../../../../bus/pci_express')
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie00/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie00/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.1/0000:00:1c.1:pcie00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:00.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:00.0/subsystem', '../../../bus/pci')
+f('sys/devices/pci0000:00/0000:00:00.0/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:00.0/enable', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:00.0/modalias', 0o644, b'pci:v00008086d000027A0sv000017AAsd00002015bc06sc00i00\n')
+f('sys/devices/pci0000:00/0000:00:00.0/resource', 0o644, b'''0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:00.0/config', 0o644, b"\x86\x80\xa0'\x06\x01\x90 \x03\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x17\x15 \x00\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x90\xd1\xfe\x01@\xd1\xfe\x05\x00\x00\xf0\x01\x80\xd1\xfe\x00\x00\x02\x00\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\x10\x11\x11\x000\x11\x11\x00\xff\x03\x00\x00\x80\x1a9\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x01\x00\x00\t\x00\tQJ\x00J\xb0\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x0f\x05\x00\x10\x00\x00\x00")
+f('sys/devices/pci0000:00/0000:00:00.0/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:00.0/subsystem_device', 0o644, b'0x2015\n')
+f('sys/devices/pci0000:00/0000:00:00.0/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:00.0/irq', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:00.0/device', 0o644, b'0x27a0\n')
+f('sys/devices/pci0000:00/0000:00:00.0/class', 0o644, b'0x060000\n')
+f('sys/devices/pci0000:00/0000:00:00.0/msi_bus', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:00.0/subsystem_vendor', 0o644, b'0x17aa\n')
+f('sys/devices/pci0000:00/0000:00:00.0/uevent', 0o644, b'''PCI_CLASS=60000
+PCI_ID=8086:27A0
+PCI_SUBSYS_ID=17AA:2015
+PCI_SLOT_NAME=0000:00:00.0
+MODALIAS=pci:v00008086d000027A0sv000017AAsd00002015bc06sc00i00
+''')
+f('sys/devices/pci0000:00/0000:00:00.0/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:00.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:00.0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.3', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.3/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:0f')
+l('sys/devices/pci0000:00/0000:00:1c.3/subsystem', '../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:1c.3/driver', '../../../bus/pci/drivers/pcieport-driver')
+f('sys/devices/pci0000:00/0000:00:1c.3/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1c.3/enable', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1c.3/modalias', 0o644, b'pci:v00008086d000027D6sv00000000sd00000000bc06sc04i00\n')
+f('sys/devices/pci0000:00/0000:00:1c.3/resource', 0o644, b'''0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000008000 0x0000000000009fff 0x0000000000000100
+0x00000000ea000000 0x00000000ebffffff 0x0000000000000200
+0x00000000e4200000 0x00000000e42fffff 0x0000000000001201
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1c.3/config', 0o644, b"\x86\x80\xd6'\x07\x05\x10\x00\x02\x00\x04\x06\x10\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x13\x00\x80\x90\x00\x00\x00\xea\xf0\xeb!\xe4!\xe4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x0b\x04\x04\x00\x10\x80A\x01\xc0\x0f\x00\x00\x00\x00\x10\x00\x11L\x11\x04\x00\x00\x01\x10\xe0\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\x05\x90\x01\x00\x0c0\xe0\xfe\x91A\x00\x00\x00\x00\x00\x00\r\xa0\x00\x00\xaa\x17\x11 \x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x11\x00\x00\x00\x00\x00\x00\x00\xc7\x00\x06\x07\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x0f\x02\x00\x00\x00\x00\x00\x02\x00\x01\x18\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\xff\x00\x00\x80\x00\x00\x00\x00\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\x11\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x01\x00\x00\x01\x02\x04\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x00\x00\x00\x00\x01\xc0\xd1\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07`\x00`\x00\x00\x00\x00`\x02\x00\x00\x0c\x00\x06\x00\x00\x00\x00\x00[`\xc9\xc0\x00p&u\x00\x10\x00\x00\xff\x0f\x00\x00\x16\x00\x00\x14\xb5\xbcJ\xbc\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\x10\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x02\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00")
+f('sys/devices/pci0000:00/0000:00:1c.3/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1c.3/subsystem_device', 0o644, b'0x0000\n')
+f('sys/devices/pci0000:00/0000:00:1c.3/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1c.3/irq', 0o644, b'507\n')
+f('sys/devices/pci0000:00/0000:00:1c.3/device', 0o644, b'0x27d6\n')
+f('sys/devices/pci0000:00/0000:00:1c.3/class', 0o644, b'0x060400\n')
+f('sys/devices/pci0000:00/0000:00:1c.3/msi_bus', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1c.3/subsystem_vendor', 0o644, b'0x0000\n')
+f('sys/devices/pci0000:00/0000:00:1c.3/uevent', 0o644, b'''DRIVER=pcieport-driver
+PCI_CLASS=60400
+PCI_ID=8086:27D6
+PCI_SUBSYS_ID=0000:0000
+PCI_SLOT_NAME=0000:00:1c.3
+MODALIAS=pci:v00008086d000027D6sv00000000sd00000000bc06sc04i00
+''')
+f('sys/devices/pci0000:00/0000:00:1c.3/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1c.3/pci_bus', 0o755)
+d('sys/devices/pci0000:00/0000:00:1c.3/pci_bus/0000:0c', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.3/pci_bus/0000:0c/subsystem', '../../../../../class/pci_bus')
+l('sys/devices/pci0000:00/0000:00:1c.3/pci_bus/0000:0c/device', '../../../0000:00:1c.3')
+f('sys/devices/pci0000:00/0000:00:1c.3/pci_bus/0000:0c/cpuaffinity', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1c.3/pci_bus/0000:0c/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.3/pci_bus/0000:0c/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.3/pci_bus/0000:0c/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.3/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.3/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie02', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie02/subsystem', '../../../../bus/pci_express')
+f('sys/devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie02/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie02/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie02/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie03', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie03/subsystem', '../../../../bus/pci_express')
+f('sys/devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie03/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie03/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie03/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie00', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie00/subsystem', '../../../../bus/pci_express')
+f('sys/devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie00/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie00/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.3/0000:00:1c.3:pcie00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.0/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:01')
+l('sys/devices/pci0000:00/0000:00:1f.0/subsystem', '../../../bus/pci')
+f('sys/devices/pci0000:00/0000:00:1f.0/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1f.0/enable', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.0/modalias', 0o644, b'pci:v00008086d000027B9sv000017AAsd00002009bc06sc01i00\n')
+f('sys/devices/pci0000:00/0000:00:1f.0/resource', 0o644, b'''0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1f.0/config', 0o644, b'''\x86\x80\xb9\'\x07\x00\x10\x02\x02\x00\x01\x06\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x17\t \x00\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x10\x00\x00\x80\x00\x00\x00\x81\x11\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x8b\x8b\x8b\x92\x00\x00\x00\x8b\x8b\x8b\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00
+\x1f\x01\x16|\x00\xe1\x15\x0c\x00\x81\x16\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$\x06\x02\x00\x00\x00\x00\x00\x13\x1c
+\x00\x00\x03\x00\x00\x00\x00\xf0\x00\x00\x00\x00\x00\x00\x00\x12
+\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\x12\x11\x00gE\x00\x00\xc0\xff\x00\x00\x01\x00\x00\x00\t\x00\x0c\x10\xb4\x02$\x17\x00\x00\x00\x00\x00\x00\x00\x00\x01\xc0\xd1\xfe\x00\x00\x00\x00\x86\x0f\x02\x00\x00\x00\x00\x00''')
+f('sys/devices/pci0000:00/0000:00:1f.0/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1f.0/subsystem_device', 0o644, b'0x2009\n')
+f('sys/devices/pci0000:00/0000:00:1f.0/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1f.0/irq', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.0/device', 0o644, b'0x27b9\n')
+f('sys/devices/pci0000:00/0000:00:1f.0/class', 0o644, b'0x060100\n')
+f('sys/devices/pci0000:00/0000:00:1f.0/msi_bus', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.0/subsystem_vendor', 0o644, b'0x17aa\n')
+f('sys/devices/pci0000:00/0000:00:1f.0/uevent', 0o644, b'''PCI_CLASS=60100
+PCI_ID=8086:27B9
+PCI_SUBSYS_ID=17AA:2009
+PCI_SLOT_NAME=0000:00:1f.0
+MODALIAS=pci:v00008086d000027B9sv000017AAsd00002009bc06sc01i00
+''')
+f('sys/devices/pci0000:00/0000:00:1f.0/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1f.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.0/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:0b')
+l('sys/devices/pci0000:00/0000:00:1c.0/subsystem', '../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:1c.0/driver', '../../../bus/pci/drivers/pcieport-driver')
+f('sys/devices/pci0000:00/0000:00:1c.0/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/enable', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/modalias', 0o644, b'pci:v00008086d000027D0sv00000000sd00000000bc06sc04i00\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/resource', 0o644, b'''0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000003000 0x0000000000003fff 0x0000000000000100
+0x00000000ee000000 0x00000000ee0fffff 0x0000000000000200
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1c.0/config', 0o644, b"\x86\x80\xd0'\x07\x05\x10\x00\x02\x00\x04\x06\x10\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x02\x0000\x00\x00\x00\xee\x00\xee\xf1\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x0b\x01\x04\x00\x10\x80A\x01\xc0\x0f\x00\x00\x00\x00\x11\x00\x11,\x11\x01B\x00\x110\xe0\xa0\x10\x00(\x00@\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\x05\x90\x01\x00\x0c0\xe0\xfeyA\x00\x00\x00\x00\x00\x00\r\xa0\x00\x00\xaa\x17\x11 \x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x11\xc0\x00\x00\x00\x00\x00\x0f\xc7\x00\x06\x07\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x0f\x02\x00\x00\x00\x00\x00\x02\x00\x01\x18\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x80\x00\x00\x00\x00\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\x11\x00\x06\x00\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\x05\x00\x01\x00\x00\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x00\x00\x00\x00\x01\xc0\xd1\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07`\x00`\x00\x00\x00\x00`\x02\x00\x00\x0c\x00\x06\x00\x00\x00\x00\x08[`\xc9\xc0\x00p&u:\x188\x009\x08\x9e\x0e\x16\x00\x00\x14\xb5\xbcJ\xbc\x0b*\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\t\xec\x00\xfc\t\xee\x00c\x00W\x00i\x00J\x00k\x00L\x00\x01\x00\x05\x00\x10\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x02\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00")
+f('sys/devices/pci0000:00/0000:00:1c.0/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/subsystem_device', 0o644, b'0x0000\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/irq', 0o644, b'510\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/device', 0o644, b'0x27d0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/class', 0o644, b'0x060400\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/msi_bus', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/subsystem_vendor', 0o644, b'0x0000\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/uevent', 0o644, b'''DRIVER=pcieport-driver
+PCI_CLASS=60400
+PCI_ID=8086:27D0
+PCI_SUBSYS_ID=0000:0000
+PCI_SLOT_NAME=0000:00:1c.0
+MODALIAS=pci:v00008086d000027D0sv00000000sd00000000bc06sc04i00
+''')
+f('sys/devices/pci0000:00/0000:00:1c.0/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie03', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie03/subsystem', '../../../../bus/pci_express')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie03/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie03/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie03/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.0/pci_bus', 0o755)
+d('sys/devices/pci0000:00/0000:00:1c.0/pci_bus/0000:02', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.0/pci_bus/0000:02/subsystem', '../../../../../class/pci_bus')
+l('sys/devices/pci0000:00/0000:00:1c.0/pci_bus/0000:02/device', '../../../0000:00:1c.0')
+f('sys/devices/pci0000:00/0000:00:1c.0/pci_bus/0000:02/cpuaffinity', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/pci_bus/0000:02/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.0/pci_bus/0000:02/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.0/pci_bus/0000:02/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.0/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/subsystem', '../../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/driver', '../../../../bus/pci/drivers/e1000e')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/enable', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/modalias', 0o644, b'pci:v00008086d0000109Asv000017AAsd00002001bc02sc00i00\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/resource', 0o644, b'''0x00000000ee000000 0x00000000ee01ffff 0x0000000000020200
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000003000 0x000000000000301f 0x0000000000020101
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/config', 0o644, b'\x86\x80\x9a\x10\x07\x05\x10\x00\x00\x00\x00\x02\x10\x00\x00\x00\x00\x00\x00\xee\x00\x00\x00\x00\x010\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x17\x01 \x00\x00\x00\x00\xc8\x00\x00\x00\x00\x00\x00\x00\x0b\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\x01\xd0"\xc8\x00 \x00\x0f\x05\xe0\x81\x00\x0c\x10\xe0\xfe\x00\x00\x00\x00\xc9A\x00\x00\x10\x00\x01\x00\xc1\x0c\x00\x00\x10(\x1a\x00\x11\x1c\x07\x00@\x01\x11\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x14\x00\x00\x10\x00\x00\x00\x00\x00\x11 \x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x01\x00\x00\x04\x0f\x03\x00\x00\x00\x01\x01\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\x03\x00\x01\x00\xc7\x8d\xe2\xff\xffA\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/resource2', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/subsystem_device', 0o644, b'0x2001\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/irq', 0o644, b'505\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/device', 0o644, b'0x109a\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/class', 0o644, b'0x020000\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/msi_bus', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/resource0', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/subsystem_vendor', 0o644, b'0x17aa\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/uevent', 0o644, b'''DRIVER=e1000e
+PCI_CLASS=20000
+PCI_ID=8086:109A
+PCI_SUBSYS_ID=17AA:2001
+PCI_SLOT_NAME=0000:02:00.0
+MODALIAS=pci:v00008086d0000109Asv000017AAsd00002001bc02sc00i00
+''')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net', 0o755)
+d('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/subsystem', '../../../../../../class/net')
+l('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/device', '../../../0000:02:00.0')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/ifindex', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/features', 0o644, b'0x111ba9\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/iflink', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/dormant', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/dev_id', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/type', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/operstate', 0o644, b'down\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/carrier', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/link_mode', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/tx_queue_len', 0o644, b'1000\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/flags', 0o644, b'0x1003\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/addr_len', 0o644, b'6\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/address', 0o644, b'00:16:41:e2:8d:ff\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/uevent', 0o644, b'''INTERFACE=eth0
+IFINDEX=2
+''')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/mtu', 0o644, b'1500\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/broadcast', 0o644, b'ff:ff:ff:ff:ff:ff\n')
+d('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/tx_aborted_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/rx_crc_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/rx_bytes', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/rx_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/tx_packets', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/tx_carrier_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/tx_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/rx_dropped', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/tx_fifo_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/rx_length_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/tx_dropped', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/rx_fifo_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/rx_missed_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/tx_window_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/collisions', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/rx_frame_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/rx_packets', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/rx_compressed', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/tx_compressed', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/multicast', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/rx_over_errors', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/tx_bytes', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/statistics/tx_heartbeat_errors', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie00', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie00/subsystem', '../../../../bus/pci_express')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie00/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie00/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie02', 0o755)
+l('sys/devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie02/subsystem', '../../../../bus/pci_express')
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie02/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie02/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1c.0/0000:00:1c.0:pcie02/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.3', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.3/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:18')
+l('sys/devices/pci0000:00/0000:00:1f.3/subsystem', '../../../bus/pci')
+f('sys/devices/pci0000:00/0000:00:1f.3/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1f.3/enable', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.3/modalias', 0o644, b'pci:v00008086d000027DAsv000017AAsd0000200Fbc0Csc05i00\n')
+f('sys/devices/pci0000:00/0000:00:1f.3/resource', 0o644, b'''0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x00000000000018e0 0x00000000000018ff 0x0000000000020101
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1f.3/config', 0o644, b"\x86\x80\xda'\x01\x01\x80\x02\x02\x00\x05\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x17\x0f \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x01\x00\x00\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\x86\x0f\x02\x00\x00\x00\x00\x00")
+f('sys/devices/pci0000:00/0000:00:1f.3/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1f.3/subsystem_device', 0o644, b'0x200f\n')
+f('sys/devices/pci0000:00/0000:00:1f.3/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1f.3/irq', 0o644, b'11\n')
+f('sys/devices/pci0000:00/0000:00:1f.3/device', 0o644, b'0x27da\n')
+f('sys/devices/pci0000:00/0000:00:1f.3/class', 0o644, b'0x0c0500\n')
+f('sys/devices/pci0000:00/0000:00:1f.3/msi_bus', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.3/subsystem_vendor', 0o644, b'0x17aa\n')
+f('sys/devices/pci0000:00/0000:00:1f.3/uevent', 0o644, b'''PCI_CLASS=C0500
+PCI_ID=8086:27DA
+PCI_SUBSYS_ID=17AA:200F
+PCI_SLOT_NAME=0000:00:1f.3
+MODALIAS=pci:v00008086d000027DAsv000017AAsd0000200Fbc0Csc05i00
+''')
+f('sys/devices/pci0000:00/0000:00:1f.3/resource4', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.3/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1f.3/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.3/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.0/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:19')
+l('sys/devices/pci0000:00/0000:00:1d.0/subsystem', '../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:1d.0/driver', '../../../bus/pci/drivers/uhci_hcd')
+f('sys/devices/pci0000:00/0000:00:1d.0/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/enable', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/modalias', 0o644, b'pci:v00008086d000027C8sv000017AAsd0000200Abc0Csc03i00\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/resource', 0o644, b'''0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000001800 0x000000000000181f 0x0000000000020101
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1d.0/config', 0o644, b"\x86\x80\xc8'\x05\x00\x80\x02\x02\x00\x03\x0c\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x17\n \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\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\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x0f\x02\x00\x00\x00\x00\x00")
+f('sys/devices/pci0000:00/0000:00:1d.0/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/subsystem_device', 0o644, b'0x200a\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/irq', 0o644, b'16\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/pools', 0o644, b'''poolinfo - 0.1
+uhci_qh            11   32  128  1
+uhci_td             1   64   64  1
+buffer-2048         0    0 2048  0
+buffer-512          0    0  512  0
+buffer-128          0    0  128  0
+buffer-32           1  128   32  1
+''')
+f('sys/devices/pci0000:00/0000:00:1d.0/device', 0o644, b'0x27c8\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/class', 0o644, b'0x0c0300\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/msi_bus', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.0/subsystem_vendor', 0o644, b'0x17aa\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/uevent', 0o644, b'''DRIVER=uhci_hcd
+PCI_CLASS=C0300
+PCI_ID=8086:27C8
+PCI_SUBSYS_ID=17AA:200A
+PCI_SLOT_NAME=0000:00:1d.0
+MODALIAS=pci:v00008086d000027C8sv000017AAsd0000200Abc0Csc03i00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.0/resource4', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.0/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1d.0/usb1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.0/usb1/subsystem', '../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.0/usb1/driver', '../../../../bus/usb/drivers/usb')
+l('sys/devices/pci0000:00/0000:00:1d.0/usb1/ep_00', 'usb_endpoint/usbdev1.1_ep00')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/version', 0o644, b' 1.10\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/authorized_default', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/maxchild', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/bDeviceClass', 0o644, b'09\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/bcdDevice', 0o644, b'0206\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/devnum', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/bDeviceProtocol', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/idProduct', 0o644, b'0001\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/product', 0o644, b'UHCI Host Controller\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/bDeviceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/configuration', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/dev', 0o644, b'189:0\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/urbnum', 0o644, b'16\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/authorized', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/descriptors', 0o644, b'\x12\x01\x10\x01\t\x00\x00@k\x1d\x01\x00\x06\x02\x03\x02\x01\x01\t\x02\x19\x00\x01\x01\x00\xe0\x00\t\x04\x00\x00\x01\t\x00\x00\x00\x07\x05\x81\x03\x02\x00\xff')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/bNumConfigurations', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/serial', 0o644, b'0000:00:1d.0\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/speed', 0o644, b'12\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/bMaxPacketSize0', 0o644, b'64\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/bmAttributes', 0o644, b'e0\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/busnum', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/quirks', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/bConfigurationValue', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/uevent', 0o644, b'''MAJOR=189
+MINOR=0
+DEVTYPE=usb_device
+DRIVER=usb
+PRODUCT=1d6b/1/206
+TYPE=9/0/0
+BUSNUM=001
+DEVNUM=001
+''')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/manufacturer', 0o644, b'Linux 2.6.27-rc7-00106-g6ef190c-dirty uhci_hcd\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/idVendor', 0o644, b'1d6b\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/bNumInterfaces', 0o644, b' 1\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/bMaxPower', 0o644, b'  0mA\n')
+d('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00/subsystem', '../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00/device', '../../../usb1')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00/bEndpointAddress', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00/type', 0o644, b'Control\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00/dev', 0o644, b'252:1\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00/direction', 0o644, b'both\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00/wMaxPacketSize', 0o644, b'0040\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00/bmAttributes', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00/uevent', 0o644, b'''MAJOR=252
+MINOR=1
+''')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00/bInterval', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/usb_endpoint/usbdev1.1_ep00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/subsystem', '../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/ep_81', 'usb_endpoint/usbdev1.1_ep81')
+l('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/driver', '../../../../../bus/usb/drivers/hub')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/modalias', 0o644, b'usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/bInterfaceNumber', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/bNumEndpoints', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/bInterfaceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/bInterfaceClass', 0o644, b'09\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/uevent', 0o644, b'''DEVTYPE=usb_interface
+DRIVER=hub
+PRODUCT=1d6b/1/206
+TYPE=9/0/0
+INTERFACE=9/0/0
+MODALIAS=usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81/subsystem', '../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81/device', '../../../1-0:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81/interval', 0o644, b'255ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81/bEndpointAddress', 0o644, b'81\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81/type', 0o644, b'Interrupt\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81/dev', 0o644, b'252:0\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81/wMaxPacketSize', 0o644, b'0002\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81/bmAttributes', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81/uevent', 0o644, b'''MAJOR=252
+MINOR=0
+''')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81/bInterval', 0o644, b'ff\n')
+d('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/usb_endpoint/usbdev1.1_ep81/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/1-0:1.0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.0/usb1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/power/active_duration', 0o644, b'2532\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/power/wakeup', 0o644, b'enabled\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/power/connected_duration', 0o644, b'8372376\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/power/autosuspend', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb1/power/level', 0o644, b'auto\n')
+d('sys/devices/pci0000:00/0000:00:1d.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.0/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/pci0000:00/0000:00:1d.0/usb_host', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.0/usb_host/usb_host1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.0/usb_host/usb_host1/subsystem', '../../../../../class/usb_host')
+l('sys/devices/pci0000:00/0000:00:1d.0/usb_host/usb_host1/device', '../../../0000:00:1d.0')
+f('sys/devices/pci0000:00/0000:00:1d.0/usb_host/usb_host1/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1d.0/usb_host/usb_host1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.0/usb_host/usb_host1/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:16')
+l('sys/devices/pci0000:00/0000:00:1f.2/subsystem', '../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:1f.2/driver', '../../../bus/pci/drivers/ahci')
+f('sys/devices/pci0000:00/0000:00:1f.2/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/resource3', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/enable', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/modalias', 0o644, b'pci:v00008086d000027C5sv000017AAsd0000200Dbc01sc06i01\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/resource', 0o644, b'''0x00000000000018c8 0x00000000000018cf 0x0000000000020101
+0x00000000000018ac 0x00000000000018af 0x0000000000020101
+0x00000000000018c0 0x00000000000018c7 0x0000000000020101
+0x00000000000018a8 0x00000000000018ab 0x0000000000020101
+0x00000000000018b0 0x00000000000018bf 0x0000000000020101
+0x00000000ee404400 0x00000000ee4047ff 0x0000000000020200
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1f.2/config', 0o644, b"\x86\x80\xc5'\x07\x04\xb0\x02\x02\x01\x06\x01\x00\x00\x00\x00\xc9\x18\x00\x00\xad\x18\x00\x00\xc1\x18\x00\x00\xa9\x18\x00\x00\xb1\x18\x00\x00\x00D@\xee\x00\x00\x00\x00\xaa\x17\r \x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x0b\x02\x00\x00\x07\xa3\x00\x80\x00\x00\x00\x00\x01\x00\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\x01\x00\x02@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05p\x01\x00\x0c0\xe0\xfe\x99A\x00\x00\x00\x00\x00\x00@\x00\x11\x10\x80\x01\x00J\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x86\x0f\x02\x00\x00\x00\x00\x00")
+f('sys/devices/pci0000:00/0000:00:1f.2/resource1', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/resource2', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/subsystem_device', 0o644, b'0x200d\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/irq', 0o644, b'506\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/device', 0o644, b'0x27c5\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/class', 0o644, b'0x010601\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/resource5', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/msi_bus', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/resource0', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/subsystem_vendor', 0o644, b'0x17aa\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/uevent', 0o644, b'''DRIVER=ahci
+PCI_CLASS=10601
+PCI_ID=8086:27C5
+PCI_SUBSYS_ID=17AA:200D
+PCI_SLOT_NAME=0000:00:1f.2
+MODALIAS=pci:v00008086d000027C5sv000017AAsd0000200Dbc01sc06i01
+''')
+f('sys/devices/pci0000:00/0000:00:1f.2/resource4', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/subsystem', '../../../../bus/scsi')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/uevent', 0o644, b'DEVTYPE=scsi_host\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/subsystem', '../../../../../bus/scsi')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/uevent', 0o644, b'DEVTYPE=scsi_target\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/generic', 'scsi_generic/sg0')
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/subsystem', '../../../../../../bus/scsi')
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/driver', '../../../../../../bus/scsi/drivers/sd')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/iodone_cnt', 0o644, b'0x6877\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/device_blocked', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/modalias', 0o644, b'scsi:t-0x00\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_level', 0o644, b'6\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/queue_depth', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/rev', 0o644, b'4.06\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/type', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/sw_activity', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/whitespace_test', 0o644, b'WHITE  SPACE   \n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/iocounterbits', 0o644, b'32\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/vendor', 0o644, b'ATA     \n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/state', 0o644, b'running\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/queue_type', 0o644, b'none\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/iorequest_cnt', 0o644, b'0x6877\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/evt_media_change', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/model', 0o644, b'ST910021AS      \n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/ioerr_cnt', 0o644, b'0x6\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/uevent', 0o644, b'''DEVTYPE=scsi_device
+DRIVER=sd
+MODALIAS=scsi:t-0x00
+''')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/timeout', 0o644, b'60\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk', 0o755)
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/subsystem', '../../../../../../../../class/scsi_disk')
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/device', '../../../0:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/app_tag_own', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/FUA', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/cache_type', 0o644, b'write back\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/protection_type', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/manage_start_stop', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/allow_restart', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_generic', 0o755)
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_generic/sg0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_generic/sg0/subsystem', '../../../../../../../../class/scsi_generic')
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_generic/sg0/device', '../../../0:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_generic/sg0/dev', 0o644, b'21:0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_generic/sg0/uevent', 0o644, b'''MAJOR=21
+MINOR=0
+''')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_generic/sg0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_generic/sg0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg', 0o755)
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0/subsystem', '../../../../../../../../class/bsg')
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0/device', '../../../0:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0/dev', 0o644, b'254:0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0/uevent', 0o644, b'''MAJOR=254
+MINOR=0
+''')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block', 0o755)
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/subsystem', '../../../../../../../../class/block')
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/bdi', '../../../../../../../virtual/bdi/8:0')
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/device', '../../../0:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/capability', 0o644, b'12\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/ro', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/make-it-fail', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/test:colon+plus', 0o644, b'colon\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/size', 0o644, b'195371568\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/dev', 0o644, b'8:0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/range', 0o644, b'16\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/removable', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/stat', 0o644, b'   12939     5801   590192   194190    13755    63323   617056  2678026        0   114408  2872209\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/uevent', 0o644, b'''MAJOR=8
+MINOR=0
+DEVTYPE=disk
+DEVNAME=sda
+''')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/test_empty_file', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/bsg', '../../../bsg/0:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/nr_requests', 0o644, b'128\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/nomerges', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/scheduler', 0o644, b'noop anticipatory deadline [cfq] \n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/hw_sector_size', 0o644, b'512\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/max_hw_sectors_kb', 0o644, b'32767\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/read_ahead_kb', 0o644, b'128\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/max_sectors_kb', 0o644, b'512\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/iosched', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/iosched/slice_async_rq', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/iosched/back_seek_max', 0o644, b'16384\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/iosched/slice_sync', 0o644, b'100\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/iosched/slice_async', 0o644, b'40\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/iosched/fifo_expire_sync', 0o644, b'125\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/iosched/slice_idle', 0o644, b'8\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/iosched/back_seek_penalty', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/iosched/fifo_expire_async', 0o644, b'250\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/queue/iosched/quantum', 0o644, b'4\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10/subsystem', '../../../../../../../../../class/block')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10/start', 0o644, b'190820133\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10/make-it-fail', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10/size', 0o644, b'4546332\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10/dev', 0o644, b'8:10\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10/stat', 0o644, b'      42       43      384      417        0        0        0        0        0      286      417\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10/uevent', 0o644, b'''MAJOR=8
+MINOR=10
+DEVTYPE=partition
+''')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9/subsystem', '../../../../../../../../../class/block')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9/start', 0o644, b'143942463\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9/make-it-fail', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9/size', 0o644, b'46877607\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9/dev', 0o644, b'8:9\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9/stat', 0o644, b'      70      322      896      800        3        0       40      240        0      945     1039\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9/uevent', 0o644, b'''MAJOR=8
+MINOR=9
+DEVTYPE=partition
+''')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9/holders', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9/holders/md0', '../../../../../../../../../virtual/block/md0')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7/subsystem', '../../../../../../../../../class/block')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7/start', 0o644, b'104872383\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7/make-it-fail', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7/size', 0o644, b'19534977\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7/dev', 0o644, b'8:7\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7/stat', 0o644, b'      35      263      298      419        0        0        0        0        0      298      419\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7/uevent', 0o644, b'''MAJOR=8
+MINOR=7
+DEVTYPE=partition
+''')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1/subsystem', '../../../../../../../../../class/block')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1/start', 0o644, b'63\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1/make-it-fail', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1/size', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1/dev', 0o644, b'8:1\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1/stat', 0o644, b'       2        0        4       36        0        0        0        0        0       36       36\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1/uevent', 0o644, b'''MAJOR=8
+MINOR=1
+DEVTYPE=partition
+DEVNAME=sda1
+''')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8/subsystem', '../../../../../../../../../class/block')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8/start', 0o644, b'124407423\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8/make-it-fail', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8/size', 0o644, b'19534977\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8/dev', 0o644, b'8:8\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8/stat', 0o644, b'      34      264      298      498        0        0        0        0        0      368      498\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8/uevent', 0o644, b'''MAJOR=8
+MINOR=8
+DEVTYPE=partition
+''')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5/subsystem', '../../../../../../../../../class/block')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5/start', 0o644, b'126\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5/make-it-fail', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5/size', 0o644, b'62926479\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5/dev', 0o644, b'8:5\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5/stat', 0o644, b'   11087     4819   566626   169007     2951     4548    59992   129572        0    65249   298573\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5/uevent', 0o644, b'''MAJOR=8
+MINOR=5
+DEVTYPE=partition
+DEVNAME=sda5
+''')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6/subsystem', '../../../../../../../../../class/block')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6/start', 0o644, b'62926668\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6/make-it-fail', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6/size', 0o644, b'41945652\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6/dev', 0o644, b'8:6\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6/stat', 0o644, b'    1648       67    21334    22824    10801    58775   557024  2548214        0    51231  2571037\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6/uevent', 0o644, b'''MAJOR=8
+MINOR=6
+DEVTYPE=partition
+''')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_device', 0o755)
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_device/0:0:0:0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_device/0:0:0:0/subsystem', '../../../../../../../../class/scsi_device')
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_device/0:0:0:0/device', '../../../0:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_device/0:0:0:0/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_device/0:0:0:0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/scsi_device/0:0:0:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host', 0o755)
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/subsystem', '../../../../../../class/scsi_host')
+l('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/device', '../../../host0')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/unique_id', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/can_queue', 0o644, b'31\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/unchecked_isa_dma', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/active_mode', 0o644, b'Initiator\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/sg_tablesize', 0o644, b'168\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/prot_guard_type', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/link_power_management_policy', 0o644, b'medium_power\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/host_busy', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/proc_name', 0o644, b'ahci\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/state', 0o644, b'running\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/cmd_per_lun', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/em_message', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/em_message_type', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/supported_mode', 0o644, b'Initiator\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/uevent', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/prot_capabilities', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host1/subsystem', '../../../../bus/scsi')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/uevent', 0o644, b'DEVTYPE=scsi_host\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host', 0o755)
+d('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/subsystem', '../../../../../../class/scsi_host')
+l('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/device', '../../../host1')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/unique_id', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/can_queue', 0o644, b'31\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/unchecked_isa_dma', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/active_mode', 0o644, b'Initiator\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/sg_tablesize', 0o644, b'168\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/prot_guard_type', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/link_power_management_policy', 0o644, b'max_performance\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/host_busy', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/proc_name', 0o644, b'ahci\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/state', 0o644, b'running\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/cmd_per_lun', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/em_message', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/em_message_type', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/supported_mode', 0o644, b'Initiator\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/uevent', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/prot_capabilities', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host2', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host2/subsystem', '../../../../bus/scsi')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/uevent', 0o644, b'DEVTYPE=scsi_host\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host2/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host', 0o755)
+d('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/subsystem', '../../../../../../class/scsi_host')
+l('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/device', '../../../host2')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/unique_id', 0o644, b'3\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/can_queue', 0o644, b'31\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/unchecked_isa_dma', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/active_mode', 0o644, b'Initiator\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/sg_tablesize', 0o644, b'168\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/prot_guard_type', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/link_power_management_policy', 0o644, b'max_performance\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/host_busy', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/proc_name', 0o644, b'ahci\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/state', 0o644, b'running\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/cmd_per_lun', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/em_message', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/em_message_type', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/supported_mode', 0o644, b'Initiator\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/uevent', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/prot_capabilities', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host3', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host3/subsystem', '../../../../bus/scsi')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/uevent', 0o644, b'DEVTYPE=scsi_host\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host3/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host', 0o755)
+d('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/subsystem', '../../../../../../class/scsi_host')
+l('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/device', '../../../host3')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/unique_id', 0o644, b'4\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/can_queue', 0o644, b'31\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/unchecked_isa_dma', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/active_mode', 0o644, b'Initiator\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/sg_tablesize', 0o644, b'168\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/prot_guard_type', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/link_power_management_policy', 0o644, b'max_performance\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/host_busy', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/proc_name', 0o644, b'ahci\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/state', 0o644, b'running\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/cmd_per_lun', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/em_message', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/em_message_type', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/supported_mode', 0o644, b'Initiator\n')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/uevent', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/prot_capabilities', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.2', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.2/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:1d')
+l('sys/devices/pci0000:00/0000:00:1d.2/subsystem', '../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:1d.2/driver', '../../../bus/pci/drivers/uhci_hcd')
+f('sys/devices/pci0000:00/0000:00:1d.2/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/enable', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/modalias', 0o644, b'pci:v00008086d000027CAsv000017AAsd0000200Abc0Csc03i00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/resource', 0o644, b'''0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000001840 0x000000000000185f 0x0000000000020101
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1d.2/config', 0o644, b"\x86\x80\xca'\x05\x00\x80\x02\x02\x00\x03\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00A\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x17\n \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\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\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x0f\x02\x00\x00\x00\x00\x00")
+f('sys/devices/pci0000:00/0000:00:1d.2/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/subsystem_device', 0o644, b'0x200a\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/irq', 0o644, b'18\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/pools', 0o644, b'''poolinfo - 0.1
+uhci_qh            13   32  128  1
+uhci_td             4   64   64  1
+buffer-2048         0    0 2048  0
+buffer-512          0    0  512  0
+buffer-128          3   32  128  1
+buffer-32           2  128   32  1
+''')
+f('sys/devices/pci0000:00/0000:00:1d.2/device', 0o644, b'0x27ca\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/class', 0o644, b'0x0c0300\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/msi_bus', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.2/subsystem_vendor', 0o644, b'0x17aa\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/uevent', 0o644, b'''DRIVER=uhci_hcd
+PCI_CLASS=C0300
+PCI_ID=8086:27CA
+PCI_SUBSYS_ID=17AA:200A
+PCI_SLOT_NAME=0000:00:1d.2
+MODALIAS=pci:v00008086d000027CAsv000017AAsd0000200Abc0Csc03i00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.2/resource4', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.2/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.2/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb_host', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.2/usb_host/usb_host3', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.2/usb_host/usb_host3/subsystem', '../../../../../class/usb_host')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb_host/usb_host3/device', '../../../0000:00:1d.2')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb_host/usb_host3/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb_host/usb_host3/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.2/usb_host/usb_host3/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/subsystem', '../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/driver', '../../../../bus/usb/drivers/usb')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/ep_00', 'usb_endpoint/usbdev3.1_ep00')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/version', 0o644, b' 1.10\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/authorized_default', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/maxchild', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/bDeviceClass', 0o644, b'09\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/bcdDevice', 0o644, b'0206\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/devnum', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/bDeviceProtocol', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/idProduct', 0o644, b'0001\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/product', 0o644, b'UHCI Host Controller\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/bDeviceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/configuration', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/dev', 0o644, b'189:256\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/urbnum', 0o644, b'68\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/authorized', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/descriptors', 0o644, b'\x12\x01\x10\x01\t\x00\x00@k\x1d\x01\x00\x06\x02\x03\x02\x01\x01\t\x02\x19\x00\x01\x01\x00\xe0\x00\t\x04\x00\x00\x01\t\x00\x00\x00\x07\x05\x81\x03\x02\x00\xff')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/bNumConfigurations', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/serial', 0o644, b'0000:00:1d.2\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/speed', 0o644, b'12\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/bMaxPacketSize0', 0o644, b'64\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/bmAttributes', 0o644, b'e0\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/busnum', 0o644, b'3\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/quirks', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/bConfigurationValue', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/uevent', 0o644, b'''MAJOR=189
+MINOR=256
+DEVTYPE=usb_device
+DRIVER=usb
+PRODUCT=1d6b/1/206
+TYPE=9/0/0
+BUSNUM=003
+DEVNUM=001
+''')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/manufacturer', 0o644, b'Linux 2.6.27-rc7-00106-g6ef190c-dirty uhci_hcd\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/idVendor', 0o644, b'1d6b\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/bNumInterfaces', 0o644, b' 1\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/bMaxPower', 0o644, b'  0mA\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00/subsystem', '../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00/device', '../../../usb3')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00/bEndpointAddress', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00/type', 0o644, b'Control\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00/dev', 0o644, b'252:5\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00/direction', 0o644, b'both\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00/wMaxPacketSize', 0o644, b'0040\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00/bmAttributes', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00/uevent', 0o644, b'''MAJOR=252
+MINOR=5
+''')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00/bInterval', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/usb_endpoint/usbdev3.1_ep00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/subsystem', '../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/ep_81', 'usb_endpoint/usbdev3.1_ep81')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/driver', '../../../../../bus/usb/drivers/hub')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/modalias', 0o644, b'usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/bInterfaceNumber', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/bNumEndpoints', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/bInterfaceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/bInterfaceClass', 0o644, b'09\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/uevent', 0o644, b'''DEVTYPE=usb_interface
+DRIVER=hub
+PRODUCT=1d6b/1/206
+TYPE=9/0/0
+INTERFACE=9/0/0
+MODALIAS=usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81/subsystem', '../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81/device', '../../../3-0:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81/interval', 0o644, b'255ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81/bEndpointAddress', 0o644, b'81\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81/type', 0o644, b'Interrupt\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81/dev', 0o644, b'252:4\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81/wMaxPacketSize', 0o644, b'0002\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81/bmAttributes', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81/uevent', 0o644, b'''MAJOR=252
+MINOR=4
+''')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81/bInterval', 0o644, b'ff\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/usb_endpoint/usbdev3.1_ep81/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-0:1.0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/power/active_duration', 0o644, b'603809\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/power/wakeup', 0o644, b'enabled\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/power/connected_duration', 0o644, b'8372166\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/power/autosuspend', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/power/level', 0o644, b'auto\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/subsystem', '../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/driver', '../../../../../bus/usb/drivers/usb')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/ep_00', 'usb_endpoint/usbdev3.4_ep00')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/version', 0o644, b' 2.00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/maxchild', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/bDeviceClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/bcdDevice', 0o644, b'2000\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/devnum', 0o644, b'4\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/bDeviceProtocol', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/idProduct', 0o644, b'c03e\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/product', 0o644, b'USB-PS/2 Optical Mouse\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/bDeviceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/configuration', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/dev', 0o644, b'189:259\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/urbnum', 0o644, b'12\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/authorized', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/descriptors', 0o644, b'\x12\x01\x00\x02\x00\x00\x00\x08m\x04>\xc0\x00 \x01\x02\x00\x01\t\x02"\x00\x01\x01\x00\xa01\t\x04\x00\x00\x01\x03\x01\x02\x00\t!\x10\x01\x00\x01"2\x00\x07\x05\x81\x03\x04\x00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/bNumConfigurations', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/speed', 0o644, b'1.5\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/bMaxPacketSize0', 0o644, b'8\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/bmAttributes', 0o644, b'a0\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/busnum', 0o644, b'3\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/quirks', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/bConfigurationValue', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/uevent', 0o644, b'''MAJOR=189
+MINOR=259
+DEVTYPE=usb_device
+DRIVER=usb
+PRODUCT=46d/c03e/2000
+TYPE=0/0/0
+BUSNUM=003
+DEVNUM=004
+''')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/manufacturer', 0o644, b'Logitech\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/idVendor', 0o644, b'046d\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/bNumInterfaces', 0o644, b' 1\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/bMaxPower', 0o644, b' 98mA\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00/subsystem', '../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00/device', '../../../3-1')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00/bEndpointAddress', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00/type', 0o644, b'Control\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00/dev', 0o644, b'252:26\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00/direction', 0o644, b'both\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00/wMaxPacketSize', 0o644, b'0008\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00/bmAttributes', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00/uevent', 0o644, b'''MAJOR=252
+MINOR=26
+''')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00/bInterval', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/usb_endpoint/usbdev3.4_ep00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/power/active_duration', 0o644, b'51384\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/power/wakeup', 0o644, b'enabled\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/power/connected_duration', 0o644, b'51383\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/power/autosuspend', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/power/persist', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/power/level', 0o644, b'on\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/subsystem', '../../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/ep_81', 'usb_endpoint/usbdev3.4_ep81')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/driver', '../../../../../../bus/usb/drivers/usbhid')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/modalias', 0o644, b'usb:v046DpC03Ed2000dc00dsc00dp00ic03isc01ip02\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/bInterfaceNumber', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/bNumEndpoints', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/bInterfaceSubClass', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/bInterfaceClass', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/uevent', 0o644, b'''DEVTYPE=usb_interface
+DRIVER=usbhid
+PRODUCT=46d/c03e/2000
+TYPE=0/0/0
+INTERFACE=3/1/2
+MODALIAS=usb:v046DpC03Ed2000dc00dsc00dp00ic03isc01ip02
+''')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/bInterfaceProtocol', 0o644, b'02\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81/subsystem', '../../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81/device', '../../../3-1:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81/interval', 0o644, b'10ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81/bEndpointAddress', 0o644, b'81\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81/type', 0o644, b'Interrupt\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81/dev', 0o644, b'252:25\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81/wMaxPacketSize', 0o644, b'0004\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81/bmAttributes', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81/uevent', 0o644, b'''MAJOR=252
+MINOR=25
+''')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81/bInterval', 0o644, b'0a\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/usb_endpoint/usbdev3.4_ep81/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/subsystem', '../../../../../../../../class/input')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/device', '../../../3-1:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/uniq', 0o644, b'\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/phys', 0o644, b'usb-0000:00:1d.2-1/input0\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/modalias', 0o644, b'input:b0003v046DpC03Ee0110-e0,1,2,4,k110,111,112,r0,1,8,am4,lsfw\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/name', 0o644, b'Logitech USB-PS/2 Optical Mouse\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/uevent', 0o644, b'''PRODUCT=3/46d/c03e/110
+NAME="Logitech USB-PS/2 Optical Mouse"
+PHYS="usb-0000:00:1d.2-1/input0"
+UNIQ=""
+EV==17
+KEY==70000 0 0 0 0
+REL==103
+MSC==10
+MODALIAS=input:b0003v046DpC03Ee0110-e0,1,2,4,k110,111,112,r0,1,8,am4,lsfw
+''')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/mouse1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/mouse1/subsystem', '../../../../../../../../../class/input')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/mouse1/device', '../../input8')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/mouse1/dev', 0o644, b'13:33\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/mouse1/uevent', 0o644, b'''MAJOR=13
+MINOR=33
+''')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/mouse1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/mouse1/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/id', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/id/version', 0o644, b'0110\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/id/product', 0o644, b'c03e\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/id/vendor', 0o644, b'046d\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/id/bustype', 0o644, b'0003\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/event7', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/event7/subsystem', '../../../../../../../../../class/input')
+l('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/event7/device', '../../input8')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/event7/dev', 0o644, b'13:71\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/event7/uevent', 0o644, b'''MAJOR=13
+MINOR=71
+''')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/event7/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/event7/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/capabilities', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/capabilities/msc', 0o644, b'10\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/capabilities/abs', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/capabilities/snd', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/capabilities/ff', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/capabilities/key', 0o644, b'70000 0 0 0 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/capabilities/rel', 0o644, b'103\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/capabilities/sw', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/capabilities/ev', 0o644, b'17\n')
+f('sys/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1:1.0/input/input8/capabilities/led', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:01.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:01.0/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:06')
+l('sys/devices/pci0000:00/0000:00:01.0/subsystem', '../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:01.0/driver', '../../../bus/pci/drivers/pcieport-driver')
+f('sys/devices/pci0000:00/0000:00:01.0/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:01.0/enable', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:01.0/modalias', 0o644, b'pci:v00008086d000027A1sv00000000sd00000000bc06sc04i00\n')
+f('sys/devices/pci0000:00/0000:00:01.0/resource', 0o644, b'''0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000002000 0x0000000000002fff 0x0000000000000100
+0x00000000ee100000 0x00000000ee1fffff 0x0000000000000200
+0x00000000d0000000 0x00000000dfffffff 0x0000000000001201
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:01.0/config', 0o644, b'\x86\x80\xa1\'\x07\x05\x10\x00\x03\x00\x04\x06\x10\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x00  \x00\x00\x10\xee\x10\xee\x01\xd0\xf1\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x0b\x01\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x01\x90\x02\xc8\x00\x00\x00\x00\r\x80\x00\x00\xaa\x17\x14 \x05\xa0\x01\x00\x0c0\xe0\xfeqA\x00\x00\x00\x00\x00\x00\x10\x00A\x01\x00\x00\x00\x00\x00\x00\x01\x00\x01M\x01\x02\x03\x00\x01\x11\x80%\x08\x00\xc0\x01H\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x0f\x00\x00\x00\x00\x86\x0f\x05\x00\x00\x00\x00\x80\x02\x00\x01\x14\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x80\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x01\x00\x00\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\x05\x00\x01\x00\x00\x01\x01\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x90\xd1\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x06\x00\x01\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00n\x7f \x08\xf4\x0c\x00\x00\xb04 \x00\x00\x00\x00\x003\x0f\x00\x00\xff\xff\x03\x00\xd0\x0f\xf1\x05\xd1\x0f\xd1\x0f\x08\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\r/B\x00\x0c\x00\x00\x14\xb5\xbcJ\xbc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x003\x0b\xe0\x00Q\x0b\xfe\x00 \x00\x08\x00\x85\x03\xf1\x00\x87\x03\xf3\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x04\x00\x00\x00\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\x08\x14\x08\x88\x00\x00\x00\x00\x00\x00\x00\x00"wD\xb23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x06`\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x06b\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\n\x06`\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\r\x06b\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x06`\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x06b\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x003\x06`\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x004\x06b\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x06`\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x002\x06b\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x004\x06`\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x002\x06b\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00;\x06`\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x003\x06b\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x009\x06`\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00:\x06b\x00 \x00\x00`\x02\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x007')
+f('sys/devices/pci0000:00/0000:00:01.0/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:01.0/subsystem_device', 0o644, b'0x0000\n')
+f('sys/devices/pci0000:00/0000:00:01.0/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:01.0/irq', 0o644, b'511\n')
+f('sys/devices/pci0000:00/0000:00:01.0/device', 0o644, b'0x27a1\n')
+f('sys/devices/pci0000:00/0000:00:01.0/class', 0o644, b'0x060400\n')
+f('sys/devices/pci0000:00/0000:00:01.0/msi_bus', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:01.0/subsystem_vendor', 0o644, b'0x0000\n')
+f('sys/devices/pci0000:00/0000:00:01.0/uevent', 0o644, b'''DRIVER=pcieport-driver
+PCI_CLASS=60400
+PCI_ID=8086:27A1
+PCI_SUBSYS_ID=0000:0000
+PCI_SLOT_NAME=0000:00:01.0
+MODALIAS=pci:v00008086d000027A1sv00000000sd00000000bc06sc04i00
+''')
+f('sys/devices/pci0000:00/0000:00:01.0/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:01.0/pci_bus', 0o755)
+d('sys/devices/pci0000:00/0000:00:01.0/pci_bus/0000:01', 0o755)
+l('sys/devices/pci0000:00/0000:00:01.0/pci_bus/0000:01/subsystem', '../../../../../class/pci_bus')
+l('sys/devices/pci0000:00/0000:00:01.0/pci_bus/0000:01/device', '../../../0000:00:01.0')
+f('sys/devices/pci0000:00/0000:00:01.0/pci_bus/0000:01/cpuaffinity', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:01.0/pci_bus/0000:01/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:01.0/pci_bus/0000:01/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:01.0/pci_bus/0000:01/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:01.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:01.0/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/pci0000:00/0000:00:01.0/0000:00:01.0:pcie03', 0o755)
+l('sys/devices/pci0000:00/0000:00:01.0/0000:00:01.0:pcie03/subsystem', '../../../../bus/pci_express')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:00:01.0:pcie03/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:01.0/0000:00:01.0:pcie03/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:01.0/0000:00:01.0:pcie03/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/firmware_node', '../../../LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07')
+l('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/subsystem', '../../../../bus/pci')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/enable', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/modalias', 0o644, b'pci:v00001002d000071D4sv000017AAsd000020A4bc03sc00i00\n')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/resource', 0o644, b'''0x00000000d0000000 0x00000000dfffffff 0x0000000000021208
+0x0000000000002000 0x00000000000020ff 0x0000000000020101
+0x00000000ee100000 0x00000000ee10ffff 0x0000000000020200
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x00000000ee120000 0x00000000ee13ffff 0x0000000000027202
+''')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/config', 0o644, b'\x02\x10\xd4q\x07\x01\x10\x00\x00\x00\x00\x03\x10\x00\x00\x00\x08\x00\x00\xd0\x01 \x00\x00\x00\x00\x10\xee\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x17\xa4 \x00\x00\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x0b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x17\xa4 \x01X\x02\x06\x00\x00\x00\x00\x10\x80\x11\x00\xa0\x0f,\x01\x10\x08\x00\x00\x01\r\x00\x00C\x00\x01\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11 \x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00@\x03\x00\x00\x00$\x8f\x0b\x00\xff\xff\x07e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/resource1', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/resource2', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/subsystem_device', 0o644, b'0x20a4\n')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/vendor', 0o644, b'0x1002\n')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/irq', 0o644, b'11\n')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/device', 0o644, b'0x71d4\n')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/class', 0o644, b'0x030000\n')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/rom', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/msi_bus', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/resource0', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/subsystem_vendor', 0o644, b'0x17aa\n')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/uevent', 0o644, b'''PCI_CLASS=30000
+PCI_ID=1002:71D4
+PCI_SUBSYS_ID=17AA:20A4
+PCI_SLOT_NAME=0000:01:00.0
+MODALIAS=pci:v00001002d000071D4sv000017AAsd000020A4bc03sc00i00
+''')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/resource0_wc', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:01.0/0000:00:01.0:pcie00', 0o755)
+l('sys/devices/pci0000:00/0000:00:01.0/0000:00:01.0:pcie00/subsystem', '../../../../bus/pci_express')
+f('sys/devices/pci0000:00/0000:00:01.0/0000:00:01.0:pcie00/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:01.0/0000:00:01.0:pcie00/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:01.0/0000:00:01.0:pcie00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.1/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:13')
+l('sys/devices/pci0000:00/0000:00:1f.1/subsystem', '../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:1f.1/driver', '../../../bus/pci/drivers/ata_piix')
+f('sys/devices/pci0000:00/0000:00:1f.1/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/resource3', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.1/enable', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/modalias', 0o644, b'pci:v00008086d000027DFsv000017AAsd0000200Cbc01sc01i8a\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/resource', 0o644, b'''0x00000000000001f0 0x00000000000001f7 0x0000000000000110
+0x00000000000003f6 0x00000000000003f6 0x0000000000000110
+0x0000000000000170 0x0000000000000177 0x0000000000000110
+0x0000000000000376 0x0000000000000376 0x0000000000000110
+0x0000000000001880 0x000000000000188f 0x0000000000020101
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1f.1/config', 0o644, b"\x86\x80\xdf'\x05\x00\x80\x02\x02\x8a\x01\x01\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x81\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x17\x0c \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x03\x00\x00\x03\xe3\x00@\x00\x00\x00\x00\x01\x00\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\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\x86\x0f\x02\x00\x00\x00\x00\x00")
+f('sys/devices/pci0000:00/0000:00:1f.1/resource1', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.1/resource2', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.1/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/subsystem_device', 0o644, b'0x200c\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/irq', 0o644, b'16\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/device', 0o644, b'0x27df\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/class', 0o644, b'0x01018a\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/msi_bus', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.1/resource0', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.1/subsystem_vendor', 0o644, b'0x17aa\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/uevent', 0o644, b'''DRIVER=ata_piix
+PCI_CLASS=1018A
+PCI_ID=8086:27DF
+PCI_SUBSYS_ID=17AA:200C
+PCI_SLOT_NAME=0000:00:1f.1
+MODALIAS=pci:v00008086d000027DFsv000017AAsd0000200Cbc01sc01i8a
+''')
+f('sys/devices/pci0000:00/0000:00:1f.1/resource4', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.1/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host5', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.1/host5/subsystem', '../../../../bus/scsi')
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/uevent', 0o644, b'DEVTYPE=scsi_host\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host5/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host', 0o755)
+d('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/subsystem', '../../../../../../class/scsi_host')
+l('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/device', '../../../host5')
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/unique_id', 0o644, b'6\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/can_queue', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/unchecked_isa_dma', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/active_mode', 0o644, b'Initiator\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/sg_tablesize', 0o644, b'128\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/prot_guard_type', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/host_busy', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/proc_name', 0o644, b'ata_piix\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/state', 0o644, b'running\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/cmd_per_lun', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/supported_mode', 0o644, b'Initiator\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/uevent', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/prot_capabilities', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.1/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/subsystem', '../../../../bus/scsi')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/uevent', 0o644, b'DEVTYPE=scsi_host\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/subsystem', '../../../../../bus/scsi')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/uevent', 0o644, b'DEVTYPE=scsi_target\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/generic', 'scsi_generic/sg1')
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/subsystem', '../../../../../../bus/scsi')
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/driver', '../../../../../../bus/scsi/drivers/sr')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/iodone_cnt', 0o644, b'0x20b3\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/device_blocked', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/modalias', 0o644, b'scsi:t-0x05\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_level', 0o644, b'6\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/queue_depth', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/rev', 0o644, b'RB01\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/type', 0o644, b'5\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/iocounterbits', 0o644, b'32\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/vendor', 0o644, b'MATSHITA\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/state', 0o644, b'running\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/queue_type', 0o644, b'none\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/iorequest_cnt', 0o644, b'0x82a9\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/evt_media_change', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/model', 0o644, b'DVD-RAM UJ-842  \n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/ioerr_cnt', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/uevent', 0o644, b'''DEVTYPE=scsi_device
+DRIVER=sr
+MODALIAS=scsi:t-0x05
+''')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/timeout', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_generic', 0o755)
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_generic/sg1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_generic/sg1/subsystem', '../../../../../../../../class/scsi_generic')
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_generic/sg1/device', '../../../4:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_generic/sg1/dev', 0o644, b'21:1\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_generic/sg1/uevent', 0o644, b'''MAJOR=21
+MINOR=1
+''')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_generic/sg1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_generic/sg1/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/bsg', 0o755)
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/bsg/4:0:0:0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/bsg/4:0:0:0/subsystem', '../../../../../../../../class/bsg')
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/bsg/4:0:0:0/device', '../../../4:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/bsg/4:0:0:0/dev', 0o644, b'254:1\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/bsg/4:0:0:0/uevent', 0o644, b'''MAJOR=254
+MINOR=1
+''')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/bsg/4:0:0:0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/bsg/4:0:0:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block', 0o755)
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/subsystem', '../../../../../../../../class/block')
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/bdi', '../../../../../../../virtual/bdi/11:0')
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/device', '../../../4:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/capability', 0o644, b'19\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/ro', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/make-it-fail', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/size', 0o644, b'2097151\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/dev', 0o644, b'11:0\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/range', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/removable', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/stat', 0o644, b'       0        0        0        0        0        0        0        0        0        0        0\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/uevent', 0o644, b'''MAJOR=11
+MINOR=0
+DEVTYPE=disk
+''')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/nr_requests', 0o644, b'128\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/nomerges', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/scheduler', 0o644, b'noop anticipatory deadline [cfq] \n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/hw_sector_size', 0o644, b'512\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/max_hw_sectors_kb', 0o644, b'128\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/read_ahead_kb', 0o644, b'128\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/max_sectors_kb', 0o644, b'128\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/iosched', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/iosched/slice_async_rq', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/iosched/back_seek_max', 0o644, b'16384\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/iosched/slice_sync', 0o644, b'100\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/iosched/slice_async', 0o644, b'40\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/iosched/fifo_expire_sync', 0o644, b'125\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/iosched/slice_idle', 0o644, b'8\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/iosched/back_seek_penalty', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/iosched/fifo_expire_async', 0o644, b'250\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/queue/iosched/quantum', 0o644, b'4\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/block/sr0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_device', 0o755)
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_device/4:0:0:0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_device/4:0:0:0/subsystem', '../../../../../../../../class/scsi_device')
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_device/4:0:0:0/device', '../../../4:0:0:0')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_device/4:0:0:0/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_device/4:0:0:0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0/scsi_device/4:0:0:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host', 0o755)
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4', 0o755)
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/subsystem', '../../../../../../class/scsi_host')
+l('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/device', '../../../host4')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/unique_id', 0o644, b'5\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/can_queue', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/unchecked_isa_dma', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/active_mode', 0o644, b'Initiator\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/sg_tablesize', 0o644, b'128\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/prot_guard_type', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/host_busy', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/proc_name', 0o644, b'ata_piix\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/state', 0o644, b'running\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/cmd_per_lun', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/supported_mode', 0o644, b'Initiator\n')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/uevent', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/prot_capabilities', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1e.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1e.0/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:11')
+l('sys/devices/pci0000:00/0000:00:1e.0/subsystem', '../../../bus/pci')
+f('sys/devices/pci0000:00/0000:00:1e.0/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/enable', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/modalias', 0o644, b'pci:v00008086d00002448sv00000000sd00000000bc06sc04i01\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/resource', 0o644, b'''0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x000000000000a000 0x000000000000dfff 0x0000000000000100
+0x00000000e4300000 0x00000000e7ffffff 0x0000000000000200
+0x00000000e0000000 0x00000000e3ffffff 0x0000000000001201
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1e.0/config', 0o644, b'\x86\x80H$\x07\x00\x10\x00\xe2\x01\x04\x06\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x18 \xa0\xd0\x80"0\xe4\xf0\xe7\x01\xe0\xf1\xe3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00P\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\r\x00\x00\x00\xaa\x17\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\x86\x0f\x02\x00\x00\x00\x00\x00')
+f('sys/devices/pci0000:00/0000:00:1e.0/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/subsystem_device', 0o644, b'0x0000\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/irq', 0o644, b'0\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/device', 0o644, b'0x2448\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/class', 0o644, b'0x060401\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/msi_bus', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/subsystem_vendor', 0o644, b'0x0000\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/uevent', 0o644, b'''PCI_CLASS=60401
+PCI_ID=8086:2448
+PCI_SUBSYS_ID=0000:0000
+PCI_SLOT_NAME=0000:00:1e.0
+MODALIAS=pci:v00008086d00002448sv00000000sd00000000bc06sc04i01
+''')
+f('sys/devices/pci0000:00/0000:00:1e.0/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1e.0/pci_bus', 0o755)
+d('sys/devices/pci0000:00/0000:00:1e.0/pci_bus/0000:15', 0o755)
+l('sys/devices/pci0000:00/0000:00:1e.0/pci_bus/0000:15/subsystem', '../../../../../class/pci_bus')
+l('sys/devices/pci0000:00/0000:00:1e.0/pci_bus/0000:15/device', '../../../0000:00:1e.0')
+f('sys/devices/pci0000:00/0000:00:1e.0/pci_bus/0000:15/cpuaffinity', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/pci_bus/0000:15/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1e.0/pci_bus/0000:15/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1e.0/pci_bus/0000:15/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1e.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1e.0/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/firmware_node', '../../../LNXSYSTM:00/device:00/PNP0A08:00/device:11/device:12')
+l('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/subsystem', '../../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/driver', '../../../../bus/pci/drivers/yenta_cardbus')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/enable', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/modalias', 0o644, b'pci:v0000104Cd0000AC56sv000017AAsd00002012bc06sc07i00\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/resource', 0o644, b'''0x00000000e4300000 0x00000000e4300fff 0x0000000000020200
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x000000000000a000 0x000000000000a0ff 0x0000000000020100
+0x000000000000a400 0x000000000000a4ff 0x0000000000020100
+0x00000000e0000000 0x00000000e3ffffff 0x0000000000021200
+0x0000000088000000 0x000000008bffffff 0x0000000000020200
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/config', 0o644, b'L\x10V\xac\x07\x00\x10\x02\x00\x00\x07\x06\x10\xa8\x02\x00\x00\x000\xe4\xa0\x00\x00\x02\x15\x16\x17\xb0\x00\x00\x00\xe0\x00\xf0\xff\xe3\x00\x00\x00\x88\x00\xf0\xff\x8b\x00\xa0\x00\x00\xfc\xa0\x00\x00\x00\xa4\x00\x00\xfc\xa4\x00\x00\x0b\x01\xc0\x05\xaa\x17\x12 \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\x00p\xd0D\x08\x00\x00\x00\x00\x00\x00\x00\x00\x02\x10\xd0\x01\xc0\x02d@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x12\xfe\x00\x00\xc0\x00\x07\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/yenta_registers', 0o644, b'''CB registers:
+00: 00000000 00000006 30000087 00000000
+10: 00000400 00000000 00000000 00000000
+20: 00000000
+
+ExCA registers:
+00: 84 01 00 50 00 08 00 00 - 00 00 01 00 00 00 01 00
+10: 00 00 00 00 00 00 c0 00 - 00 00 00 00 00 00 00 00
+20: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
+30: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
+40: 00 00 00 00 00
+''')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/subsystem_device', 0o644, b'0x2012\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/vendor', 0o644, b'0x104c\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/irq', 0o644, b'16\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/device', 0o644, b'0xac56\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/class', 0o644, b'0x060700\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/msi_bus', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/resource0', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/subsystem_vendor', 0o644, b'0x17aa\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/uevent', 0o644, b'''DRIVER=yenta_cardbus
+PCI_CLASS=60700
+PCI_ID=104C:AC56
+PCI_SUBSYS_ID=17AA:2012
+PCI_SLOT_NAME=0000:15:00.0
+MODALIAS=pci:v0000104Cd0000AC56sv000017AAsd00002012bc06sc07i00
+''')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pci_bus', 0o755)
+d('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pci_bus/0000:16', 0o755)
+l('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pci_bus/0000:16/subsystem', '../../../../../../class/pci_bus')
+l('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pci_bus/0000:16/device', '../../../0000:15:00.0')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pci_bus/0000:16/cpuaffinity', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pci_bus/0000:16/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pci_bus/0000:16/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pci_bus/0000:16/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket', 0o755)
+d('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0/subsystem', '../../../../../../class/pcmcia_socket')
+l('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0/device', '../../../0000:15:00.0')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0/card_vpp', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0/available_resources_mem', 0o644, b'''0x000c0000 - 0x000fffff
+0x60000000 - 0x60ffffff
+0xa0000000 - 0xa0ffffff
+0xe0000000 - 0xe3ffffff
+0xe4300000 - 0xe7ffffff
+''')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0/available_resources_io', 0o644, b'''0x00000100 - 0x000003af
+0x000003e0 - 0x000004ff
+0x00000820 - 0x000008ff
+0x00000a00 - 0x00000aff
+0x00000c00 - 0x00000cf7
+0x0000a000 - 0x0000dfff
+''')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0/card_voltage', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0/cis', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0/available_resources_setup_done', 0o644, b'yes\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0/card_irq_mask', 0o644, b'0x0cf8\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0/card_pm_state', 0o644, b'on\n')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0/card_vcc', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0/card_type', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0/uevent', 0o644, b'SOCKET_NO=0\n')
+d('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1e.0/0000:15:00.0/pcmcia_socket/pcmcia_socket0/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.1', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.1/firmware_node', '../../LNXSYSTM:00/device:00/PNP0A08:00/device:1a')
+l('sys/devices/pci0000:00/0000:00:1d.1/subsystem', '../../../bus/pci')
+l('sys/devices/pci0000:00/0000:00:1d.1/driver', '../../../bus/pci/drivers/uhci_hcd')
+f('sys/devices/pci0000:00/0000:00:1d.1/local_cpulist', 0o644, b'0-7\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/enable', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/modalias', 0o644, b'pci:v00008086d000027C9sv000017AAsd0000200Abc0Csc03i00\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/resource', 0o644, b'''0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000001820 0x000000000000183f 0x0000000000020101
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+0x0000000000000000 0x0000000000000000 0x0000000000000000
+''')
+f('sys/devices/pci0000:00/0000:00:1d.1/config', 0o644, b"\x86\x80\xc9'\x05\x00\x80\x02\x02\x00\x03\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00!\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x17\n \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\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\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x0f\x02\x00\x00\x00\x00\x00")
+f('sys/devices/pci0000:00/0000:00:1d.1/local_cpus', 0o644, b'ff\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/subsystem_device', 0o644, b'0x200a\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/vendor', 0o644, b'0x8086\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/irq', 0o644, b'17\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/pools', 0o644, b'''poolinfo - 0.1
+uhci_qh            11   32  128  1
+uhci_td             1   64   64  1
+buffer-2048         0    0 2048  0
+buffer-512          0    0  512  0
+buffer-128          0    0  128  0
+buffer-32           1  128   32  1
+''')
+f('sys/devices/pci0000:00/0000:00:1d.1/device', 0o644, b'0x27c9\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/class', 0o644, b'0x0c0300\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/msi_bus', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.1/subsystem_vendor', 0o644, b'0x17aa\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/uevent', 0o644, b'''DRIVER=uhci_hcd
+PCI_CLASS=C0300
+PCI_ID=8086:27C9
+PCI_SUBSYS_ID=17AA:200A
+PCI_SLOT_NAME=0000:00:1d.1
+MODALIAS=pci:v00008086d000027C9sv000017AAsd0000200Abc0Csc03i00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.1/resource4', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.1/broken_parity_status', 0o644, b'0\n')
+d('sys/devices/pci0000:00/0000:00:1d.1/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.1/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/pci0000:00/0000:00:1d.1/usb_host', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.1/usb_host/usb_host2', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.1/usb_host/usb_host2/subsystem', '../../../../../class/usb_host')
+l('sys/devices/pci0000:00/0000:00:1d.1/usb_host/usb_host2/device', '../../../0000:00:1d.1')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb_host/usb_host2/uevent', 0o644, b'')
+d('sys/devices/pci0000:00/0000:00:1d.1/usb_host/usb_host2/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.1/usb_host/usb_host2/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.1/usb2', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.1/usb2/subsystem', '../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.1/usb2/driver', '../../../../bus/usb/drivers/usb')
+l('sys/devices/pci0000:00/0000:00:1d.1/usb2/ep_00', 'usb_endpoint/usbdev2.1_ep00')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/version', 0o644, b' 1.10\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/authorized_default', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/maxchild', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/bDeviceClass', 0o644, b'09\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/bcdDevice', 0o644, b'0206\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/devnum', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/bDeviceProtocol', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/idProduct', 0o644, b'0001\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/product', 0o644, b'UHCI Host Controller\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/bDeviceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/configuration', 0o644, b'')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/dev', 0o644, b'189:128\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/urbnum', 0o644, b'16\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/authorized', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/descriptors', 0o644, b'\x12\x01\x10\x01\t\x00\x00@k\x1d\x01\x00\x06\x02\x03\x02\x01\x01\t\x02\x19\x00\x01\x01\x00\xe0\x00\t\x04\x00\x00\x01\t\x00\x00\x00\x07\x05\x81\x03\x02\x00\xff')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/bNumConfigurations', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/serial', 0o644, b'0000:00:1d.1\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/speed', 0o644, b'12\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/bMaxPacketSize0', 0o644, b'64\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/bmAttributes', 0o644, b'e0\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/busnum', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/quirks', 0o644, b'0x0\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/bConfigurationValue', 0o644, b'1\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/uevent', 0o644, b'''MAJOR=189
+MINOR=128
+DEVTYPE=usb_device
+DRIVER=usb
+PRODUCT=1d6b/1/206
+TYPE=9/0/0
+BUSNUM=002
+DEVNUM=001
+''')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/manufacturer', 0o644, b'Linux 2.6.27-rc7-00106-g6ef190c-dirty uhci_hcd\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/idVendor', 0o644, b'1d6b\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/bNumInterfaces', 0o644, b' 1\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/bMaxPower', 0o644, b'  0mA\n')
+d('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00/subsystem', '../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00/device', '../../../usb2')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00/interval', 0o644, b'0ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00/bEndpointAddress', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00/type', 0o644, b'Control\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00/dev', 0o644, b'252:3\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00/direction', 0o644, b'both\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00/wMaxPacketSize', 0o644, b'0040\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00/bmAttributes', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00/uevent', 0o644, b'''MAJOR=252
+MINOR=3
+''')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00/bInterval', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/usb_endpoint/usbdev2.1_ep00/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.1/usb2/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/power/active_duration', 0o644, b'2363\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/power/wakeup', 0o644, b'enabled\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/power/connected_duration', 0o644, b'8372254\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/power/autosuspend', 0o644, b'2\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/power/level', 0o644, b'auto\n')
+d('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/subsystem', '../../../../../bus/usb')
+l('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/ep_81', 'usb_endpoint/usbdev2.1_ep81')
+l('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/driver', '../../../../../bus/usb/drivers/hub')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/modalias', 0o644, b'usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/bInterfaceNumber', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/bNumEndpoints', 0o644, b'01\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/bInterfaceSubClass', 0o644, b'00\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/bAlternateSetting', 0o644, b' 0\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/bInterfaceClass', 0o644, b'09\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/uevent', 0o644, b'''DEVTYPE=usb_interface
+DRIVER=hub
+PRODUCT=1d6b/1/206
+TYPE=9/0/0
+INTERFACE=9/0/0
+MODALIAS=usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00
+''')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/bInterfaceProtocol', 0o644, b'00\n')
+d('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint', 0o755)
+d('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81', 0o755)
+l('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81/subsystem', '../../../../../../../class/usb_endpoint')
+l('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81/device', '../../../2-0:1.0')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81/interval', 0o644, b'255ms\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81/bEndpointAddress', 0o644, b'81\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81/type', 0o644, b'Interrupt\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81/dev', 0o644, b'252:2\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81/direction', 0o644, b'in\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81/bLength', 0o644, b'07\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81/wMaxPacketSize', 0o644, b'0002\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81/bmAttributes', 0o644, b'03\n')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81/uevent', 0o644, b'''MAJOR=252
+MINOR=2
+''')
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81/bInterval', 0o644, b'ff\n')
+d('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81/power/wakeup', 0o644, b'\n')
+d('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/power', 0o755)
+f('sys/devices/pci0000:00/0000:00:1d.1/usb2/2-0:1.0/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual', 0o755)
+d('sys/devices/virtual/vc', 0o755)
+d('sys/devices/virtual/vc/vcsa3', 0o755)
+l('sys/devices/virtual/vc/vcsa3/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcsa3/dev', 0o644, b'7:131\n')
+f('sys/devices/virtual/vc/vcsa3/uevent', 0o644, b'''MAJOR=7
+MINOR=131
+''')
+d('sys/devices/virtual/vc/vcsa3/power', 0o755)
+f('sys/devices/virtual/vc/vcsa3/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcsa6', 0o755)
+l('sys/devices/virtual/vc/vcsa6/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcsa6/dev', 0o644, b'7:134\n')
+f('sys/devices/virtual/vc/vcsa6/uevent', 0o644, b'''MAJOR=7
+MINOR=134
+''')
+d('sys/devices/virtual/vc/vcsa6/power', 0o755)
+f('sys/devices/virtual/vc/vcsa6/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcsa2', 0o755)
+l('sys/devices/virtual/vc/vcsa2/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcsa2/dev', 0o644, b'7:130\n')
+f('sys/devices/virtual/vc/vcsa2/uevent', 0o644, b'''MAJOR=7
+MINOR=130
+''')
+d('sys/devices/virtual/vc/vcsa2/power', 0o755)
+f('sys/devices/virtual/vc/vcsa2/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcsa', 0o755)
+l('sys/devices/virtual/vc/vcsa/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcsa/dev', 0o644, b'7:128\n')
+f('sys/devices/virtual/vc/vcsa/uevent', 0o644, b'''MAJOR=7
+MINOR=128
+''')
+d('sys/devices/virtual/vc/vcsa/power', 0o755)
+f('sys/devices/virtual/vc/vcsa/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcs2', 0o755)
+l('sys/devices/virtual/vc/vcs2/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcs2/dev', 0o644, b'7:2\n')
+f('sys/devices/virtual/vc/vcs2/uevent', 0o644, b'''MAJOR=7
+MINOR=2
+''')
+d('sys/devices/virtual/vc/vcs2/power', 0o755)
+f('sys/devices/virtual/vc/vcs2/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcs7', 0o755)
+l('sys/devices/virtual/vc/vcs7/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcs7/dev', 0o644, b'7:7\n')
+f('sys/devices/virtual/vc/vcs7/uevent', 0o644, b'''MAJOR=7
+MINOR=7
+''')
+d('sys/devices/virtual/vc/vcs7/power', 0o755)
+f('sys/devices/virtual/vc/vcs7/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcsa5', 0o755)
+l('sys/devices/virtual/vc/vcsa5/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcsa5/dev', 0o644, b'7:133\n')
+f('sys/devices/virtual/vc/vcsa5/uevent', 0o644, b'''MAJOR=7
+MINOR=133
+''')
+d('sys/devices/virtual/vc/vcsa5/power', 0o755)
+f('sys/devices/virtual/vc/vcsa5/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcsa10', 0o755)
+l('sys/devices/virtual/vc/vcsa10/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcsa10/dev', 0o644, b'7:138\n')
+f('sys/devices/virtual/vc/vcsa10/uevent', 0o644, b'''MAJOR=7
+MINOR=138
+''')
+d('sys/devices/virtual/vc/vcsa10/power', 0o755)
+f('sys/devices/virtual/vc/vcsa10/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcs10', 0o755)
+l('sys/devices/virtual/vc/vcs10/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcs10/dev', 0o644, b'7:10\n')
+f('sys/devices/virtual/vc/vcs10/uevent', 0o644, b'''MAJOR=7
+MINOR=10
+''')
+d('sys/devices/virtual/vc/vcs10/power', 0o755)
+f('sys/devices/virtual/vc/vcs10/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcsa1', 0o755)
+l('sys/devices/virtual/vc/vcsa1/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcsa1/dev', 0o644, b'7:129\n')
+f('sys/devices/virtual/vc/vcsa1/uevent', 0o644, b'''MAJOR=7
+MINOR=129
+''')
+d('sys/devices/virtual/vc/vcsa1/power', 0o755)
+f('sys/devices/virtual/vc/vcsa1/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcsa4', 0o755)
+l('sys/devices/virtual/vc/vcsa4/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcsa4/dev', 0o644, b'7:132\n')
+f('sys/devices/virtual/vc/vcsa4/uevent', 0o644, b'''MAJOR=7
+MINOR=132
+''')
+d('sys/devices/virtual/vc/vcsa4/power', 0o755)
+f('sys/devices/virtual/vc/vcsa4/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcs', 0o755)
+l('sys/devices/virtual/vc/vcs/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcs/dev', 0o644, b'7:0\n')
+f('sys/devices/virtual/vc/vcs/uevent', 0o644, b'''MAJOR=7
+MINOR=0
+''')
+d('sys/devices/virtual/vc/vcs/power', 0o755)
+f('sys/devices/virtual/vc/vcs/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcs1', 0o755)
+l('sys/devices/virtual/vc/vcs1/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcs1/dev', 0o644, b'7:1\n')
+f('sys/devices/virtual/vc/vcs1/uevent', 0o644, b'''MAJOR=7
+MINOR=1
+''')
+d('sys/devices/virtual/vc/vcs1/power', 0o755)
+f('sys/devices/virtual/vc/vcs1/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcs4', 0o755)
+l('sys/devices/virtual/vc/vcs4/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcs4/dev', 0o644, b'7:4\n')
+f('sys/devices/virtual/vc/vcs4/uevent', 0o644, b'''MAJOR=7
+MINOR=4
+''')
+d('sys/devices/virtual/vc/vcs4/power', 0o755)
+f('sys/devices/virtual/vc/vcs4/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcsa7', 0o755)
+l('sys/devices/virtual/vc/vcsa7/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcsa7/dev', 0o644, b'7:135\n')
+f('sys/devices/virtual/vc/vcsa7/uevent', 0o644, b'''MAJOR=7
+MINOR=135
+''')
+d('sys/devices/virtual/vc/vcsa7/power', 0o755)
+f('sys/devices/virtual/vc/vcsa7/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcs6', 0o755)
+l('sys/devices/virtual/vc/vcs6/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcs6/dev', 0o644, b'7:6\n')
+f('sys/devices/virtual/vc/vcs6/uevent', 0o644, b'''MAJOR=7
+MINOR=6
+''')
+d('sys/devices/virtual/vc/vcs6/power', 0o755)
+f('sys/devices/virtual/vc/vcs6/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcs3', 0o755)
+l('sys/devices/virtual/vc/vcs3/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcs3/dev', 0o644, b'7:3\n')
+f('sys/devices/virtual/vc/vcs3/uevent', 0o644, b'''MAJOR=7
+MINOR=3
+''')
+d('sys/devices/virtual/vc/vcs3/power', 0o755)
+f('sys/devices/virtual/vc/vcs3/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vc/vcs5', 0o755)
+l('sys/devices/virtual/vc/vcs5/subsystem', '../../../../class/vc')
+f('sys/devices/virtual/vc/vcs5/dev', 0o644, b'7:5\n')
+f('sys/devices/virtual/vc/vcs5/uevent', 0o644, b'''MAJOR=7
+MINOR=5
+''')
+d('sys/devices/virtual/vc/vcs5/power', 0o755)
+f('sys/devices/virtual/vc/vcs5/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/mem', 0o755)
+d('sys/devices/virtual/mem/zero', 0o755)
+l('sys/devices/virtual/mem/zero/subsystem', '../../../../class/mem')
+f('sys/devices/virtual/mem/zero/dev', 0o644, b'1:5\n')
+f('sys/devices/virtual/mem/zero/uevent', 0o644, b'''MAJOR=1
+MINOR=5
+''')
+d('sys/devices/virtual/mem/zero/power', 0o755)
+f('sys/devices/virtual/mem/zero/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/mem/kmsg', 0o755)
+l('sys/devices/virtual/mem/kmsg/subsystem', '../../../../class/mem')
+f('sys/devices/virtual/mem/kmsg/dev', 0o644, b'1:11\n')
+f('sys/devices/virtual/mem/kmsg/uevent', 0o644, b'''MAJOR=1
+MINOR=11
+''')
+d('sys/devices/virtual/mem/kmsg/power', 0o755)
+f('sys/devices/virtual/mem/kmsg/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/mem/mem', 0o755)
+l('sys/devices/virtual/mem/mem/subsystem', '../../../../class/mem')
+f('sys/devices/virtual/mem/mem/dev', 0o644, b'1:1\n')
+f('sys/devices/virtual/mem/mem/uevent', 0o644, b'''MAJOR=1
+MINOR=1
+''')
+d('sys/devices/virtual/mem/mem/power', 0o755)
+f('sys/devices/virtual/mem/mem/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/mem/urandom', 0o755)
+l('sys/devices/virtual/mem/urandom/subsystem', '../../../../class/mem')
+f('sys/devices/virtual/mem/urandom/dev', 0o644, b'1:9\n')
+f('sys/devices/virtual/mem/urandom/uevent', 0o644, b'''MAJOR=1
+MINOR=9
+''')
+d('sys/devices/virtual/mem/urandom/power', 0o755)
+f('sys/devices/virtual/mem/urandom/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/mem/port', 0o755)
+l('sys/devices/virtual/mem/port/subsystem', '../../../../class/mem')
+f('sys/devices/virtual/mem/port/dev', 0o644, b'1:4\n')
+f('sys/devices/virtual/mem/port/uevent', 0o644, b'''MAJOR=1
+MINOR=4
+''')
+d('sys/devices/virtual/mem/port/power', 0o755)
+f('sys/devices/virtual/mem/port/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/mem/null', 0o755)
+l('sys/devices/virtual/mem/null/subsystem', '../../../../class/mem')
+f('sys/devices/virtual/mem/null/dev', 0o644, b'1:3\n')
+f('sys/devices/virtual/mem/null/uevent', 0o644, b'''MAJOR=1
+MINOR=3
+''')
+d('sys/devices/virtual/mem/null/power', 0o755)
+f('sys/devices/virtual/mem/null/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/mem/kmem', 0o755)
+l('sys/devices/virtual/mem/kmem/subsystem', '../../../../class/mem')
+f('sys/devices/virtual/mem/kmem/dev', 0o644, b'1:2\n')
+f('sys/devices/virtual/mem/kmem/uevent', 0o644, b'''MAJOR=1
+MINOR=2
+''')
+d('sys/devices/virtual/mem/kmem/power', 0o755)
+f('sys/devices/virtual/mem/kmem/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/mem/full', 0o755)
+l('sys/devices/virtual/mem/full/subsystem', '../../../../class/mem')
+f('sys/devices/virtual/mem/full/dev', 0o644, b'1:7\n')
+f('sys/devices/virtual/mem/full/uevent', 0o644, b'''MAJOR=1
+MINOR=7
+''')
+d('sys/devices/virtual/mem/full/power', 0o755)
+f('sys/devices/virtual/mem/full/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/mem/random', 0o755)
+l('sys/devices/virtual/mem/random/subsystem', '../../../../class/mem')
+f('sys/devices/virtual/mem/random/dev', 0o644, b'1:8\n')
+f('sys/devices/virtual/mem/random/uevent', 0o644, b'''MAJOR=1
+MINOR=8
+''')
+d('sys/devices/virtual/mem/random/power', 0o755)
+f('sys/devices/virtual/mem/random/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/net', 0o755)
+d('sys/devices/virtual/net/lo', 0o755)
+l('sys/devices/virtual/net/lo/subsystem', '../../../../class/net')
+f('sys/devices/virtual/net/lo/ifindex', 0o644, b'1\n')
+f('sys/devices/virtual/net/lo/features', 0o644, b'0x13865\n')
+f('sys/devices/virtual/net/lo/iflink', 0o644, b'1\n')
+f('sys/devices/virtual/net/lo/dormant', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/dev_id', 0o644, b'0x0\n')
+f('sys/devices/virtual/net/lo/type', 0o644, b'772\n')
+f('sys/devices/virtual/net/lo/operstate', 0o644, b'unknown\n')
+f('sys/devices/virtual/net/lo/carrier', 0o644, b'1\n')
+f('sys/devices/virtual/net/lo/link_mode', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/tx_queue_len', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/flags', 0o644, b'0x9\n')
+f('sys/devices/virtual/net/lo/addr_len', 0o644, b'6\n')
+f('sys/devices/virtual/net/lo/address', 0o644, b'00:00:00:00:00:00\n')
+f('sys/devices/virtual/net/lo/uevent', 0o644, b'''INTERFACE=lo
+IFINDEX=1
+''')
+f('sys/devices/virtual/net/lo/mtu', 0o644, b'16436\n')
+f('sys/devices/virtual/net/lo/broadcast', 0o644, b'00:00:00:00:00:00\n')
+d('sys/devices/virtual/net/lo/statistics', 0o755)
+f('sys/devices/virtual/net/lo/statistics/tx_aborted_errors', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/rx_crc_errors', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/rx_bytes', 0o644, b'3380\n')
+f('sys/devices/virtual/net/lo/statistics/rx_errors', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/tx_packets', 0o644, b'46\n')
+f('sys/devices/virtual/net/lo/statistics/tx_carrier_errors', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/tx_errors', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/rx_dropped', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/tx_fifo_errors', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/rx_length_errors', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/tx_dropped', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/rx_fifo_errors', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/rx_missed_errors', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/tx_window_errors', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/collisions', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/rx_frame_errors', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/rx_packets', 0o644, b'46\n')
+f('sys/devices/virtual/net/lo/statistics/rx_compressed', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/tx_compressed', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/multicast', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/rx_over_errors', 0o644, b'0\n')
+f('sys/devices/virtual/net/lo/statistics/tx_bytes', 0o644, b'3380\n')
+f('sys/devices/virtual/net/lo/statistics/tx_heartbeat_errors', 0o644, b'0\n')
+d('sys/devices/virtual/net/lo/power', 0o755)
+f('sys/devices/virtual/net/lo/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/dmi', 0o755)
+d('sys/devices/virtual/dmi/id', 0o755)
+l('sys/devices/virtual/dmi/id/subsystem', '../../../../class/dmi')
+f('sys/devices/virtual/dmi/id/product_name', 0o644, b'8741C4G\n')
+f('sys/devices/virtual/dmi/id/modalias', 0o644, b'dmi:bvnLENOVO:bvr7IET31WW(1.12):bd09/19/2007:svnLENOVO:pn8741C4G:pvrThinkPadT60p:rvnLENOVO:rn8741C4G:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:\n')
+f('sys/devices/virtual/dmi/id/chassis_serial', 0o644, b'Not Available\n')
+f('sys/devices/virtual/dmi/id/board_version', 0o644, b'Not Available\n')
+f('sys/devices/virtual/dmi/id/board_serial', 0o644, b'VF0UV72C10X\n')
+f('sys/devices/virtual/dmi/id/chassis_type', 0o644, b'10\n')
+f('sys/devices/virtual/dmi/id/chassis_asset_tag', 0o644, b'No Asset Information\n')
+f('sys/devices/virtual/dmi/id/product_uuid', 0o644, b'82161681-492E-11CB-BCCA-A7FDE26F414B\n')
+f('sys/devices/virtual/dmi/id/board_name', 0o644, b'8741C4G\n')
+f('sys/devices/virtual/dmi/id/board_asset_tag', 0o644, b'\n')
+f('sys/devices/virtual/dmi/id/bios_date', 0o644, b'09/19/2007\n')
+f('sys/devices/virtual/dmi/id/bios_version', 0o644, b'7IET31WW (1.12 )\n')
+f('sys/devices/virtual/dmi/id/product_serial', 0o644, b'L3AK195\n')
+f('sys/devices/virtual/dmi/id/chassis_version', 0o644, b'Not Available\n')
+f('sys/devices/virtual/dmi/id/chassis_vendor', 0o644, b'LENOVO\n')
+f('sys/devices/virtual/dmi/id/product_version', 0o644, b'ThinkPad T60p\n')
+f('sys/devices/virtual/dmi/id/board_vendor', 0o644, b'LENOVO\n')
+f('sys/devices/virtual/dmi/id/uevent', 0o644, b'MODALIAS=dmi:bvnLENOVO:bvr7IET31WW(1.12):bd09/19/2007:svnLENOVO:pn8741C4G:pvrThinkPadT60p:rvnLENOVO:rn8741C4G:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:\n')
+f('sys/devices/virtual/dmi/id/sys_vendor', 0o644, b'LENOVO\n')
+f('sys/devices/virtual/dmi/id/bios_vendor', 0o644, b'LENOVO\n')
+d('sys/devices/virtual/dmi/id/power', 0o755)
+f('sys/devices/virtual/dmi/id/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/bdi', 0o755)
+d('sys/devices/virtual/bdi/7:1', 0o755)
+l('sys/devices/virtual/bdi/7:1/subsystem', '../../../../class/bdi')
+f('sys/devices/virtual/bdi/7:1/read_ahead_kb', 0o644, b'0\n')
+f('sys/devices/virtual/bdi/7:1/uevent', 0o644, b'')
+f('sys/devices/virtual/bdi/7:1/max_ratio', 0o644, b'100\n')
+f('sys/devices/virtual/bdi/7:1/min_ratio', 0o644, b'0\n')
+d('sys/devices/virtual/bdi/7:1/power', 0o755)
+f('sys/devices/virtual/bdi/7:1/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/bdi/7:0', 0o755)
+l('sys/devices/virtual/bdi/7:0/subsystem', '../../../../class/bdi')
+f('sys/devices/virtual/bdi/7:0/read_ahead_kb', 0o644, b'0\n')
+f('sys/devices/virtual/bdi/7:0/uevent', 0o644, b'')
+f('sys/devices/virtual/bdi/7:0/max_ratio', 0o644, b'100\n')
+f('sys/devices/virtual/bdi/7:0/min_ratio', 0o644, b'0\n')
+d('sys/devices/virtual/bdi/7:0/power', 0o755)
+f('sys/devices/virtual/bdi/7:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/bdi/7:2', 0o755)
+l('sys/devices/virtual/bdi/7:2/subsystem', '../../../../class/bdi')
+f('sys/devices/virtual/bdi/7:2/read_ahead_kb', 0o644, b'0\n')
+f('sys/devices/virtual/bdi/7:2/uevent', 0o644, b'')
+f('sys/devices/virtual/bdi/7:2/max_ratio', 0o644, b'100\n')
+f('sys/devices/virtual/bdi/7:2/min_ratio', 0o644, b'0\n')
+d('sys/devices/virtual/bdi/7:2/power', 0o755)
+f('sys/devices/virtual/bdi/7:2/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/bdi/7:4', 0o755)
+l('sys/devices/virtual/bdi/7:4/subsystem', '../../../../class/bdi')
+f('sys/devices/virtual/bdi/7:4/read_ahead_kb', 0o644, b'0\n')
+f('sys/devices/virtual/bdi/7:4/uevent', 0o644, b'')
+f('sys/devices/virtual/bdi/7:4/max_ratio', 0o644, b'100\n')
+f('sys/devices/virtual/bdi/7:4/min_ratio', 0o644, b'0\n')
+d('sys/devices/virtual/bdi/7:4/power', 0o755)
+f('sys/devices/virtual/bdi/7:4/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/bdi/7:3', 0o755)
+l('sys/devices/virtual/bdi/7:3/subsystem', '../../../../class/bdi')
+f('sys/devices/virtual/bdi/7:3/read_ahead_kb', 0o644, b'0\n')
+f('sys/devices/virtual/bdi/7:3/uevent', 0o644, b'')
+f('sys/devices/virtual/bdi/7:3/max_ratio', 0o644, b'100\n')
+f('sys/devices/virtual/bdi/7:3/min_ratio', 0o644, b'0\n')
+d('sys/devices/virtual/bdi/7:3/power', 0o755)
+f('sys/devices/virtual/bdi/7:3/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/bdi/11:0', 0o755)
+l('sys/devices/virtual/bdi/11:0/subsystem', '../../../../class/bdi')
+f('sys/devices/virtual/bdi/11:0/read_ahead_kb', 0o644, b'128\n')
+f('sys/devices/virtual/bdi/11:0/uevent', 0o644, b'')
+f('sys/devices/virtual/bdi/11:0/max_ratio', 0o644, b'100\n')
+f('sys/devices/virtual/bdi/11:0/min_ratio', 0o644, b'0\n')
+d('sys/devices/virtual/bdi/11:0/power', 0o755)
+f('sys/devices/virtual/bdi/11:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/bdi/7:5', 0o755)
+l('sys/devices/virtual/bdi/7:5/subsystem', '../../../../class/bdi')
+f('sys/devices/virtual/bdi/7:5/read_ahead_kb', 0o644, b'0\n')
+f('sys/devices/virtual/bdi/7:5/uevent', 0o644, b'')
+f('sys/devices/virtual/bdi/7:5/max_ratio', 0o644, b'100\n')
+f('sys/devices/virtual/bdi/7:5/min_ratio', 0o644, b'0\n')
+d('sys/devices/virtual/bdi/7:5/power', 0o755)
+f('sys/devices/virtual/bdi/7:5/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/bdi/8:0', 0o755)
+l('sys/devices/virtual/bdi/8:0/subsystem', '../../../../class/bdi')
+f('sys/devices/virtual/bdi/8:0/read_ahead_kb', 0o644, b'128\n')
+f('sys/devices/virtual/bdi/8:0/uevent', 0o644, b'')
+f('sys/devices/virtual/bdi/8:0/max_ratio', 0o644, b'100\n')
+f('sys/devices/virtual/bdi/8:0/min_ratio', 0o644, b'0\n')
+d('sys/devices/virtual/bdi/8:0/power', 0o755)
+f('sys/devices/virtual/bdi/8:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/bdi/default', 0o755)
+l('sys/devices/virtual/bdi/default/subsystem', '../../../../class/bdi')
+f('sys/devices/virtual/bdi/default/read_ahead_kb', 0o644, b'128\n')
+f('sys/devices/virtual/bdi/default/uevent', 0o644, b'')
+f('sys/devices/virtual/bdi/default/max_ratio', 0o644, b'100\n')
+f('sys/devices/virtual/bdi/default/min_ratio', 0o644, b'0\n')
+d('sys/devices/virtual/bdi/default/power', 0o755)
+f('sys/devices/virtual/bdi/default/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/bdi/0:16', 0o755)
+l('sys/devices/virtual/bdi/0:16/subsystem', '../../../../class/bdi')
+f('sys/devices/virtual/bdi/0:16/read_ahead_kb', 0o644, b'128\n')
+f('sys/devices/virtual/bdi/0:16/uevent', 0o644, b'')
+f('sys/devices/virtual/bdi/0:16/max_ratio', 0o644, b'1\n')
+f('sys/devices/virtual/bdi/0:16/min_ratio', 0o644, b'0\n')
+d('sys/devices/virtual/bdi/0:16/power', 0o755)
+f('sys/devices/virtual/bdi/0:16/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/bdi/8:16', 0o755)
+l('sys/devices/virtual/bdi/8:16/subsystem', '../../../../class/bdi')
+f('sys/devices/virtual/bdi/8:16/read_ahead_kb', 0o644, b'128\n')
+f('sys/devices/virtual/bdi/8:16/uevent', 0o644, b'')
+f('sys/devices/virtual/bdi/8:16/max_ratio', 0o644, b'100\n')
+f('sys/devices/virtual/bdi/8:16/min_ratio', 0o644, b'0\n')
+d('sys/devices/virtual/bdi/8:16/power', 0o755)
+f('sys/devices/virtual/bdi/8:16/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/bdi/9:0', 0o755)
+l('sys/devices/virtual/bdi/9:0/subsystem', '../../../../class/bdi')
+f('sys/devices/virtual/bdi/9:0/read_ahead_kb', 0o644, b'128\n')
+f('sys/devices/virtual/bdi/9:0/uevent', 0o644, b'')
+f('sys/devices/virtual/bdi/9:0/max_ratio', 0o644, b'100\n')
+f('sys/devices/virtual/bdi/9:0/min_ratio', 0o644, b'0\n')
+d('sys/devices/virtual/bdi/9:0/power', 0o755)
+f('sys/devices/virtual/bdi/9:0/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/bdi/7:7', 0o755)
+l('sys/devices/virtual/bdi/7:7/subsystem', '../../../../class/bdi')
+f('sys/devices/virtual/bdi/7:7/read_ahead_kb', 0o644, b'0\n')
+f('sys/devices/virtual/bdi/7:7/uevent', 0o644, b'')
+f('sys/devices/virtual/bdi/7:7/max_ratio', 0o644, b'100\n')
+f('sys/devices/virtual/bdi/7:7/min_ratio', 0o644, b'0\n')
+d('sys/devices/virtual/bdi/7:7/power', 0o755)
+f('sys/devices/virtual/bdi/7:7/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/bdi/7:6', 0o755)
+l('sys/devices/virtual/bdi/7:6/subsystem', '../../../../class/bdi')
+f('sys/devices/virtual/bdi/7:6/read_ahead_kb', 0o644, b'0\n')
+f('sys/devices/virtual/bdi/7:6/uevent', 0o644, b'')
+f('sys/devices/virtual/bdi/7:6/max_ratio', 0o644, b'100\n')
+f('sys/devices/virtual/bdi/7:6/min_ratio', 0o644, b'0\n')
+d('sys/devices/virtual/bdi/7:6/power', 0o755)
+f('sys/devices/virtual/bdi/7:6/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/sound', 0o755)
+d('sys/devices/virtual/sound/timer', 0o755)
+l('sys/devices/virtual/sound/timer/subsystem', '../../../../class/sound')
+f('sys/devices/virtual/sound/timer/dev', 0o644, b'116:33\n')
+f('sys/devices/virtual/sound/timer/uevent', 0o644, b'''MAJOR=116
+MINOR=33
+''')
+d('sys/devices/virtual/sound/timer/power', 0o755)
+f('sys/devices/virtual/sound/timer/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/sound/seq', 0o755)
+l('sys/devices/virtual/sound/seq/subsystem', '../../../../class/sound')
+f('sys/devices/virtual/sound/seq/dev', 0o644, b'116:1\n')
+f('sys/devices/virtual/sound/seq/uevent', 0o644, b'''MAJOR=116
+MINOR=1
+''')
+d('sys/devices/virtual/sound/seq/power', 0o755)
+f('sys/devices/virtual/sound/seq/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/misc', 0o755)
+d('sys/devices/virtual/misc/misc-fake89999', 0o755)
+l('sys/devices/virtual/misc/misc-fake89999/subsystem', '../../../../class/misc')
+f('sys/devices/virtual/misc/misc-fake89999/dev', 0o644, b'4095:89999\n')
+f('sys/devices/virtual/misc/misc-fake89999/uevent', 0o644, b'''MAJOR=4095
+MINOR=89999
+DEVNAME=misc-fake89999
+''')
+d('sys/devices/virtual/misc/misc-fake89999/power', 0o755)
+f('sys/devices/virtual/misc/misc-fake89999/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/misc/uinput', 0o755)
+l('sys/devices/virtual/misc/uinput/subsystem', '../../../../class/misc')
+f('sys/devices/virtual/misc/uinput/dev', 0o644, b'10:223\n')
+f('sys/devices/virtual/misc/uinput/uevent', 0o644, b'''MAJOR=10
+MINOR=223
+''')
+d('sys/devices/virtual/misc/uinput/power', 0o755)
+f('sys/devices/virtual/misc/uinput/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/misc/fuse', 0o755)
+l('sys/devices/virtual/misc/fuse/subsystem', '../../../../class/misc')
+f('sys/devices/virtual/misc/fuse/dev', 0o644, b'10:229\n')
+f('sys/devices/virtual/misc/fuse/uevent', 0o644, b'''MAJOR=10
+MINOR=229
+''')
+d('sys/devices/virtual/misc/fuse/power', 0o755)
+f('sys/devices/virtual/misc/fuse/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/misc/hpet', 0o755)
+l('sys/devices/virtual/misc/hpet/subsystem', '../../../../class/misc')
+f('sys/devices/virtual/misc/hpet/dev', 0o644, b'10:228\n')
+f('sys/devices/virtual/misc/hpet/uevent', 0o644, b'''MAJOR=10
+MINOR=228
+''')
+d('sys/devices/virtual/misc/hpet/power', 0o755)
+f('sys/devices/virtual/misc/hpet/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/misc/cpu_dma_latency', 0o755)
+l('sys/devices/virtual/misc/cpu_dma_latency/subsystem', '../../../../class/misc')
+f('sys/devices/virtual/misc/cpu_dma_latency/dev', 0o644, b'10:63\n')
+f('sys/devices/virtual/misc/cpu_dma_latency/uevent', 0o644, b'''MAJOR=10
+MINOR=63
+''')
+d('sys/devices/virtual/misc/cpu_dma_latency/power', 0o755)
+f('sys/devices/virtual/misc/cpu_dma_latency/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/misc/mcelog', 0o755)
+l('sys/devices/virtual/misc/mcelog/subsystem', '../../../../class/misc')
+f('sys/devices/virtual/misc/mcelog/dev', 0o644, b'10:227\n')
+f('sys/devices/virtual/misc/mcelog/uevent', 0o644, b'''MAJOR=10
+MINOR=227
+''')
+d('sys/devices/virtual/misc/mcelog/power', 0o755)
+f('sys/devices/virtual/misc/mcelog/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/misc/device-mapper', 0o755)
+l('sys/devices/virtual/misc/device-mapper/subsystem', '../../../../class/misc')
+f('sys/devices/virtual/misc/device-mapper/dev', 0o644, b'10:60\n')
+f('sys/devices/virtual/misc/device-mapper/uevent', 0o644, b'''MAJOR=10
+MINOR=60
+''')
+d('sys/devices/virtual/misc/device-mapper/power', 0o755)
+f('sys/devices/virtual/misc/device-mapper/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/misc/psaux', 0o755)
+l('sys/devices/virtual/misc/psaux/subsystem', '../../../../class/misc')
+f('sys/devices/virtual/misc/psaux/dev', 0o644, b'10:1\n')
+f('sys/devices/virtual/misc/psaux/uevent', 0o644, b'''MAJOR=10
+MINOR=1
+''')
+d('sys/devices/virtual/misc/psaux/power', 0o755)
+f('sys/devices/virtual/misc/psaux/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/misc/misc-fake1', 0o755)
+l('sys/devices/virtual/misc/misc-fake1/subsystem', '../../../../class/misc')
+f('sys/devices/virtual/misc/misc-fake1/dev', 0o644, b'4095:1\n')
+f('sys/devices/virtual/misc/misc-fake1/uevent', 0o644, b'''MAJOR=4095
+MINOR=1
+DEVNAME=misc-fake1
+
+''')
+d('sys/devices/virtual/misc/misc-fake1/power', 0o755)
+f('sys/devices/virtual/misc/misc-fake1/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/misc/nvram', 0o755)
+l('sys/devices/virtual/misc/nvram/subsystem', '../../../../class/misc')
+f('sys/devices/virtual/misc/nvram/dev', 0o644, b'10:144\n')
+f('sys/devices/virtual/misc/nvram/uevent', 0o644, b'''MAJOR=10
+MINOR=144
+''')
+d('sys/devices/virtual/misc/nvram/power', 0o755)
+f('sys/devices/virtual/misc/nvram/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/misc/network_latency', 0o755)
+l('sys/devices/virtual/misc/network_latency/subsystem', '../../../../class/misc')
+f('sys/devices/virtual/misc/network_latency/dev', 0o644, b'10:62\n')
+f('sys/devices/virtual/misc/network_latency/uevent', 0o644, b'''MAJOR=10
+MINOR=62
+''')
+d('sys/devices/virtual/misc/network_latency/power', 0o755)
+f('sys/devices/virtual/misc/network_latency/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/misc/network_throughput', 0o755)
+l('sys/devices/virtual/misc/network_throughput/subsystem', '../../../../class/misc')
+f('sys/devices/virtual/misc/network_throughput/dev', 0o644, b'10:61\n')
+f('sys/devices/virtual/misc/network_throughput/uevent', 0o644, b'''MAJOR=10
+MINOR=61
+''')
+d('sys/devices/virtual/misc/network_throughput/power', 0o755)
+f('sys/devices/virtual/misc/network_throughput/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/misc/microcode', 0o755)
+l('sys/devices/virtual/misc/microcode/subsystem', '../../../../class/misc')
+f('sys/devices/virtual/misc/microcode/dev', 0o644, b'10:184\n')
+f('sys/devices/virtual/misc/microcode/uevent', 0o644, b'''MAJOR=10
+MINOR=184
+''')
+d('sys/devices/virtual/misc/microcode/power', 0o755)
+f('sys/devices/virtual/misc/microcode/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vtconsole', 0o755)
+d('sys/devices/virtual/vtconsole/vtcon1', 0o755)
+l('sys/devices/virtual/vtconsole/vtcon1/subsystem', '../../../../class/vtconsole')
+f('sys/devices/virtual/vtconsole/vtcon1/bind', 0o644, b'1\n')
+f('sys/devices/virtual/vtconsole/vtcon1/name', 0o644, b'(M) frame buffer device\n')
+f('sys/devices/virtual/vtconsole/vtcon1/uevent', 0o644, b'')
+d('sys/devices/virtual/vtconsole/vtcon1/power', 0o755)
+f('sys/devices/virtual/vtconsole/vtcon1/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/vtconsole/vtcon0', 0o755)
+l('sys/devices/virtual/vtconsole/vtcon0/subsystem', '../../../../class/vtconsole')
+f('sys/devices/virtual/vtconsole/vtcon0/bind', 0o644, b'0\n')
+f('sys/devices/virtual/vtconsole/vtcon0/name', 0o644, b'(S) dummy device\n')
+f('sys/devices/virtual/vtconsole/vtcon0/uevent', 0o644, b'')
+d('sys/devices/virtual/vtconsole/vtcon0/power', 0o755)
+f('sys/devices/virtual/vtconsole/vtcon0/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/input', 0o755)
+d('sys/devices/virtual/input/mice', 0o755)
+l('sys/devices/virtual/input/mice/subsystem', '../../../../class/input')
+f('sys/devices/virtual/input/mice/dev', 0o644, b'13:63\n')
+f('sys/devices/virtual/input/mice/uevent', 0o644, b'''MAJOR=13
+MINOR=63
+''')
+d('sys/devices/virtual/input/mice/power', 0o755)
+f('sys/devices/virtual/input/mice/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/input/input6', 0o755)
+l('sys/devices/virtual/input/input6/subsystem', '../../../../class/input')
+f('sys/devices/virtual/input/input6/uniq', 0o644, b'\n')
+f('sys/devices/virtual/input/input6/phys', 0o644, b'thinkpad_acpi/input0\n')
+f('sys/devices/virtual/input/input6/modalias', 0o644, b'input:b0019v17AAp5054e4101-e0,1,4,5,k71,72,73,8E,98,C0,C2,CD,E0,E1,E3,E4,EC,F0,168,174,181,1D2,1D7,1DB,1DC,ram4,lsfw3,\n')
+f('sys/devices/virtual/input/input6/name', 0o644, b'ThinkPad Extra Buttons\n')
+f('sys/devices/virtual/input/input6/uevent', 0o644, b'''PRODUCT=19/17aa/5054/4101
+NAME="ThinkPad Extra Buttons"
+PHYS="thinkpad_acpi/input0"
+EV==33
+KEY==18840000 2 10010000000000 0 1101b00002005 1004000 e000000000000 0
+MSC==10
+SW==8
+MODALIAS=input:b0019v17AAp5054e4101-e0,1,4,5,k71,72,73,8E,98,C0,C2,CD,E0,E1,E3,E4,EC,F0,168,174,181,1D2,1D7,1DB,1DC,ram4,lsfw3,
+''')
+d('sys/devices/virtual/input/input6/id', 0o755)
+f('sys/devices/virtual/input/input6/id/version', 0o644, b'4101\n')
+f('sys/devices/virtual/input/input6/id/product', 0o644, b'5054\n')
+f('sys/devices/virtual/input/input6/id/vendor', 0o644, b'17aa\n')
+f('sys/devices/virtual/input/input6/id/bustype', 0o644, b'0019\n')
+d('sys/devices/virtual/input/input6/power', 0o755)
+f('sys/devices/virtual/input/input6/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/input/input6/event6', 0o755)
+l('sys/devices/virtual/input/input6/event6/subsystem', '../../../../../class/input')
+l('sys/devices/virtual/input/input6/event6/device', '../../input6')
+f('sys/devices/virtual/input/input6/event6/dev', 0o644, b'13:70\n')
+f('sys/devices/virtual/input/input6/event6/uevent', 0o644, b'''MAJOR=13
+MINOR=70
+''')
+d('sys/devices/virtual/input/input6/event6/power', 0o755)
+f('sys/devices/virtual/input/input6/event6/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/input/input6/capabilities', 0o755)
+f('sys/devices/virtual/input/input6/capabilities/msc', 0o644, b'10\n')
+f('sys/devices/virtual/input/input6/capabilities/abs', 0o644, b'0\n')
+f('sys/devices/virtual/input/input6/capabilities/snd', 0o644, b'0\n')
+f('sys/devices/virtual/input/input6/capabilities/ff', 0o644, b'0\n')
+f('sys/devices/virtual/input/input6/capabilities/key', 0o644, b'18840000 2 10010000000000 0 1101b00002005 1004000 e000000000000 0\n')
+f('sys/devices/virtual/input/input6/capabilities/rel', 0o644, b'0\n')
+f('sys/devices/virtual/input/input6/capabilities/sw', 0o644, b'8\n')
+f('sys/devices/virtual/input/input6/capabilities/ev', 0o644, b'33\n')
+f('sys/devices/virtual/input/input6/capabilities/led', 0o644, b'0\n')
+d('sys/devices/virtual/thermal', 0o755)
+d('sys/devices/virtual/thermal/thermal_zone1', 0o755)
+l('sys/devices/virtual/thermal/thermal_zone1/subsystem', '../../../../class/thermal')
+l('sys/devices/virtual/thermal/thermal_zone1/cdev1', '../cooling_device0')
+l('sys/devices/virtual/thermal/thermal_zone1/cdev0', '../cooling_device1')
+l('sys/devices/virtual/thermal/thermal_zone1/device', '../../../LNXSYSTM:00/LNXTHERM:00/LNXTHERM:02')
+f('sys/devices/virtual/thermal/thermal_zone1/trip_point_0_type', 0o644, b'critical\n')
+f('sys/devices/virtual/thermal/thermal_zone1/trip_point_0_temp', 0o644, b'100000\n')
+f('sys/devices/virtual/thermal/thermal_zone1/trip_point_1_temp', 0o644, b'95500\n')
+f('sys/devices/virtual/thermal/thermal_zone1/type', 0o644, b'acpitz\n')
+f('sys/devices/virtual/thermal/thermal_zone1/cdev1_trip_point', 0o644, b'1\n')
+f('sys/devices/virtual/thermal/thermal_zone1/mode', 0o644, b'kernel\n')
+f('sys/devices/virtual/thermal/thermal_zone1/temp', 0o644, b'47000\n')
+f('sys/devices/virtual/thermal/thermal_zone1/cdev0_trip_point', 0o644, b'1\n')
+f('sys/devices/virtual/thermal/thermal_zone1/uevent', 0o644, b'')
+f('sys/devices/virtual/thermal/thermal_zone1/trip_point_1_type', 0o644, b'passive\n')
+d('sys/devices/virtual/thermal/thermal_zone1/power', 0o755)
+f('sys/devices/virtual/thermal/thermal_zone1/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/thermal/cooling_device1', 0o755)
+l('sys/devices/virtual/thermal/cooling_device1/subsystem', '../../../../class/thermal')
+l('sys/devices/virtual/thermal/cooling_device1/device', '../../../LNXSYSTM:00/ACPI0007:01')
+f('sys/devices/virtual/thermal/cooling_device1/type', 0o644, b'Processor\n')
+f('sys/devices/virtual/thermal/cooling_device1/max_state', 0o644, b'10\n')
+f('sys/devices/virtual/thermal/cooling_device1/cur_state', 0o644, b'0\n')
+f('sys/devices/virtual/thermal/cooling_device1/uevent', 0o644, b'')
+d('sys/devices/virtual/thermal/cooling_device1/power', 0o755)
+f('sys/devices/virtual/thermal/cooling_device1/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/thermal/cooling_device0', 0o755)
+l('sys/devices/virtual/thermal/cooling_device0/subsystem', '../../../../class/thermal')
+l('sys/devices/virtual/thermal/cooling_device0/device', '../../../LNXSYSTM:00/ACPI0007:00')
+f('sys/devices/virtual/thermal/cooling_device0/type', 0o644, b'Processor\n')
+f('sys/devices/virtual/thermal/cooling_device0/max_state', 0o644, b'10\n')
+f('sys/devices/virtual/thermal/cooling_device0/cur_state', 0o644, b'0\n')
+f('sys/devices/virtual/thermal/cooling_device0/uevent', 0o644, b'')
+d('sys/devices/virtual/thermal/cooling_device0/power', 0o755)
+f('sys/devices/virtual/thermal/cooling_device0/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/thermal/thermal_zone0', 0o755)
+l('sys/devices/virtual/thermal/thermal_zone0/subsystem', '../../../../class/thermal')
+l('sys/devices/virtual/thermal/thermal_zone0/device', '../../../LNXSYSTM:00/LNXTHERM:00/LNXTHERM:01')
+f('sys/devices/virtual/thermal/thermal_zone0/trip_point_0_type', 0o644, b'critical\n')
+f('sys/devices/virtual/thermal/thermal_zone0/trip_point_0_temp', 0o644, b'127000\n')
+f('sys/devices/virtual/thermal/thermal_zone0/type', 0o644, b'acpitz\n')
+f('sys/devices/virtual/thermal/thermal_zone0/mode', 0o644, b'kernel\n')
+f('sys/devices/virtual/thermal/thermal_zone0/temp', 0o644, b'46000\n')
+f('sys/devices/virtual/thermal/thermal_zone0/uevent', 0o644, b'')
+d('sys/devices/virtual/thermal/thermal_zone0/power', 0o755)
+f('sys/devices/virtual/thermal/thermal_zone0/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/block', 0o755)
+d('sys/devices/virtual/block/loop1', 0o755)
+l('sys/devices/virtual/block/loop1/subsystem', '../../../../class/block')
+l('sys/devices/virtual/block/loop1/bdi', '../../bdi/7:1')
+f('sys/devices/virtual/block/loop1/capability', 0o644, b'10\n')
+f('sys/devices/virtual/block/loop1/ro', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop1/make-it-fail', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop1/size', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop1/dev', 0o644, b'7:1\n')
+f('sys/devices/virtual/block/loop1/range', 0o644, b'1\n')
+f('sys/devices/virtual/block/loop1/removable', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop1/stat', 0o644, b'       0        0        0        0        0        0        0        0        0        0        0\n')
+f('sys/devices/virtual/block/loop1/uevent', 0o644, b'''MAJOR=7
+MINOR=1
+DEVTYPE=disk
+''')
+d('sys/devices/virtual/block/loop1/power', 0o755)
+f('sys/devices/virtual/block/loop1/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/block/loop7', 0o755)
+l('sys/devices/virtual/block/loop7/subsystem', '../../../../class/block')
+l('sys/devices/virtual/block/loop7/bdi', '../../bdi/7:7')
+f('sys/devices/virtual/block/loop7/capability', 0o644, b'10\n')
+f('sys/devices/virtual/block/loop7/ro', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop7/make-it-fail', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop7/size', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop7/dev', 0o644, b'7:7\n')
+f('sys/devices/virtual/block/loop7/range', 0o644, b'1\n')
+f('sys/devices/virtual/block/loop7/removable', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop7/stat', 0o644, b'       0        0        0        0        0        0        0        0        0        0        0\n')
+f('sys/devices/virtual/block/loop7/uevent', 0o644, b'''MAJOR=7
+MINOR=7
+DEVTYPE=disk
+''')
+d('sys/devices/virtual/block/loop7/power', 0o755)
+f('sys/devices/virtual/block/loop7/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/block/loop0', 0o755)
+l('sys/devices/virtual/block/loop0/subsystem', '../../../../class/block')
+l('sys/devices/virtual/block/loop0/bdi', '../../bdi/7:0')
+f('sys/devices/virtual/block/loop0/capability', 0o644, b'10\n')
+f('sys/devices/virtual/block/loop0/ro', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop0/make-it-fail', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop0/size', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop0/dev', 0o644, b'7:0\n')
+f('sys/devices/virtual/block/loop0/range', 0o644, b'1\n')
+f('sys/devices/virtual/block/loop0/removable', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop0/stat', 0o644, b'       0        0        0        0        0        0        0        0        0        0        0\n')
+f('sys/devices/virtual/block/loop0/uevent', 0o644, b'''MAJOR=7
+MINOR=0
+DEVTYPE=disk
+''')
+d('sys/devices/virtual/block/loop0/power', 0o755)
+f('sys/devices/virtual/block/loop0/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/block/loop5', 0o755)
+l('sys/devices/virtual/block/loop5/subsystem', '../../../../class/block')
+l('sys/devices/virtual/block/loop5/bdi', '../../bdi/7:5')
+f('sys/devices/virtual/block/loop5/capability', 0o644, b'10\n')
+f('sys/devices/virtual/block/loop5/ro', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop5/make-it-fail', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop5/size', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop5/dev', 0o644, b'7:5\n')
+f('sys/devices/virtual/block/loop5/range', 0o644, b'1\n')
+f('sys/devices/virtual/block/loop5/removable', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop5/stat', 0o644, b'       0        0        0        0        0        0        0        0        0        0        0\n')
+f('sys/devices/virtual/block/loop5/uevent', 0o644, b'''MAJOR=7
+MINOR=5
+DEVTYPE=disk
+''')
+d('sys/devices/virtual/block/loop5/power', 0o755)
+f('sys/devices/virtual/block/loop5/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/block/loop3', 0o755)
+l('sys/devices/virtual/block/loop3/subsystem', '../../../../class/block')
+l('sys/devices/virtual/block/loop3/bdi', '../../bdi/7:3')
+f('sys/devices/virtual/block/loop3/capability', 0o644, b'10\n')
+f('sys/devices/virtual/block/loop3/ro', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop3/make-it-fail', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop3/size', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop3/dev', 0o644, b'7:3\n')
+f('sys/devices/virtual/block/loop3/range', 0o644, b'1\n')
+f('sys/devices/virtual/block/loop3/removable', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop3/stat', 0o644, b'       0        0        0        0        0        0        0        0        0        0        0\n')
+f('sys/devices/virtual/block/loop3/uevent', 0o644, b'''MAJOR=7
+MINOR=3
+DEVTYPE=disk
+''')
+d('sys/devices/virtual/block/loop3/power', 0o755)
+f('sys/devices/virtual/block/loop3/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/block/loop6', 0o755)
+l('sys/devices/virtual/block/loop6/subsystem', '../../../../class/block')
+l('sys/devices/virtual/block/loop6/bdi', '../../bdi/7:6')
+f('sys/devices/virtual/block/loop6/capability', 0o644, b'10\n')
+f('sys/devices/virtual/block/loop6/ro', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop6/make-it-fail', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop6/size', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop6/dev', 0o644, b'7:6\n')
+f('sys/devices/virtual/block/loop6/range', 0o644, b'1\n')
+f('sys/devices/virtual/block/loop6/removable', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop6/stat', 0o644, b'       0        0        0        0        0        0        0        0        0        0        0\n')
+f('sys/devices/virtual/block/loop6/uevent', 0o644, b'''MAJOR=7
+MINOR=6
+DEVTYPE=disk
+''')
+d('sys/devices/virtual/block/loop6/power', 0o755)
+f('sys/devices/virtual/block/loop6/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/block/loop2', 0o755)
+l('sys/devices/virtual/block/loop2/subsystem', '../../../../class/block')
+l('sys/devices/virtual/block/loop2/bdi', '../../bdi/7:2')
+f('sys/devices/virtual/block/loop2/capability', 0o644, b'10\n')
+f('sys/devices/virtual/block/loop2/ro', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop2/make-it-fail', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop2/size', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop2/dev', 0o644, b'7:2\n')
+f('sys/devices/virtual/block/loop2/range', 0o644, b'1\n')
+f('sys/devices/virtual/block/loop2/removable', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop2/stat', 0o644, b'       0        0        0        0        0        0        0        0        0        0        0\n')
+f('sys/devices/virtual/block/loop2/uevent', 0o644, b'''MAJOR=7
+MINOR=2
+DEVTYPE=disk
+''')
+d('sys/devices/virtual/block/loop2/power', 0o755)
+f('sys/devices/virtual/block/loop2/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/block/fake!blockdev0', 0o755)
+l('sys/devices/virtual/block/fake!blockdev0/subsystem', '../../../../class/block')
+f('sys/devices/virtual/block/fake!blockdev0/capability', 0o644, b'10\n')
+f('sys/devices/virtual/block/fake!blockdev0/ro', 0o644, b'0\n')
+f('sys/devices/virtual/block/fake!blockdev0/size', 0o644, b'0\n')
+f('sys/devices/virtual/block/fake!blockdev0/dev', 0o644, b'711:0\n')
+f('sys/devices/virtual/block/fake!blockdev0/range', 0o644, b'1\n')
+f('sys/devices/virtual/block/fake!blockdev0/removable', 0o644, b'0\n')
+f('sys/devices/virtual/block/fake!blockdev0/stat', 0o644, b'       0        0        0        0        0        0        0        0        0        0        0\n')
+f('sys/devices/virtual/block/fake!blockdev0/uevent', 0o644, b'''MAJOR=7
+MINOR=0
+DEVTYPE=disk
+DEVNAME=fake/blockdev0
+''')
+d('sys/devices/virtual/block/loop4', 0o755)
+l('sys/devices/virtual/block/loop4/subsystem', '../../../../class/block')
+l('sys/devices/virtual/block/loop4/bdi', '../../bdi/7:4')
+f('sys/devices/virtual/block/loop4/capability', 0o644, b'10\n')
+f('sys/devices/virtual/block/loop4/ro', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop4/make-it-fail', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop4/size', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop4/dev', 0o644, b'7:4\n')
+f('sys/devices/virtual/block/loop4/range', 0o644, b'1\n')
+f('sys/devices/virtual/block/loop4/removable', 0o644, b'0\n')
+f('sys/devices/virtual/block/loop4/stat', 0o644, b'       0        0        0        0        0        0        0        0        0        0        0\n')
+f('sys/devices/virtual/block/loop4/uevent', 0o644, b'''MAJOR=7
+MINOR=4
+DEVTYPE=disk
+''')
+d('sys/devices/virtual/block/loop4/power', 0o755)
+f('sys/devices/virtual/block/loop4/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/block/md0', 0o755)
+l('sys/devices/virtual/block/md0/subsystem', '../../../../class/block')
+l('sys/devices/virtual/block/md0/bdi', '../../bdi/9:0')
+f('sys/devices/virtual/block/md0/capability', 0o644, b'10\n')
+f('sys/devices/virtual/block/md0/ro', 0o644, b'0\n')
+f('sys/devices/virtual/block/md0/make-it-fail', 0o644, b'0\n')
+f('sys/devices/virtual/block/md0/size', 0o644, b'19534848\n')
+f('sys/devices/virtual/block/md0/dev', 0o644, b'9:0\n')
+f('sys/devices/virtual/block/md0/range', 0o644, b'1\n')
+f('sys/devices/virtual/block/md0/removable', 0o644, b'0\n')
+f('sys/devices/virtual/block/md0/stat', 0o644, b'      60        0      480        0        0        0        0        0        0        0        0\n')
+f('sys/devices/virtual/block/md0/uevent', 0o644, b'''MAJOR=9
+MINOR=0
+DEVTYPE=disk
+''')
+d('sys/devices/virtual/block/md0/power', 0o755)
+f('sys/devices/virtual/block/md0/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/block/md0/md', 0o755)
+l('sys/devices/virtual/block/md0/md/rd1', 'dev-sda9')
+f('sys/devices/virtual/block/md0/md/chunk_size', 0o644, b'0\n')
+f('sys/devices/virtual/block/md0/md/sync_action', 0o644, b'idle\n')
+f('sys/devices/virtual/block/md0/md/sync_speed_min', 0o644, b'1000 (system)\n')
+f('sys/devices/virtual/block/md0/md/sync_force_parallel', 0o644, b'0\n')
+f('sys/devices/virtual/block/md0/md/sync_min', 0o644, b'0\n')
+f('sys/devices/virtual/block/md0/md/mismatch_cnt', 0o644, b'0\n')
+f('sys/devices/virtual/block/md0/md/suspend_hi', 0o644, b'0\n')
+f('sys/devices/virtual/block/md0/md/sync_completed', 0o644, b'0 / 19534848\n')
+f('sys/devices/virtual/block/md0/md/sync_max', 0o644, b'max\n')
+f('sys/devices/virtual/block/md0/md/safe_mode_delay', 0o644, b'0.201\n')
+f('sys/devices/virtual/block/md0/md/degraded', 0o644, b'1\n')
+f('sys/devices/virtual/block/md0/md/component_size', 0o644, b'9767424\n')
+f('sys/devices/virtual/block/md0/md/suspend_lo', 0o644, b'0\n')
+f('sys/devices/virtual/block/md0/md/resync_start', 0o644, b'18446744073709551615\n')
+f('sys/devices/virtual/block/md0/md/sync_speed', 0o644, b'0\n')
+f('sys/devices/virtual/block/md0/md/reshape_position', 0o644, b'none\n')
+f('sys/devices/virtual/block/md0/md/array_state', 0o644, b'clean\n')
+f('sys/devices/virtual/block/md0/md/sync_speed_max', 0o644, b'200000 (system)\n')
+f('sys/devices/virtual/block/md0/md/level', 0o644, b'raid1\n')
+f('sys/devices/virtual/block/md0/md/layout', 0o644, b'0\n')
+f('sys/devices/virtual/block/md0/md/raid_disks', 0o644, b'2\n')
+f('sys/devices/virtual/block/md0/md/metadata_version', 0o644, b'0.90\n')
+d('sys/devices/virtual/block/md0/md/dev-sda9', 0o755)
+l('sys/devices/virtual/block/md0/md/dev-sda9/block', '../../../../../pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9')
+f('sys/devices/virtual/block/md0/md/dev-sda9/slot', 0o644, b'1\n')
+f('sys/devices/virtual/block/md0/md/dev-sda9/size', 0o644, b'23438720\n')
+f('sys/devices/virtual/block/md0/md/dev-sda9/state', 0o644, b'in_sync\n')
+f('sys/devices/virtual/block/md0/md/dev-sda9/errors', 0o644, b'0\n')
+f('sys/devices/virtual/block/md0/md/dev-sda9/offset', 0o644, b'0\n')
+d('sys/devices/virtual/block/md0/slaves', 0o755)
+l('sys/devices/virtual/block/md0/slaves/sda9', '../../../../pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9')
+d('sys/devices/virtual/graphics', 0o755)
+d('sys/devices/virtual/graphics/fbcon', 0o755)
+l('sys/devices/virtual/graphics/fbcon/subsystem', '../../../../class/graphics')
+f('sys/devices/virtual/graphics/fbcon/cursor_blink', 0o644, b'0\n')
+f('sys/devices/virtual/graphics/fbcon/rotate', 0o644, b'0\n')
+f('sys/devices/virtual/graphics/fbcon/uevent', 0o644, b'')
+d('sys/devices/virtual/graphics/fbcon/power', 0o755)
+f('sys/devices/virtual/graphics/fbcon/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty', 0o755)
+d('sys/devices/virtual/tty/tty51', 0o755)
+l('sys/devices/virtual/tty/tty51/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty51/dev', 0o644, b'4:51\n')
+f('sys/devices/virtual/tty/tty51/uevent', 0o644, b'''MAJOR=4
+MINOR=51
+''')
+d('sys/devices/virtual/tty/tty51/power', 0o755)
+f('sys/devices/virtual/tty/tty51/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty24', 0o755)
+l('sys/devices/virtual/tty/tty24/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty24/dev', 0o644, b'4:24\n')
+f('sys/devices/virtual/tty/tty24/uevent', 0o644, b'''MAJOR=4
+MINOR=24
+''')
+d('sys/devices/virtual/tty/tty24/power', 0o755)
+f('sys/devices/virtual/tty/tty24/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty61', 0o755)
+l('sys/devices/virtual/tty/tty61/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty61/dev', 0o644, b'4:61\n')
+f('sys/devices/virtual/tty/tty61/uevent', 0o644, b'''MAJOR=4
+MINOR=61
+''')
+d('sys/devices/virtual/tty/tty61/power', 0o755)
+f('sys/devices/virtual/tty/tty61/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty40', 0o755)
+l('sys/devices/virtual/tty/tty40/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty40/dev', 0o644, b'4:40\n')
+f('sys/devices/virtual/tty/tty40/uevent', 0o644, b'''MAJOR=4
+MINOR=40
+''')
+d('sys/devices/virtual/tty/tty40/power', 0o755)
+f('sys/devices/virtual/tty/tty40/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty60', 0o755)
+l('sys/devices/virtual/tty/tty60/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty60/dev', 0o644, b'4:60\n')
+f('sys/devices/virtual/tty/tty60/uevent', 0o644, b'''MAJOR=4
+MINOR=60
+''')
+d('sys/devices/virtual/tty/tty60/power', 0o755)
+f('sys/devices/virtual/tty/tty60/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty15', 0o755)
+l('sys/devices/virtual/tty/tty15/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty15/dev', 0o644, b'4:15\n')
+f('sys/devices/virtual/tty/tty15/uevent', 0o644, b'''MAJOR=4
+MINOR=15
+''')
+d('sys/devices/virtual/tty/tty15/power', 0o755)
+f('sys/devices/virtual/tty/tty15/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty27', 0o755)
+l('sys/devices/virtual/tty/tty27/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty27/dev', 0o644, b'4:27\n')
+f('sys/devices/virtual/tty/tty27/uevent', 0o644, b'''MAJOR=4
+MINOR=27
+''')
+d('sys/devices/virtual/tty/tty27/power', 0o755)
+f('sys/devices/virtual/tty/tty27/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty7', 0o755)
+l('sys/devices/virtual/tty/tty7/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty7/dev', 0o644, b'4:7\n')
+f('sys/devices/virtual/tty/tty7/uevent', 0o644, b'''MAJOR=4
+MINOR=7
+''')
+d('sys/devices/virtual/tty/tty7/power', 0o755)
+f('sys/devices/virtual/tty/tty7/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty43', 0o755)
+l('sys/devices/virtual/tty/tty43/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty43/dev', 0o644, b'4:43\n')
+f('sys/devices/virtual/tty/tty43/uevent', 0o644, b'''MAJOR=4
+MINOR=43
+''')
+d('sys/devices/virtual/tty/tty43/power', 0o755)
+f('sys/devices/virtual/tty/tty43/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty23', 0o755)
+l('sys/devices/virtual/tty/tty23/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty23/dev', 0o644, b'4:23\n')
+f('sys/devices/virtual/tty/tty23/uevent', 0o644, b'''MAJOR=4
+MINOR=23
+''')
+d('sys/devices/virtual/tty/tty23/power', 0o755)
+f('sys/devices/virtual/tty/tty23/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty14', 0o755)
+l('sys/devices/virtual/tty/tty14/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty14/dev', 0o644, b'4:14\n')
+f('sys/devices/virtual/tty/tty14/uevent', 0o644, b'''MAJOR=4
+MINOR=14
+''')
+d('sys/devices/virtual/tty/tty14/power', 0o755)
+f('sys/devices/virtual/tty/tty14/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty56', 0o755)
+l('sys/devices/virtual/tty/tty56/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty56/dev', 0o644, b'4:56\n')
+f('sys/devices/virtual/tty/tty56/uevent', 0o644, b'''MAJOR=4
+MINOR=56
+''')
+d('sys/devices/virtual/tty/tty56/power', 0o755)
+f('sys/devices/virtual/tty/tty56/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty3', 0o755)
+l('sys/devices/virtual/tty/tty3/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty3/dev', 0o644, b'4:3\n')
+f('sys/devices/virtual/tty/tty3/uevent', 0o644, b'''MAJOR=4
+MINOR=3
+''')
+d('sys/devices/virtual/tty/tty3/power', 0o755)
+f('sys/devices/virtual/tty/tty3/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty49', 0o755)
+l('sys/devices/virtual/tty/tty49/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty49/dev', 0o644, b'4:49\n')
+f('sys/devices/virtual/tty/tty49/uevent', 0o644, b'''MAJOR=4
+MINOR=49
+''')
+d('sys/devices/virtual/tty/tty49/power', 0o755)
+f('sys/devices/virtual/tty/tty49/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty47', 0o755)
+l('sys/devices/virtual/tty/tty47/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty47/dev', 0o644, b'4:47\n')
+f('sys/devices/virtual/tty/tty47/uevent', 0o644, b'''MAJOR=4
+MINOR=47
+''')
+d('sys/devices/virtual/tty/tty47/power', 0o755)
+f('sys/devices/virtual/tty/tty47/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty57', 0o755)
+l('sys/devices/virtual/tty/tty57/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty57/dev', 0o644, b'4:57\n')
+f('sys/devices/virtual/tty/tty57/uevent', 0o644, b'''MAJOR=4
+MINOR=57
+''')
+d('sys/devices/virtual/tty/tty57/power', 0o755)
+f('sys/devices/virtual/tty/tty57/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty30', 0o755)
+l('sys/devices/virtual/tty/tty30/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty30/dev', 0o644, b'4:30\n')
+f('sys/devices/virtual/tty/tty30/uevent', 0o644, b'''MAJOR=4
+MINOR=30
+''')
+d('sys/devices/virtual/tty/tty30/power', 0o755)
+f('sys/devices/virtual/tty/tty30/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty45', 0o755)
+l('sys/devices/virtual/tty/tty45/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty45/dev', 0o644, b'4:45\n')
+f('sys/devices/virtual/tty/tty45/uevent', 0o644, b'''MAJOR=4
+MINOR=45
+''')
+d('sys/devices/virtual/tty/tty45/power', 0o755)
+f('sys/devices/virtual/tty/tty45/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty22', 0o755)
+l('sys/devices/virtual/tty/tty22/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty22/dev', 0o644, b'4:22\n')
+f('sys/devices/virtual/tty/tty22/uevent', 0o644, b'''MAJOR=4
+MINOR=22
+''')
+d('sys/devices/virtual/tty/tty22/power', 0o755)
+f('sys/devices/virtual/tty/tty22/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty55', 0o755)
+l('sys/devices/virtual/tty/tty55/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty55/dev', 0o644, b'4:55\n')
+f('sys/devices/virtual/tty/tty55/uevent', 0o644, b'''MAJOR=4
+MINOR=55
+''')
+d('sys/devices/virtual/tty/tty55/power', 0o755)
+f('sys/devices/virtual/tty/tty55/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty11', 0o755)
+l('sys/devices/virtual/tty/tty11/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty11/dev', 0o644, b'4:11\n')
+f('sys/devices/virtual/tty/tty11/uevent', 0o644, b'''MAJOR=4
+MINOR=11
+''')
+d('sys/devices/virtual/tty/tty11/power', 0o755)
+f('sys/devices/virtual/tty/tty11/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty53', 0o755)
+l('sys/devices/virtual/tty/tty53/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty53/dev', 0o644, b'4:53\n')
+f('sys/devices/virtual/tty/tty53/uevent', 0o644, b'''MAJOR=4
+MINOR=53
+''')
+d('sys/devices/virtual/tty/tty53/power', 0o755)
+f('sys/devices/virtual/tty/tty53/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty12', 0o755)
+l('sys/devices/virtual/tty/tty12/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty12/dev', 0o644, b'4:12\n')
+f('sys/devices/virtual/tty/tty12/uevent', 0o644, b'''MAJOR=4
+MINOR=12
+''')
+d('sys/devices/virtual/tty/tty12/power', 0o755)
+f('sys/devices/virtual/tty/tty12/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty28', 0o755)
+l('sys/devices/virtual/tty/tty28/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty28/dev', 0o644, b'4:28\n')
+f('sys/devices/virtual/tty/tty28/uevent', 0o644, b'''MAJOR=4
+MINOR=28
+''')
+d('sys/devices/virtual/tty/tty28/power', 0o755)
+f('sys/devices/virtual/tty/tty28/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty58', 0o755)
+l('sys/devices/virtual/tty/tty58/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty58/dev', 0o644, b'4:58\n')
+f('sys/devices/virtual/tty/tty58/uevent', 0o644, b'''MAJOR=4
+MINOR=58
+''')
+d('sys/devices/virtual/tty/tty58/power', 0o755)
+f('sys/devices/virtual/tty/tty58/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty32', 0o755)
+l('sys/devices/virtual/tty/tty32/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty32/dev', 0o644, b'4:32\n')
+f('sys/devices/virtual/tty/tty32/uevent', 0o644, b'''MAJOR=4
+MINOR=32
+''')
+d('sys/devices/virtual/tty/tty32/power', 0o755)
+f('sys/devices/virtual/tty/tty32/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty44', 0o755)
+l('sys/devices/virtual/tty/tty44/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty44/dev', 0o644, b'4:44\n')
+f('sys/devices/virtual/tty/tty44/uevent', 0o644, b'''MAJOR=4
+MINOR=44
+''')
+d('sys/devices/virtual/tty/tty44/power', 0o755)
+f('sys/devices/virtual/tty/tty44/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty6', 0o755)
+l('sys/devices/virtual/tty/tty6/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty6/dev', 0o644, b'4:6\n')
+f('sys/devices/virtual/tty/tty6/uevent', 0o644, b'''MAJOR=4
+MINOR=6
+''')
+d('sys/devices/virtual/tty/tty6/power', 0o755)
+f('sys/devices/virtual/tty/tty6/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty9', 0o755)
+l('sys/devices/virtual/tty/tty9/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty9/dev', 0o644, b'4:9\n')
+f('sys/devices/virtual/tty/tty9/uevent', 0o644, b'''MAJOR=4
+MINOR=9
+''')
+d('sys/devices/virtual/tty/tty9/power', 0o755)
+f('sys/devices/virtual/tty/tty9/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty26', 0o755)
+l('sys/devices/virtual/tty/tty26/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty26/dev', 0o644, b'4:26\n')
+f('sys/devices/virtual/tty/tty26/uevent', 0o644, b'''MAJOR=4
+MINOR=26
+''')
+d('sys/devices/virtual/tty/tty26/power', 0o755)
+f('sys/devices/virtual/tty/tty26/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty10', 0o755)
+l('sys/devices/virtual/tty/tty10/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty10/dev', 0o644, b'4:10\n')
+f('sys/devices/virtual/tty/tty10/uevent', 0o644, b'''MAJOR=4
+MINOR=10
+''')
+d('sys/devices/virtual/tty/tty10/power', 0o755)
+f('sys/devices/virtual/tty/tty10/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty39', 0o755)
+l('sys/devices/virtual/tty/tty39/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty39/dev', 0o644, b'4:39\n')
+f('sys/devices/virtual/tty/tty39/uevent', 0o644, b'''MAJOR=4
+MINOR=39
+''')
+d('sys/devices/virtual/tty/tty39/power', 0o755)
+f('sys/devices/virtual/tty/tty39/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty0', 0o755)
+l('sys/devices/virtual/tty/tty0/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty0/dev', 0o644, b'4:0\n')
+f('sys/devices/virtual/tty/tty0/uevent', 0o644, b'''MAJOR=4
+MINOR=0
+DEVNAME=tty0
+''')
+d('sys/devices/virtual/tty/tty0/power', 0o755)
+f('sys/devices/virtual/tty/tty0/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty36', 0o755)
+l('sys/devices/virtual/tty/tty36/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty36/dev', 0o644, b'4:36\n')
+f('sys/devices/virtual/tty/tty36/uevent', 0o644, b'''MAJOR=4
+MINOR=36
+''')
+d('sys/devices/virtual/tty/tty36/power', 0o755)
+f('sys/devices/virtual/tty/tty36/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty34', 0o755)
+l('sys/devices/virtual/tty/tty34/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty34/dev', 0o644, b'4:34\n')
+f('sys/devices/virtual/tty/tty34/uevent', 0o644, b'''MAJOR=4
+MINOR=34
+''')
+d('sys/devices/virtual/tty/tty34/power', 0o755)
+f('sys/devices/virtual/tty/tty34/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty16', 0o755)
+l('sys/devices/virtual/tty/tty16/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty16/dev', 0o644, b'4:16\n')
+f('sys/devices/virtual/tty/tty16/uevent', 0o644, b'''MAJOR=4
+MINOR=16
+''')
+d('sys/devices/virtual/tty/tty16/power', 0o755)
+f('sys/devices/virtual/tty/tty16/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty25', 0o755)
+l('sys/devices/virtual/tty/tty25/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty25/dev', 0o644, b'4:25\n')
+f('sys/devices/virtual/tty/tty25/uevent', 0o644, b'''MAJOR=4
+MINOR=25
+''')
+d('sys/devices/virtual/tty/tty25/power', 0o755)
+f('sys/devices/virtual/tty/tty25/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty13', 0o755)
+l('sys/devices/virtual/tty/tty13/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty13/dev', 0o644, b'4:13\n')
+f('sys/devices/virtual/tty/tty13/uevent', 0o644, b'''MAJOR=4
+MINOR=13
+''')
+d('sys/devices/virtual/tty/tty13/power', 0o755)
+f('sys/devices/virtual/tty/tty13/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty52', 0o755)
+l('sys/devices/virtual/tty/tty52/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty52/dev', 0o644, b'4:52\n')
+f('sys/devices/virtual/tty/tty52/uevent', 0o644, b'''MAJOR=4
+MINOR=52
+''')
+d('sys/devices/virtual/tty/tty52/power', 0o755)
+f('sys/devices/virtual/tty/tty52/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty31', 0o755)
+l('sys/devices/virtual/tty/tty31/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty31/dev', 0o644, b'4:31\n')
+f('sys/devices/virtual/tty/tty31/uevent', 0o644, b'''MAJOR=4
+MINOR=31
+''')
+d('sys/devices/virtual/tty/tty31/power', 0o755)
+f('sys/devices/virtual/tty/tty31/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty35', 0o755)
+l('sys/devices/virtual/tty/tty35/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty35/dev', 0o644, b'4:35\n')
+f('sys/devices/virtual/tty/tty35/uevent', 0o644, b'''MAJOR=4
+MINOR=35
+''')
+d('sys/devices/virtual/tty/tty35/power', 0o755)
+f('sys/devices/virtual/tty/tty35/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty54', 0o755)
+l('sys/devices/virtual/tty/tty54/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty54/dev', 0o644, b'4:54\n')
+f('sys/devices/virtual/tty/tty54/uevent', 0o644, b'''MAJOR=4
+MINOR=54
+''')
+d('sys/devices/virtual/tty/tty54/power', 0o755)
+f('sys/devices/virtual/tty/tty54/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty63', 0o755)
+l('sys/devices/virtual/tty/tty63/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty63/dev', 0o644, b'4:63\n')
+f('sys/devices/virtual/tty/tty63/uevent', 0o644, b'''MAJOR=4
+MINOR=63
+''')
+d('sys/devices/virtual/tty/tty63/power', 0o755)
+f('sys/devices/virtual/tty/tty63/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty1', 0o755)
+l('sys/devices/virtual/tty/tty1/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty1/dev', 0o644, b'4:1\n')
+f('sys/devices/virtual/tty/tty1/uevent', 0o644, b'''MAJOR=4
+MINOR=1
+''')
+d('sys/devices/virtual/tty/tty1/power', 0o755)
+f('sys/devices/virtual/tty/tty1/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty33', 0o755)
+l('sys/devices/virtual/tty/tty33/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty33/dev', 0o644, b'4:33\n')
+f('sys/devices/virtual/tty/tty33/uevent', 0o644, b'''MAJOR=4
+MINOR=33
+DEVNAME=tty33
+''')
+d('sys/devices/virtual/tty/tty33/power', 0o755)
+f('sys/devices/virtual/tty/tty33/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty18', 0o755)
+l('sys/devices/virtual/tty/tty18/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty18/dev', 0o644, b'4:18\n')
+f('sys/devices/virtual/tty/tty18/uevent', 0o644, b'''MAJOR=4
+MINOR=18
+''')
+d('sys/devices/virtual/tty/tty18/power', 0o755)
+f('sys/devices/virtual/tty/tty18/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty42', 0o755)
+l('sys/devices/virtual/tty/tty42/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty42/dev', 0o644, b'4:42\n')
+f('sys/devices/virtual/tty/tty42/uevent', 0o644, b'''MAJOR=4
+MINOR=42
+''')
+d('sys/devices/virtual/tty/tty42/power', 0o755)
+f('sys/devices/virtual/tty/tty42/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty8', 0o755)
+l('sys/devices/virtual/tty/tty8/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty8/dev', 0o644, b'4:8\n')
+f('sys/devices/virtual/tty/tty8/uevent', 0o644, b'''MAJOR=4
+MINOR=8
+''')
+d('sys/devices/virtual/tty/tty8/power', 0o755)
+f('sys/devices/virtual/tty/tty8/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty37', 0o755)
+l('sys/devices/virtual/tty/tty37/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty37/dev', 0o644, b'4:37\n')
+f('sys/devices/virtual/tty/tty37/uevent', 0o644, b'''MAJOR=4
+MINOR=37
+''')
+d('sys/devices/virtual/tty/tty37/power', 0o755)
+f('sys/devices/virtual/tty/tty37/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty5', 0o755)
+l('sys/devices/virtual/tty/tty5/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty5/dev', 0o644, b'4:5\n')
+f('sys/devices/virtual/tty/tty5/uevent', 0o644, b'''MAJOR=4
+MINOR=5
+''')
+d('sys/devices/virtual/tty/tty5/power', 0o755)
+f('sys/devices/virtual/tty/tty5/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty48', 0o755)
+l('sys/devices/virtual/tty/tty48/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty48/dev', 0o644, b'4:48\n')
+f('sys/devices/virtual/tty/tty48/uevent', 0o644, b'''MAJOR=4
+MINOR=48
+''')
+d('sys/devices/virtual/tty/tty48/power', 0o755)
+f('sys/devices/virtual/tty/tty48/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty17', 0o755)
+l('sys/devices/virtual/tty/tty17/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty17/dev', 0o644, b'4:17\n')
+f('sys/devices/virtual/tty/tty17/uevent', 0o644, b'''MAJOR=4
+MINOR=17
+''')
+d('sys/devices/virtual/tty/tty17/power', 0o755)
+f('sys/devices/virtual/tty/tty17/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty62', 0o755)
+l('sys/devices/virtual/tty/tty62/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty62/dev', 0o644, b'4:62\n')
+f('sys/devices/virtual/tty/tty62/uevent', 0o644, b'''MAJOR=4
+MINOR=62
+''')
+d('sys/devices/virtual/tty/tty62/power', 0o755)
+f('sys/devices/virtual/tty/tty62/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty59', 0o755)
+l('sys/devices/virtual/tty/tty59/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty59/dev', 0o644, b'4:59\n')
+f('sys/devices/virtual/tty/tty59/uevent', 0o644, b'''MAJOR=4
+MINOR=59
+''')
+d('sys/devices/virtual/tty/tty59/power', 0o755)
+f('sys/devices/virtual/tty/tty59/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty50', 0o755)
+l('sys/devices/virtual/tty/tty50/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty50/dev', 0o644, b'4:50\n')
+f('sys/devices/virtual/tty/tty50/uevent', 0o644, b'''MAJOR=4
+MINOR=50
+''')
+d('sys/devices/virtual/tty/tty50/power', 0o755)
+f('sys/devices/virtual/tty/tty50/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty21', 0o755)
+l('sys/devices/virtual/tty/tty21/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty21/dev', 0o644, b'4:21\n')
+f('sys/devices/virtual/tty/tty21/uevent', 0o644, b'''MAJOR=4
+MINOR=21
+''')
+d('sys/devices/virtual/tty/tty21/power', 0o755)
+f('sys/devices/virtual/tty/tty21/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty19', 0o755)
+l('sys/devices/virtual/tty/tty19/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty19/dev', 0o644, b'4:19\n')
+f('sys/devices/virtual/tty/tty19/uevent', 0o644, b'''MAJOR=4
+MINOR=19
+''')
+d('sys/devices/virtual/tty/tty19/power', 0o755)
+f('sys/devices/virtual/tty/tty19/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/ptmx', 0o755)
+l('sys/devices/virtual/tty/ptmx/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/ptmx/dev', 0o644, b'5:2\n')
+f('sys/devices/virtual/tty/ptmx/uevent', 0o644, b'''MAJOR=5
+MINOR=2
+''')
+d('sys/devices/virtual/tty/ptmx/power', 0o755)
+f('sys/devices/virtual/tty/ptmx/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty46', 0o755)
+l('sys/devices/virtual/tty/tty46/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty46/dev', 0o644, b'4:46\n')
+f('sys/devices/virtual/tty/tty46/uevent', 0o644, b'''MAJOR=4
+MINOR=46
+''')
+d('sys/devices/virtual/tty/tty46/power', 0o755)
+f('sys/devices/virtual/tty/tty46/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty2', 0o755)
+l('sys/devices/virtual/tty/tty2/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty2/dev', 0o644, b'4:2\n')
+f('sys/devices/virtual/tty/tty2/uevent', 0o644, b'''MAJOR=4
+MINOR=2
+''')
+d('sys/devices/virtual/tty/tty2/power', 0o755)
+f('sys/devices/virtual/tty/tty2/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/console', 0o755)
+l('sys/devices/virtual/tty/console/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/console/dev', 0o644, b'5:1\n')
+f('sys/devices/virtual/tty/console/uevent', 0o644, b'''MAJOR=5
+MINOR=1
+DEVNAME=console
+''')
+d('sys/devices/virtual/tty/console/power', 0o755)
+f('sys/devices/virtual/tty/console/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty41', 0o755)
+l('sys/devices/virtual/tty/tty41/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty41/dev', 0o644, b'4:41\n')
+f('sys/devices/virtual/tty/tty41/uevent', 0o644, b'''MAJOR=4
+MINOR=41
+''')
+d('sys/devices/virtual/tty/tty41/power', 0o755)
+f('sys/devices/virtual/tty/tty41/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty4', 0o755)
+l('sys/devices/virtual/tty/tty4/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty4/dev', 0o644, b'4:4\n')
+f('sys/devices/virtual/tty/tty4/uevent', 0o644, b'''MAJOR=4
+MINOR=4
+''')
+d('sys/devices/virtual/tty/tty4/power', 0o755)
+f('sys/devices/virtual/tty/tty4/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty29', 0o755)
+l('sys/devices/virtual/tty/tty29/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty29/dev', 0o644, b'4:29\n')
+f('sys/devices/virtual/tty/tty29/uevent', 0o644, b'''MAJOR=4
+MINOR=29
+''')
+d('sys/devices/virtual/tty/tty29/power', 0o755)
+f('sys/devices/virtual/tty/tty29/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty', 0o755)
+l('sys/devices/virtual/tty/tty/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty/dev', 0o644, b'5:0\n')
+f('sys/devices/virtual/tty/tty/uevent', 0o644, b'''MAJOR=5
+MINOR=0
+''')
+d('sys/devices/virtual/tty/tty/power', 0o755)
+f('sys/devices/virtual/tty/tty/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty38', 0o755)
+l('sys/devices/virtual/tty/tty38/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty38/dev', 0o644, b'4:38\n')
+f('sys/devices/virtual/tty/tty38/uevent', 0o644, b'''MAJOR=4
+MINOR=38
+''')
+d('sys/devices/virtual/tty/tty38/power', 0o755)
+f('sys/devices/virtual/tty/tty38/power/wakeup', 0o644, b'\n')
+d('sys/devices/virtual/tty/tty20', 0o755)
+l('sys/devices/virtual/tty/tty20/subsystem', '../../../../class/tty')
+f('sys/devices/virtual/tty/tty20/dev', 0o644, b'4:20\n')
+f('sys/devices/virtual/tty/tty20/uevent', 0o644, b'''MAJOR=4
+MINOR=20
+''')
+d('sys/devices/virtual/tty/tty20/power', 0o755)
+f('sys/devices/virtual/tty/tty20/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00', 0o755)
+l('sys/devices/LNXSYSTM:00/subsystem', '../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/hid', 0o644, b'LNXSYSTM\n')
+f('sys/devices/LNXSYSTM:00/modalias', 0o644, b'acpi:LNXSYSTM:\n')
+f('sys/devices/LNXSYSTM:00/path', 0o644, b'\\\n')
+f('sys/devices/LNXSYSTM:00/uevent', 0o644, b'MODALIAS=acpi:LNXSYSTM:\n')
+d('sys/devices/LNXSYSTM:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/ACPI0007:01', 0o755)
+l('sys/devices/LNXSYSTM:00/ACPI0007:01/thermal_cooling', '../../virtual/thermal/cooling_device1')
+l('sys/devices/LNXSYSTM:00/ACPI0007:01/subsystem', '../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/ACPI0007:01/sysdev', '../../system/cpu/cpu1')
+l('sys/devices/LNXSYSTM:00/ACPI0007:01/driver', '../../../bus/acpi/drivers/processor')
+f('sys/devices/LNXSYSTM:00/ACPI0007:01/hid', 0o644, b'ACPI0007\n')
+f('sys/devices/LNXSYSTM:00/ACPI0007:01/modalias', 0o644, b'acpi:ACPI0007:\n')
+f('sys/devices/LNXSYSTM:00/ACPI0007:01/path', 0o644, b'\\_PR_.CPU1\n')
+f('sys/devices/LNXSYSTM:00/ACPI0007:01/uevent', 0o644, b'''DRIVER=processor
+MODALIAS=acpi:ACPI0007:
+''')
+d('sys/devices/LNXSYSTM:00/ACPI0007:01/power', 0o755)
+f('sys/devices/LNXSYSTM:00/ACPI0007:01/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/LNXTHERM:00', 0o755)
+l('sys/devices/LNXSYSTM:00/LNXTHERM:00/subsystem', '../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/LNXTHERM:00/hid', 0o644, b'LNXTHERM\n')
+f('sys/devices/LNXSYSTM:00/LNXTHERM:00/modalias', 0o644, b'acpi:LNXTHERM:\n')
+f('sys/devices/LNXSYSTM:00/LNXTHERM:00/path', 0o644, b'\\_TZ_\n')
+f('sys/devices/LNXSYSTM:00/LNXTHERM:00/uevent', 0o644, b'MODALIAS=acpi:LNXTHERM:\n')
+d('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:01', 0o755)
+l('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:01/subsystem', '../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:01/thermal_zone', '../../../virtual/thermal/thermal_zone0')
+l('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:01/driver', '../../../../bus/acpi/drivers/thermal')
+f('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:01/hid', 0o644, b'LNXTHERM\n')
+f('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:01/modalias', 0o644, b'acpi:LNXTHERM:\n')
+f('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:01/path', 0o644, b'\\_TZ_.THM0\n')
+f('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:01/uevent', 0o644, b'''DRIVER=thermal
+MODALIAS=acpi:LNXTHERM:
+''')
+d('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:01/power', 0o755)
+f('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:01/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/LNXTHERM:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/LNXTHERM:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:02', 0o755)
+l('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:02/subsystem', '../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:02/thermal_zone', '../../../virtual/thermal/thermal_zone1')
+l('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:02/driver', '../../../../bus/acpi/drivers/thermal')
+f('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:02/hid', 0o644, b'LNXTHERM\n')
+f('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:02/modalias', 0o644, b'acpi:LNXTHERM:\n')
+f('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:02/path', 0o644, b'\\_TZ_.THM1\n')
+f('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:02/uevent', 0o644, b'''DRIVER=thermal
+MODALIAS=acpi:LNXTHERM:
+''')
+d('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:02/power', 0o755)
+f('sys/devices/LNXSYSTM:00/LNXTHERM:00/LNXTHERM:02/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/subsystem', '../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/path', 0o644, b'\\_SB_\n')
+f('sys/devices/LNXSYSTM:00/device:00/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:05', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:05/subsystem', '../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:05/driver', '../../../../bus/acpi/drivers/pci_link')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:05/hid', 0o644, b'PNP0C0F\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:05/modalias', 0o644, b'acpi:PNP0C0F:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:05/path', 0o644, b'\\_SB_.LNKF\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:05/uevent', 0o644, b'''DRIVER=pci_link
+MODALIAS=acpi:PNP0C0F:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:05/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:05/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/subsystem', '../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/driver', '../../../../bus/acpi/drivers/button')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/hid', 0o644, b'PNP0C0E\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/modalias', 0o644, b'acpi:PNP0C0E:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/path', 0o644, b'\\_SB_.SLPB\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/uevent', 0o644, b'''DRIVER=button
+MODALIAS=acpi:PNP0C0E:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input', 0o755)
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/subsystem', '../../../../../../class/input')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/device', '../../../PNP0C0E:00')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/uniq', 0o644, b'\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/phys', 0o644, b'PNP0C0E/button/input0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/modalias', 0o644, b'input:b0019v0000p0003e0000-e0,1,k8E,ramlsfw\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/name', 0o644, b'Sleep Button (CM)\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/uevent', 0o644, b'''PRODUCT=19/0/3/0
+NAME="Sleep Button (CM)"
+PHYS="PNP0C0E/button/input0"
+EV==3
+KEY==4000 0 0
+MODALIAS=input:b0019v0000p0003e0000-e0,1,k8E,ramlsfw
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/id', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/id/version', 0o644, b'0000\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/id/product', 0o644, b'0003\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/id/vendor', 0o644, b'0000\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/id/bustype', 0o644, b'0019\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/event5', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/event5/subsystem', '../../../../../../../class/input')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/event5/device', '../../input5')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/event5/dev', 0o644, b'13:69\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/event5/uevent', 0o644, b'''MAJOR=13
+MINOR=69
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/event5/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/event5/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/capabilities', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/capabilities/msc', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/capabilities/abs', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/capabilities/snd', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/capabilities/ff', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/capabilities/key', 0o644, b'4000 0 0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/capabilities/rel', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/capabilities/sw', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/capabilities/ev', 0o644, b'3\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input5/capabilities/led', 0o644, b'0\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/subsystem', '../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/physical_node', '../../../pci0000:00')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/driver', '../../../../bus/acpi/drivers/pci_root')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/hid', 0o644, b'PNP0A08\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/modalias', 0o644, b'acpi:PNP0A08:PNP0A03:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/path', 0o644, b'\\_SB_.PCI0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/uevent', 0o644, b'''DRIVER=pci_root
+MODALIAS=acpi:PNP0A08:PNP0A03:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11/physical_node', '../../../../pci0000:00/0000:00:1e.0')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11/path', 0o644, b'\\_SB_.PCI0.PCI1\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11/device:12', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11/device:12/subsystem', '../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11/device:12/physical_node', '../../../../../pci0000:00/0000:00:1e.0/0000:15:00.0')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11/device:12/path', 0o644, b'\\_SB_.PCI0.PCI1.CDBS\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11/device:12/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11/device:12/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:11/device:12/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/physical_node', '../../../../pci0000:00/0000:00:1d.7')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/path', 0o644, b'\\_SB_.PCI0.USB7\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/subsystem', '../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/path', 0o644, b'\\_SB_.PCI0.USB7.URTH\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/device:23', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/device:23/subsystem', '../../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/device:23/path', 0o644, b'\\_SB_.PCI0.USB7.URTH.UPDK\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/device:23/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/device:23/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/device:23/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/device:24', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/device:24/subsystem', '../../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/device:24/path', 0o644, b'\\_SB_.PCI0.USB7.URTH.UPEX\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/device:24/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/device:24/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:21/device:22/device:24/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0b', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0b/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0b/physical_node', '../../../../pci0000:00/0000:00:1c.0')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0b/path', 0o644, b'\\_SB_.PCI0.EXP0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0b/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0b/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0b/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/physical_node', '../../../../pci0000:00/0000:00:01.0')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/path', 0o644, b'\\_SB_.PCI0.AGP_\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/subsystem', '../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/physical_node', '../../../../../pci0000:00/0000:00:01.0/0000:01:00.0')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/modalias', 0o644, b'acpi:LNXVIDEO:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/path', 0o644, b'\\_SB_.PCI0.AGP_.VID_\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/uevent', 0o644, b'MODALIAS=acpi:LNXVIDEO:\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:08', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:08/subsystem', '../../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:08/path', 0o644, b'\\_SB_.PCI0.AGP_.VID_.LCD0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:08/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:08/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:08/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:09', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:09/subsystem', '../../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:09/path', 0o644, b'\\_SB_.PCI0.AGP_.VID_.CRT0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:09/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:09/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:09/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:0a', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:0a/subsystem', '../../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:0a/path', 0o644, b'\\_SB_.PCI0.AGP_.VID_.DVI0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:0a/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:0a/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:06/device:07/device:0a/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:18', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:18/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:18/physical_node', '../../../../pci0000:00/0000:00:1f.3')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:18/path', 0o644, b'\\_SB_.PCI0.SMBU\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:18/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:18/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:18/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0c', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0c/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0c/physical_node', '../../../../pci0000:00/0000:00:1c.1')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0c/path', 0o644, b'\\_SB_.PCI0.EXP1\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0c/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0c/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0c/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/subsystem', '../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/modalias', 0o644, b'acpi:LNXVIDEO:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/path', 0o644, b'\\_SB_.PCI0.VID_\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/uevent', 0o644, b'MODALIAS=acpi:LNXVIDEO:\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:04', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:04/subsystem', '../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:04/path', 0o644, b'\\_SB_.PCI0.VID_.CRT0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:04/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:04/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:04/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:05', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:05/subsystem', '../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:05/path', 0o644, b'\\_SB_.PCI0.VID_.DVI0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:05/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:05/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:05/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:03', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:03/subsystem', '../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:03/path', 0o644, b'\\_SB_.PCI0.VID_.LCD0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:03/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:03/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/device:03/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/physical_node', '../../../../pci0000:00/0000:00:1f.1')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/path', 0o644, b'\\_SB_.PCI0.IDE0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/device:14', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/device:14/subsystem', '../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/device:14/path', 0o644, b'\\_SB_.PCI0.IDE0.PRIM\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/device:14/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/device:14/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/device:14/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/device:14/device:15', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/device:14/device:15/subsystem', '../../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/device:14/device:15/modalias', 0o644, b'acpi:LNXIOBAY:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/device:14/device:15/path', 0o644, b'\\_SB_.PCI0.IDE0.PRIM.MSTR\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/device:14/device:15/uevent', 0o644, b'MODALIAS=acpi:LNXIOBAY:\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/device:14/device:15/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:13/device:14/device:15/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/physical_node', '../../../../pci0000:00/0000:00:1d.2')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/path', 0o644, b'\\_SB_.PCI0.USB2\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/device:1e', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/device:1e/subsystem', '../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/device:1e/path', 0o644, b'\\_SB_.PCI0.USB2.URTH\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/device:1e/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/device:1e/device:1f', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/device:1e/device:1f/subsystem', '../../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/device:1e/device:1f/path', 0o644, b'\\_SB_.PCI0.USB2.URTH.UPDK\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/device:1e/device:1f/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/device:1e/device:1f/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/device:1e/device:1f/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/device:1e/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1d/device:1e/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:19', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:19/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:19/physical_node', '../../../../pci0000:00/0000:00:1d.0')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:19/path', 0o644, b'\\_SB_.PCI0.USB0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:19/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:19/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:19/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/physical_node', '../../../../pci0000:00/0000:00:1d.1')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/path', 0o644, b'\\_SB_.PCI0.USB1\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/device:1b', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/device:1b/subsystem', '../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/device:1b/path', 0o644, b'\\_SB_.PCI0.USB1.URTH\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/device:1b/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/device:1b/device:1c', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/device:1b/device:1c/subsystem', '../../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/device:1b/device:1c/path', 0o644, b'\\_SB_.PCI0.USB1.URTH.UPEX\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/device:1b/device:1c/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/device:1b/device:1c/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/device:1b/device:1c/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/device:1b/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:1a/device:1b/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0d', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0d/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0d/physical_node', '../../../../pci0000:00/0000:00:1c.2')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0d/path', 0o644, b'\\_SB_.PCI0.EXP2\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0d/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0d/device:0e', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0d/device:0e/subsystem', '../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0d/device:0e/path', 0o644, b'\\_SB_.PCI0.EXP2.EXUP\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0d/device:0e/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0d/device:0e/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0d/device:0e/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0d/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0d/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:25', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:25/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:25/physical_node', '../../../../pci0000:00/0000:00:1b.0')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:25/path', 0o644, b'\\_SB_.PCI0.HDEF\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:25/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:25/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:25/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/physical_node', '../../../../pci0000:00/0000:00:1f.0')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/path', 0o644, b'\\_SB_.PCI0.LPC_\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0000:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0000:00/subsystem', '../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0000:00/hid', 0o644, b'PNP0000\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0000:00/modalias', 0o644, b'acpi:PNP0000:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0000:00/path', 0o644, b'\\_SB_.PCI0.LPC_.PIC_\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0000:00/uevent', 0o644, b'MODALIAS=acpi:PNP0000:\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0000:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0000:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0103:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0103:00/subsystem', '../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0103:00/physical_node', '../../../../../pnp0/00:03')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0103:00/hid', 0o644, b'PNP0103\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0103:00/modalias', 0o644, b'acpi:PNP0103:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0103:00/path', 0o644, b'\\_SB_.PCI0.LPC_.HPET\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0103:00/uevent', 0o644, b'MODALIAS=acpi:PNP0103:\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0103:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0103:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/ATM1200:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/ATM1200:00/subsystem', '../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/ATM1200:00/physical_node', '../../../../../pnp0/00:0a')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/ATM1200:00/hid', 0o644, b'ATM1200\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/ATM1200:00/modalias', 0o644, b'acpi:ATM1200:PNP0C31:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/ATM1200:00/path', 0o644, b'\\_SB_.PCI0.LPC_.TPM_\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/ATM1200:00/uevent', 0o644, b'MODALIAS=acpi:ATM1200:PNP0C31:\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/ATM1200:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/ATM1200:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0303:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0303:00/subsystem', '../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0303:00/physical_node', '../../../../../pnp0/00:08')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0303:00/hid', 0o644, b'PNP0303\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0303:00/modalias', 0o644, b'acpi:PNP0303:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0303:00/path', 0o644, b'\\_SB_.PCI0.LPC_.KBD_\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0303:00/uevent', 0o644, b'MODALIAS=acpi:PNP0303:\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0303:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0303:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C04:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C04:00/subsystem', '../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C04:00/physical_node', '../../../../../pnp0/00:06')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C04:00/hid', 0o644, b'PNP0C04\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C04:00/modalias', 0o644, b'acpi:PNP0C04:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C04:00/path', 0o644, b'\\_SB_.PCI0.LPC_.FPU_\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C04:00/uevent', 0o644, b'MODALIAS=acpi:PNP0C04:\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C04:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C04:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0800:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0800:00/subsystem', '../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0800:00/physical_node', '../../../../../pnp0/00:05')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0800:00/hid', 0o644, b'PNP0800\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0800:00/modalias', 0o644, b'acpi:PNP0800:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0800:00/path', 0o644, b'\\_SB_.PCI0.LPC_.SPKR\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0800:00/uevent', 0o644, b'MODALIAS=acpi:PNP0800:\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0800:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0800:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C02:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C02:00/subsystem', '../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C02:00/physical_node', '../../../../../pnp0/00:02')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C02:00/hid', 0o644, b'PNP0C02\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C02:00/modalias', 0o644, b'acpi:PNP0C02:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C02:00/path', 0o644, b'\\_SB_.PCI0.LPC_.SIO_\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C02:00/uevent', 0o644, b'MODALIAS=acpi:PNP0C02:\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C02:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C02:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0100:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0100:00/subsystem', '../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0100:00/hid', 0o644, b'PNP0100\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0100:00/modalias', 0o644, b'acpi:PNP0100:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0100:00/path', 0o644, b'\\_SB_.PCI0.LPC_.TIMR\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0100:00/uevent', 0o644, b'MODALIAS=acpi:PNP0100:\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0100:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0100:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/subsystem', '../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/driver', '../../../../../../bus/acpi/drivers/ec')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/hid', 0o644, b'PNP0C09\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/modalias', 0o644, b'acpi:PNP0C09:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/path', 0o644, b'\\_SB_.PCI0.LPC_.EC__\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/uevent', 0o644, b'''DRIVER=ec
+MODALIAS=acpi:PNP0C09:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/LNXPOWER:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/LNXPOWER:00/subsystem', '../../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/LNXPOWER:00/driver', '../../../../../../../bus/acpi/drivers/power')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/LNXPOWER:00/hid', 0o644, b'LNXPOWER\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/LNXPOWER:00/modalias', 0o644, b'acpi:LNXPOWER:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/LNXPOWER:00/path', 0o644, b'\\_SB_.PCI0.LPC_.EC__.PUBS\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/LNXPOWER:00/uevent', 0o644, b'''DRIVER=power
+MODALIAS=acpi:LNXPOWER:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/LNXPOWER:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/LNXPOWER:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/subsystem', '../../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/driver', '../../../../../../../bus/acpi/drivers/ac')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/hid', 0o644, b'ACPI0003\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/modalias', 0o644, b'acpi:ACPI0003:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/path', 0o644, b'\\_SB_.PCI0.LPC_.EC__.AC__\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/uevent', 0o644, b'''DRIVER=ac
+MODALIAS=acpi:ACPI0003:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/power_supply', 0o755)
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/power_supply/AC', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/power_supply/AC/subsystem', '../../../../../../../../../class/power_supply')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/power_supply/AC/device', '../../../ACPI0003:00')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/power_supply/AC/type', 0o644, b'Mains\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/power_supply/AC/online', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/power_supply/AC/uevent', 0o644, b'''POWER_SUPPLY_NAME=AC
+POWER_SUPPLY_TYPE=Mains
+POWER_SUPPLY_ONLINE=0
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/power_supply/AC/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/ACPI0003:00/power_supply/AC/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/subsystem', '../../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/driver', '../../../../../../../bus/acpi/drivers/battery')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/hid', 0o644, b'PNP0C0A\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/modalias', 0o644, b'acpi:PNP0C0A:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/path', 0o644, b'\\_SB_.PCI0.LPC_.EC__.BAT0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/uevent', 0o644, b'''DRIVER=battery
+MODALIAS=acpi:PNP0C0A:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply', 0o755)
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/subsystem', '../../../../../../../../../class/power_supply')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/device', '../../../PNP0C0A:00')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/model_name', 0o644, b'42T5245\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/voltage_min_design', 0o644, b'10800000\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/type', 0o644, b'Battery\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/current_now', 0o644, b'25830000\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_now', 0o644, b'59980000\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/technology', 0o644, b'Li-ion\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/voltage_now', 0o644, b'12207000\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_full_design', 0o644, b'84240000\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/serial_number', 0o644, b' 6463\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/present', 0o644, b'1\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/alarm', 0o644, b'3075000\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/uevent', 0o644, b'''POWER_SUPPLY_NAME=BAT0
+POWER_SUPPLY_TYPE=Battery
+POWER_SUPPLY_STATUS=Discharging
+POWER_SUPPLY_PRESENT=1
+POWER_SUPPLY_TECHNOLOGY=Li-ion
+POWER_SUPPLY_VOLTAGE_MIN_DESIGN=10800000
+POWER_SUPPLY_VOLTAGE_NOW=12207000
+POWER_SUPPLY_CURRENT_NOW=25830000
+POWER_SUPPLY_ENERGY_FULL_DESIGN=84240000
+POWER_SUPPLY_ENERGY_FULL=61510000
+POWER_SUPPLY_ENERGY_NOW=59980000
+POWER_SUPPLY_MODEL_NAME=42T5245
+POWER_SUPPLY_MANUFACTURER=SANYO
+POWER_SUPPLY_SERIAL_NUMBER= 6463
+''')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/manufacturer', 0o644, b'SANYO\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/energy_full', 0o644, b'61510000\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/status', 0o644, b'Discharging\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/IBM0068:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/IBM0068:00/subsystem', '../../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/IBM0068:00/driver', '../../../../../../../bus/acpi/drivers/thinkpad_hotkey')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/IBM0068:00/hid', 0o644, b'IBM0068\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/IBM0068:00/modalias', 0o644, b'acpi:IBM0068:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/IBM0068:00/path', 0o644, b'\\_SB_.PCI0.LPC_.EC__.HKEY\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/IBM0068:00/uevent', 0o644, b'''DRIVER=thinkpad_hotkey
+MODALIAS=acpi:IBM0068:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/IBM0068:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/IBM0068:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0200:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0200:00/subsystem', '../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0200:00/physical_node', '../../../../../pnp0/00:04')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0200:00/hid', 0o644, b'PNP0200\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0200:00/modalias', 0o644, b'acpi:PNP0200:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0200:00/path', 0o644, b'\\_SB_.PCI0.LPC_.DMAC\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0200:00/uevent', 0o644, b'MODALIAS=acpi:PNP0200:\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0200:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0200:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/IBM0057:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/IBM0057:00/subsystem', '../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/IBM0057:00/physical_node', '../../../../../pnp0/00:09')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/IBM0057:00/hid', 0o644, b'IBM0057\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/IBM0057:00/modalias', 0o644, b'acpi:IBM0057:PNP0F13:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/IBM0057:00/path', 0o644, b'\\_SB_.PCI0.LPC_.MOU_\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/IBM0057:00/uevent', 0o644, b'MODALIAS=acpi:IBM0057:PNP0F13:\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/IBM0057:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/IBM0057:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0B00:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0B00:00/subsystem', '../../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0B00:00/physical_node', '../../../../../pnp0/00:07')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0B00:00/hid', 0o644, b'PNP0B00\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0B00:00/modalias', 0o644, b'acpi:PNP0B00:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0B00:00/path', 0o644, b'\\_SB_.PCI0.LPC_.RTC_\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0B00:00/uevent', 0o644, b'MODALIAS=acpi:PNP0B00:\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0B00:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0B00:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:20', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:20/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:20/physical_node', '../../../../pci0000:00/0000:00:1d.3')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:20/path', 0o644, b'\\_SB_.PCI0.USB3\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:20/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:20/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:20/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f/physical_node', '../../../../pci0000:00/0000:00:1c.3')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f/path', 0o644, b'\\_SB_.PCI0.EXP3\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f/device:10', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f/device:10/subsystem', '../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f/device:10/path', 0o644, b'\\_SB_.PCI0.EXP3.EXPD\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f/device:10/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f/device:10/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:0f/device:10/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:16', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:16/subsystem', '../../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:16/physical_node', '../../../../pci0000:00/0000:00:1f.2')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:16/path', 0o644, b'\\_SB_.PCI0.SATA\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:16/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:16/device:17', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:16/device:17/subsystem', '../../../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:16/device:17/path', 0o644, b'\\_SB_.PCI0.SATA.PRT0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:16/device:17/uevent', 0o644, b'')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:16/device:17/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:16/device:17/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:16/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:16/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/IBM0079:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/IBM0079:00/subsystem', '../../../../bus/acpi')
+f('sys/devices/LNXSYSTM:00/device:00/IBM0079:00/hid', 0o644, b'IBM0079\n')
+f('sys/devices/LNXSYSTM:00/device:00/IBM0079:00/modalias', 0o644, b'acpi:IBM0079:PNP0C15:LNXDOCK:\n')
+f('sys/devices/LNXSYSTM:00/device:00/IBM0079:00/path', 0o644, b'\\_SB_.GDCK\n')
+f('sys/devices/LNXSYSTM:00/device:00/IBM0079:00/uevent', 0o644, b'MODALIAS=acpi:IBM0079:PNP0C15:LNXDOCK:\n')
+d('sys/devices/LNXSYSTM:00/device:00/IBM0079:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/IBM0079:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/subsystem', '../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/driver', '../../../../bus/acpi/drivers/button')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/hid', 0o644, b'PNP0C0D\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/modalias', 0o644, b'acpi:PNP0C0D:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/path', 0o644, b'\\_SB_.LID_\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/uevent', 0o644, b'''DRIVER=button
+MODALIAS=acpi:PNP0C0D:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input', 0o755)
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/subsystem', '../../../../../../class/input')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/device', '../../../PNP0C0D:00')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/uniq', 0o644, b'\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/phys', 0o644, b'PNP0C0D/button/input0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/modalias', 0o644, b'input:b0019v0000p0005e0000-e0,5,kramlsfw0,\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/name', 0o644, b'Lid Switch\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/uevent', 0o644, b'''PRODUCT=19/0/5/0
+NAME="Lid Switch"
+PHYS="PNP0C0D/button/input0"
+EV==21
+SW==1
+MODALIAS=input:b0019v0000p0005e0000-e0,5,kramlsfw0,
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/event4', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/event4/subsystem', '../../../../../../../class/input')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/event4/device', '../../input4')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/event4/dev', 0o644, b'13:68\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/event4/uevent', 0o644, b'''MAJOR=13
+MINOR=68
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/event4/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/event4/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/id', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/id/version', 0o644, b'0000\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/id/product', 0o644, b'0005\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/id/vendor', 0o644, b'0000\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/id/bustype', 0o644, b'0019\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/capabilities', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/capabilities/msc', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/capabilities/abs', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/capabilities/snd', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/capabilities/ff', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/capabilities/key', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/capabilities/rel', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/capabilities/sw', 0o644, b'1\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/capabilities/ev', 0o644, b'21\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input4/capabilities/led', 0o644, b'0\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C01:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C01:00/subsystem', '../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C01:00/physical_node', '../../../pnp0/00:00')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C01:00/hid', 0o644, b'PNP0C01\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C01:00/modalias', 0o644, b'acpi:PNP0C01:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C01:00/path', 0o644, b'\\_SB_.MEM_\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C01:00/uevent', 0o644, b'MODALIAS=acpi:PNP0C01:\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C01:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C01:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:07', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:07/subsystem', '../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:07/driver', '../../../../bus/acpi/drivers/pci_link')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:07/hid', 0o644, b'PNP0C0F\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:07/modalias', 0o644, b'acpi:PNP0C0F:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:07/path', 0o644, b'\\_SB_.LNKH\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:07/uevent', 0o644, b'''DRIVER=pci_link
+MODALIAS=acpi:PNP0C0F:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:07/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:07/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:04', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:04/subsystem', '../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:04/driver', '../../../../bus/acpi/drivers/pci_link')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:04/hid', 0o644, b'PNP0C0F\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:04/modalias', 0o644, b'acpi:PNP0C0F:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:04/path', 0o644, b'\\_SB_.LNKE\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:04/uevent', 0o644, b'''DRIVER=pci_link
+MODALIAS=acpi:PNP0C0F:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:04/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:04/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:02', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:02/subsystem', '../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:02/driver', '../../../../bus/acpi/drivers/pci_link')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:02/hid', 0o644, b'PNP0C0F\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:02/modalias', 0o644, b'acpi:PNP0C0F:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:02/path', 0o644, b'\\_SB_.LNKC\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:02/uevent', 0o644, b'''DRIVER=pci_link
+MODALIAS=acpi:PNP0C0F:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:02/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:02/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:00', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:00/subsystem', '../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:00/driver', '../../../../bus/acpi/drivers/pci_link')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:00/hid', 0o644, b'PNP0C0F\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:00/modalias', 0o644, b'acpi:PNP0C0F:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:00/path', 0o644, b'\\_SB_.LNKA\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:00/uevent', 0o644, b'''DRIVER=pci_link
+MODALIAS=acpi:PNP0C0F:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:01', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:01/subsystem', '../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:01/driver', '../../../../bus/acpi/drivers/pci_link')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:01/hid', 0o644, b'PNP0C0F\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:01/modalias', 0o644, b'acpi:PNP0C0F:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:01/path', 0o644, b'\\_SB_.LNKB\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:01/uevent', 0o644, b'''DRIVER=pci_link
+MODALIAS=acpi:PNP0C0F:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:01/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:01/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:06', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:06/subsystem', '../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:06/driver', '../../../../bus/acpi/drivers/pci_link')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:06/hid', 0o644, b'PNP0C0F\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:06/modalias', 0o644, b'acpi:PNP0C0F:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:06/path', 0o644, b'\\_SB_.LNKG\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:06/uevent', 0o644, b'''DRIVER=pci_link
+MODALIAS=acpi:PNP0C0F:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:06/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:06/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:03', 0o755)
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:03/subsystem', '../../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:03/driver', '../../../../bus/acpi/drivers/pci_link')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:03/hid', 0o644, b'PNP0C0F\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:03/modalias', 0o644, b'acpi:PNP0C0F:\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:03/path', 0o644, b'\\_SB_.LNKD\n')
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:03/uevent', 0o644, b'''DRIVER=pci_link
+MODALIAS=acpi:PNP0C0F:
+''')
+d('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:03/power', 0o755)
+f('sys/devices/LNXSYSTM:00/device:00/PNP0C0F:03/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/ACPI0007:00', 0o755)
+l('sys/devices/LNXSYSTM:00/ACPI0007:00/thermal_cooling', '../../virtual/thermal/cooling_device0')
+l('sys/devices/LNXSYSTM:00/ACPI0007:00/subsystem', '../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/ACPI0007:00/sysdev', '../../system/cpu/cpu0')
+l('sys/devices/LNXSYSTM:00/ACPI0007:00/driver', '../../../bus/acpi/drivers/processor')
+f('sys/devices/LNXSYSTM:00/ACPI0007:00/hid', 0o644, b'ACPI0007\n')
+f('sys/devices/LNXSYSTM:00/ACPI0007:00/modalias', 0o644, b'acpi:ACPI0007:\n')
+f('sys/devices/LNXSYSTM:00/ACPI0007:00/path', 0o644, b'\\_PR_.CPU0\n')
+f('sys/devices/LNXSYSTM:00/ACPI0007:00/uevent', 0o644, b'''DRIVER=processor
+MODALIAS=acpi:ACPI0007:
+''')
+d('sys/devices/LNXSYSTM:00/ACPI0007:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/ACPI0007:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/LNXPWRBN:00', 0o755)
+l('sys/devices/LNXSYSTM:00/LNXPWRBN:00/subsystem', '../../../bus/acpi')
+l('sys/devices/LNXSYSTM:00/LNXPWRBN:00/driver', '../../../bus/acpi/drivers/button')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/hid', 0o644, b'LNXPWRBN\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/modalias', 0o644, b'acpi:LNXPWRBN:\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/uevent', 0o644, b'''DRIVER=button
+MODALIAS=acpi:LNXPWRBN:
+''')
+d('sys/devices/LNXSYSTM:00/LNXPWRBN:00/power', 0o755)
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input', 0o755)
+d('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3', 0o755)
+l('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/subsystem', '../../../../../class/input')
+l('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/device', '../../../LNXPWRBN:00')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/uniq', 0o644, b'\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/phys', 0o644, b'LNXPWRBN/button/input0\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/modalias', 0o644, b'input:b0019v0000p0002e0000-e0,1,k74,ramlsfw\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/name', 0o644, b'Power Button (FF)\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/uevent', 0o644, b'''PRODUCT=19/0/2/0
+NAME="Power Button (FF)"
+PHYS="LNXPWRBN/button/input0"
+EV==3
+KEY==10000000000000 0
+MODALIAS=input:b0019v0000p0002e0000-e0,1,k74,ramlsfw
+''')
+d('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/id', 0o755)
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/id/version', 0o644, b'0000\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/id/product', 0o644, b'0002\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/id/vendor', 0o644, b'0000\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/id/bustype', 0o644, b'0019\n')
+d('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/power', 0o755)
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/event3', 0o755)
+l('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/event3/subsystem', '../../../../../../class/input')
+l('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/event3/device', '../../input3')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/event3/dev', 0o644, b'13:67\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/event3/uevent', 0o644, b'''MAJOR=13
+MINOR=67
+''')
+d('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/event3/power', 0o755)
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/event3/power/wakeup', 0o644, b'\n')
+d('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/capabilities', 0o755)
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/capabilities/msc', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/capabilities/abs', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/capabilities/snd', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/capabilities/ff', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/capabilities/key', 0o644, b'10000000000000 0\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/capabilities/rel', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/capabilities/sw', 0o644, b'0\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/capabilities/ev', 0o644, b'3\n')
+f('sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/capabilities/led', 0o644, b'0\n')
+d('sys/devices/platform', 0o755)
+f('sys/devices/platform/uevent', 0o644, b'')
+d('sys/devices/platform/pcspkr', 0o755)
+l('sys/devices/platform/pcspkr/subsystem', '../../../bus/platform')
+l('sys/devices/platform/pcspkr/driver', '../../../bus/platform/drivers/pcspkr')
+f('sys/devices/platform/pcspkr/modalias', 0o644, b'platform:pcspkr\n')
+f('sys/devices/platform/pcspkr/uevent', 0o644, b'''DRIVER=pcspkr
+MODALIAS=platform:pcspkr
+''')
+d('sys/devices/platform/pcspkr/power', 0o755)
+f('sys/devices/platform/pcspkr/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/pcspkr/input', 0o755)
+d('sys/devices/platform/pcspkr/input/input2', 0o755)
+l('sys/devices/platform/pcspkr/input/input2/subsystem', '../../../../../class/input')
+l('sys/devices/platform/pcspkr/input/input2/device', '../../../pcspkr')
+f('sys/devices/platform/pcspkr/input/input2/uniq', 0o644, b'\n')
+f('sys/devices/platform/pcspkr/input/input2/phys', 0o644, b'isa0061/input0\n')
+f('sys/devices/platform/pcspkr/input/input2/modalias', 0o644, b'input:b0010v001Fp0001e0100-e0,12,kramls1,2,fw\n')
+f('sys/devices/platform/pcspkr/input/input2/name', 0o644, b'PC Speaker\n')
+f('sys/devices/platform/pcspkr/input/input2/uevent', 0o644, b'''PRODUCT=10/1f/1/100
+NAME="PC Speaker"
+PHYS="isa0061/input0"
+EV==40001
+SND==6
+MODALIAS=input:b0010v001Fp0001e0100-e0,12,kramls1,2,fw
+''')
+d('sys/devices/platform/pcspkr/input/input2/event2', 0o755)
+l('sys/devices/platform/pcspkr/input/input2/event2/subsystem', '../../../../../../class/input')
+l('sys/devices/platform/pcspkr/input/input2/event2/device', '../../input2')
+f('sys/devices/platform/pcspkr/input/input2/event2/dev', 0o644, b'13:66\n')
+f('sys/devices/platform/pcspkr/input/input2/event2/uevent', 0o644, b'''MAJOR=13
+MINOR=66
+''')
+d('sys/devices/platform/pcspkr/input/input2/event2/power', 0o755)
+f('sys/devices/platform/pcspkr/input/input2/event2/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/pcspkr/input/input2/id', 0o755)
+f('sys/devices/platform/pcspkr/input/input2/id/version', 0o644, b'0100\n')
+f('sys/devices/platform/pcspkr/input/input2/id/product', 0o644, b'0001\n')
+f('sys/devices/platform/pcspkr/input/input2/id/vendor', 0o644, b'001f\n')
+f('sys/devices/platform/pcspkr/input/input2/id/bustype', 0o644, b'0010\n')
+d('sys/devices/platform/pcspkr/input/input2/power', 0o755)
+f('sys/devices/platform/pcspkr/input/input2/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/pcspkr/input/input2/capabilities', 0o755)
+f('sys/devices/platform/pcspkr/input/input2/capabilities/msc', 0o644, b'0\n')
+f('sys/devices/platform/pcspkr/input/input2/capabilities/abs', 0o644, b'0\n')
+f('sys/devices/platform/pcspkr/input/input2/capabilities/snd', 0o644, b'6\n')
+f('sys/devices/platform/pcspkr/input/input2/capabilities/ff', 0o644, b'0\n')
+f('sys/devices/platform/pcspkr/input/input2/capabilities/key', 0o644, b'0\n')
+f('sys/devices/platform/pcspkr/input/input2/capabilities/rel', 0o644, b'0\n')
+f('sys/devices/platform/pcspkr/input/input2/capabilities/sw', 0o644, b'0\n')
+f('sys/devices/platform/pcspkr/input/input2/capabilities/ev', 0o644, b'40001\n')
+f('sys/devices/platform/pcspkr/input/input2/capabilities/led', 0o644, b'0\n')
+d('sys/devices/platform/power', 0o755)
+f('sys/devices/platform/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/vesafb.0', 0o755)
+l('sys/devices/platform/vesafb.0/subsystem', '../../../bus/platform')
+l('sys/devices/platform/vesafb.0/driver', '../../../bus/platform/drivers/vesafb')
+f('sys/devices/platform/vesafb.0/modalias', 0o644, b'platform:vesafb\n')
+f('sys/devices/platform/vesafb.0/uevent', 0o644, b'''DRIVER=vesafb
+MODALIAS=platform:vesafb
+''')
+d('sys/devices/platform/vesafb.0/power', 0o755)
+f('sys/devices/platform/vesafb.0/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/vesafb.0/graphics', 0o755)
+d('sys/devices/platform/vesafb.0/graphics/fb0', 0o755)
+l('sys/devices/platform/vesafb.0/graphics/fb0/subsystem', '../../../../../class/graphics')
+l('sys/devices/platform/vesafb.0/graphics/fb0/device', '../../../vesafb.0')
+f('sys/devices/platform/vesafb.0/graphics/fb0/pan', 0o644, b'0,0\n')
+f('sys/devices/platform/vesafb.0/graphics/fb0/rotate', 0o644, b'0\n')
+f('sys/devices/platform/vesafb.0/graphics/fb0/mode', 0o644, b'')
+f('sys/devices/platform/vesafb.0/graphics/fb0/virtual_size', 0o644, b'800,600\n')
+f('sys/devices/platform/vesafb.0/graphics/fb0/dev', 0o644, b'29:0\n')
+f('sys/devices/platform/vesafb.0/graphics/fb0/state', 0o644, b'0\n')
+f('sys/devices/platform/vesafb.0/graphics/fb0/blank', 0o644, b'')
+f('sys/devices/platform/vesafb.0/graphics/fb0/bits_per_pixel', 0o644, b'16\n')
+f('sys/devices/platform/vesafb.0/graphics/fb0/stride', 0o644, b'1600\n')
+f('sys/devices/platform/vesafb.0/graphics/fb0/name', 0o644, b'VESA VGA\n')
+f('sys/devices/platform/vesafb.0/graphics/fb0/modes', 0o644, b'U:800x600p-75\n')
+f('sys/devices/platform/vesafb.0/graphics/fb0/cursor', 0o644, b'')
+f('sys/devices/platform/vesafb.0/graphics/fb0/uevent', 0o644, b'''MAJOR=29
+MINOR=0
+''')
+f('sys/devices/platform/vesafb.0/graphics/fb0/console', 0o644, b'')
+d('sys/devices/platform/vesafb.0/graphics/fb0/power', 0o755)
+f('sys/devices/platform/vesafb.0/graphics/fb0/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/dock.0', 0o755)
+l('sys/devices/platform/dock.0/subsystem', '../../../bus/platform')
+f('sys/devices/platform/dock.0/modalias', 0o644, b'platform:dock\n')
+f('sys/devices/platform/dock.0/uid', 0o644, b'0\n')
+f('sys/devices/platform/dock.0/flags', 0o644, b'0\n')
+f('sys/devices/platform/dock.0/docked', 0o644, b'0\n')
+f('sys/devices/platform/dock.0/uevent', 0o644, b'MODALIAS=platform:dock\n')
+d('sys/devices/platform/dock.0/power', 0o755)
+f('sys/devices/platform/dock.0/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/serial8250', 0o755)
+l('sys/devices/platform/serial8250/subsystem', '../../../bus/platform')
+l('sys/devices/platform/serial8250/driver', '../../../bus/platform/drivers/serial8250')
+f('sys/devices/platform/serial8250/modalias', 0o644, b'platform:serial8250\n')
+f('sys/devices/platform/serial8250/uevent', 0o644, b'''DRIVER=serial8250
+MODALIAS=platform:serial8250
+''')
+d('sys/devices/platform/serial8250/power', 0o755)
+f('sys/devices/platform/serial8250/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/serial8250/tty', 0o755)
+d('sys/devices/platform/serial8250/tty/ttyS1', 0o755)
+l('sys/devices/platform/serial8250/tty/ttyS1/subsystem', '../../../../../class/tty')
+l('sys/devices/platform/serial8250/tty/ttyS1/device', '../../../serial8250')
+f('sys/devices/platform/serial8250/tty/ttyS1/dev', 0o644, b'4:65\n')
+f('sys/devices/platform/serial8250/tty/ttyS1/uevent', 0o644, b'''MAJOR=4
+MINOR=65
+''')
+d('sys/devices/platform/serial8250/tty/ttyS1/power', 0o755)
+f('sys/devices/platform/serial8250/tty/ttyS1/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/platform/serial8250/tty/ttyS3', 0o755)
+l('sys/devices/platform/serial8250/tty/ttyS3/subsystem', '../../../../../class/tty')
+l('sys/devices/platform/serial8250/tty/ttyS3/device', '../../../serial8250')
+f('sys/devices/platform/serial8250/tty/ttyS3/dev', 0o644, b'4:67\n')
+f('sys/devices/platform/serial8250/tty/ttyS3/uevent', 0o644, b'''MAJOR=4
+MINOR=67
+''')
+d('sys/devices/platform/serial8250/tty/ttyS3/power', 0o755)
+f('sys/devices/platform/serial8250/tty/ttyS3/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/platform/serial8250/tty/ttyS0', 0o755)
+l('sys/devices/platform/serial8250/tty/ttyS0/subsystem', '../../../../../class/tty')
+l('sys/devices/platform/serial8250/tty/ttyS0/device', '../../../serial8250')
+f('sys/devices/platform/serial8250/tty/ttyS0/dev', 0o644, b'4:64\n')
+f('sys/devices/platform/serial8250/tty/ttyS0/uevent', 0o644, b'''MAJOR=4
+MINOR=64
+''')
+d('sys/devices/platform/serial8250/tty/ttyS0/power', 0o755)
+f('sys/devices/platform/serial8250/tty/ttyS0/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/platform/serial8250/tty/ttyS2', 0o755)
+l('sys/devices/platform/serial8250/tty/ttyS2/subsystem', '../../../../../class/tty')
+l('sys/devices/platform/serial8250/tty/ttyS2/device', '../../../serial8250')
+f('sys/devices/platform/serial8250/tty/ttyS2/dev', 0o644, b'4:66\n')
+f('sys/devices/platform/serial8250/tty/ttyS2/uevent', 0o644, b'''MAJOR=4
+MINOR=66
+''')
+d('sys/devices/platform/serial8250/tty/ttyS2/power', 0o755)
+f('sys/devices/platform/serial8250/tty/ttyS2/power/wakeup', 0o644, b'disabled\n')
+d('sys/devices/platform/thinkpad_acpi', 0o755)
+l('sys/devices/platform/thinkpad_acpi/subsystem', '../../../bus/platform')
+l('sys/devices/platform/thinkpad_acpi/driver', '../../../bus/platform/drivers/thinkpad_acpi')
+f('sys/devices/platform/thinkpad_acpi/modalias', 0o644, b'platform:thinkpad_acpi\n')
+f('sys/devices/platform/thinkpad_acpi/hotkey_all_mask', 0o644, b'0x00ffffff\n')
+f('sys/devices/platform/thinkpad_acpi/hotkey_poll_freq', 0o644, b'10\n')
+f('sys/devices/platform/thinkpad_acpi/hotkey_bios_enabled', 0o644, b'0\n')
+f('sys/devices/platform/thinkpad_acpi/hotkey_recommended_mask', 0o644, b'0x008c7fff\n')
+f('sys/devices/platform/thinkpad_acpi/hotkey_bios_mask', 0o644, b'0x0000080c\n')
+f('sys/devices/platform/thinkpad_acpi/hotkey_mask', 0o644, b'0x00ffffff\n')
+f('sys/devices/platform/thinkpad_acpi/wakeup_hotunplug_complete', 0o644, b'0\n')
+f('sys/devices/platform/thinkpad_acpi/hotkey_source_mask', 0o644, b'0x00000000\n')
+f('sys/devices/platform/thinkpad_acpi/hotkey_report_mode', 0o644, b'1\n')
+f('sys/devices/platform/thinkpad_acpi/hotkey_radio_sw', 0o644, b'1\n')
+f('sys/devices/platform/thinkpad_acpi/hotkey_enable', 0o644, b'1\n')
+f('sys/devices/platform/thinkpad_acpi/uevent', 0o644, b'''DRIVER=thinkpad_acpi
+MODALIAS=platform:thinkpad_acpi
+''')
+f('sys/devices/platform/thinkpad_acpi/bluetooth_enable', 0o644, b'1\n')
+f('sys/devices/platform/thinkpad_acpi/wakeup_reason', 0o644, b'0\n')
+d('sys/devices/platform/thinkpad_acpi/rfkill', 0o755)
+d('sys/devices/platform/thinkpad_acpi/rfkill/rfkill0', 0o755)
+l('sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/subsystem', '../../../../../class/rfkill')
+l('sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/device', '../../../thinkpad_acpi')
+f('sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/type', 0o644, b'bluetooth\n')
+f('sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/state', 0o644, b'1\n')
+f('sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/name', 0o644, b'tpacpi_bluetooth_sw\n')
+f('sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/uevent', 0o644, b'''RFKILL_NAME=tpacpi_bluetooth_sw
+RFKILL_TYPE=bluetooth
+RFKILL_STATE=1
+''')
+f('sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/claim', 0o644, b'0\n')
+d('sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/power', 0o755)
+f('sys/devices/platform/thinkpad_acpi/rfkill/rfkill0/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/thinkpad_acpi/power', 0o755)
+f('sys/devices/platform/thinkpad_acpi/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/thinkpad_acpi/leds', 0o755)
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi::bay_active', 0o755)
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi::bay_active/subsystem', '../../../../../class/leds')
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi::bay_active/device', '../../../thinkpad_acpi')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::bay_active/trigger', 0o644, b'[none] AC-online BAT0-charging-or-full BAT0-charging BAT0-full rfkill0 phy0rx phy0tx phy0assoc phy0radio \n')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::bay_active/brightness', 0o644, b'0\n\x00')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::bay_active/uevent', 0o644, b'')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi::bay_active/power', 0o755)
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::bay_active/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi:orange:batt', 0o755)
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi:orange:batt/subsystem', '../../../../../class/leds')
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi:orange:batt/device', '../../../thinkpad_acpi')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi:orange:batt/trigger', 0o644, b'[none] AC-online BAT0-charging-or-full BAT0-charging BAT0-full rfkill0 phy0rx phy0tx phy0assoc phy0radio \n')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi:orange:batt/brightness', 0o644, b'0\n\x00')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi:orange:batt/uevent', 0o644, b'')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi:orange:batt/power', 0o755)
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi:orange:batt/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_active', 0o755)
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_active/subsystem', '../../../../../class/leds')
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_active/device', '../../../thinkpad_acpi')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_active/trigger', 0o644, b'[none] AC-online BAT0-charging-or-full BAT0-charging BAT0-full rfkill0 phy0rx phy0tx phy0assoc phy0radio \n')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_active/brightness', 0o644, b'0\n\x00')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_active/uevent', 0o644, b'')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_active/power', 0o755)
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_active/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi::unknown_led', 0o755)
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi::unknown_led/subsystem', '../../../../../class/leds')
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi::unknown_led/device', '../../../thinkpad_acpi')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::unknown_led/trigger', 0o644, b'[none] AC-online BAT0-charging-or-full BAT0-charging BAT0-full rfkill0 phy0rx phy0tx phy0assoc phy0radio \n')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::unknown_led/brightness', 0o644, b'0\n\x00')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::unknown_led/uevent', 0o644, b'')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi::unknown_led/power', 0o755)
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::unknown_led/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi:green:batt', 0o755)
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi:green:batt/subsystem', '../../../../../class/leds')
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi:green:batt/device', '../../../thinkpad_acpi')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi:green:batt/trigger', 0o644, b'[none] AC-online BAT0-charging-or-full BAT0-charging BAT0-full rfkill0 phy0rx phy0tx phy0assoc phy0radio \n')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi:green:batt/brightness', 0o644, b'0\n\x00')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi:green:batt/uevent', 0o644, b'')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi:green:batt/power', 0o755)
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi:green:batt/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_batt', 0o755)
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_batt/subsystem', '../../../../../class/leds')
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_batt/device', '../../../thinkpad_acpi')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_batt/trigger', 0o644, b'[none] AC-online BAT0-charging-or-full BAT0-charging BAT0-full rfkill0 phy0rx phy0tx phy0assoc phy0radio \n')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_batt/brightness', 0o644, b'0\n\x00')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_batt/uevent', 0o644, b'')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_batt/power', 0o755)
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::dock_batt/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi::thinklight', 0o755)
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi::thinklight/subsystem', '../../../../../class/leds')
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi::thinklight/device', '../../../thinkpad_acpi')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::thinklight/trigger', 0o644, b'[none] AC-online BAT0-charging-or-full BAT0-charging BAT0-full rfkill0 phy0rx phy0tx phy0assoc phy0radio \n')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::thinklight/brightness', 0o644, b'255\n\x00')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::thinklight/uevent', 0o644, b'')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi::thinklight/power', 0o755)
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::thinklight/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi::power', 0o755)
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi::power/subsystem', '../../../../../class/leds')
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi::power/device', '../../../thinkpad_acpi')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::power/trigger', 0o644, b'[none] AC-online BAT0-charging-or-full BAT0-charging BAT0-full rfkill0 phy0rx phy0tx phy0assoc phy0radio \n')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::power/brightness', 0o644, b'0\n\x00')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::power/uevent', 0o644, b'')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi::power/power', 0o755)
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::power/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi::standby', 0o755)
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi::standby/subsystem', '../../../../../class/leds')
+l('sys/devices/platform/thinkpad_acpi/leds/tpacpi::standby/device', '../../../thinkpad_acpi')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::standby/trigger', 0o644, b'[none] AC-online BAT0-charging-or-full BAT0-charging BAT0-full rfkill0 phy0rx phy0tx phy0assoc phy0radio \n')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::standby/brightness', 0o644, b'0\n\x00')
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::standby/uevent', 0o644, b'')
+d('sys/devices/platform/thinkpad_acpi/leds/tpacpi::standby/power', 0o755)
+f('sys/devices/platform/thinkpad_acpi/leds/tpacpi::standby/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/thinkpad_hwmon', 0o755)
+l('sys/devices/platform/thinkpad_hwmon/subsystem', '../../../bus/platform')
+l('sys/devices/platform/thinkpad_hwmon/driver', '../../../bus/platform/drivers/thinkpad_hwmon')
+f('sys/devices/platform/thinkpad_hwmon/fan1_input', 0o644, b'3446\n')
+f('sys/devices/platform/thinkpad_hwmon/temp4_input', 0o644, b'63000\n')
+f('sys/devices/platform/thinkpad_hwmon/pwm1', 0o644, b'255\n')
+f('sys/devices/platform/thinkpad_hwmon/temp11_input', 0o644, b'43000\n')
+f('sys/devices/platform/thinkpad_hwmon/modalias', 0o644, b'platform:thinkpad_hwmon\n')
+f('sys/devices/platform/thinkpad_hwmon/temp15_input', 0o644, b'')
+f('sys/devices/platform/thinkpad_hwmon/temp2_input', 0o644, b'41000\n')
+f('sys/devices/platform/thinkpad_hwmon/temp1_input', 0o644, b'46000\n')
+f('sys/devices/platform/thinkpad_hwmon/temp5_input', 0o644, b'35000\n')
+f('sys/devices/platform/thinkpad_hwmon/temp13_input', 0o644, b'')
+f('sys/devices/platform/thinkpad_hwmon/temp6_input', 0o644, b'')
+f('sys/devices/platform/thinkpad_hwmon/temp8_input', 0o644, b'')
+f('sys/devices/platform/thinkpad_hwmon/pwm1_enable', 0o644, b'2\n')
+f('sys/devices/platform/thinkpad_hwmon/temp10_input', 0o644, b'49000\n')
+f('sys/devices/platform/thinkpad_hwmon/temp3_input', 0o644, b'33000\n')
+f('sys/devices/platform/thinkpad_hwmon/temp9_input', 0o644, b'35000\n')
+f('sys/devices/platform/thinkpad_hwmon/name', 0o644, b'thinkpad\n')
+f('sys/devices/platform/thinkpad_hwmon/temp12_input', 0o644, b'')
+f('sys/devices/platform/thinkpad_hwmon/uevent', 0o644, b'''DRIVER=thinkpad_hwmon
+MODALIAS=platform:thinkpad_hwmon
+''')
+f('sys/devices/platform/thinkpad_hwmon/temp7_input', 0o644, b'33000\n')
+f('sys/devices/platform/thinkpad_hwmon/temp16_input', 0o644, b'')
+f('sys/devices/platform/thinkpad_hwmon/temp14_input', 0o644, b'')
+d('sys/devices/platform/thinkpad_hwmon/hwmon', 0o755)
+d('sys/devices/platform/thinkpad_hwmon/hwmon/hwmon0', 0o755)
+l('sys/devices/platform/thinkpad_hwmon/hwmon/hwmon0/subsystem', '../../../../../class/hwmon')
+l('sys/devices/platform/thinkpad_hwmon/hwmon/hwmon0/device', '../../../thinkpad_hwmon')
+f('sys/devices/platform/thinkpad_hwmon/hwmon/hwmon0/uevent', 0o644, b'')
+d('sys/devices/platform/thinkpad_hwmon/hwmon/hwmon0/power', 0o755)
+f('sys/devices/platform/thinkpad_hwmon/hwmon/hwmon0/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/thinkpad_hwmon/power', 0o755)
+f('sys/devices/platform/thinkpad_hwmon/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/microcode', 0o755)
+l('sys/devices/platform/microcode/subsystem', '../../../bus/platform')
+f('sys/devices/platform/microcode/modalias', 0o644, b'platform:microcode\n')
+f('sys/devices/platform/microcode/uevent', 0o644, b'MODALIAS=platform:microcode\n')
+d('sys/devices/platform/microcode/power', 0o755)
+f('sys/devices/platform/microcode/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/i8042', 0o755)
+l('sys/devices/platform/i8042/subsystem', '../../../bus/platform')
+l('sys/devices/platform/i8042/driver', '../../../bus/platform/drivers/i8042')
+f('sys/devices/platform/i8042/modalias', 0o644, b'platform:i8042\n')
+f('sys/devices/platform/i8042/uevent', 0o644, b'''DRIVER=i8042
+MODALIAS=platform:i8042
+''')
+d('sys/devices/platform/i8042/power', 0o755)
+f('sys/devices/platform/i8042/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/i8042/serio0', 0o755)
+l('sys/devices/platform/i8042/serio0/subsystem', '../../../../bus/serio')
+l('sys/devices/platform/i8042/serio0/driver', '../../../../bus/serio/drivers/atkbd')
+f('sys/devices/platform/i8042/serio0/modalias', 0o644, b'serio:ty06pr00id00ex00\n')
+f('sys/devices/platform/i8042/serio0/set', 0o644, b'2\n')
+f('sys/devices/platform/i8042/serio0/bind_mode', 0o644, b'auto\n')
+f('sys/devices/platform/i8042/serio0/description', 0o644, b'i8042 KBD port\n')
+f('sys/devices/platform/i8042/serio0/softrepeat', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio0/scroll', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio0/softraw', 0o644, b'1\n')
+f('sys/devices/platform/i8042/serio0/err_count', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio0/extra', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio0/uevent', 0o644, b'''DRIVER=atkbd
+SERIO_TYPE=06
+SERIO_PROTO=00
+SERIO_ID=00
+SERIO_EXTRA=00
+MODALIAS=serio:ty06pr00id00ex00
+''')
+d('sys/devices/platform/i8042/serio0/id', 0o755)
+f('sys/devices/platform/i8042/serio0/id/proto', 0o644, b'00\n')
+f('sys/devices/platform/i8042/serio0/id/id', 0o644, b'00\n')
+f('sys/devices/platform/i8042/serio0/id/type', 0o644, b'06\n')
+f('sys/devices/platform/i8042/serio0/id/extra', 0o644, b'00\n')
+d('sys/devices/platform/i8042/serio0/power', 0o755)
+f('sys/devices/platform/i8042/serio0/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/i8042/serio0/input', 0o755)
+d('sys/devices/platform/i8042/serio0/input/input0', 0o755)
+l('sys/devices/platform/i8042/serio0/input/input0/subsystem', '../../../../../../class/input')
+l('sys/devices/platform/i8042/serio0/input/input0/device', '../../../serio0')
+f('sys/devices/platform/i8042/serio0/input/input0/uniq', 0o644, b'\n')
+f('sys/devices/platform/i8042/serio0/input/input0/phys', 0o644, b'isa0060/serio0/input0\n')
+f('sys/devices/platform/i8042/serio0/input/input0/modalias', 0o644, b'input:b0011v0001p0001eAB54-e0,1,4,11,14,k71,72,73,74,75,76,77,79,7A,7B,7C,7D,7E,7F,80,8C,8E,8F,9B,9C,9D,9E,9F,A3,A4,A5,A6,AC,AD,B7,B8,B9,D9,E2,ram4,l0,1,2,sfw\n')
+f('sys/devices/platform/i8042/serio0/input/input0/name', 0o644, b'AT Translated Set 2 keyboard\n')
+f('sys/devices/platform/i8042/serio0/input/input0/uevent', 0o644, b'''PRODUCT=11/1/1/ab54
+NAME="AT Translated Set 2 keyboard"
+PHYS="isa0060/serio0/input0"
+EV==120013
+KEY==402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe
+MSC==10
+LED==7
+MODALIAS=input:b0011v0001p0001eAB54-e0,1,4,11,14,k71,72,73,74,75,76,77,79,7A,7B,7C,7D,7E,7F,80,8C,8E,8F,9B,9C,9D,9E,9F,A3,A4,A5,A6,AC,AD,B7,B8,B9,D9,E2,ram4,l0,1,2,sfw
+''')
+d('sys/devices/platform/i8042/serio0/input/input0/event0', 0o755)
+l('sys/devices/platform/i8042/serio0/input/input0/event0/subsystem', '../../../../../../../class/input')
+l('sys/devices/platform/i8042/serio0/input/input0/event0/device', '../../input0')
+f('sys/devices/platform/i8042/serio0/input/input0/event0/dev', 0o644, b'13:64\n')
+f('sys/devices/platform/i8042/serio0/input/input0/event0/uevent', 0o644, b'''MAJOR=13
+MINOR=64
+''')
+d('sys/devices/platform/i8042/serio0/input/input0/event0/power', 0o755)
+f('sys/devices/platform/i8042/serio0/input/input0/event0/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/i8042/serio0/input/input0/id', 0o755)
+f('sys/devices/platform/i8042/serio0/input/input0/id/version', 0o644, b'ab54\n')
+f('sys/devices/platform/i8042/serio0/input/input0/id/product', 0o644, b'0001\n')
+f('sys/devices/platform/i8042/serio0/input/input0/id/vendor', 0o644, b'0001\n')
+f('sys/devices/platform/i8042/serio0/input/input0/id/bustype', 0o644, b'0011\n')
+d('sys/devices/platform/i8042/serio0/input/input0/power', 0o755)
+f('sys/devices/platform/i8042/serio0/input/input0/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/i8042/serio0/input/input0/capabilities', 0o755)
+f('sys/devices/platform/i8042/serio0/input/input0/capabilities/msc', 0o644, b'10\n')
+f('sys/devices/platform/i8042/serio0/input/input0/capabilities/abs', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio0/input/input0/capabilities/snd', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio0/input/input0/capabilities/ff', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio0/input/input0/capabilities/key', 0o644, b'402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe\n')
+f('sys/devices/platform/i8042/serio0/input/input0/capabilities/rel', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio0/input/input0/capabilities/sw', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio0/input/input0/capabilities/ev', 0o644, b'120013\n')
+f('sys/devices/platform/i8042/serio0/input/input0/capabilities/led', 0o644, b'7\n')
+d('sys/devices/platform/i8042/serio1', 0o755)
+l('sys/devices/platform/i8042/serio1/subsystem', '../../../../bus/serio')
+l('sys/devices/platform/i8042/serio1/driver', '../../../../bus/serio/drivers/psmouse')
+f('sys/devices/platform/i8042/serio1/upthresh', 0o644, b'255\n')
+f('sys/devices/platform/i8042/serio1/modalias', 0o644, b'serio:ty01pr00id00ex00\n')
+f('sys/devices/platform/i8042/serio1/resync_time', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio1/skipback', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio1/draghys', 0o644, b'255\n')
+f('sys/devices/platform/i8042/serio1/ext_dev', 0o644, b'1\n')
+f('sys/devices/platform/i8042/serio1/bind_mode', 0o644, b'auto\n')
+f('sys/devices/platform/i8042/serio1/resolution', 0o644, b'200\n')
+f('sys/devices/platform/i8042/serio1/resetafter', 0o644, b'5\n')
+f('sys/devices/platform/i8042/serio1/sensitivity', 0o644, b'128\n')
+f('sys/devices/platform/i8042/serio1/rate', 0o644, b'100\n')
+f('sys/devices/platform/i8042/serio1/inertia', 0o644, b'6\n')
+f('sys/devices/platform/i8042/serio1/mindrag', 0o644, b'20\n')
+f('sys/devices/platform/i8042/serio1/reach', 0o644, b'10\n')
+f('sys/devices/platform/i8042/serio1/description', 0o644, b'i8042 AUX port\n')
+f('sys/devices/platform/i8042/serio1/press_to_select', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio1/ztime', 0o644, b'38\n')
+f('sys/devices/platform/i8042/serio1/speed', 0o644, b'97\n')
+f('sys/devices/platform/i8042/serio1/thresh', 0o644, b'8\n')
+f('sys/devices/platform/i8042/serio1/jenks', 0o644, b'135\n')
+f('sys/devices/platform/i8042/serio1/uevent', 0o644, b'''DRIVER=psmouse
+SERIO_TYPE=01
+SERIO_PROTO=00
+SERIO_ID=00
+SERIO_EXTRA=00
+MODALIAS=serio:ty01pr00id00ex00
+''')
+f('sys/devices/platform/i8042/serio1/protocol', 0o644, b'TPPS/2\n')
+d('sys/devices/platform/i8042/serio1/id', 0o755)
+f('sys/devices/platform/i8042/serio1/id/proto', 0o644, b'00\n')
+f('sys/devices/platform/i8042/serio1/id/id', 0o644, b'00\n')
+f('sys/devices/platform/i8042/serio1/id/type', 0o644, b'01\n')
+f('sys/devices/platform/i8042/serio1/id/extra', 0o644, b'00\n')
+d('sys/devices/platform/i8042/serio1/power', 0o755)
+f('sys/devices/platform/i8042/serio1/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/i8042/serio1/input', 0o755)
+d('sys/devices/platform/i8042/serio1/input/input1', 0o755)
+l('sys/devices/platform/i8042/serio1/input/input1/subsystem', '../../../../../../class/input')
+l('sys/devices/platform/i8042/serio1/input/input1/device', '../../../serio1')
+f('sys/devices/platform/i8042/serio1/input/input1/uniq', 0o644, b'\n')
+f('sys/devices/platform/i8042/serio1/input/input1/phys', 0o644, b'isa0060/serio1/input0\n')
+f('sys/devices/platform/i8042/serio1/input/input1/modalias', 0o644, b'input:b0011v0002p000Ae0000-e0,1,2,k110,111,112,r0,1,amlsfw\n')
+f('sys/devices/platform/i8042/serio1/input/input1/name', 0o644, b'TPPS/2 IBM TrackPoint\n')
+f('sys/devices/platform/i8042/serio1/input/input1/uevent', 0o644, b'''PRODUCT=11/2/a/0
+NAME="TPPS/2 IBM TrackPoint"
+PHYS="isa0060/serio1/input0"
+EV==7
+KEY==70000 0 0 0 0
+REL==3
+MODALIAS=input:b0011v0002p000Ae0000-e0,1,2,k110,111,112,r0,1,amlsfw
+''')
+d('sys/devices/platform/i8042/serio1/input/input1/mouse0', 0o755)
+l('sys/devices/platform/i8042/serio1/input/input1/mouse0/subsystem', '../../../../../../../class/input')
+l('sys/devices/platform/i8042/serio1/input/input1/mouse0/device', '../../input1')
+f('sys/devices/platform/i8042/serio1/input/input1/mouse0/dev', 0o644, b'13:32\n')
+f('sys/devices/platform/i8042/serio1/input/input1/mouse0/uevent', 0o644, b'''MAJOR=13
+MINOR=32
+''')
+d('sys/devices/platform/i8042/serio1/input/input1/mouse0/power', 0o755)
+f('sys/devices/platform/i8042/serio1/input/input1/mouse0/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/i8042/serio1/input/input1/id', 0o755)
+f('sys/devices/platform/i8042/serio1/input/input1/id/version', 0o644, b'0000\n')
+f('sys/devices/platform/i8042/serio1/input/input1/id/product', 0o644, b'000a\n')
+f('sys/devices/platform/i8042/serio1/input/input1/id/vendor', 0o644, b'0002\n')
+f('sys/devices/platform/i8042/serio1/input/input1/id/bustype', 0o644, b'0011\n')
+d('sys/devices/platform/i8042/serio1/input/input1/power', 0o755)
+f('sys/devices/platform/i8042/serio1/input/input1/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/i8042/serio1/input/input1/event1', 0o755)
+l('sys/devices/platform/i8042/serio1/input/input1/event1/subsystem', '../../../../../../../class/input')
+l('sys/devices/platform/i8042/serio1/input/input1/event1/device', '../../input1')
+f('sys/devices/platform/i8042/serio1/input/input1/event1/dev', 0o644, b'13:65\n')
+f('sys/devices/platform/i8042/serio1/input/input1/event1/uevent', 0o644, b'''MAJOR=13
+MINOR=65
+''')
+d('sys/devices/platform/i8042/serio1/input/input1/event1/power', 0o755)
+f('sys/devices/platform/i8042/serio1/input/input1/event1/power/wakeup', 0o644, b'\n')
+d('sys/devices/platform/i8042/serio1/input/input1/capabilities', 0o755)
+f('sys/devices/platform/i8042/serio1/input/input1/capabilities/msc', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio1/input/input1/capabilities/abs', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio1/input/input1/capabilities/snd', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio1/input/input1/capabilities/ff', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio1/input/input1/capabilities/key', 0o644, b'70000 0 0 0 0\n')
+f('sys/devices/platform/i8042/serio1/input/input1/capabilities/rel', 0o644, b'3\n')
+f('sys/devices/platform/i8042/serio1/input/input1/capabilities/sw', 0o644, b'0\n')
+f('sys/devices/platform/i8042/serio1/input/input1/capabilities/ev', 0o644, b'7\n')
+f('sys/devices/platform/i8042/serio1/input/input1/capabilities/led', 0o644, b'0\n')
diff --git a/test/sys.tar.xz b/test/sys.tar.xz
deleted file mode 100644 (file)
index 49ee802..0000000
Binary files a/test/sys.tar.xz and /dev/null differ
diff --git a/test/test-execute/exec-read-only-path-succeed.service b/test/test-execute/exec-read-only-path-succeed.service
new file mode 100644 (file)
index 0000000..b54d48f
--- /dev/null
@@ -0,0 +1,8 @@
+[Service]
+Type=oneshot
+# This should work, as we explicitly disable the effect of ReadOnlyPaths=
+ExecStart=+/bin/touch /tmp/thisisasimpletest
+# This should also work, as we do not disable the effect of ReadOnlyPaths= but invert the exit code
+ExecStart=/bin/sh -x -c '! /bin/touch /tmp/thisisasimpletest'
+ExecStart=+/bin/rm /tmp/thisisasimpletest
+ReadOnlyPaths=/tmp
index e8d1fff7ab5c34df1e52fac9ad0d2b7a32f28017..8c0685aef50fef3dd9492f481e8aafc0369b9e07 100644 (file)
@@ -10,7 +10,7 @@ Description=Container %i
 Documentation=man:systemd-nspawn(1)
 PartOf=machines.target
 Before=machines.target
-After=network.target
+After=network.target systemd-resolved.service
 
 [Service]
 ExecStart=@bindir@/systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --network-veth -U --settings=override --machine=%i
index 0f0440ddaf68c077b1a9a91e88f94438c065458a..d3b8f81601f5192766dee72fbf779e0b0641e817 100644 (file)
@@ -38,3 +38,4 @@ SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete
 
 [Install]
 WantedBy=multi-user.target
+Alias=dbus-org.freedesktop.resolve1.service